Re: New port: math/polymake -- some questions and help needed
- In reply to: Thierry Thomas : "Re: New port: math/polymake -- some questions and help needed"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Jun 2021 18:36:16 UTC
On 6/14/21 11:12 PM, Thierry Thomas wrote:
>> I've been working on a port of polymake (polymake.org). Most of the work
>> is done, but there are some questions. Please advise:
>
> Remark: this is a resurrection
>
> $ grep polymake /usr/ports/MOVED
> math/polymake||2014-06-22|Has expired: Does not build with any supported version of Perl
I suspected as much. A FreeBSD port is hinted at on the polymake forums,
but I didn't dig deeper.
That said, it was SVN revision 358827 which removed polymake from the
ports tree.
>
>> - How to deal with machine/installation dependent path names?
>> polymake installs a helper library into
>> ${PREFIX}/libexec/polymake/perlx/%%PERL_VERSION%%/amd64-freebsd-thread-multi/auto/Polymake/Ext/Ext.so
>>
>> amd64-freebsd-thread-multi is the output of
>>
>> perl -E 'use Config; print "$Config::Config{archname}\n";'
>>
>> How do I correctly handle this entry in pkg-plist?
>
> You can define a variable to be passed in plist:
> PLIST_SUB= ARCH=${ARCH}
>
> and then %%ARCH%% will be available.
I'm aware of %%ARCH%%. The trouble I have with that particular directory
name is its dependency on the options chosen in lang/perl5.*. If someone
builds perl with both of these options set to off or without threading
support, the directory name is going to be one of ${ARCH}-freebsd or
${ARCH}-freebsd-multi. How to handle these cases? I don't think it's
safe to assume that no one fiddles with these options.
>> - From reading the Porters Handbook, I get the impression that setting
>> DESTDIR is frowned upon. However, if I don't set DESTDIR=${STAGEDIR} in
>> the do-install target, "make stage" dumps everything to ${PREFIX}. Any
>> comments on this?
>
> I guess that you’ll have to patch the Makefile…
I thought so… Compilation is handled using ninja, everything else is
handled by custom perl scripts.
I'll work on a better solution.
[...]
> What is the output of `ldconfig -r | grep polymake'?
>
> On FreeBSD, if your library is libpolymake.so.4.4, you should also
> install a symlink for libpolymake.so and libpolymake.so.4.
> Without that, it won’t be registered in the libraries hints file.
I wasn't aware of that. Thanks for the hint! It used to come up empty,
but it's fixed now:
$ ldconfig -r | grep polymake
274:-lpolymake.4 => /usr/local/lib/libpolymake.so.4
Now 'portlint -A' is happy, too. :-)
>
> Thanks for this revival!
>
It's been quite the learning curve! There are still some open issues,
but I'm making progress.
Thanks for the help!
Philipp