[122521] trunk/dports/_resources/port1.0/group
Mojca Miklavec
mojca at macports.org
Wed Jul 23 22:43:42 PDT 2014
On Thu, Jul 24, 2014 at 3:18 AM, Ryan Schmidt <ryandesign at macports.org> wrote:
>
> On Jul 23, 2014, at 9:31 AM, mojca at macports.org wrote:
>
>> Revision
>> 122521
>> Author
>> mojca at macports.org
>> Date
>> 2014-07-23 07:31:40 -0700 (Wed, 23 Jul 2014)
>> Log Message
>>
>> perl5-1.0.tcl: ask perl for location of perl5.lib instead of hardcoding it (#43480)
>
>
>> --- trunk/dports/_resources/port1.0/group/crossgcc-1.0.tcl 2014-07-23 14:29:55 UTC (rev 122520)
>> +++ trunk/dports/_resources/port1.0/group/crossgcc-1.0.tcl 2014-07-23 14:31:40 UTC (rev 122521)
>> @@ -235,6 +235,7 @@
>> configure.args-append --with-newlib
>> }
>> }
>> + ignore {}
>> default {
>> pre-fetch {
>> ui_error "libc $libc_name is not supported by port group crossgcc"
>
> This seems to be unrelated? I'm also not sure what it does!
Thank you for noticing. It slipped my radar. I did use "svn diff", but
failed to notice something else was there. Also, I have no clue how
that piece of code got there in the first place and I don't know what
it was supposed to do either.
Reverted in r122564.
>> --- trunk/dports/_resources/port1.0/group/perl5-1.0.tcl 2014-07-23 14:29:55 UTC (rev 122520)
>> +++ trunk/dports/_resources/port1.0/group/perl5-1.0.tcl 2014-07-23 14:31:40 UTC (rev 122521)
>> @@ -73,7 +73,7 @@
>> default perl5.bin {${prefix}/bin/perl${perl5.major}}
>>
>> # define installation libraries as vendor location
>> -default perl5.lib {${prefix}/lib/perl5/vendor_perl/${perl5.version}}
>> +default perl5.lib {[perl5.extract_config vendorlib]}
>> default perl5.bindir {${prefix}/libexec/perl${perl5.major}}
>> default perl5.archlib {${perl5.lib}/${perl5.arch}}
>
> This would require perl to be installed in order to work.
Before that we had
default perl5.version {[perl5.extract_config version]}
So I guess that we had the same problem earlier then? Since
perl5.version had to be properly set in order to have a working
perl5.lib?
> Are you sure no port references ${perl5.lib} in the global part of the portfile, i.e. before perl has necessarily been installed? For example, what about p5-sgmlspm, which uses ${perl5.lib} in build.args? What happens if you try to install e.g. p5.16-sgmlspm before perl5.16 is installed (which is what will happen on the buildbot)?
> sudo port -v install p5.16-sgmlspm
---> Computing dependencies for p5.16-sgmlspm..
---> Dependencies to be installed: perl5.16
---> Activating perl5.16 @5.16.3_0
x ./
[...]
--> Verifying checksums for p5.16-sgmlspm
---> Checksumming SGMLSpm-1.03ii.tar.gz
---> Extracting p5.16-sgmlspm
---> Extracting SGMLSpm-1.03ii.tar.gz
---> Patching Makefile:
s|/usr/local/|/path/to/p5.16-sgmlspm/work/destroot/opt/local/|
---> Patching Makefile:
s|/usr/local/|/path/to/p5.16-sgmlspm/work/destroot/opt/local/|
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot/opt
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot/opt/local
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot/opt/local/bin
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot/opt/local/lib
xinstall: mkdir /path/to/p5.16-sgmlspm/work/destroot/opt/local/lib/perl5
xinstall: mkdir
/path/to/p5.16-sgmlspm/work/destroot/opt/local/lib/perl5/vendor_perl
xinstall: mkdir
/path/to/p5.16-sgmlspm/work/destroot/opt/local/lib/perl5/vendor_perl/5.16.3
xinstall: mkdir
/path/to/p5.16-sgmlspm/work/destroot/opt/local/lib/perl5/vendor_perl/5.16.3/SGMLS
[...]
Warning: violation by /SGMLS
Warning: violation by /SGMLS.pm
Warning: violation by /skel.pl
Warning: p5.16-sgmlspm violates the layout of the ports-filesystems!
Warning: Please fix or indicate this misbehavior (if it is intended),
it will be an error in future releases!
---> Installing p5.16-sgmlspm @1.03ii.0_0
a .
a ./+COMMENT
a ./+CONTENTS
a ./+DESC
a ./+PORTFILE
a ./+STATE
a ./opt
a ./SGMLS
a ./SGMLS.pm
a ./skel.pl
a ./SGMLS/Output.pm
a ./SGMLS/Refs.pm
a ./opt/local
a ./opt/local/bin
a ./opt/local/lib
a ./opt/local/lib/perl5
a ./opt/local/lib/perl5/SGMLS
a ./opt/local/lib/perl5/SGMLS.pm
a ./opt/local/lib/perl5/skel.pl
a ./opt/local/lib/perl5/SGMLS/Output.pm
a ./opt/local/lib/perl5/SGMLS/Refs.pm
a ./opt/local/bin/sgmlspl
So xinstall works properly, but the files are not installed to the proper place.
I can test, but I'm almost sure that it failed to work properly earlier as well.
I would say that the port needs to be revised in either case. It does
weird things. I mean ... things like this shouldn't be necessary:
reinplace "s|/usr/local/|${destroot}${prefix}/|" ${worksrcpath}/Makefile
in a nicely working module. "All other" modules do that automatically
and properly.
Mojca
More information about the macports-dev
mailing list