From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH 1/2] build: Generalize 'package-with-explicit-python'. Date: Wed, 08 Feb 2017 20:09:15 +0100 Message-ID: <87wpd0cxi5.fsf@elephly.net> References: 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]:41302) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cbXcQ-0002qH-2N for guix-devel@gnu.org; Wed, 08 Feb 2017 14:09:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cbXcM-0000qv-UH for guix-devel@gnu.org; Wed, 08 Feb 2017 14:09:30 -0500 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21077) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cbXcM-0000qg-Mq for guix-devel@gnu.org; Wed, 08 Feb 2017 14:09:26 -0500 In-reply-to: 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: Federico Beffa Cc: Guix-devel , ericbavier@openmailbox.org, Myles English Federico Beffa writes: > Generalize the Python procedure to recursively replace compiler/interpreter. > From a8220b430d196e5bb079e23ac63b1acd16fdaaee Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Wed, 8 Feb 2017 18:55:32 +0100 > Subject: [PATCH 1/2] build: Generalize 'package-with-explicit-python'. > > * guix/build-system/python.scm (package-with-explicit-python): Remove it and > replace it with the generalized procedure 'package-with-explicit-compiler' > in the new file. (package-with-python2): Adapt it. > * guix/build-system/utils.scm: New file with the generalized procedure. > * Makefile.am (MODULES): Add new file. The goal here is to override packages in build system arguments, right? This is great and we really need something like this to make building package variants simpler. (I ran into a problem that would be solved by this when I tried to build Perl modules for different variants of Perl.) Looking over the patch it feels inelegant to have a whitelist of permitted arguments, as in “compiler-keyword”. We already have a procedure called “package-input-rewriting” that replaces any (explicit input-) package in the dependency graph with a different package. What I like about that is that it is generic. Is there a way we could extend it to include packages pulled in by the build system, e.g. by making it work at the level of bags? -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net