summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2021-07-18Merge branch 'master' into core-updatesLudovic Courtès
2021-07-14build-system/meson: Support cross-compilation.Maxime Devos
For cross-compilation, meson needs to be passed a ‘cross file’ with information on the architecture, CPU type, endianness and operating system, and the name of the cross-compiler binaries. The new module (guix build meson-configuration) has some utilities for writing these cross files, used by 'make-cross-file' in a G-exp. The values for the cross file are generated by 'make-machine-alist' and 'make-binaries-alist'. 'make-machine-alist' and 'make-binaries-alist' live on the host side, such that new architectures and operating systems can be added without causing rebuilds for old architectures. All operating systems and targets supported by Guix are theoretically supported, but only aarch64-linux-gnu, powerpc64le-linux-gnu and arm-linux-gnueabihf have been tested. i686-linux-gnu has also been tested with a previous version of this patch series but required some changes to 'cross-base.scm'. This has been tested with: $ ./pre-inst-env guix build glib --target=TARGET * guix/build/meson-configuration.scm (write-section-header): New procedure. (write-assignment): New procedure. (write-assignments): New procedure. * guix/build-system/meson.scm (target-hurd?): New predicate. (make-machine-alist): New procedure. (make-binaries-alist): New procedure. (make-cross-file): New procedure. (meson-cross-build): New procedure. (lower)[build-inputs]: Add standard cross packages when cross-compiling. Do not include regular 'inputs' when cross-compiling. (lower)[host-inputs]: Include 'inputs' when cross-compiling. (lower)[target-inputs]: Add cross packages when cross-compiling. (lower)[build]: Call 'meson-cross-build' instead of 'cross-build' when cross-compiling. (lower)[target]: Set it. (lower)[private-keywords]: Do not remove #:target when cross-compiling. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-13gnu: Add linux-libre 5.13.Leo Famulari
* gnu/packages/linux.scm (linux-libre-5.13-version, deblob-scripts-5.13, linux-libre-5.13-pristine-source, linux-libre-5.13-source, linux-libre-headers-5.13, linux-libre-5.13): New variables. * gnu/packages/aux-files/linux-libre/5.13-arm.conf, gnu/packages/aux-files/linux-libre/5.13-arm64.conf, gnu/packages/aux-files/linux-libre/5.13-i686.conf, gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them.
2021-07-11Add 'guix style'.Ludovic Courtès
* guix/scripts/style.scm, tests/style.scm: New files. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/POTFILES.in: Add 'guix/scripts/style.scm'. * doc/guix.texi (Invoking guix style): New node. (package Reference): Reference it. (Invoking guix lint): Likewise.
2021-06-29pack: Factorize base tar options.Maxim Cournoyer
* guix/docker.scm (%tar-determinism-options): Move to a new module and rename to `tar-base-options'. Adjust references accordingly. * guix/build/pack.scm: New file. * Makefile.am (MODULES): Register it. * guix/scripts/pack.scm (self-contained-tarball/builder): Use it.
2021-06-25build: Build guix.scm and gnu.scm.Ludovic Courtès
Fixes a regression introduced in ef82ba9dd94369926eb13325d5e7da4306d23dd7 that was causing these two files to not be built. In turn, 'tests/inferior.scm' would determine the wrong %TOP-BUILDDIR value, causing the "&inferior-exception" test to fail because for lack of an inferior stack trace. * Makefile.am (MODULES_CORE): Add guix.scm. (MODULES_SYSTEM): Add gnu.scm.
2021-06-23build: Makefile splits Scheme compilation in four steps.Ludovic Courtès
Fixes <https://bugs.gnu.org/48963>. Reported by Julien Lepiller <julien@lepiller.eu>. This reduces peak memory consumption to something less unreasonable. * Makefile.am (make-go): Depend on 'make-*-go' targets; remove body. (guile-compilation-rule): New function. (MODULES_CORE, MODULES_PACKAGES, MODULES_SYSTEM, MODULES_CLI): New variables. <top level>: Call 'guile-compilation-rule' 4 times. * build-aux/compile-all.scm <top level>: Expect "--total" and "--processed". Take them into account when displaying progress reports.
2021-06-19Merge branch 'master' into core-updatesMarius Bakke
Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm
2021-06-07etc: Add "bordeaux.guix.gnu.org.pub" public key file.Christopher Baines
* etc/substitutes/bordeaux.guix.gnu.org.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/self.scm (miscellaneous-files): Add "share/guix/bordeaux.guix.gnu.org.pub".
2021-06-06Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/local.mk gnu/packages/algebra.scm gnu/packages/bioinformatics.scm gnu/packages/curl.scm gnu/packages/docbook.scm gnu/packages/emacs-xyz.scm gnu/packages/maths.scm gnu/packages/plotutils.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/readline.scm gnu/packages/tls.scm gnu/packages/xml.scm gnu/packages/xorg.scm
2021-06-03import: Add CHICKEN egg importer.Xinglu Chen
* guix/import/egg.scm: New file. * guix/scripts/import/egg.scm: New file. * tests/egg.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Register them. * po/guix/POTFILES.in: Likewise. * guix/scripts/import.scm (importers): Add egg importer. * doc/guix.texi (Invoking guix import, Invoking guix refresh): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-22Merge branch 'master' into core-updatesMarius Bakke
2021-05-21gnu: linux-libre: Update to 5.12.5.Leo Famulari
* gnu/packages/linux.scm (linux-libre-5.11-version, deblob-scripts-5.11, linux-libre-5.11-pristine-source, linux-libre-5.11-source, linux-libre-headers-5.11, linux-libre-5.11): Remove variables. (linux-libre-version, linux-libre-pristine-source, linux-libre-source, linux-libre): Update to the 5.12 kernel series. (linux-libre-with-bpf): Update to the 5.12 kernel series. * gnu/packages/aux-files/linux-libre/5.11-arm.conf, gnu/packages/aux-files/linux-libre/5.11-arm64.conf, gnu/packages/aux-files/linux-libre/5.11-i686.conf, gnu/packages/aux-files/linux-libre/5.11-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them.
2021-05-15Merge branch 'master' into core-updatesLudovic Courtès
2021-05-15tests: Conditionally include tests/go.scm.Maxim Cournoyer
The Go importer module requires a recent guile-glib; the test should only be run when such requirement is met. * Makefile.am (SCM_TESTS)[HAVE_GUILE_LIB]: Add tests/go.scm only if this condition is met. Reported-by: Chris Marusich <cmmarusich@gmail.com>
2021-05-11Merge branch 'version-1.3.0'Maxim Cournoyer
2021-05-09Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm
2021-05-08gnu: Add linux-libre 5.12.2.Leo Famulari
* gnu/packages/linux.scm (linux-libre-5.12-version, deblob-scripts-5.12, linux-libre-5.12-pristine-source, linux-libre-5.12-source, linux-libre-headers-5.12, linux-libre-5.12): New variables. * gnu/packages/aux-files/linux-libre/5.12-arm.conf, gnu/packages/aux-files/linux-libre/5.12-arm64.conf, gnu/packages/aux-files/linux-libre/5.12-i686.conf, gnu/packages/aux-files/linux-libre/5.12-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them.
2021-05-08services: configuration: Add tests.Maxim Cournoyer
* tests/services/configuration.scm: New file. * Makefile.am (SCM_TESTS): Register it.
2021-05-05build: Do not compress the (already compressed) VM qcow2 images.Maxim Cournoyer
The qcow2 format supports compression, and the qcow2 type supported by 'guix system image' produces compressed qcow2 images. * Makefile.am (release): Do not re-compress the qcow2 VM images with xz. * doc/guix.texi (Running Guix in a VM): Adjust VM image URL.
2021-05-05maint: Remove a workaround in Makefile.am.Maxim Cournoyer
This workaround was made obsolete by commit a23789bbbd, which prevented the PO files from being spuriously updated upon running 'make'. * Makefile.am (release) <git checkout>: Remove command.
2021-05-03maint: Do not xz-compress ISO images.Ludovic Courtès
The xz-compressed image is 23% smaller than the original ISO image (with built-in zlib compression), but the extra decompression step is unconventional and often a hindrance for users. See discussion at <https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00497.html>. * Makefile.am (release): Do not compress ISO images. * doc/guix.texi (USB Stick and DVD Installation): Remove ".xz" suffix from URL and file name. (Copying to a USB Stick, Burning on a DVD): Remove introductory words, @enumerate, and first item. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-05-03build: Replace the doc-po-update prerequisite by doc-pot-update.Maxim Cournoyer
What is really required for the dist target is the presence of the auto-generated .pot files; updating the PO files is not necessary nor desirable (it causes spurious changes in the tree). * Makefile.am (dist) <doc-po-update>: Replace prerequisite with... <doc-pot-update>: ... this one.
2021-05-03Makefile: Reimplement `download-po` target.Julien Lepiller
The weblate API rate limit is very close to the number of files we need to download. The previous implementation did not add new translations. * Makefile.am (download-po): Update target. (make-download-po-rule, make-check-po-rule): Remove functions.
2021-05-01Makefile: Reimplement `download-po` target.Julien Lepiller
The weblate API rate limit is very close to the number of files we need to download. The previous implementation did not add new translations. * Makefile.am (download-po): Update target. (make-download-po-rule, make-check-po-rule): Remove functions.
2021-04-29build: Have the release target depend on 'all'.Maxim Cournoyer
Otherwise, the scripts/guix wrapper may not be present, which would cause the user's guix wrapper to be used, which in turn would manipulate GUILE_LOAD_PATH in a way that would cause its Guix modules to take precedence over those of the tree, with confusion ensuing. * Makefile.am (release): Add 'all' as a prerequisite.
2021-04-29build: Add the qcow2 file extension to the VM image.Maxim Cournoyer
Including the extension of the format type of the image is not only useful to the user, but also to software. One example is GNOME Boxes, which will reject an image with an unknown file extension. This should be fixed more definitely in Guix, where the output of the VM image derivation would already have the correct file extension but for now this will do. * Makefile.am (release): Add .qcow2 to the file extension of the VM images.
2021-04-29build: Update and add new comments for the release target.Maxim Cournoyer
* Makefile.am (release): Update and add new comments.
2021-04-29Makefile.am: Remove the GUIX_FOR_BINARY_TARBALL variable.Maxim Cournoyer
There is no use case where the Guix package is not named 'guix'. * Makefile.am (GUIX_FOR_BINARY_TARBALL): Remove variable and replace its uses by 'guix'.
2021-04-25import: Remove Nix importer.Ludovic Courtès
This importer has suffered from bitrot and no longer works with current Nix and Nixpkgs. See <https://bugs.gnu.org/32339> and <https://bugs.gnu.org/36255>. * guix/import/snix.scm, guix/scripts/import/nix.scm, tests/snix.scm: Remove. * Makefile.am (MODULES, SCM_TESTS): Remove them. * guix/scripts/import.scm (importers): Remove "nix". * build-aux/test-env.in: Remove NIXPKGS variable. * configure.ac: Remove '--with-nixpkgs' option. * doc/guix.texi (Invoking guix import): Remove bit about "guix import nix". * etc/completion/fish/guix.fish: Likewise.
2021-04-23build: Use guix system image instead of disk-image, vm-image.Maxim Cournoyer
These older system actions are deprecated and cause warnings to be emitted. * Makefile.am (release) <guix system disk-image> <guix system vm-image>: Replace by... <guix system image>: ... this. Specify the type of the VM image as qcow2.
2021-04-23build: Add doc-update-po as a prerequisite to the dist target.Maxim Cournoyer
Otherwise 'make dist' would fail with the message: "No rule to make target 'po/doc/guix-manual.pot', needed by 'distdir-am'. Stop.". * Makefile.am (dist) <doc-po-update>: Add prerequisite. (dist-hook) <doc-po-update>: Remove prerequisite.
2021-04-20import: Remove Nix importer.Ludovic Courtès
This importer has suffered from bitrot and no longer works with current Nix and Nixpkgs. See <https://bugs.gnu.org/32339> and <https://bugs.gnu.org/36255>. * guix/import/snix.scm, guix/scripts/import/nix.scm, tests/snix.scm: Remove. * Makefile.am (MODULES, SCM_TESTS): Remove them. * guix/scripts/import.scm (importers): Remove "nix". * build-aux/test-env.in: Remove NIXPKGS variable. * configure.ac: Remove '--with-nixpkgs' option. * doc/guix.texi (Invoking guix import): Remove bit about "guix import nix". * etc/completion/fish/guix.fish: Likewise.
2021-04-16Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm
2021-04-12Add (guix ipfs).Ludovic Courtès
This module allows for communicating with the IPFS gateway over the HTTP interface. The commit has been cherry-picked from <https://issues.guix.gnu.org/33899>. The procedures for adding and restoring file trees have been removed as according to a reply issue 33899, a different format will be used. The procedure 'add-data' has been exported as it will be used in the system test for IPFS. * guix/ipfs.scm: New file. * Makefile.am (MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-24Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2021-03-23Add powerpc64le-linux as a supported Guix architecture.Chris Marusich
This makes powerpc64le-linux a supported architecture for Guix, but not for Guix System. * Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux. * etc/guix-install.sh (chk_sys_arch): Same. * guix/packages.scm (%supported-systems): Same. * m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same. * tests/guix-build.sh (all_systems): Same.
2021-03-10ci: Remove hydra support.Mathieu Othacehe
This removes hydra support to use Cuirass as the only continuous integration system. * build-aux/hydra/gnu-system.scm: Remove it. * build-aux/hydra/guix-modular.scm: Ditto. * build-aux/hydra/guix.scm: Ditto. * build-aux/cuirass/hydra-to-cuirass.scm: Ditto. * Makefile.am (EXTRA_DIST): Update it. (hydra-jobs.scm): Remove it. (cuirass-jobs.scm): Update it. * build-aux/hydra/evaluate.scm: Move it to ... * build-aux/cuirass/evaluate.scm: ... here. * build-aux/cuirass/guix-modular.scm: Remove it. * build-aux/cuirass/gnu-system.scm: Ditto. * guix/packages.scm (%hydra-supported-systems): Rename it to ... (%cuirass-supported-systems): ... this variable. * build-aux/check-final-inputs-self-contained: Adapt it. * etc/release-manifest.scm: Ditto. * gnu/ci.scm (package->alist): Remove it. (derivation->job): New procedure. (package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs, tarball-jobs): Use it. (guix-jobs): New procedure. (hydra-jobs): Rename it to ... (cuirass-jobs): ... this procedure.
2021-03-10import: Add Go importer.Katherine Cox-Buday
This patch adds a 'guix import go' command. * doc/guix.texi (Requirements): Mention Guile-Lib dependency. (Invoking guix import): Document 'guix import go'. * gnu/packages/package-management.scm (guix)[inputs, propagated-inputs]: Add GUILE-LIB. * guix/self.scm (compiled-guix)[guile-lib]: New variable. [dependencies]: Add it. (specification->package): Add "guile-lib". * guix/build-system/go.scm (go-version->git-ref): New procedure. * guix/import/go.scm, guix/scripts/import/go.scm, tests/go.scm: New files. * guix/scripts/import.scm: Declare subcommand guix import go * po/guix/POTFILES.in: Add 'guix/scripts/import/go.scm'. * Makefile.am (MODULES): Add 'guix/import/go.scm' and 'guix/scripts/import/go.scm'. (SCM_TESTS): Add 'tests/go.scm'. Co-Authored-By: Helio Machado <0x2b3bfa0@gmail.com> Co-Authored-By: Francois Joulaud <francois.joulaud@radiofrance.com> Co-Authored-By: Maxim Cournoyer <maxim.cournoyer@gmail.com> Co-Authored-by: Ludovic Courtès <ludo@gnu.org>
2021-03-10ci: Remove hydra support.Mathieu Othacehe
This removes hydra support to use Cuirass as the only continuous integration system. * build-aux/hydra/gnu-system.scm: Remove it. * build-aux/hydra/guix-modular.scm: Ditto. * build-aux/hydra/guix.scm: Ditto. * build-aux/cuirass/hydra-to-cuirass.scm: Ditto. * Makefile.am (EXTRA_DIST): Update it. (hydra-jobs.scm): Remove it. (cuirass-jobs.scm): Update it. * build-aux/hydra/evaluate.scm: Move it to ... * build-aux/cuirass/evaluate.scm: ... here. * build-aux/cuirass/guix-modular.scm: Remove it. * build-aux/cuirass/gnu-system.scm: Ditto. * guix/packages.scm (%hydra-supported-systems): Rename it to ... (%cuirass-supported-systems): ... this variable. * build-aux/check-final-inputs-self-contained: Adapt it. * etc/release-manifest.scm: Ditto. * gnu/ci.scm (package->alist): Remove it. (derivation->job): New procedure. (package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs, tarball-jobs): Use it. (guix-jobs): New procedure. (hydra-jobs): Rename it to ... (cuirass-jobs): ... this procedure.
2021-03-06Merge branch 'master' into core-updatesChristopher Baines
2021-03-05guix: Split (guix substitutes) from (guix scripts substitute).Christopher Baines
This means there's a module for working with substitutes, rather than all the code sitting in the script. The need for this can be seen with the weather and challenge scripts, that now don't have to use code from the substitute script, but can instead use the substitute module. The separation here between the actual functionality of the substitute script and the underlying functionality used both there and elsewhere should make maintenance easier moving forward. This commit just moves code, none of the code should have been changed significantly. * guix/scripts/substitute.scm (%narinfo-cache-directory, %narinfo-ttl, %narinfo-negative-ttl, %narinfo-transient-error-ttl, %unreachable-hosts): Move variables to guix/substitutes.scm. (narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request, read-to-eof, call-with-connection-error-handling, fetch-narinfos, lookup-narinfos, lookup-narinfos/diverse): Move procedures to guix/substitutes.scm. * guix/substitutes.scm: New file. * Makefile.am: Add it. * guix/narinfo.scm: Remove redundant module. * guix/scripts/challenge.scm: Change (guix scripts substitute) to (guix substitutes). * guix/scripts/weather.scm: Change (guix scripts substitute) to (guix substitutes).
2021-02-16gnu: Add linux-libre 5.11.Leo Famulari
* gnu/packages/linux.scm (linux-libre-5.11-version, deblob-scripts-5.11, linux-libre-5.11-pristine-source, linux-libre-5.11-source, linux-libre-5.11): New variables. * gnu/packages/aux-files/linux-libre/5.11-x86_64.conf, gnu/packages/aux-files/linux-libre/5.11-i686.conf, gnu/packages/aux-files/linux-libre/5.11-arm.conf, gnu/packages/aux-files/linux-libre/5.11-arm64.conf: New files. * Makefile.am (AUX_FILES): Add them.
2021-02-12services: Add transmission-daemon service.Simon South
* gnu/services/file-sharing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/packages/POTFILES.in: Add it. * tests/services/file-sharing.scm: New file. * Makefile.am (SCM_TESTS): Add it. * doc/guix.texi (File-Sharing Services): New section. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-02-11Merge branch 'master' into core-updatesDanny Milosavljevic
2021-02-07build-system: Add renpy-build-system.Leo Prikler
* guix/build/renpy-build-system.scm: New file. * guix/build-system/renpy.scm: New file. * Makefile.am (MODULES): Add them here. * doc/guix.texi (Build Systems): Document renpy-build-system.
2021-02-03gnu: Remove leftover kernel configurations for linux-libre 5.9.Leo Famulari
This is a followup to commit 8727870ff4e4d5016431985a888f3ca589d81e02. * gnu/packages/aux-files/linux-libre/5.9-arm.conf, gnu/packages/aux-files/linux-libre/5.9-arm64.conf, gnu/packages/aux-files/linux-libre/5.9-i686.conf, gnu/packages/aux-files/linux-libre/5.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them.
2021-02-03Merge branch 'master' into core-updatesChristopher Baines
2021-02-01build/python: Add a sanity check phase.Lars-Dominik Braun
Add a new phase validating the usability of installed Python packages. * gnu/packages/aux-files/python/sanity-check.py: New file. * Makefile.am (AUX_FILES): Register it. * guix/build-system/python.scm (sanity-check.py): New variable. (lower): Add the script as an implicit input. * guix/build/python-build-system.scm: Remove trailing #t. (sanity-check): New phase. (%standard-phases): Use it. * tests/builders.scm: (make-python-dummy) (dummy-ok, dummy-dummy-nosetuptools, dummy-fail-requirements) (dummy-fail-import, dummy-fail-console-script): New variables. ("python-build-system: dummy-ok") ("python-build-system: dummy-dummy-nosetuptools") ("python-build-system: dummy-fail-requirements") ("python-build-system: dummy-fail-import") ("python-build-system: dummy-fail-console-script"): Add tests.
2021-02-01gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.Maxim Cournoyer
Using PYTHONPATH as a mean to discover the Python packages had the following issues: 1. It is not versioned, so different versions of Python would clash if installed in a shared profile. 2. It would interfere with the host Python site on foreign distributions, sometimes preventing a a user to login their GDM session (!). 3. It would take precedence over user installed Python packages installed through pip. 4. It would leak into Python virtualenvs, which are supposed to create isolated Python environments. This changes fixes the above issues by making use of a sitecustomize.py module. The newly introduced GUIX_PYTHONPATH environment variable is read from the environment, filtered for the current Python version of the interpreter, and spliced in 'sys.path' just before Python's own site location, which provides the expected behavior. * gnu/packages/aux-files/python/sitecustomize.py: New file. * Makefile.am: Register it. * gnu/packages/python.scm (customize-site) (guix-pythonpath-search-path): New procedures. (python-2.7)[phases]{install-sitecustomize.py}: New phase. [native-inputs]{sitecustomize.py}: New input. [native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH. (python-3.9)[native-search-paths]: Likewise. [phases]{install-sitecustomize}: Override with correct version. [native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH. * gnu/packages/commencement.scm (python-boot0): [phases]{install-sitecustomize}: Likewise. [native-inputs]{sitecustomize.py}: New input. [native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH. * guix/build/python-build-system.scm (site-packages): Do not add a trailing '/'. squash! gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.