From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id sKetIvZ+9F9WQQAA0tVLHw (envelope-from ) for ; Tue, 05 Jan 2021 15:00:06 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id CMFyHvZ+9F/7GQAAbx9fmQ (envelope-from ) for ; Tue, 05 Jan 2021 15:00:06 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0A5779404FA for ; Tue, 5 Jan 2021 15:00:06 +0000 (UTC) Received: from localhost ([::1]:49276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kwnoa-0003QE-2A for larch@yhetil.org; Tue, 05 Jan 2021 10:00:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43296) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kwno6-0003Ps-8K for help-guix@gnu.org; Tue, 05 Jan 2021 09:59:34 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:39112) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kwno2-0003Eq-VC for help-guix@gnu.org; Tue, 05 Jan 2021 09:59:34 -0500 Received: by mail-wr1-x431.google.com with SMTP id c5so36446560wrp.6 for ; Tue, 05 Jan 2021 06:59:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beadling-co-uk.20150623.gappssmtp.com; s=20150623; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=s4HFlejsVb1dJ4zMFh/LREjq33Gp4V0mCMRtXMY9SUw=; b=ATmoRsrCx7FyolZ3MOuV2d5tT/TiSv++WchyQ64nbRV/ZH7KxTi3MyrsIa8nyy9hor wL2K5PXFbujmbf6aIoDXDk91SaBp7dG4Vi1GgfymvPboOGd0qYx2zPG4oFyxPYDTdO+/ h2VFZO0fnV/5SutYYMJEd0bjxKMdAuskruPzATXE7r9YBxyHVO2tavy6d+AKlyIyMgGE EAJ4Z76QNTzNljs7wyDp34bXZR0z+/k1IjxpQJ7n93ope4gNHbHobiFp0JMcip6QOyxG Dm/hHcsonVd/ckn9/HA3BfQGeJu07tyr5DQ1BJJmIscihFP154ye1V/8A6x/y80MCutv ZS8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=s4HFlejsVb1dJ4zMFh/LREjq33Gp4V0mCMRtXMY9SUw=; b=V0ucj85pzpjiIAmO67tu6ldwXTUS3ewl/tyIgj8/CGJ/APOluMb256gCmNMvXzBIYn BWikid2MXMX7EpfDdmFWnrWdY/kq5CaGK+6blpjVKd4EUfXo1guG2jvQcBDfjtnh9cFa 2fnLs40mVWnZNBP6LCPe4wz02Oq1SITx5Xrk6Axp9JODGLkvNCTwSKR2abT+Uh16NzdP +oJEnxkwIiKmccQ65YIcJ8DgGHIkAtLmpixAgViVLdajVWeUu+IB2PvzSaGClc2Cgbqh /lbxg0w8YzFdxhDarIWp/2ouJ1msExSnJpHU25XEeM5qSqv2SwqF4xMbNWPSzooj5vPz rNow== X-Gm-Message-State: AOAM532iPMRy4gCqTISP/T6YAmGqQTyO2pVjJCcQnP1cUXC8kbEu+MOb n5J3dLIOQcINiUj7ha/k1H1ZLoncOsgH9YkiudY= X-Google-Smtp-Source: ABdhPJzCdU3eGavhKQXKBW0LhKkxcojh9blwCO5mmlKxYQbNoviRk+5NSpHwc6R6LOz1CBScQoMKQg== X-Received: by 2002:a5d:554e:: with SMTP id g14mr25097wrw.264.1609858768952; Tue, 05 Jan 2021 06:59:28 -0800 (PST) Received: from phil-XPS-13-9360 (host-78-147-225-8.as13285.net. [78.147.225.8]) by smtp.gmail.com with ESMTPSA id k128sm4493077wma.43.2021.01.05.06.59.27 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Jan 2021 06:59:27 -0800 (PST) References: <85lfd8qnuv.fsf@beadling.co.uk> <87h7nwjm69.fsf@cbaines.net> User-agent: mu4e 1.2.0; emacs 26.3 From: Phil To: Christopher Baines Subject: Re: No Explicit Python Version Dependency In Package Definitions? In-reply-to: <87h7nwjm69.fsf@cbaines.net> Date: Tue, 05 Jan 2021 14:59:27 +0000 Message-ID: <85im8bqvjk.fsf@beadling.co.uk> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: none client-ip=2a00:1450:4864:20::431; envelope-from=phil@beadling.co.uk; helo=mail-wr1-x431.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -0.34 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=beadling-co-uk.20150623.gappssmtp.com header.s=20150623 header.b=ATmoRsrC; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 0A5779404FA X-Spam-Score: -0.34 X-Migadu-Scanner: scn0.migadu.com X-TUID: yM/1TlBUpPO2 Thanks for the reply. Christopher Baines writes: > Build systems are a mechanic to deduplicate common steps, but also > common inputs between packages, and the python-build-system will include > a default Python as an input. > > https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/python.scm#n138 Got it - so the version is set behind the scenes depending on the current python package definition. > So, you can't have this particular python-scipy output in your store > without python as well, as it's referenced by some shared libraries, > which I guess makes sense. Yep - so even tho python 3.8 is not installed by installing eg python-scipy, the package is made available in the store as it's referenced. > When the default python version is changed, the build system will change > accordingly. Yep makes sense - so the python package will now reference the 3.9 package here instead of 3.8: ;; Current 3.x version. (define-public python-3 python-3.8) I'm guessing my local Guix would stay on 3.8 until I did a guix upgrade. At this point the new version of python-3 would force any python packages I had to reinstall against 3.9. I assume my local 3.8 system would be left untouched, such that I could rollback both the python version and my packages if I wanted? What would happen if I installed a new python package after pulling the latest package definitions tho? So I have a system say with python3.8 and python-scipy, and I decide I want to then install python-pandas (for example). Will it not then build this for python 3.9 (due to the new definition), if the version of python has incremented between the installs of python-scipy and python-pandas? Would I then have to manually reinstall python-scipy to have it under 3.9 (as well as 3.8) (or do a guix upgrade)? Last question, if today I wanted to create a profile that installed python-scipy against the python 3.9 package definition (which already exists in Guix it's just not the default). Do I have to change the python-3 definition as per above, or is there another way of saying "use python3.9 just for this profile". I suspect I could use a manifest to install 3.9 rather than the default, but won't any packages still depend on 3.8 unless I switch the python-3 definition? Thanks again!