Thank you for all the helpful guidance!

The latest commit shows a working build. Here’s a working Portfile: 
<https://github.com/macports/macports-ports/blob/3c8e5d94a65e9372b309175cabe2f5efb95a287e/devel/jsonnet/Portfile
 
<https://github.com/macports/macports-ports/blob/3c8e5d94a65e9372b309175cabe2f5efb95a287e/devel/jsonnet/Portfile>>

The only issue I see from trace mode is some GNU directories that are ignored

> Warning: The following existing file was hidden from the build system by 
> trace mode:
>   /var/root/.CFUserTextEncoding
> The following files would have been hidden from the build system by trace 
> mode if they existed:
>   /usr/gnu/include
>   /usr/local/include

I presume this is ignorable.

> On Nov 23, 2019, at 10:21 AM, Joshua Root <j...@macports.org> wrote:
> 
> On 2019-11-24 02:03 , Mojca Miklavec wrote:
>> On Sat, 23 Nov 2019 at 15:53, Joshua Root wrote:
>>> I'm pretty sure the CMakeLists is just buggy. The missing symbols are
>>> defined in libjsonnet.cpp, while is compiled to libjsonnet.cpp.o, but
>>> there's just no attempt to include any libraries or .o files other than
>>> libjsonnet++.cpp.o when linking libjsonnet++.0.14.0.dylib.
>> 
>> I also miss something simisar to
>>    target_link_libraries(libjsonnet++ PRIVATE libjsonnet)
>> in the CMakeList (something similar is even commented out), but that's
>> in fact something that upstream needs to fix.
> 
> Meanwhile, the build with the configure-less version of the Portfile is
> making a token attempt at setting install_name (incorrectly) while using
> filenames as though it's on Linux:
> 
> c++  core/desugarer.o core/formatter.o core/lexer.o core/libjsonnet.o
> core/parser.o core/pass.o core/static_analysis.o core/string_utils.o
> core/vm.o third_party/md5/md5.o cpp/libjsonnet++.o -shared
> -Wl,-install_name,libjsonnet++.so.0 -o libjsonnet++.so.0.14.0
> 
> It pulls in all the needed .o files at least...
> 
> - Josh

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to