Help with zef Portfile
raf
macports at raf.org
Sat Nov 25 02:12:41 UTC 2023
Hi,
I'm writing a Portfile for raku's module manager, zef (port named raku-zef),
and I'm getting a destroot error I don't understand.
The test part looks like this:
test.run yes
test.cmd "${prefix}/bin/rakudo" -I"${worksrcpath}" bin/zef test "${worksrcpath}"
test.target
And it works and the tests pass (Yay!).
The destroot part looks like this:
destroot {
"${prefix}/bin/rakudo" -I"${worksrcpath}" bin/zef \
--to="inst#${destroot}${prefix}/share/perl6/site" \
install "${worksrcpath}"
ln -s "${prefix}/share/perl6/site/bin/zef" "${prefix}/bin/zef"
ln -s "${prefix}/share/perl6/site/bin/zef-m" "${prefix}/bin/zef-m"
}
Which results in this error:
:error:destroot Failed to destroot raku-zef: invalid command name "/opt/local/bin/rakudo"
:debug:destroot Error code: NONE
:debug:destroot Backtrace: invalid command name "/opt/local/bin/rakudo"
:debug:destroot while executing
:debug:destroot "$procedure $targetname"
As "${prefix}/bin/rakudo" is valid in test.cmd,
why isn't it valid during destroot?
And how do I help destroot find it?
If you need to see the whole Portfile, it's at:
https://github.com/macportsraf/raku-zef-portfile/blob/main/lang/raku-zef/Portfile
cheers,
raf
More information about the macports-users
mailing list