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