pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Set install_name to fix devel/mustach on macOS
Sijmen Mulder <ik%sjmulder.nl@localhost> writes:
> Hi Greg,
>
>> Op 27 dec. 2019, om 15:42 heeft Greg Troxel <gdt%lexort.com@localhost> het volgende geschreven:
>>
>> Sijmen Mulder <ik%sjmulder.nl@localhost> writes:
>>
>>> devel/mustach builds are failing on macOS because no install_name is
>>> set. Attached patch should fix it (and does so on my machine) but
>>> I'd appreciate someone with macOS experience taking a look.
>>>
>>> Build failure:
>>> https://us-east.manta.joyent.com/pkgsrc/public/reports/Darwin/10.14/trunk/x86_64/20191220.0920/mustach-0.99/install.log
>>>
>>> Upstream PR:
>>> https://gitlab.com/jobol/mustach/merge_requests/16
>>>
>>> ok?
>>
>> I am having trouble following. The diff upstream and this diff don't
>> look the same.
>
> The Makefile changes should be identical; in fact I generated the
> patch from the git commits. Note that the pull requests is a two parter
> since I made a mistake in the first commit and corrected it with the
> second.
>
>> Also, it seems like upstream does not require gmake, and the patch
>> introduces a gmake dependency. It would seem our usual approach (beyond
>> an upstream-ok patch) would be to SUBST something like
>> @installnameflags@ to either what macos needs or empty, depending on OS
>> in our Makefile.
>
> The gmake dependency is unfortunate but for the PR I saw no way (except
> switching build systems entirely) to have a Mac-only flag other than an
> if statement, and those aren't portable between make systems. GNU make
> then seemed like the safest choice.
If upstream merges your PR and documents gmake, that's how it is and
pkgsrc should of course adapt on next update. It just seems a bit much
as a pkgsrc patch, especially as the freeze is nearing hte end.
> I’m not sure what you mean with the '@installnameflags@' thing (where
> would that be defined?) but a non-patch alternative would be to add a
I meant that pkgsrc has a way to substitute things in files, and the
usual plan is to use @foo@ in the file and then change it to the right
thing with SUBST_SED.
See net/ettercap-NG for an example, although it is not conditionalize by
OS. There are a a lot of SUBST_
> post-install target on Darwin only that runs
>
> install_name_tool -d ${PREFIX}/lib/libmustach.so ${PREFIX}/lib/libmustach.so
>
> A quick grep for install_name_tool shows that many packages do this.
In freeze, I would really prefer that, especially given precedent.
Longer term, it would be nice to have some higher-level declarative
workaround. I suppose this is either a bug in upstreams or a bug in
macos (is install_name covered by any standards?) depending on how you
look at it :-)
Home |
Main Index |
Thread Index |
Old Index