On Mar 24, 2012, at 09:36, [email protected] wrote: > Revision: 91162 > https://trac.macports.org/changeset/91162 > Author: [email protected] > Date: 2012-03-24 07:36:17 -0700 (Sat, 24 Mar 2012) > Log Message: > ----------- > yum: fix py-nose dependency, add branch variable, add default variant > > Modified Paths: > -------------- > trunk/dports/sysutils/yum/Portfile > > Modified: trunk/dports/sysutils/yum/Portfile > =================================================================== > --- trunk/dports/sysutils/yum/Portfile 2012-03-24 14:17:40 UTC (rev > 91161) > +++ trunk/dports/sysutils/yum/Portfile 2012-03-24 14:36:17 UTC (rev > 91162) > @@ -4,6 +4,7 @@ > > name yum > version 3.2.29 > +set branch [join [lrange [split ${version} .] 0 1] .] > platforms darwin > categories sysutils archivers > maintainers mac.com:n3npq afb > @@ -15,7 +16,7 @@ > update each one using rpm. > > homepage http://yum.baseurl.org/ > -master_sites ${homepage}download/3.2/ > +master_sites ${homepage}download/${branch}/ > checksums md5 8b6b106190980c606b77ebf6a81b5f70 \ > sha1 30207763c6a6fbf2f5dc32512bd3eb208f7d39d1 \ > rmd160 ab885fc93875925ae57ceabc8731357221d1fae3 > @@ -23,7 +24,7 @@ > patchfiles patch-prefix.diff patch-sqlutils.py patch-packages.py > > depends_lib lib:librpm:rpm port:python24 port:py-celementtree > port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser > port:py-iniparse port:py-pygpgme > -depends_build port:intltool port:py-nose > +depends_build port:intltool port:py24-nose > > set python.bin ${prefix}/bin/python2.4 > > @@ -44,10 +45,13 @@ > build.args PYTHON="${python.bin}" > destroot.args PYTHON="${python.bin}" PYSYSDIR="${prefix}" > > -variant python25 description "use python 2.5 instead of python 2.4" { > +variant python24 description "use python 2.4" {} > +default_variants +python24
You should only make python24 the default variant if the user has not already chosen a different python variant. See: https://trac.macports.org/wiki/PortfileRecipes#default_variants Otherwise we get both variants active: $ sudo port -s install yum +python26 ---> Computing dependencies for yum ---> Fetching yum ---> Verifying checksum(s) for yum ---> Extracting yum ---> Configuring yum ---> Building yum ---> Staging yum into destroot ---> Installing yum @3.2.29_0+python24+python26 ---> Activating yum @3.2.29_0+python24+python26 ---> Cleaning yum Usually you would declare all the python variants as conflicting with one another; in that case, if you don't restrict your application of default_variants, the user will get: $ sudo port -s install yum +python26 Error: yum: Variant python26 conflicts with python24 Error: Unable to open port: Error evaluating variants > +variant python25 description "use python 2.5" { > depends_lib-delete port:python24 port:py-celementtree > port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser > port:py-iniparse port:py-pygpgme > depends_lib-append port:python25 port:py25-celementtree > port:py25-urlgrabber port:py25-libxml2 port:py25-yum-metadata-parser > port:py25-iniparse port:py25-pygpgme > - depends_build-delete port:py-nose > + depends_build-delete port:py24-nose > depends_build-append port:py25-nose > set python.bin ${prefix}/bin/python2.5 > build.args-delete PYTHON="${prefix}/bin/python2.4" > @@ -56,10 +60,10 @@ > destroot.args-append PYTHON="${prefix}/bin/python2.5" > } > > -variant python26 description "use python 2.6 instead of python 2.4" { > +variant python26 description "use python 2.6" { > depends_lib-delete port:python24 port:py-celementtree > port:py-urlgrabber port:py-libxml2 port:py-yum-metadata-parser > port:py-iniparse port:py-pygpgme > depends_lib-append port:python26 port:py26-celementtree > port:py26-urlgrabber port:py26-libxml2 port:py26-yum-metadata-parser > port:py26-iniparse port:py26-pygpgme > - depends_build-delete port:py-nose > + depends_build-delete port:py24-nose > depends_build-append port:py26-nose > set python.bin ${prefix}/bin/python2.6 > build.args-delete PYTHON="${prefix}/bin/python2.4" The python25 and python26 variants are still complicated by redundant code. Unrelatedly, I'm realizing yum does not install any architecture-specific files, and so needs "supported_archs noarch". I'm attaching a patch to address these issues.
yum.diff
Description: Binary data
_______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
