Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Feb 2009 13:21:15 +0000
From:      Florent Thoumie <flz@FreeBSD.org>
To:        Alex Goncharov <alex-goncharov@comcast.net>
Cc:        Alexander Leidinger <Alexander@leidinger.net>, freebsd-ports@freebsd.org, mezz7@cox.net
Subject:   Re: X drivers depend on Gnome?
Message-ID:  <a01628140902040521y6e396dfbhd80a53cd0455a021@mail.gmail.com>
In-Reply-To: <E1LUhXO-0000cF-PB@daland.home>
References:  <E1LUQYl-000Cir-UT@daland.home> <op.uostqymy9aq2h7@localhost> <E1LUVek-000EoV-0p@daland.home> <20090204083740.12061iw6kf4c9vwg@webmail.leidinger.net> <E1LUhXO-0000cF-PB@daland.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 4, 2009 at 1:11 PM, Alex Goncharov
<alex-goncharov@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@FreeBSD.org
FreeBSD Committer



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a01628140902040521y6e396dfbhd80a53cd0455a021>