[macports-ports] branch master updated: cpan2port: fetch from github, use perl5.26

Ryan Schmidt ryandesign at macports.org
Wed Feb 28 15:23:19 UTC 2018


On Feb 28, 2018, at 08:13, Mojca Miklavec wrote:

> Mojca Miklavec (mojca) pushed a commit to branch master
> in repository macports-ports.
> 
> 
> https://github.com/macports/macports-ports/commit/546836465116f3173095874d10b57aa0d0bbfb13
> 
> The following commit(s) were added to refs/heads/master by this push:
> 
>      new 5468364  cpan2port: fetch from github, use perl5.26
> 
> 5468364 is described below
> 
> 
> commit 546836465116f3173095874d10b57aa0d0bbfb13
> 
> Author: Mojca Miklavec
> AuthorDate: Wed Feb 28 11:46:58 2018 +0100
> 
> 
>     cpan2port: fetch from github, use perl5.26
> 
>     
> 
>     See: https://trac.macports.org/ticket/55208
> 
> ---
>  sysutils/cpan2port/Portfile | 31 +++++++++++++------------------
>  1 file changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/sysutils/cpan2port/Portfile b/sysutils/cpan2port/Portfile
> index 8ae2de9..81d68fd 100644
> --- a/sysutils/cpan2port/Portfile
> +++ b/sysutils/cpan2port/Portfile
> @@ -1,12 +1,15 @@
>  # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
>  
>  PortSystem          1.0
> +PortGroup           github 1.0
>  PortGroup           perl5 1.0
>  
> +set git_shasum      4207b22
> +set git_date        20180228
> +
> +github.setup        macports macports-contrib ${git_shasum}

I'd like to discourage the practice of ports defining their own variables for things which already exist as standard variables. You're meant to specify the version or git committish as the third argument to github.setup, e.g.:

github.setup        macports macports-contrib 4207b227800b8ce6ba7db02641a1b1a66b3218de

It doesn't look like you need to refer to this value elsewhere in the port, but if you did, you would be able to do so using the standard MacPorts variable ${git.branch}.

I guess there's a difference of opinion about whether the committish should be abbreviated or not. I see no reason to abbreviate it, and some reason not to abbreviate it: The github portgroup is programmed to recognize version strings composed of 9 or more hexadecimal characters as a git committish, so a git committish should not be abbreviated to fewer than 9 characters. (The portgroup currently restricts this detection to 9 or more characters so as not to misidentify YYYYMMDD version numbers as a committish. This could possibly be improved to allow shorter hex strings to be recognized, provided they are not composed entirely of decimal digits.)

It's pretty crappy that we have to fetch the entire contrib repository just to get one of its subdirectories. I guess contrib is still pretty small so it's not a huge problem yet. But if this is how we're going to handle it, let's at least use "dist_subdir macports-contrib" so that all the ports for contrib software fetch to the same place, and there's at least a chance that two contrib ports might use the same git committish and thus the same distfile.


> @@ -38,10 +35,8 @@ depends_run-append  port:p${perl5.major}-carp-clan \
>                      port:p${perl5.major}-pod-simple \
>                      port:p${perl5.major}-yaml
>  
> -worksrcdir          ${name}
> -
>  configure {
> -    reinplace "s|#! /usr/bin/env perl|#!${prefix}/bin/perl${perl5.major}|g" ${worksrcpath}/${name}
> +    reinplace "s|#! /usr/bin/env perl|#!${prefix}/bin/perl${perl5.major}|g" ${worksrcpath}/${name}/${name}
>  }
>  
>  # should be implied by overriding configure:
> @@ -50,10 +45,10 @@ configure.ccache    no
>  build {}
>  
>  destroot {
> -    xinstall -m 755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/${name}
> +    xinstall -m 755 ${worksrcpath}/${name}/${name} ${destroot}${prefix}/bin/${name}
>      xinstall -d ${destroot}${prefix}/share/doc/${name}
> -    xinstall -m 644 ${worksrcpath}/COPYING ${destroot}${prefix}/share/doc/${name}/COPYING
> +    xinstall -m 644 ${worksrcpath}/${name}/COPYING ${destroot}${prefix}/share/doc/${name}/COPYING
>  }
>  

Rather than replacing every occurrence of "${worksrcpath}" in the Portfile with "${worksrcpath}/${name}", isn't it better to set "worksrcdir ${worksrcdir}/${name}"?


> -# TODO: check the latest svn revision of the file
> +# TODO: check the latest revision of the file
>  livecheck.type      none

The livecheck would be fixed by removing this line, and using the full git committish.



More information about the macports-dev mailing list