[MacPorts] #52479: gpgme: install headers in a private location to avoid conflict and/or header confusion
MacPorts
noreply at macports.org
Sat Oct 1 17:29:06 CEST 2016
#52479: gpgme: install headers in a private location to avoid conflict and/or
header confusion
--------------------------+--------------------------------
Reporter: rjvbertin@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Resolution: | Keywords: haspatch
Port: gpgme |
--------------------------+--------------------------------
Comment (by larryv@…):
Replying to [comment:3 rjvbertin@…]:
> And why would kdepim4 have to be broken because another port suddenly
> starts installing files with the same name at the same location?
It doesn’t have to be broken. It can be patched to hide its gpgme++ stuff.
> If anything, kdepimlibs4 was installing those headers long before
> port:gpgme did
And? My concern is that future ports will all have to be told to look in a
nonstandard location to use the public headers now provided by GPGME.
(Granted, I’m not actually expecting many such ports.)
> That's a direct consequence of how compiler include paths work: it's
> simply not feasible to instruct the compiler to ignore include/gpgme++
> when looking for <gpgme++/foo.h>.
Setting `-I/opt/local/include/KDE4 -I/opt/local/include` wouldn’t cause
that compilation to find `/opt/local/include/KDE4/gpgme++/foo.h` first?
If that’s false, then the rest of my argument is void (obviously).
> We should think of this as 2 ports installing different
> implementations of a same idea which sadly can clash. Either both
> ports cannot be allowed to install the C++ wrappers, or both must make
> some changes - changes which in both cases are foreseen by the
> buildsystem.
I don’t understand. The few ports that already use private
headers/libraries are expected to keep them out of sight to prevent issues
with other builds. The ports that publicly provide the same
headers/libraries are not expected to do the same.
> you'd have a point if a significant number of high-value ports could
> now finally be installed (without depending on kdepimlibs4). It's
> impossible for me to know if there are any such ports (for that the
> C++ wrappers would have to be installed via a subport). But even in
> that case: well behaved dependents will use the metadata provided by
> port:gpgme to learn how to find the gpgme++ headerfiles.
The port provides no such metadata. Does GPGME provide a program or
configuration file that dependents are expected to query for the header
location? Otherwise ports that want to use `gpgme`’s headers will have to
explicitly look elsewhere for the headers.
(Again, I admit that this is more philosophical than anything. I am not
expecting a flood of ports that need GPGME’s headers.)
--
Ticket URL: <https://trac.macports.org/ticket/52479#comment:4>
MacPorts <https://www.macports.org/>
Ports system for the Mac operating system
More information about the macports-tickets
mailing list