guix/gnu/packages
Maxim Cournoyer cb72f9a773
gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.
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.
2021-02-01 11:53:42 -05:00
..
aux-files gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH. 2021-02-01 11:53:42 -05:00
patches gnu: fontconfig: Update to 2.13.93. 2021-01-29 15:05:41 -05:00
abduco.scm
abiword.scm
accessibility.scm
acct.scm
acl.scm
ada.scm
admin.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
adns.scm
agda.scm
aidc.scm
algebra.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
android.scm
animation.scm
anthy.scm
antivirus.scm
apl.scm
apr.scm Revert "gnu: apr: Update to 1.7.0." 2021-01-06 12:58:40 -05:00
arcan.scm
aspell.scm
assembly.scm
astronomy.scm
attr.scm
audio.scm gnu: supercollider: Update to 3.11.2. 2021-01-10 13:31:09 +02:00
augeas.scm
authentication.scm
autogen.scm
autotools.scm gnu: automake: Update to 1.16.3. 2021-01-19 21:31:57 +02:00
avahi.scm
avr.scm
axoloti.scm
backup.scm gnu: libarchive: Update to 3.5.1. 2021-01-19 23:01:47 -05:00
base.scm gnu: binutils: Update to 2.36. 2021-01-26 11:26:41 +02:00
bash.scm
batik.scm
bdw-gc.scm
benchmark.scm
bioconductor.scm
bioinformatics.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
bison.scm gnu: bison: Update to 3.7.5. 2021-01-26 11:27:13 +02:00
bittorrent.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
boost.scm gnu: boost: Patch transitive linking bug. 2021-01-26 23:32:54 +01:00
bootloaders.scm
bootstrap.scm
browser-extensions.scm
build-tools.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
busybox.scm
c.scm
calcurse.scm
calendar.scm
ccache.scm
cdrom.scm
cedille.scm
certs.scm gnu: certdata2pem: Fix cross compiling. 2021-01-27 20:59:53 +02:00
check.scm gnu: python2-pylint: Remove package. 2021-01-15 16:33:11 -05:00
chemistry.scm
chez.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
chicken.scm
chromium.scm
ci.scm
cinnamon.scm
clojure.scm
cluster.scm
cmake.scm
cobol.scm
code.scm
commencement.scm gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH. 2021-02-01 11:53:42 -05:00
compression.scm gnu: zziplib: Update to 0.13.72. 2021-01-21 15:49:49 -05:00
compton.scm
configuration-management.scm
conky.scm
connman.scm
convmv.scm
cook.scm
coq.scm
cpio.scm
cpp.scm gnu: json-modern-cxx: Install json_fwd.hpp header. 2021-01-07 14:21:28 +01:00
cppi.scm
cran.scm
crates-graphics.scm
crates-gtk.scm
crates-io.scm gnu: rust-pin-utils-0.1: Deduplicate duplicate definitions. 2021-01-08 12:55:32 +02:00
cross-base.scm
crypto.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
cryptsetup.scm
cups.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
curl.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
cvassistant.scm
cybersecurity.scm
cyrus-sasl.scm
databases.scm gnu: postgresql: Set default socket directory. 2021-01-28 13:02:24 +01:00
datamash.scm
datastructures.scm
dav.scm
dbm.scm
dc.scm
debian.scm
debug.scm
dejagnu.scm
dhall.scm
dico.scm
dictionaries.scm
diffoscope.scm
digest.scm
direct-connect.scm
disk.scm
display-managers.scm
distributed.scm
django.scm
djvu.scm
dlang.scm
dns.scm
docbook.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
docker.scm
documentation.scm
drones.scm
dunst.scm
dvtm.scm
easyrpg.scm
ebook.scm gnu: cozy: Update to 0.7.8. 2021-01-06 11:14:53 +02:00
ed.scm gnu: ed: Update to 1.17. 2021-01-15 14:06:12 +01:00
education.scm
efi.scm
electronics.scm gnu: pulseview: Fix qt-5.15 compatibility. 2021-01-10 14:23:20 +02:00
elf.scm
elixir.scm
elm.scm
emacs-xyz.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
emacs.scm
embedded.scm
emulators.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
enchant.scm
engineering.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
enlightenment.scm
entr.scm
erlang.scm
esolangs.scm
fabric-management.scm
fcitx.scm
fcitx5.scm
figlet.scm
file-systems.scm gnu: zfs: Fix build. 2021-01-07 09:22:54 +01:00
file.scm
finance.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
firmware.scm
flashing-tools.scm
flex.scm
fltk.scm
fonts.scm
fontutils.scm gnu: fontconfig: Update to 2.13.93. 2021-01-29 15:05:41 -05:00
forth.scm
fpga.scm gnu: gtkwave: Update to 3.3.108. 2021-01-07 21:45:45 +01:00
freedesktop.scm
freeipmi.scm
fribidi.scm
ftp.scm
fvwm.scm
game-development.scm
games.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
gawk.scm
gcal.scm
gcc.scm
gd.scm
gdb.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
genealogy.scm
genimage.scm
geo.scm
gettext.scm
ghostscript.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
gimp.scm
gkrellm.scm
gl.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
glib.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
gnome-xyz.scm gnu: Update copyright line. 2021-01-07 19:34:39 +01:00
gnome.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
gnu-doc.scm
gnu-pw-mgr.scm
gnucash.scm
gnunet.scm
gnupg.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
gnustep.scm
gnuzilla.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
gobby.scm
golang.scm
gperf.scm
gpodder.scm
gps.scm gnu: gpsbabel: Enable tests. 2021-01-06 11:14:53 +02:00
graph.scm
graphics.scm gnu: directfb: Fix home page. 2021-01-06 14:12:29 +01:00
graphviz.scm
groff.scm
groovy.scm
gsasl.scm
gstreamer.scm
gtk.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
guile-wm.scm
guile-xyz.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
guile.scm gnu: guile: Disable parallel builds. 2021-01-23 23:47:02 +01:00
gv.scm
gxmessage.scm
hardware.scm gnu: Add screentest. 2021-01-07 18:16:57 +01:00
haskell-apps.scm
haskell-check.scm
haskell-crypto.scm
haskell-web.scm
haskell-xyz.scm
haskell.scm
heads.scm
hexedit.scm
hugs.scm
hunspell.scm
hurd.scm
hyperledger.scm
i2p.scm
ibus.scm gnu: ibus: Remove dependency on GConf. 2021-01-23 23:47:02 +01:00
icu4c.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
idris.scm
idutils.scm
image-processing.scm gnu: vtk: Use more system libraries. 2021-01-07 22:42:47 +02:00
image-viewers.scm gnu: feh: Update to 3.6.2. 2021-01-09 23:14:26 +01:00
image.scm gnu: openjpeg: Enable tests. 2021-01-31 17:22:13 -05:00
imagemagick.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
inklingreader.scm
inkscape.scm
installers.scm
ipfs.scm
irc.scm
iso-codes.scm
jami.scm
java-compression.scm
java-graphics.scm
java-maths.scm
java.scm
javascript.scm gnu: Add duktape. 2021-01-07 14:21:25 +01:00
jemalloc.scm
jose.scm
jrnl.scm
julia-xyz.scm
julia.scm
jupyter.scm
kawa.scm
kde-frameworks.scm
kde-internet.scm
kde-multimedia.scm
kde-pim.scm
kde-plasma.scm
kde-systemtools.scm gnu: yakuake: Update to 20.12.1. 2021-01-09 23:14:27 +01:00
kde-utils.scm
kde.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
kerberos.scm
key-mon.scm
kodi.scm
language.scm
ld-wrapper.in
lean.scm
lego.scm
less.scm
lesstif.scm
libbsd.scm
libcanberra.scm
libdaemon.scm
libedit.scm
libevent.scm
libffcall.scm
libffi.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
libftdi.scm
libidn.scm
libphidget.scm
libreoffice.scm
libsigsegv.scm gnu: libsigsegv: Update to 2.13. 2021-01-28 21:22:03 +02:00
libunistring.scm
libunwind.scm
libusb.scm
license.scm
lighting.scm
linphone.scm
linux.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
lirc.scm
lisp-xyz.scm gnu: sbcl-local-time: Update to 1.0.6-2.a177eb9. 2021-01-10 09:38:09 +01:00
lisp.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
llvm.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
logging.scm
logo.scm
loko.scm
lolcode.scm
lout.scm
lsof.scm
lua.scm
lxde.scm
lxqt.scm
m4.scm
machine-learning.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
magic-wormhole.scm
mail.scm gnu: rspamd: Update to 2.7. 2021-01-09 23:14:26 +01:00
make-bootstrap.scm
man.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
markup.scm
marst.scm
mastodon.scm
mate.scm
maths.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
matrix.scm
maven-parent-pom.scm
maven.scm
mc.scm
mcrypt.scm
medical.scm
mercury.scm
mes.scm
messaging.scm gnu: ngircd: Update to 26.1. 2021-01-07 21:45:45 +01:00
microcom.scm
mingw.scm
moe.scm
monitoring.scm
mono.scm
moreutils.scm
motti.scm
mp3.scm
mpd.scm gnu: ncmpcpp: Update to 0.9.1. 2021-01-09 13:47:26 -05:00
mpi.scm
mtools.scm
multiprecision.scm
music.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
musl.scm
nano.scm
ncdu.scm
ncurses.scm
netpbm.scm
nettle.scm
networking.scm
nfs.scm
nickle.scm
nicotine.scm
nim.scm
ninja.scm
node-xyz.scm
node.scm
noweb.scm
nss.scm gnu: nss: Update to the latest changeset to resolve test failures. 2021-01-26 14:22:34 -05:00
ntp.scm
nutrition.scm
nvi.scm
ocaml.scm
ocr.scm
onc-rpc.scm
openbox.scm
opencl.scm
opencog.scm
openkinect.scm
openldap.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
openpgp.scm
openstack.scm
orpheus.scm
ots.scm
package-management.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
pantheon.scm
parallel.scm gnu: slurm: Add old 20.02 version back. 2021-01-07 12:08:41 +01:00
pascal.scm
password-utils.scm
patchutils.scm
pciutils.scm
pcre.scm
pdf.scm
pem.scm
pep.scm
perl-check.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
perl-compression.scm
perl-web.scm
perl.scm gnu: Add perl-sgmls. 2021-01-14 09:02:08 -05:00
perl6.scm
phabricator.scm
photo.scm
php.scm gnu: php: Update to 7.4.14. 2021-01-07 17:18:05 +01:00
piet.scm
pkg-config.scm
plotutils.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
poedit.scm
polkit.scm
popt.scm
presentation.scm
pretty-print.scm
printers.scm
profiling.scm
prolog.scm
protobuf.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
pth.scm
pulseaudio.scm gnu: libsndfile: Add opus support. 2021-01-28 21:13:05 +02:00
pumpio.scm
pure.scm
purescript.scm
pv.scm
python-build.scm gnu: Add python-pypa-build. 2021-01-15 16:33:07 -05:00
python-check.scm gnu: Add python-pylama. 2021-01-15 16:33:11 -05:00
python-compression.scm
python-crypto.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
python-science.scm
python-web.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
python-xyz.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
python.scm gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH. 2021-02-01 11:53:42 -05:00
qt.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
radio.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
ragel.scm
rails.scm
raspberry-pi.scm
ratpoison.scm
rcm.scm
rdesktop.scm
rdf.scm
re2c.scm
readline.scm
rednotebook.scm
regex.scm
robotics.scm
rpc.scm
rrdtool.scm
rsync.scm
ruby.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
rush.scm
rust-apps.scm
rust.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
sagemath.scm gnu: python-cypari2: Update to 2.1.2. 2021-01-06 17:52:45 +02:00
samba.scm
sawfish.scm
scanner.scm
scheme.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
screen.scm
scribus.scm
scsi.scm
sdl.scm
search.scm
security-token.scm
selinux.scm
sequoia.scm gnu: sequoia: Update to 1.0.0. 2021-01-08 10:33:12 +01:00
serialization.scm
serveez.scm
shells.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
shellutils.scm
simh.scm
simulation.scm
skarnet.scm
skribilo.scm
slang.scm
smalltalk.scm
sml.scm
solidity.scm
speech.scm
sphinx.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
spice.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
sqlite.scm
squirrel.scm
ssh.scm
sssd.scm
stalonetray.scm
statistics.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
stb.scm
stenography.scm
storage.scm
suckless.scm
swig.scm
sync.scm
syncthing.scm
syndication.scm gnu: Updated liferea to 1.13.4. 2021-01-10 12:09:00 +01:00
synergy.scm
task-management.scm
tbb.scm
tcl.scm
telephony.scm
terminals.scm gnu: python-curtsies: Update to 0.3.4. 2021-01-06 21:22:55 +02:00
terraform.scm
tex.scm gnu: Replace all uses of texlive-union by texlive-updmap.cfg. 2021-01-29 13:35:47 -05:00
texinfo.scm
text-editors.scm gnu: texmacs: Install desktop file. 2021-01-07 12:08:41 +01:00
textutils.scm
time.scm
tls.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
tmux.scm
tor.scm
toys.scm
tryton.scm
tv.scm
uml.scm
unicode.scm
unrtf.scm
upnp.scm
usb-modeswitch.scm
uucp.scm
valgrind.scm
version-control.scm gnu: mercurial: Update to 5.6.1. 2021-01-26 08:21:03 -05:00
video.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
vim.scm gnu: vim: Skip terminal screen-dump tests. 2021-01-10 09:49:13 +02:00
virtualization.scm gnu: python-xyz: Move a few modules to (gnu packages python-build). 2021-01-15 16:33:07 -05:00
visidata.scm
vlang.scm
vnc.scm
vpn.scm Merge branch 'master' into staging 2021-01-10 14:30:36 +02:00
vulkan.scm
w3m.scm
wdiff.scm
web-browsers.scm
web.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
webkit.scm
wget.scm
wicd.scm
wine.scm
wireservice.scm
wm.scm gnu: Add cagebreak. 2021-01-07 19:25:25 +08:00
wordnet.scm
wv.scm
wxwidgets.scm
xdisorg.scm gnu: pixman: Update to 0.40.0. 2021-01-31 17:22:20 -05:00
xfce.scm
xfig.scm
xiph.scm
xml.scm gnu: Add openjade. 2021-01-14 09:02:08 -05:00
xnee.scm
xorg.scm Merge branch 'staging' into 'core-updates'. 2021-01-13 23:45:53 -05:00
zile.scm
zwave.scm