X drivers depend on Gnome?

Florent Thoumie flz at FreeBSD.org
Wed Feb 4 05:21:17 PST 2009


On Wed, Feb 4, 2009 at 1:11 PM, Alex Goncharov
<alex-goncharov at comcast.net> wrote:
> ,--- You/Alexander (Wed, 04 Feb 2009 08:37:40 +0100) ----*
> | > ,--- You/Jeremy (Tue, 03 Feb 2009 17:19:12 -0600) ----*
> | > | The pkg-config is not GNOME. Even the GTK+2 is not GNOME.
> | > | I am VERY  surpised about that you are whining over it.
> | >
> | > In other words, you think that making base X11 blocks (such as drivers
> | > and libxcb) depend on Gnome, per this definition in bsd.port.mk:
> | >
> | >     # USE_GNOME     - A list of the Gnome dependencies the port has (e.g.,
> | >     #               glib12, gtk12).  Implies that the port needs Gnome.
> | >     #               Implies inclusion of bsd.gnome.mk.  See bsd.gnome.mk
> | >     #               or http://www.FreeBSD.org/gnome/docs/porting.html
> | >     #               for more details.
> | >
> | > is the right thing, correct?
>
> First off, thanks for your detailed reply and getting to the core of
> my question (obviously, the size of pkg-config is not an issue.)
>
> | To repeat what mezz said, the X stuff does not depend upon
> | GNOME. The X stuff depends upon pkgconfig. pkgconfig is also used by
> | GNOME. It's a little and useful infrastructure thing. With pkgconfig
> | you can check if software Y is installed, which version it has,
> | which include path you need to compile it, and which libs to link to
> | if you want to use it in your software Z. All it does is to do "echo
> | $libs" or "echo $includes" or similar. The benefit is that you as a
> | author of software Y just need a little config file which lists
> | everything, and pkgconfig is responsible for all the common tasks
> | like version check and printing.  It also unifies the interface if
> | you need to query for software.
>
> To tell you the truth, I know what pkg-config does -- a very useful
> tool, indeed.
>
> | It originated in GNOME, but as it is small and light, it is used now
> | in more or less everything. For example openssl uses it too (but
> | unfortunately openssl in the FreeBSD base system does not install
> | the corresponding config file), but this does not make openssl
> | depend upon GNOME.
>
> A perfect example -- you can see the difference in how X and openssl
> approach this:
>
> ------------------------------
> $ grep -i 'pkgconfig[^/]*$' Mk/bsd.openssl.mk Mk/bsd.port.post.mk Mk/bsd.xorg.mk security/openssl/Makefile x11-drivers/xf86-video-nv/Makefile| less
> Mk/bsd.xorg.mk:# app - requires pkgconfig, don't install shared libraries (I guess)
> Mk/bsd.xorg.mk:USE_GNOME+=      pkgconfig
> Mk/bsd.xorg.mk:USE_GNOME+=      pkgconfig
> Mk/bsd.xorg.mk:USE_GNOME+=      pkgconfig
> Mk/bsd.xorg.mk:USE_GNOME+=      gnomehack pkgconfig
> security/openssl/Makefile:              -e 's|lib/pkgconfig|libdata/pkgconfig|g' \
> ------------------------------
>
> | It just looks to you like "GNOME" because the config variable in our
> | ports infrastructure is spelled "USE_GNOME". This is for historical
> | reasons, it could also be named "USE_INFRASTRUCTURE" (it
> | automatically adds suitable BUILD_DEPENDS, RUN_DEPENDS and/or
> | LIB_DEPENDS and additional stuff just by adding a keyword).
>
> And this is my point -- change the make files appropriately.
>
> While Gnome is great, many people don't use it and don't want to be
> confused and be quietly dragged into Gnomedom.
>
> The use of USE_ make file variable should conform to what bsd.port.mk
> says, IMHO.
>
> | pkgconfig could be extracted from the USE_GNOME stuff, and it could
> | even maintained by someone else than the FreeBSD gnome team, but the
> | FreeBSD gnome team is doing a good job at maintaining it, and
> | there's no benefit in extracting pkgconfig from USE_GNOME.
>
> I am not sure I agree with you -- but why would this matter, right?

Please send patches. Kthxbye.

-- 
Florent Thoumie
flz at FreeBSD.org
FreeBSD Committer


More information about the freebsd-ports mailing list