From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guillaume Le Vaillant Subject: Question about sbcl-package->ecl-package Date: Wed, 16 Oct 2019 11:26:57 +0200 Message-ID: <871rvdujku.fsf@yamatai> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:55773) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKfaD-00014Y-5e for guix-devel@gnu.org; Wed, 16 Oct 2019 05:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKfaB-0000Fv-I1 for guix-devel@gnu.org; Wed, 16 Oct 2019 05:27:04 -0400 Received: from mout02.posteo.de ([185.67.36.66]:51371) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iKfaB-0000DU-2o for guix-devel@gnu.org; Wed, 16 Oct 2019 05:27:03 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 54FE22400E5 for ; Wed, 16 Oct 2019 11:26:59 +0200 (CEST) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 46tRl64wtVz9rxS for ; Wed, 16 Oct 2019 11:26:58 +0200 (CEST) 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: guix-devel@gnu.org Hi, I'm trying to package a Common Lisp library and I have a strange problem. In 'gnu/packages/lisp.scm', there are packages called 'sbcl-chanl' and 'ecl-chanl' whose definitions are: --8<---------------cut here---------------start------------->8--- (define-public sbcl-chanl (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340") (revision "0")) (package (name "sbcl-chanl") ...))) (define-public ecl-chanl (let ((base (sbcl-package->ecl-package sbcl-chanl))) (package (inherit base) (arguments (substitute-keyword-arguments (package-arguments base) ;; Some phases are modified here so that compiling ;; with ECL works. ...))))) --8<---------------cut here---------------end--------------->8--- Compiling these two packages works fine. Now, I define the following new packages: --8<---------------cut here---------------start------------->8--- (define-public sbcl-simple-parallel-tasks (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda") (revision "0")) (package (name "sbcl-simple-parallel-tasks") ... (inputs `(("chanl" ,sbcl-chanl))) ...))) (define-public ecl-simple-parallel-tasks (sbcl-package->ecl-package sbcl-simple-parallel-tasks)) --8<---------------cut here---------------end--------------->8--- Compiling 'sbcl-simple-parallel-tasks' works fine. However, when I try to compile 'ecl-simple-parallel-tasks', guix first tries to build a different derivation of 'ecl-chanl', which fails because it apparently doesn't have the modified phases declared in the definition of 'ecl-chanl'. More precisely: - If I do 'guix build ecl-chanl', guix builds 'y60p0wn2hwp5jr0hy2qb09yazkp29m7i-ecl-chanl-0.4.1-0.2362b57' successfully. - If I do 'guix build ecl-simple-parallel-tasks', guix tries to build 'qqzlyknj5wgrm0f0nm4wwafv3ldvhrgi-ecl-chanl-0.4.1-0.2362b57' and fails. When doing 'guix build ecl-simple-parallel-tasks' I was expecting guix to use the 'ecl-chanl' I had already compiled as input, but instead it looks as if it tries to build '(sbcl-package->ecl-package sbcl-chanl)' instead. Does anyone know why in this case guix tries to compile a different derivation of 'ecl-chanl' that I didn't define anywhere?