[MacPorts] #28276: Upgrade ARB 5.2 -> 5.2.1

MacPorts noreply at macports.org
Fri Feb 4 21:22:08 PST 2011


#28276: Upgrade ARB 5.2 -> 5.2.1
----------------------------------+-----------------------------------------
 Reporter:  matt.cottrell@…       |       Owner:  macports-tickets@…                   
     Type:  update                |      Status:  new                                  
 Priority:  Normal                |   Milestone:                                       
Component:  ports                 |     Version:  1.9.2                                
 Keywords:  libpng                |        Port:  arb                                  
----------------------------------+-----------------------------------------

Comment(by ryandesign@…):

 We really do need to base the build architecture on the
 ${configure.build_arch} variable, as Joshua said (or
 ${configure.universal_archs}, if building universal), and not on the
 operating system version. This is necessary because those are the
 architectures which MacPorts will record in the registry for this port
 when it is installed, and those are the architectures for which MacPorts
 will verify this port's dependencies are installed.

 If you really do want to prevent installation on 32-bit systems, then
 "return -code error" in a pre-fetch block if build_arch is i386 or ppc.

 MacPorts is not "overly conservative" as you say; the build_arch is set to
 x86_64 by default in the macports.conf on 64-bit Snow Leopard systems,
 matching Apple's defaults for their gcc compiler. If build_arch is set to
 i386 in your macports.conf, it is either because your computer is not
 64-bit, or because you deliberately changed it, or because you upgraded
 from Tiger or Leopard and forgot to change it at that time; if the latter,
 please spend some time comparing your macports.conf with the
 macports.conf.default in the same directory, and adopt any changes from
 macports.conf.default that you don't specifically mean to change.

 Further problems with this port (not all related to the current patch):

 Your patch is still saying to link with libpng12.dylib; no such dylib is
 installed by any MacPorts port. Please patch the source so it can compile
 with libpng14.dylib.

 It looks like it's still looking in /usr/X11 for includes and libaries
 (the Makefiles contain directives to do this) which is where it's finding
 libpng12.dylib; this should be changed to look in ${prefix}.

 This port should use "notes", not a ui_msg in post-activate. This message
 should not hardcode /opt/local; it should use ${prefix}.

 The Mac OS X SDK path should not be hardcoded into the port; it should be
 taken from the variable ${configure.sdkroot}. (This will be empty
 everywhere except PowerPC computers running Tiger, because that is the
 only time there is a need to use an SDK.)

 Are gsed and imake really library dependencies -- are they really used by
 this software at runtime? These are usually only build dependencies. Also
 not sure what arb uses sablotron and lynx for but I don't see it linking
 to sablotron's libraries, and lynx doesn't provide any.

 When I tried to install it, it complained that it could not find
 makedepend, so a build dependency on the makedepend port should be added.

 The post-activate "system 'rm -rf !`find ...`'" call is strange and should
 probably either be moved to the destroot and modified to use fs-traverse,
 or "svn.method checkout" should be removed to let MacPorts use svn export
 instead, which wouldn't have any .svn directories to begin with.

 All the "system" calls in the post-destroot should be replaced with the
 equivalent native Tcl commands.

 There's no need for post-configure and post-destroot blocks when you're
 already overriding the configure and destroot blocks; just put everything
 in there.

 It is odd to say "use_configure no" and then to define a configure block.

 The configure block reinplaces @@PREFIX@@ ''in the patchfile in the files
 directory''. A portfile must never do that. Clearly, the person who
 initially committed the arb_macsetup file (in r59128) first installed the
 port to ensure it worked, which replaced @@PREFIX@@ with the actual prefix
 in the patchfile, and then it was committed that way, already replaced.
 Instead, you must replace the string in files within the workpath only.

 The repeated reinplaces for gsed in the configure block can be replaced
 with a single reinplace invocation.

 This port doesn't ensure it's UsingTheRightCompiler.

 Your patch purports to update the port to version 5.2.1 but you haven't
 changed the revision of the Subversion repository that's checked out, so I
 don't believe this is installing an updated version of the software at
 all.

 This port fetches 45MB of files from the project's Subversion repository;
 this takes a long time and [ticket:16373 is not cached locally] so if I
 ever want to reinstall I have to download it all again. It would be better
 if we could fetch a normal compressed distfile, which our mirror servers
 could then automatically mirror as well. What would be the problem with
 using [http://download.arb-home.de/release/arb_5.2/arbsrc.tgz this arb 5.2
 tarball]? If we do that, we will of course have to [wiki:PortfileRecipes
 #unversioned-distfiles set dist_subdir].

 I'm attaching my proposed changes which address some of the above. It's
 all together as one diff, but when I commit it, I'll probably want to
 separate it into a dozen or more commits, to address several of the issues
 separately, so the history stays readable. I may take another look at this
 later, but I think that's enough for now.

-- 
Ticket URL: <https://trac.macports.org/ticket/28276#comment:5>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list