svn commit: r362304 - head/x11-toolkits/pango

Tijl Coosemans tijl at FreeBSD.org
Sun Jul 20 22:46:36 UTC 2014


On Sun, 20 Jul 2014 23:27:54 +0200 Baptiste Daroussin wrote:
> On Sun, Jul 20, 2014 at 04:52:56PM +0200, Tijl Coosemans wrote:
>> On Sun, 20 Jul 2014 13:31:24 +0200 Baptiste Daroussin wrote:
>>> On Sun, Jul 20, 2014 at 01:26:40PM +0200, John Marino wrote:
>>>> On 7/20/2014 13:22, Tijl Coosemans wrote:
>>>>> On Sun, 20 Jul 2014 08:15:16 +0000 (UTC) John Marino wrote:
>>>>>> Author: marino
>>>>>> Date: Sun Jul 20 08:15:16 2014
>>>>>> New Revision: 362304
>>>>>> URL: http://svnweb.freebsd.org/changeset/ports/362304
>>>>>> QAT: https://qat.redports.org/buildarchive/r362304/
>>>>>>
>>>>>> Log:
>>>>>>   x11-toolkits/pango: require explicit linking
>>>>>>   
>>>>>>   This new configure argument will list all required libraries in the
>>>>>>   generated pkgconf files.  Before any library indirectly pulled in, such
>>>>>>   as libm, was not listed.
>>>>>>   
>>>>>>   This fixes numerous regression in dports and it's more correct anyway.
>>>>> 
>>>>> No, this is wrong.  Each port should link to the libraries it needs on
>>>>> its own.  No port should rely on other ports to pull in libraries for
>>>>> them.
>>>> 
>>>> Then I guess we really don't need pkgconfig .pc files at all then?
>>>> (This is the point of .pc files, it tells how to link.  libm is directly
>>>> used by pango)
>>>> 
>>>> so no, it is not wrong.  The generated pc file was wrong, now it's not.
>>>> This is why the configuration argument exists.
>> 
>> A .pc file normally has 1 library in the Libs field (the library the .pc
>> file is created for) and 0 items in the Requires field.  Dependencies go
>> in the Libs.private or Requires.private fields.  The only reason to add
>> dependencies to Libs or Requires is if the headers of the library expose
>> the API of those dependencies (e.g. the library headers define macros or
>> inline functions that expand to calls to functions in a dependency (such
>> as Gtk macros that expand to Glib function calls)).
>> 
>> The pango headers don't even include math.h or complex.h so they cannot
>> expose its API.  The generated .pc file was correct, now it is wrong.
>> 
>> The reason the configure argument exists is probably because this is an
>> old .pc file from before the .private fields existed.
>> 
>>> The good question is "does pango exposes parts of libm or not?" if yes
>>> then libm should be listed in the libraries of pango.pc is not it should
>>> only appears in the private field.
>
> Libs.private are also there to handle the needed library when something
> request static linking so having -lm in libs.private could make sense
> 
> Otherwise I do agrree

Yes, -lm could be added to Libs.private but the port doesn't provide
static pango libraries so it's not necessary to patch the .pc file for
static linking.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-ports-all/attachments/20140721/2ef78ab5/attachment.sig>


More information about the svn-ports-all mailing list