summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* build/python: Add a sanity check phase.Lars-Dominik Braun2021-02-01
| | | | | | | | | | | | | | | | | | | | 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.
* build/python: Adjust wrap phase to use the new GUIX_PYTHONPATH.Maxim Cournoyer2021-02-01
| | | | | * guix/build/python-build-system.scm (wrap): Adjust to use the new GUIX_PYTHONPATH. Remove trailing #t.
* build/python: Add the installation bin directory to PATH.Maxim Cournoyer2021-02-01
| | | | | | | | 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.
* build/python: Always add the install prefix to the Guix PYTHONPATH.Maxim Cournoyer2021-02-01
| | | | | | | | | | | 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.
* build/python: Replace PYTHONPATH by GUIX_PYTHONPATH.Maxim Cournoyer2021-02-01
| | | | | * guix/build/python-build-system.scm (add-installed-pythonpath): Replace "PYTHONPATH" by "GUIX_PYTHONPATH".
* gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.Maxim Cournoyer2021-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gnu: pixman: Update to 0.40.0.Raghav Gururajan2021-01-31
| | | | | | | * 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>
* gnu: pixman: Enable some features.Raghav Gururajan2021-01-31
| | | | | | | * gnu/packages/xdisorg.scm (pixman) [arguments] Pass --enable-timers and --enable-gnuplot to #:configure-flags. Signed-off-by: Leo Famulari <leo@famulari.name>
* gnu: openjpeg: Enable tests.Raghav Gururajan2021-01-31
| | | | | | | | | * 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>
* gnu: fontconfig: Update to 2.13.93.Maxim Cournoyer2021-01-29
| | | | | | | | | | | | | * 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.
* gnu: fontconfig-with-documentation: New variable.Maxim Cournoyer2021-01-29
| | | | | | | | | | | | | | | 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.
* gnu: Replace all uses of texlive-union by texlive-updmap.cfg.Maxim Cournoyer2021-01-29
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* gnu: texlive-amsfonts: Adjust to build with texlive-updmap.cfg.Maxim Cournoyer2021-01-29
| | | | | | | | | | | * 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.
* gnu: texlive-bin: Enable the use of multiple TeX Live trees.Maxim Cournoyer2021-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gnu: libsigsegv: Update to 2.13.Vincent Legoll2021-01-28
| | | | | | * gnu/packages/libsigsegv.scm (libsigsegv): Update to 2.13. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu: libsndfile: Add opus support.Alexandros Theodotou2021-01-28
| | | | | | | | * 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>
* gnu: postgresql: Set default socket directory.Mathieu Othacehe2021-01-28
| | | | | | | * gnu/packages/databases.scm (postgresql)[arguments]: Add 'set-socket-dir phase. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: certdata2pem: Fix cross compiling.Efraim Flashner2021-01-27
| | | | * gnu/packages/certs.scm (certdata2pem)[arguments]: Use cc-for-target.
* gnu: certdata2pem: Fix source URI.Efraim Flashner2021-01-27
| | | | * gnu/packages/certs.scm (certdata2pem)[source]: Download just the source.
* gnu: certs.scm: Add missing import.Efraim Flashner2021-01-27
| | | | * gnu/packages/certs.scm: Use (gnu packages perl).
* gnu: nss-certs: Remove Python 2 and Perl build dependencies.Maxim Cournoyer2021-01-27
| | | | | | | | * 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).
* gnu: nss-certs: Sync with the sources used for nss.Maxim Cournoyer2021-01-27
| | | | | | | * 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.
* build-systems/gnu: Allow unpacking/repacking more kind of files.Maxim Cournoyer2021-01-26
| | | | | | | | | | | | | | | | | | | | | | | 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.
* utils: Add NIX_STORE_DIR as a candidate for the value of the store directory.Maxim Cournoyer2021-01-26
| | | | | | | | | | | | | 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.
* gnu: boost: Patch transitive linking bug.Greg Hogan2021-01-26
| | | | | | | | * 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>
* gnu: nss: Update to the latest changeset to resolve test failures.Maxim Cournoyer2021-01-26
| | | | | | | | | | | | | | * 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.
* gnu: python-setuptools-scm: Update to 5.0.1.Nicolas Goaziou2021-01-26
| | | | * gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 5.0.1.
* gnu: mercurial: Update to 5.6.1.Maxim Cournoyer2021-01-26
| | | | | | | | | 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.
* gnu: bison: Update to 3.7.5.Efraim Flashner2021-01-26
| | | | * gnu/packages/bison.scm (bison): Update to 3.7.5.
* gnu: binutils: Update to 2.36.Efraim Flashner2021-01-26
| | | | * gnu/packages/base.scm (binutils): Update to 2.36.
* gnu: %boot-tcc-inputs: Use gash-utils.Efraim Flashner2021-01-24
| | | | | | * gnu/packages/commencement.scm (%boot-tcc-inputs): Remove diffutils-mesboot. Add gash-utils-boot. (diffutils-mesboot): Remove variable.
* gnu: guile: Disable parallel builds.Ludovic Courtès2021-01-23
| | | | | | | 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.
* gnu: ibus: Remove dependency on GConf.Ludovic Courtès2021-01-23
| | | | | | | 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.
* gnu: zziplib: Update to 0.13.72.Vincent Legoll2021-01-21
| | | | | | | | * 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>
* gnu: libdrm: Update to 2.4.104.Vincent Legoll2021-01-21
| | | | | | * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.104. Signed-off-by: Leo Famulari <leo@famulari.name>
* gnu: libarchive: Update to 3.5.1.Vincent Legoll2021-01-19
| | | | | | * gnu/packages/backup.scm (libarchive): Update to 3.5.1. Signed-off-by: Leo Famulari <leo@famulari.name>
* gnu: automake: Update to 1.16.3.Efraim Flashner2021-01-19
| | | | * gnu/packages/autotools.scm (automake): Update to 1.16.3.
* packages: 'patch-and-repack' returns a directory when given a directory.Ludovic Courtès2021-01-18
| | | | | | | | | | | | | 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?'.
* gnu: python-isort: Update to 5.7.0, fixing build on Python 3.9.Maxim Cournoyer2021-01-15
| | | | | | | | | | | | | | * 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.
* gnu: python2-isort: Remove package.Maxim Cournoyer2021-01-15
| | | | | * gnu/packages/python-xyz.scm (python-isort)[properties]: Remove field. (python2-isort): Delete variable.
* gnu: python2-factory-boy: Remove package.Maxim Cournoyer2021-01-15
| | | | * gnu/packages/python-xyz.scm (python2-factory-boy): Remove variable.
* gnu: python2-orator: Remove package.Maxim Cournoyer2021-01-15
| | | | | * gnu/packages/databases.scm (python-orator)[properties]: Delete field. (python2-orator): Remove variable.
* gnu: python2-pylint: Remove package.Maxim Cournoyer2021-01-15
| | | | | * gnu/packages/check.scm (python-pylint)[properties]: Delete field. * gnu/packages/check.scm (python2-pylint): Remove variable.
* gnu: Add python-pylama.Maxim Cournoyer2021-01-15
| | | | * gnu/packages/python-check.scm (python-pylama): New variable.
* gnu: Add python-mypy-minimal.Maxim Cournoyer2021-01-15
| | | | * gnu/packages/python-check.scm (python-mypy-minimal): New variable.
* gnu: python-typing-inspect: Fix build on Python 3.9.Maxim Cournoyer2021-01-15
| | | | | | * 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.
* gnu: python-hypothesmith: Update to 0.1.8.Maxim Cournoyer2021-01-15
| | | | | * gnu/packages/check.scm (python-hypothesmith): Update to 0.1.8. [propagated-inputs]: Replace python-hypothesmith-5.23 by python-hypothesmith.
* gnu: Add python-libcst-minimal.Maxim Cournoyer2021-01-15
| | | | | | * 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.
* gnu: python-virtualenv: Update to 20.3.1.Maxim Cournoyer2021-01-15
| | | | | * gnu/packages/python-xyz.scm (python-virtualenv): Update to 20.3.1. [propagated-inputs]: Remove setuptools and python-importlib-metadata.
* gnu: python-flake8-pyi: Update to 20.10.0.Maxim Cournoyer2021-01-15
| | | | * gnu/packages/python-xyz.scm (python-flake8-pyi): Update to 20.10.0.