From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Inherit inputs when unnecessary in these python2 packages? Date: Sat, 13 Feb 2016 18:10:17 -0800 Message-ID: <87twlct53f.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUm8n-0008IP-G9 for guix-devel@gnu.org; Sat, 13 Feb 2016 21:10:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUm8j-0004H2-Fx for guix-devel@gnu.org; Sat, 13 Feb 2016 21:10:25 -0500 Received: from dustycloud.org ([50.116.34.160]:36726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUm8j-0004Gq-BM for guix-devel@gnu.org; Sat, 13 Feb 2016 21:10:21 -0500 Received: from oolong (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id D22A4266DD for ; Sat, 13 Feb 2016 21:10:17 -0500 (EST) 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org I'm doing a lot of packaging for Python packages right now. A lot of the code looks like this: > (define-public python-execnet > (package > (name "python-execnet") > (version "1.4.1") > (source (origin > (method url-fetch) > (uri (pypi-uri "execnet" version)) > (sha256 > (base32 > "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn")))) > (build-system python-build-system) > (native-inputs > `(("python-setuptools-scm" ,python-setuptools-scm))) > (propagated-inputs > `(("python-apipkg" ,python-apipkg))) > (synopsis "Rapid multi-Python deployment") > (description "Execnet provides a share-nothing model with > channel-send/receive communication for distributing execution across many > Python interpreters across version, platform and network barriers. It has a > minimal and fast API targetting the following uses: > @enumerate > @item distribute tasks to (many) local or remote CPUs > @item write and deploy hybrid multi-process applications > @item write scripts to administer multiple environments > @end enumerate") > (home-page "http://codespeak.net/execnet/") > (license license:expat) > (properties `((python2-variant . ,(delay python2-execnet)))))) > > (define-public python2-execnet > (package > (inherit (package-with-python2 > (strip-python2-variant python-execnet))) > (inputs > `(("python2-setuptools" ,python2-setuptools))))) As you can see, there is no inputs on python-execnet, so it's not necessary to include the inputs. However, if (inputs) were added in the future, this could lead to a developer mistakenly forgetting to change the python2 variant. What's the better approach? - Chris