summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add 'guix style'.Ludovic Courtès2021-07-11
| | | | | | | | | * 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.
* utils: 'edit-expression' copies part of the original source map.Ludovic Courtès2021-07-11
| | | | | | | * guix/utils.scm (source-location-key/stamp): New procedure. (go-to-location): Use it. (move-source-location-map!): New procedure. (edit-expression): Call it.
* utils: 'edit-expression' modifies the file only if necessary.Ludovic Courtès2021-07-11
| | | | * guix/utils.scm (edit-expression): Check whether STR* equals STR.
* utils: Add 'go-to-location' with source location caching.Ludovic Courtès2021-07-11
| | | | | | | | * guix/utils.scm (%source-location-map): New variable. (go-to-location): New procedure. (edit-expression): Use it instead of custom loop. * guix/packages.scm (package-field-location)[goto]: Remove. Use 'go-to-location' instead of 'goto'.
* utils: 'edit-expression' no longer leaks file ports.Ludovic Courtès2021-07-11
| | | | | * guix/utils.scm (edit-expression): Use 'call-with-input-file' to make sure IN gets closed.
* gnu: Change inputs of core packages to plain lists.Ludovic Courtès2021-07-11
| | | | | | | | | | | | | This is transparent: the resulting derivations are unchanged. * gnu/packages/base.scm (grep, sed, tar, patch, diffutils, glibc/hurd-headers) (coreutils, gnu-make, make-glibc-utf8-locales): Change input fields to plain package lists and use 'modify-inputs'. * gnu/packages/guile.scm (guile-1.8, guile-json-1, guile-json-3) (guile-gdbm-ffi, guile-sqlite3, guile-bytestructures) (guile-git, guile-zlib, guile-lzlib, guile-zstd, guile-next): Likewise. * gnu/packages/mes.scm (nyacc-0.86, nyacc-0.99) (nyacc, nyacc-1.00.2, mes-0.19, mes, m2-planet): Likewise.
* packages: Add 'modify-inputs'.Ludovic Courtès2021-07-11
| | | | | | | * guix/packages.scm (inputs-sans-labels, replace-input): New procedures. (prepend, replace, modify-inputs): New macros. * doc/guix.texi (Defining Package Variants): Document 'modify-inputs'. * dir-locals.el: Add 'modify-inputs' and its keywords.
* packages: Add 'lookup-package-input' & co.Ludovic Courtès2021-07-11
| | | | | | | * guix/packages.scm (lookup-input, lookup-package-input) (lookup-package-native-input, lookup-package-propagated-input) (lookup-package-direct-input): New procedures. * doc/guix.texi (package Reference): Document them.
* lint: Add 'input-labels' checker.Ludovic Courtès2021-07-11
| | | | | | | | * guix/lint.scm (check-input-labels): New procedure. (%local-checkers): Add 'input-labels' checker. * tests/lint.scm ("input labels: no warnings") ("input labels: one warning"): New tests. * doc/guix.texi (Invoking guix lint): Mention it.
* packages: Allow inputs to be plain package lists.Ludovic Courtès2021-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (add-input-label, sanitize-inputs): New procedures. (<package>)[inputs, propagated-inputs, native-inputs]: Add 'sanitize' property. * doc/guix.texi (Defining Packages, package Reference): (Defining Package Variants): Adjust examples accordingly. * tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs") ("transaction-upgrade-entry, grafts") ("package-transitive-inputs") ("package-transitive-supported-systems") ("package-closure") ("supported-package?") ("package-derivation, inputs deduplicated") ("package-transitive-native-search-paths") ("package-grafts, indirect grafts") ("package-grafts, indirect grafts, propagated inputs") ("package-grafts, same replacement twice") ("package-grafts, dependency on several outputs") ("replacement also grafted") ("package->bag, sensitivity to %current-target-system") ("package->bag, propagated inputs") ("package->bag, sensitivity to %current-system") ("package-input-rewriting/spec, identity") ("package-input-rewriting, identity"): Use the label-less input style.
* records: Support field sanitizers.Ludovic Courtès2021-07-11
| | | | | | | | | | * guix/records.scm (make-syntactic-constructor): Add #:sanitizers. [field-sanitizer]: New procedure. [wrap-field-value]: Honor F's sanitizer. (define-record-type*)[field-sanitizer]: New procedure. Pass #:sanitizer to 'make-syntactic-constructor'. * tests/records.scm ("define-record-type* & sanitize") ("define-record-type* & sanitize & thunked"): New tests.
* environment: Adjust to earlier 'gcc-bootstrap' search paths changes.Ludovic Courtès2021-07-11
| | | | | | | This is a followup to fe6775f52b7f28a5bf74633ea4737c32a64b7e05. * tests/guix-environment.sh: Expect C_INCLUDE_PATH rather than CPATH in environment containing 'gcc-bootstrap'.
* pack: Adjust test to earlier <compressor> changes.Ludovic Courtès2021-07-11
| | | | | | | This is a followup to 5a0997ef7f3968d216328b8c63a6e36dd29a5ab8, which broke the "self-contained tarball" test. * tests/pack.scm (%gzip-compressor): Add 'list' in third field.
* ci: Build commencement packages supported on the target system.Ludovic Courtès2021-07-10
| | | | | | | | | This is a followup to df49fe2a13d933c640e3189413c5adfced1103c5. * gnu/ci.scm (%bootstrap-packages): Rename to... (commencement-packages): ... this, and turn into a procedure. Filter packages that pass 'supported-package?'. (cuirass-jobs): Adjust accordingly.
* gnu: python-pyyaml: Fix build.Julien Lepiller2021-07-10
| | | | | | | | | python-cython is required to generate the C source for the libyaml extension, which is required for the `_yaml' module to work. This in turn lets the `sanity-check' phase succeed. * gnu/packages/python-xyz.scm (python-pyyaml)[inputs]: Add python-cython.
* gnu: coreutils: Patch broken Gnulib tests.Ludovic Courtès2021-07-10
| | | | | | | | Fixes <https://bugs.gnu.org/49459>. * gnu/packages/patches/coreutils-gnulib-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (coreutils)[source]: Use it.
* ci: Add bootstrap packages to the core subset.Mathieu Othacehe2021-07-09
| | | | | * gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset.
* gnu: kmod: Add zstd support.Brice Waegeneire2021-07-08
| | | | | | | * gnu/packages/linux.scm (kmod)[inputs]: Add zstd:lib. [arguments]: Enable zstd support. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: kmod: Update to 29.Brice Waegeneire2021-07-08
| | | | | | * gnu/packages/linux.scm (kmod): Update to 29. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: xkbcomp: Update to 1.4.5.Matthew James Kraai2021-07-08
| | | | | | * gnu/packages/xorg.scm (xkbcomp): Update to 1.4.5. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: libdatrie: Turn configure flags into a gexp.Ludovic Courtès2021-07-08
| | | | | * gnu/packages/gtk.scm (libdatrie)[arguments]: Turn #:configure-flags into a gexp.
* gnu: libdatrie: Run tests sequentially.Ludovic Courtès2021-07-08
| | | | | | Fixes <https://bugs.gnu.org/49463>. * gnu/packages/gtk.scm (libdatrie)[arguments]: Add #:parallel-tests?.
* utils: Add 'search-input-directory'.Ludovic Courtès2021-07-08
| | | | | | * guix/build/utils.scm (search-input-directory): New procedure. * doc/guix.texi (Build Utilities): Document it next to 'search-input-file'. Tweak wording.
* build-system/gnu: patch-shebangs: Also patch shebangs in "/libexec".Maxime Devos2021-07-08
| | | | | | | | | | | | | Shebangs in "/bin" and "/sbin" subdirectories are currently patched by patch-shebangs. But shebangs in "/libexec" currently aren't, even though they occasionally need to be. E.g. when using wrap-program on an executable in "libexec" without an explicit #:sh when cross-compiling. * guix/build/gnu-build-system.scm (patch-shebangs): Add "/libexec" to 'bin-directories'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: guile: Skip 'test-stack-overflow'.Ludovic Courtès2021-07-08
| | | | | * gnu/packages/guile.scm (guile-3.0)[arguments]: Add 'disable-stack-overflow-test' phase.
* gnu: glibc: Fix cross-compilation to powerpc64le-linux-gnu.Ludovic Courtès2021-07-08
| | | | | | | | | Fixes <https://bugs.gnu.org/49417>. Reported by Maxime Devos <maximedevos@telenet.be>. * gnu/packages/patches/glibc-cross-objcopy.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc)[source]: Use it.
* gnu: Disable more LuaJIT components on powerpc64le systems.Chris Marusich2021-07-06
| | | | | | | | | Fixes: <https://bugs.gnu.org/49218>. * gnu/packages/tex.scm (texlive-bin)[#:configure-flags]: Add "--disable-luajithbtex" on powerpc64le systems. (texlive-latex-base)[#:phases][build]: Add "mfluajit" to the disabled-formats list on powerpc64le systems.
* gnu: bc: Don't duplicate bootstrap phase.Efraim Flashner2021-07-06
| | | | | * gnu/packages/algebra.scm (bc)[arguments]: Use custom 'autoconf phase to replace standard 'bootstrap phase.
* gnu: gcc: Fix cross-compilation.Ludovic Courtès2021-07-06
| | | | | | | | | | | | | This fixes cross-compilation of GCC, as in: guix build --target=aarch64-linux-gnu -e '(@ (gnu packages gcc) gcc-10)' * gnu/packages/gcc.scm (gcc-canadian-cross-objdump-snippet): New variable. (gcc-5)[source]: Use it instead of inline 'snippet'. (gcc-8)[source]: Add 'modules' and 'snippet'. (gcc-9)[source]: Likewise. (gcc-10)[source]: Likewise. (gcc-11)[source]: Likewise.
* gnu: bootstrap-tarballs: Turn builder into a gexp.Ludovic Courtès2021-07-05
| | | | | * gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[arguments]: Turn #:builder into a gexp.
* gnu: bootstrap-tarballs: Fix build.Ludovic Courtès2021-07-05
| | | | | | * gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[arguments]: Make 'use-modules' the first expression. Failing that, 'match' would not be properly expanded when running on Guile 3.0.
* gnu: texlive: Fix Texinfo markup in descriptions.Ludovic Courtès2021-07-05
| | | | | | | * gnu/packages/tex.scm (texlive-latex-atveryend)[description]: Fix Texinfo markup. (texlive-generic-etexcmds)[description]: Likewise. (texlive-generic-kvdefinekeys)[description]: Likewise.
* tests: Fix typo in 'tests/store.scm'.Ludovic Courtès2021-07-05
| | | | | | | | | | | This typo had always been there since the test was introduced in commit ce72c780746776a86f59747f5eff8731cb4ff39b. Presumably, it became visible with 9e5812ac59b01ff011ec0c5b0f437dfe85d6fcc7, where caching was no longer global and thus the 'store' argument of 'package-derivation' was actually being used. * tests/store.scm ("current-build-output-port, UTF-8"): Refer to '%store' rather than 's' in 'package-derivation' call.
* build-system/trivial: Honor build inputs when cross-compiling.Ludovic Courtès2021-07-05
| | | | | | | | | Fixes a regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1 whereby host inputs would be missing altogether from '%build-inputs', which broke cross-compilation. * guix/build-system/trivial.scm (trivial-cross-build): Append HOST-INPUTS to the 'with-build-variables' argument.
* ci: Change "core" subset to include the latest GCC and Guile.Ludovic Courtès2021-07-05
| | | | | * gnu/ci.scm (%core-packages): Replace GCC-7 by GCC-11 and GUILE-2.0 by GUILE-3.0.
* tests: Adjust Python "sanity" check tests.Ludovic Courtès2021-07-05
| | | | | | | | | | | | This is a followup to 09448c0994390697e876db235a3b773311795238. The 'check-build-failure' procedure would not actually check anything since it did not call 'build-derivations'. However, it was throwing an exception for unrelated reasons, so the tests would pass. * tests/builders.scm (check-build-failure): Use 'guard' instead of 'false-if-exception'. Call 'build-derivations' to actually check for build failures.
* tests: Unset NIX_STORE_DIR when running external tests.Ludovic Courtès2021-07-05
| | | | | | | | | This is a followup to cfcead2e515c0dae02127e5a76496463898be6b6 and 47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb, which made (guix packages) dependent on the value of NIX_STORE_DIR. * guix/tests.scm (call-with-external-store): Unset NIX_STORE_DIR before calling PROC.
* gnu: custom-gcc: Update regex for removing executables.Sarah Morgensen2021-07-05
| | | | | | | | | | Do not match "gccgo". Match "gcov-dump" and "gcov-tool", as well as "lto-dump" (which was introduced in GCC 10). * gnu/packages/gcc.scm (custom-gcc)[arguments]: Update regex used for matching broken or conflicting executables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: bison-boot0: Replace 'posix_spawn' on non-x86 platforms.Ludovic Courtès2021-07-05
| | | | | * gnu/packages/commencement.scm (bison-boot0)[arguments]: Pass #:configure-flags on non-x86 platforms.
* build-system/gnu: Define '%build-inputs' when cross-compiling.Ludovic Courtès2021-07-05
| | | | | | | | Reported by Maxime Devos. * guix/build-system/gnu.scm (gnu-cross-build)[builder]: Define '%build-inputs' as it existed before 7d873f194ca69d6096d28d7a224ab78e83e34fe1.
* build-system/texlive: Change default format to pdftexThiago Jung Bauermann2021-07-05
| | | | | | | | | | | | | | LuaTeX has a bug where sometimes it corrupts the heap and aborts. This causes the build of texlive packages to fail at random. The problem is being tracked at https://issues.guix.gnu.org/48064. While a fix isn't found, switch the default TeX format (and consequently also the engine) to pdftex to avoid the issue. * guix/build-system/texlive.scm (texlive-build): Change default value of the ‘tex-format’ key parameter to “pdftex”. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: glibc: Fix cross-compilation to aarch64-linux-gnu.Ludovic Courtès2021-07-04
| | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/49113>. Reported by Maxime Devos <maximedevos@telenet.be>. Previously, the cross-compiled libc.so linker script would read: OUTPUT_FORMAT(elf64-little) instead of: OUTPUT_FORMAT(elf64-littleaarch64) This is because glibc 2.33 runs "objdump -f" instead of "aarch64-linux-gnu-objdump -f" to determine the output format. * gnu/packages/patches/glibc-cross-objdump.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc)[source]: Use it.
* gnu: glib-networking: Disable openssl support.Raghav Gururajan2021-07-03
| | | | | | | | Revert openssl support enabled in a1dd57ce83de42b115392816606e810d13864e41, as GnuTLS is preferred over OpenSSL in Guix. * gnu/packages/gnome.scm (glib-networking)[arguments](openssl): Remove flag. [inputs]: Remove openssl.
* gnu: make-boot0: Build with "--disable-posix-spawn".Ludovic Courtès2021-07-04
| | | | | | | Fixes <https://bugs.gnu.org/49367>. * gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Pass "--disable-posix-spawn" on non-x86.
* gnu: libxkbcommon: Update to 1.3.0.Brice Waegeneire2021-07-03
| | | | * gnu/packages/xdisorg.scm (libxkbcommon): Update to 1.3.0.
* ci: Remove duplicate ".SYSTEM" extension for cross-compilation jobs.Ludovic Courtès2021-07-03
| | | | * gnu/ci.scm (package-cross-job): Remove ".SYSTEM".
* gnu: findutils-boot0: Really disable 'test-fnmatch' on i686-linux.Ludovic Courtès2021-07-02
| | | | | | | | | | Commit f08b070019a3c1697bb0b4a783dcd4f31243715a intended to skip 'test-fnmatch' on both x86_64-linux and i686-linux but it ended up skipping it on x86_64-linux only. * gnu/packages/commencement.scm (findutils-boot0)[arguments]: Use 'member' to test whether (%current-system) is "x86_64-linux" or "i686-linux".
* packages: 'package-derivation' honors 'system' again.Ludovic Courtès2021-07-01
| | | | | | | | | | | | | | | | | Fixes a regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. Starting from 7d873f194ca69d6096d28d7a224ab78e83e34fe1, running guix build -s aarch64-linux sed on an x86_64-linux machine would return an x86_64-linux machine, whereby only the top derivation of the graph would be aarch64-linux while all its dependencies would be x86_64-linux. * guix/packages.scm (expand-input): Add 'system' parameter and honor it. (bag->derivation, bag->cross-derivation): Pass SYSTEM to 'expand-input'. * tests/packages.scm ("package-derivation, different system"): New test.
* gnu: gcc-toolchain: Remove duplicate gcc-toolchain@10.Ludovic Courtès2021-07-01
| | | | | | | | | | | This is a followup to 4796b5d6d18dcc0f1b6c8e134977ebdb575c5741. Fixes the "fold-available-packages with/without cache" test in 'tests/packages.scm'. * gnu/packages/commencement.scm (gcc-toolchain-8): Explicitly refer to GCC-8. (gcc-toolchain-10): Turn into an alias for GCC-TOOLCHAIN.
* gnu: cups-filters: Update to 1.28.9.Tobias Geerinckx-Rice2021-06-27
| | | | * gnu/packages/cups.scm (cups-filters): Update to 1.28.9.