summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-01build/python: Adjust wrap phase to use the new GUIX_PYTHONPATH.Maxim Cournoyer
* guix/build/python-build-system.scm (wrap): Adjust to use the new GUIX_PYTHONPATH. Remove trailing #t.
2021-02-01build/python: Add the installation bin directory to PATH.Maxim Cournoyer
This also to reduce the need for boilerplate code found in check phase overrides. * guix/build/python-build-system.scm (add-install-to-path): New phase. (%standard-phases): Order it before the check phase.
2021-02-01build/python: Always add the install prefix to the Guix PYTHONPATH.Maxim Cournoyer
This is to remove the need for common boilerplate code in check phase overrides. * guix/build/python-build-system.scm (add-installed-pythonpath): Streamline. This phase depends on the presence of a "python" input; thus GUIX_PYTHONPATH is guaranteed to be defined. Update doc. (add-install-to-pythonpath): New phase. (%standard-phases): Order it before the check phase.
2021-02-01build/python: Replace PYTHONPATH by GUIX_PYTHONPATH.Maxim Cournoyer
* guix/build/python-build-system.scm (add-installed-pythonpath): Replace "PYTHONPATH" by "GUIX_PYTHONPATH".
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.
2021-01-31gnu: pixman: Update to 0.40.0.Raghav Gururajan
* gnu/packages/xdisorg.scm (pixman) [version]: Update to 0.40.0. [license]: Change from X11 to expat. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-31gnu: pixman: Enable some features.Raghav Gururajan
* gnu/packages/xdisorg.scm (pixman) [arguments] Pass --enable-timers and --enable-gnuplot to #:configure-flags. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-31gnu: openjpeg: Enable tests.Raghav Gururajan
* gnu/packages/image.scm (openjpeg)[arguments]: Enable the test suite. Pass -DBUILD_UNIT_TESTS, -DBUILD_TESTING, and -DOPJ_DATA_ROOT to #:configure-flags. Add a new 'disable-failing-tests' phase. [native-inputs]: Add openjpeg-data. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-29gnu: fontconfig: Update to 2.13.93.Maxim Cournoyer
* gnu/packages/patches/fontconfig-hurd-path-max.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Un-register file. * gnu/packages/fontutils.scm (fontconfig)[source] {uri}: Use the .tar.xz archive. {patches}: Remove field. The patch was merged upstream. [native-inputs]: Add python-minimal. [phases]{skip-problematic-tests}: Add phase. [configure-flags]: Do not set PYTHON to false. * gnu/packages/fontutils.scm (fontconfig-with-documentation) [native-inputs]: Add docbook-utils.
2021-01-29gnu: fontconfig-with-documentation: New variable.Maxim Cournoyer
In what will become fontconfig 2.14, the complete documentation of fontconfig requires multiple dependencies that would be problematic to add to this core package; instead, keep the 'fontconfig' variable package lean and create a new 'fontconfig-with-documentation' package that will be known as "fontconfig" to the users. * gnu/packages/fontutils.scm (fontconfig): Hide package. [outputs]: Remove doc output. [configure-flags]: Add "--disable-docs" argument. [phases]{remove-pdf-files}: Remove phase. {move-man-sections}: Move to... (fontconfig-with-documentation): ... this new variable with a doc output.
2021-01-29gnu: Replace all uses of texlive-union by texlive-updmap.cfg.Maxim Cournoyer
* doc/build.scm (pdf-manual) Replace texlive-union by texlive-updmap.cfg. * gnu/packages/algebra.scm (pari-gp): Likewise. * gnu/packages/bioinformatics.scm (discrover, velvet): Likewise. * gnu/packages/chez.scm (chez-scheme, chez-web, chez-sockets): Likewise. * gnu/packages/docbook.scm (dblatex): Likewise. * gnu/packages/emacs-xyz.scm (emacs-auctex): Likewise. * gnu/packages/engineering.scm (fastcap): Likewise. * gnu/packages/guile-xyz.scm (emacsy, guile-cv): Likewise. * gnu/packages/lisp.scm (sbcl): Likewise. * gnu/packages/maths.scm (octave, hypre): Likewise. * gnu/packages/music.scm (lilypond): Likewise. * gnu/packages/plotutils.scm (asymptote): Likewise. * gnu/packages/python-xyz.scm (python-numpy-documentation) (python-matplotlib-documentation, python-ipython-documentation) (python-pypandoc): Likewise. * gnu/packages/radio.scm (gnuradio, libosmo-dsp): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. * gnu/packages/statistics.scm (r-with-tests): Likewise. * gnu/packages/tex.scm (simple-texlive-package) (texlive-xmltex, texlive-tiny, texlive-jadetex, teximpatient, lyx): Likewise.
2021-01-29gnu: texlive-amsfonts: Adjust to build with texlive-updmap.cfg.Maxim Cournoyer
* gnu/packages/tex.scm (texlive-amsfonts)[phases] {build-fonts}: Do not set SOURCE_DATE_EPOCH, already done by the build system. Let resources be auto-discovered by TeX Live machinery by simply setting GUIX_TEXMF. Remove references to the texlive-union input. Remove trailing #t. {install-generated-fonts}: Remove trailing #t. [native-inputs]: Replace texlive-union by texlive-updmap.cfg. Remove the texlive-cm and texlive-metafont arguments of texlive-updmap.cfg.
2021-01-29gnu: texlive-bin: Enable the use of multiple TeX Live trees.Maxim Cournoyer
Attempting to compose multiple TeX Live trees (such as can happen when using a texlive-union generated package) proved problematic; only the texmf.cnf configuration file from the union would be honored, causing other TeX Live components to be ignored. This change does away with TeX Live unions, instead relying on the default texmf.cnf configuration file provided by the texlive-bin package to honor individual TeX Live trees referred to via the newly introduced GUIX_TEXMF variable, and replacing the texlive-union procedure by texlive-updmap.cfg, to explicit that generating the fonts map configuration is now its sole purpose. * gnu/packages/tex.scm (texlive-bin)[phases]{customize-texmf}: New phase. {postint}: Move the patching of the texmf.cnf file to the new above phase. Patch the updmap.pl script to find its Perl modules. [native-search-paths]: Rename the TEXMF variable to GUIX_TEXMF. Remove the TEXMFCNF variable. * guix/profiles.scm (texlive-configuration): Remove procedure. (%default-profile-hooks)[texlive-configuration]: Unregister hook. (texlive-union): Alias to what has moved to... (texlivke-updmap.cfg): ... here. Update doc. Do not provide a different texmf.cnf configuration. [inherit]: Do not inherit from texlive-base. [build-system]: Switch to the copy-build-system. [arguments]{install-plan}: New argument. [phases]{regenerate-updmap.cfg}: New phase, which keeps only the fonts map generating code from the previous builder code. [inputs]: Remove bash, and move to ... [propagated-inputs]: ... here. [native-inputs]: Remove field, and move the source of the base updmap.cfg file to... [source]: ... here. [synopsis]: Update. [description]: Likewise. [license]: Delete duplicates.
2021-01-28gnu: libsigsegv: Update to 2.13.Vincent Legoll
* gnu/packages/libsigsegv.scm (libsigsegv): Update to 2.13. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-01-28gnu: libsndfile: Add opus support.Alexandros Theodotou
* gnu/packages/pulseaudio.scm (libsndfile)[inputs]: Move libvorbis, libogg, flac ... [propagated-inputs]: ... to here. Add opus. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-01-28gnu: postgresql: Set default socket directory.Mathieu Othacehe
* gnu/packages/databases.scm (postgresql)[arguments]: Add 'set-socket-dir phase. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-27gnu: certdata2pem: Fix cross compiling.Efraim Flashner
* gnu/packages/certs.scm (certdata2pem)[arguments]: Use cc-for-target.
2021-01-27gnu: certdata2pem: Fix source URI.Efraim Flashner
* gnu/packages/certs.scm (certdata2pem)[source]: Download just the source.
2021-01-27gnu: certs.scm: Add missing import.Efraim Flashner
* gnu/packages/certs.scm: Use (gnu packages perl).
2021-01-27gnu: nss-certs: Remove Python 2 and Perl build dependencies.Maxim Cournoyer
* gnu/packages/certs.scm (certdata2pem): Swap package to a C variant. (nss-certs): Use 'openssl rehash' instead of the Perl 'c_rehash' script. Adjust for the new certdata2pem program. The number of certificates installed compared to when using the previous script remains unchanged (139 at the time of this commit).
2021-01-27gnu: nss-certs: Sync with the sources used for nss.Maxim Cournoyer
* gnu/packages/certs.scm (nss-certs)[version]: Reuse nss version. [source]: Reuse nss source. [phases]{install}: Adjust for the new NSS source files hierarchy. Remove trailing #t.
2021-01-26build-systems/gnu: Allow unpacking/repacking more kind of files.Maxim Cournoyer
Before this change, only plain directories, tar or zip archives were supported as the source of a package for the GNU build system; anything else would cause the unpack phase to fail. Origins relying on snippets would suffer from the same problem. This change adds the support to use files of the following extensions: .gz, .Z, .bz2, .lz, and .xz, even when they are not tarballs. Files of unknown extensions are treated as uncompressed files and supported as well. * guix/packages.scm (patch-and-repack): Only add the compressor utility to the PATH when the file is compressed. Bind more inputs in the mlet, and use them for decompressing single files. Adjust the decompression and compression routines. [decompression-type]: Remove nested variable. * guix/build/utils.scm (compressor, tarball?): New procedures. Move %xz-parallel-args to the new 'compression helpers' section. * tests/packages.scm: Add tests. Add missing copyright year for Jan. * guix/build/gnu-build-system.scm (first-subdirectory): Return #f when no sub-directory was found. (unpack): Support more file types, including uncompressed plain files.
2021-01-26utils: Add NIX_STORE_DIR as a candidate for the value of the store directory.Maxim Cournoyer
On the daemon side, nixStore gets set to the environment variable NIX_STORE_DIR, else the environment variable NIX_STORE else the compile time macro NIX_STORE_DIR (see the Settings::processEnvironment method in nix/libstore/globals.cc). When creating a build environment, it sets NIX_STORE with the value computed as described above. Hence, it's safer to look for both NIX_STORE_DIR and NIX_STORE in (guix build utils), so that it works in any context (build context or external context). * guix/build/utils.scm (%store-directory): Consider both NIX_STORE_DIR and NIX_STORE as environment variables.
2021-01-26gnu: boost: Patch transitive linking bug.Greg Hogan
* gnu/packages/patches/boost-fix-transitive-linking.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/boost.scm (boost)[source]: Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-26gnu: nss: Update to the latest changeset to resolve test failures.Maxim Cournoyer
* gnu/packages/patches/nss-3.56-pkgconfig.patch: Update and ajdust. * gnu/packages/patches/nss-increase-test-timeout.patch: Adjust. * gnu/packages/nss.scm (nss)[version]: Compute with the git-version procedure. [source]: Switch to use the latest changeset. Adjust snippet to match restructuring of the source file hierarchy. [make-flags]: Do not chdir to the "nss" directory. [phases]: Delete trailing #t. {check}: Honor the '#:tests?' argument. Update the date used with faketime and adjust for the new all.sh script location. {install}: Adapt to the location of the 'dist/' directory, which is now at the same level as the 'source' checkout.
2021-01-26gnu: python-setuptools-scm: Update to 5.0.1.Nicolas Goaziou
* gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 5.0.1.
2021-01-26gnu: mercurial: Update to 5.6.1.Maxim Cournoyer
This fixes the build on Python 3.9. * gnu/packages/version-control.scm (mercurial): Update to 5.6.1. Delete trailing #t. [phases]{check}: Remove the "test-transaction-rollback-on-sigpipe.t" test file and add a comment.
2021-01-26gnu: bison: Update to 3.7.5.Efraim Flashner
* gnu/packages/bison.scm (bison): Update to 3.7.5.
2021-01-26gnu: binutils: Update to 2.36.Efraim Flashner
* gnu/packages/base.scm (binutils): Update to 2.36.
2021-01-24gnu: %boot-tcc-inputs: Use gash-utils.Efraim Flashner
* gnu/packages/commencement.scm (%boot-tcc-inputs): Remove diffutils-mesboot. Add gash-utils-boot. (diffutils-mesboot): Remove variable.
2021-01-23gnu: guile: Disable parallel builds.Ludovic Courtès
This works around <https://bugs.gnu.org/20272>, as discussed in <https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00273.html>. * gnu/packages/guile.scm (guile-2.0)[arguments]: Pass #:parallel-build? #f.
2021-01-23gnu: ibus: Remove dependency on GConf.Ludovic Courtès
GConf has been deprecated for a while. This change removes GConf (and thus ORBit) from the closure of GNOME. * gnu/packages/ibus.scm (ibus)[inputs]: Remove GCONF.
2021-01-21gnu: zziplib: Update to 0.13.72.Vincent Legoll
* gnu/packages/compression.scm (zziplib): Update to 0.13.72. [build-system]: Use cmake-build-system [arguments]: Remove field. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-21gnu: libdrm: Update to 2.4.104.Vincent Legoll
* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.104. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-19gnu: libarchive: Update to 3.5.1.Vincent Legoll
* gnu/packages/backup.scm (libarchive): Update to 3.5.1. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-19gnu: automake: Update to 1.16.3.Efraim Flashner
* gnu/packages/autotools.scm (automake): Update to 1.16.3.
2021-01-18packages: 'patch-and-repack' returns a directory when given a directory.Ludovic Courtès
Previously, 'patch-and-repack' would always create a tar.xz archive as a result, even if the input was a directory (a checkout). This change reduces gratuitous CPU and storage overhead. * guix/packages.scm (patch-and-repack)[tarxz-name]: Remove 'checkout?' case. [build](repack): New procedure, with "tar" invocation formerly at the top level. If SOURCE is a directory, call 'copy-recursively'; otherwise, call 'repack'. Change NAME to ORIGINAL-FILE-NAME when it matches 'checkout?'.
2021-01-15gnu: python-isort: Update to 5.7.0, fixing build on Python 3.9.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-isort): Update to 5.7.0. [source]: Delete checked in binary wheels in a snippet. [arguments]: New field. [phases]: Replace the build and install phases, implementing the basics of a PEP 517 build system. {check}: Override phase. {install-example-plugins}: New phase. [native-inputs]: Remove python-mock. Add git-minimal, python-black, python-colorama, python-hypothesmith, python-libcst-minimal, python-poetry-core, python-pylama, python-pypa-build and python-pytest-mock. [home-page]: Update home page.
2021-01-15gnu: python2-isort: Remove package.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-isort)[properties]: Remove field. (python2-isort): Delete variable.
2021-01-15gnu: python2-factory-boy: Remove package.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python2-factory-boy): Remove variable.
2021-01-15gnu: python2-orator: Remove package.Maxim Cournoyer
* gnu/packages/databases.scm (python-orator)[properties]: Delete field. (python2-orator): Remove variable.
2021-01-15gnu: python2-pylint: Remove package.Maxim Cournoyer
* gnu/packages/check.scm (python-pylint)[properties]: Delete field. * gnu/packages/check.scm (python2-pylint): Remove variable.
2021-01-15gnu: Add python-pylama.Maxim Cournoyer
* gnu/packages/python-check.scm (python-pylama): New variable.
2021-01-15gnu: Add python-mypy-minimal.Maxim Cournoyer
* gnu/packages/python-check.scm (python-mypy-minimal): New variable.
2021-01-15gnu: python-typing-inspect: Fix build on Python 3.9.Maxim Cournoyer
* gnu/packages/patches/python-typing-inspect-fix.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/python-xyz.scm (python-typing-inspect)[patches]: Apply it.
2021-01-15gnu: python-hypothesmith: Update to 0.1.8.Maxim Cournoyer
* gnu/packages/check.scm (python-hypothesmith): Update to 0.1.8. [propagated-inputs]: Replace python-hypothesmith-5.23 by python-hypothesmith.
2021-01-15gnu: Add python-libcst-minimal.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-libcst-minimal): New variable. (python-libcst): Add a tests? argument to the check phase override and strip trailing #t.
2021-01-15gnu: python-virtualenv: Update to 20.3.1.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-virtualenv): Update to 20.3.1. [propagated-inputs]: Remove setuptools and python-importlib-metadata.
2021-01-15gnu: python-flake8-pyi: Update to 20.10.0.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-flake8-pyi): Update to 20.10.0.