Bug 91213

Summary: pkg-config ignores autotools normal .pc directories
Product: Ports & Packages Reporter: Eric Anholt <anholt>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
pkgconfig-locations.diff none

Description Eric Anholt freebsd_committer 2006-01-02 11:50:02 UTC
	Dealing with FreeBSD's autotools and pkgconfig environment is a pain
	when working on 3rd-party software.  One of the issues is that our
	pkgconfig from ports doesn't look in the default place to which 3rd
	party software (built using autotools, at least) installs .pc files
	(${prefix}/lib/pkgconfig).  While FreeBSD's hier(7) may specify that
	they should go in libdata, it's hard to expect upstream to do that for
	just us (and it seems like it's not the norm for upstreams).  So, I
	propose that we apply the following change, which will look in
	${prefix}/lib/pkgconfig after each ${prefix}/libdata/pkgconfig.
	
	The only issue I see with it is getting .pc files out of sync between
	software versions in ports vs. not, but that already happens with
	3rd-party software where the default may be to install in /usr/local/
	though the ports system has decided on /usr/X11R6.

	Oh, and I cleaned up a couple of very minor portlint warnings.
Comment 1 Edwin Groothuis freebsd_committer 2006-01-02 11:54:38 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

Over to maintainer
Comment 2 Alexander Nedotsukov freebsd_committer 2006-01-02 13:43:58 UTC
State Changed
From-To: open->feedback

I think all you need is set env varibale PKG_CONFIG_PATH. 
Is it ok for you?
Comment 3 Jeremy Messenger 2006-01-02 21:18:44 UTC
I am against this, because you want to break hier(7) then the others will  
want to do same thing again and again....Then we end up have more messy of  
hier(7) in our system. Also, I don't think it's difficult to teach those  
stuff about .pc is in libdata/pkgconfig.

Anyway, I am up to the vote.... My vote would be no.

Cheers,
Mezz


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome@FreeBSD.org
Comment 4 Eric Anholt 2006-01-05 08:31:29 UTC
What I'm trying to fix is working with software outside of the ports
tree.  The presence of things like gnomehack (bsd.gnome.mk) suggest that
we do really expect the ports tree to make software respect our hier(7),
not upstream maintainers.  So, to assist people like me who work on
non-FreeBSD software on FreeBSD, it would be nice if we could let our
tools also know about where non-ports software (like a CVS checkout of
something) likes to install itself.  I don't see how this would at all
damage the ports system (assuming of course that you fix the bug in my
patch where the 2nd path needs := instead of =), but it would be one
less thing to hand-configure on every FreeBSD system I touch just so I
can build software.

It wouldn't need to be documented in hier(7).  It wouldn't affect
requirements for software in the ports tree.

-- 
Eric Anholt                                     eta@lclark.edu
http://people.freebsd.org/~anholt/              anholt@FreeBSD.org
Comment 5 Joe Marcus Clarke freebsd_committer 2006-03-27 00:55:01 UTC
I didn't see a response to the question about setting PKG_CONFIG_PATH in
the environment.  Would that not be sufficient for your needs, Eric?
The reason I'm hesitant to put this patch in is that there are some
normal users out there that may be bitten when they install a piece of
software outside the ports tree, then forget that those old .pc files
are still under lib/pkgconfig.

The PKG_CONFIG_PATH environment variable seems like the way to go in
this case, but if you really want our pkgconfig to understand the
standard paths by default, I would entertain a non-default patch that
would enable searching of those directories based on a define make
macro.

Joe

-- 
Joe Marcus Clarke
FreeBSD GNOME Team      ::      gnome@FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
Comment 6 Joe Marcus Clarke freebsd_committer 2006-05-01 01:11:44 UTC
State Changed
From-To: feedback->closed

Committed, thanks!