From owner-freebsd-ports@FreeBSD.ORG Wed Feb 4 13:21:16 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D911D106564A for ; Wed, 4 Feb 2009 13:21:16 +0000 (UTC) (envelope-from florent.thoumie@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.154]) by mx1.freebsd.org (Postfix) with ESMTP id 5D19B8FC12 for ; Wed, 4 Feb 2009 13:21:15 +0000 (UTC) (envelope-from florent.thoumie@gmail.com) Received: by fg-out-1718.google.com with SMTP id l26so1066637fgb.35 for ; Wed, 04 Feb 2009 05:21:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=VqTqY31v21GSl2puCtWL5HIvS1lk8Ep/WVBh+FeZ5Wk=; b=IiowV8TkpoFFE/EqhdIwS3myoxfNZMiNuaQFUB8Ipbo1pPNFkCv1k78/kdF2W12Yn8 UhlpL0g5q6CX/3RifPOdJszhuLJ2faotXwTBxXZyoFH8j7bXUR9lfIu3Z+eml41j8Yur J1aRcBdwk94kywvRyoRS7b+NladP8HP+MuGqo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=eKnmeQUtvwSgFpJvELUIHE7odhspmf7rvAFrfL0GnIr2RlH+ZmXWxN5KwHO+dyQfy0 mJZg/GMLgH8mZ3w1SFyVhVGns5L1l1XJr84nMEkDKK+OHRTi32AfRo5aVrTBOS+jgKzv vgEDvaAQ5+z1c0KeuCUmewYW9g4SOSrht7ql8= MIME-Version: 1.0 Sender: florent.thoumie@gmail.com Received: by 10.86.84.18 with SMTP id h18mr927028fgb.69.1233753675263; Wed, 04 Feb 2009 05:21:15 -0800 (PST) In-Reply-To: References: <20090204083740.12061iw6kf4c9vwg@webmail.leidinger.net> Date: Wed, 4 Feb 2009 13:21:15 +0000 X-Google-Sender-Auth: 1cc00238e285cecc Message-ID: From: Florent Thoumie To: Alex Goncharov Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Alexander Leidinger , freebsd-ports@freebsd.org, mezz7@cox.net Subject: Re: X drivers depend on Gnome? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Feb 2009 13:21:17 -0000 On Wed, Feb 4, 2009 at 1:11 PM, Alex Goncharov 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