On Apr 22, 2015, at 5:01 PM, MacPorts <[email protected]> wrote:

> Page "PortfileRecipes" was changed by [email protected]
> Diff URL: 
> <https://trac.macports.org/wiki/PortfileRecipes?action=diff&version=84>
> Revision 84
> Changes:
> -------8<------8<------8<------8<------8<------8<------8<------8<--------
> Index: PortfileRecipes
> =========================================================================
> --- PortfileRecipes (version: 83)
> +++ PortfileRecipes (version: 84)
> @@ -18,6 +18,31 @@
> }}}
> These split the version string into an array and return the desired element.
> These examples are based on [browser:trunk/dports/lang/php5 php5].
> +
> +== Compare versions == #vercmp
> +
> +||||||= Mac OS X Version Info =||
> +||= Darwin =||= OS X =||= Name =||
> +|| 7.0 || 10.3 || Panther ||
> +|| 8.0 || 10.4 || Tiger ||
> +|| 9.0 || 10.5 || Leopard ||
> +|| 10.0 || 10.6 || Snow Leopard ||
> +|| 11.0.0 || 10.7 || Lion ||
> +|| 12.0.0 || 10.8 || Mountain Lion ||
> +|| 13.0.0 || 10.9 || Mavericks ||
> +|| 14.0.0 || 10.10 || Yosemite ||
> +
> +{{{
> +set check.version 13.0.0
> +if {[vercmp ${check.version} ${os.version}] = 1} {
> +    puts "Yosemite or newer"
> +} elseif {[vercmp ${check.version} ${os.version}] = 0} {
> +    puts "Mavricks"
> +}
> +} elseif {[vercmp ${check.version} ${os.version}] = -1} {
> +    puts "Mountain Lion or older"
> +}
> +}}}
> 
> == Fetching from a URL that uses GET parameters == #fetchwithgetparams
> 
> -------8<------8<------8<------8<------8<------8<------8<------8<--------

Ehh. This is technically correct, but (to my knowledge) practically no ports do 
this. Simply checking against os.major is much more common and is sufficient 
for most purposes. I also find it easier to understand.

    if {${os.major} < 10} {
        # do something on systems older than Snow Leopard
    }

vq
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to