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.
Responsible Changed From-To: freebsd-ports-bugs->gnome Over to maintainer
State Changed From-To: open->feedback I think all you need is set env varibale PKG_CONFIG_PATH. Is it ok for you?
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
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
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
State Changed From-To: feedback->closed Committed, thanks!