From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: A package picks up a non-master package - bug or intentional? Date: Thu, 16 Feb 2017 08:46:46 +0100 Message-ID: <87inoaa87t.fsf@elephly.net> References: <20170215110210.aphl5delzg6bdmsn@wasp> <87k28r87v9.fsf@elephly.net> <20170215220341.ug7v4i2iq4lgqlbh@wasp> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceGmK-0004OK-PM for guix-devel@gnu.org; Thu, 16 Feb 2017 02:47:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceGmF-0005pO-Rb for guix-devel@gnu.org; Thu, 16 Feb 2017 02:47:00 -0500 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21044) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ceGmF-0005ol-Ic for guix-devel@gnu.org; Thu, 16 Feb 2017 02:46:55 -0500 In-reply-to: <20170215220341.ug7v4i2iq4lgqlbh@wasp> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: ng0 Cc: guix-devel@gnu.org ng0 writes: > On 17-02-15 22:24:58, Ricardo Wurmus wrote: >> >> ng0 writes: >> >> > I just picked up gnunet-fuse again and the build behaves strange. >> > >> > You have to know that I keep multiple versions of gnunet and related >> > packages in my GUIX_PACKAGE_PATH. >> > Normally I would expect that this: >> > >> > + (arguments >> > + `(#:configure-flags >> > + (list (string-append "--with-gnunet=" >> > + (assoc-ref %build-inputs "gnunet"))))) >> > >> > just picks up the gnunet from within the master tree the package >> > definition itself is in. >> > But as I recently have build "gnunetgf-0.10.17731daf5" this is being >> > picked up instead as you can see here: >> > >> > checking fuse.h usability... yes >> > checking fuse.h presence... yes >> > checking for fuse.h... yes >> > checking for GNUnet core... /gnu/store/xbvcn8fqp5l45dh5s32nmqmvbykahq7k-gnunetgf-0.10.17731daf5 >> > checking for GNUnet util library in /gnu/store/xbvcn8fqp5l45dh5s32nmqmvbykahq7k-gnunetgf-0.10.17731daf5... checking for gnunet/gnunet_util_lib.h... no >> > configure: error: gnunet-fuse requires GNUnet >> > phase `configure' failed after 2.8 seconds >> > >> > >> > I wonder.. why? Is Guix just not clever enough and picks the first >> > fitting "gnunet" it finds and if already available its store path? >> >> Guix doesn’t *look* for any packages, so it doesn’t need to be clever. >> You *tell* it what exact package to use. Only packages that you have >> declared as inputs will be available. To declare a package as an input >> you add *the package itself* (by unquoting a symbol that evaluates to a >> package value). There is no ambiguity, neither at build time nor at >> runtime of Guix. >> >> The confusion here is probably in what package value the symbol in the >> inputs resolves to. And this depends on the modules that are loaded. >> We would need to see the full package definition and see what values the >> package variables correspond to. > > Okay, I will send the patch tomorrow. > > This is inside (gnu packages gnunet), so my personal modules aren't in > there. The package name 'gnunet' is unique: > > ng0@wasp ~> guix package --search=gnunet What matters is not the package name but the name (and value) of the Scheme variable that is referenced in the inputs. They are often identical, but since we’re speaking of non-intuitive behaviour it may well be that the names differ in this case. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net