summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2018-03-20build-system/gnu: Dump test suite logs upon 'check' failure.•••Suggested by Mark H Weaver <mhw@netris.org>. * guix/build/gnu-build-system.scm (dump-file-contents): New procedure. (%test-suite-log-regexp): New variable. (check): Add #:test-suite-log-regexp. Catch 'invoke-error?' and call 'dump-file-contents' upon error. Ludovic Courtès
2018-03-20Merge branch 'master' into core-updatesMark H Weaver
2018-03-18git-download: Fix recursive checkouts.•••* guix/git-download.scm (git-fetch)<build>: Fix match on INPUTS, which may contain package outputs. Eric Bavier
2018-03-18glob: Add an extra glob pattern compilation stage.•••* guix/glob.scm (compile-glob-pattern): Rename to... (string->sglob): ... this. (compile-sglob, string->compiled-sglob): New procedures. (glob-match?): Replace '?, 'range, and 'set with a single clause. * tests/glob.scm (test-compile-glob-pattern): Rename to... (test-string->sglob): ... this. Adjust accordingly. (test-glob-match): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. * gnu/build/linux-modules.scm (read-module-aliases): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. Ludovic Courtès
2018-03-18glob: Support square brackets in patterns.•••* guix/glob.scm (wildcard-indices): Remove. (parse-bracket): New procedure. (compile-glob-pattern): Rewrite. Support square brackets for sets and ranges. (glob-match?): Support sets and ranges. * tests/glob.scm (test-compile-glob-pattern) (test-glob-match): New macros. Use them to rewrite the existing tests, and add new tests. Ludovic Courtès
2018-03-18import: elpa: Return 'license:gpl3+ for ELPA only.•••Fixes <https://bugs.gnu.org/30836>. Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>. * guix/import/elpa.scm (elpa-package->sexp): Add LICENSE parameter and honor it. (elpa->guix-package): Pass 'license:gpl3+ only when REPO is 'gnu. Ludovic Courtès
2018-03-18build-system/python: Fix deletion of .egg-info dirs created by tests.•••* guix/build/python-build-system.scm (check): Use 'string=?' to compare strings, not 'eqv?'. Mark H Weaver
2018-03-18build-system/python: Return #t from all phases.•••* guix/build/python-build-system.scm (build, install, wrap): Return #t. (check): Return #t and remove vestigial plumbing. Mark H Weaver
2018-03-18git: 'switch-to-ref' accepts short commit IDs.•••Fixes <https://bugs.gnu.org/30716>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * guix/git.scm (switch-to-ref): When REF is a commit, check the length of COMMIT and use 'object-lookup-prefix' if available. Ludovic Courtès
2018-03-18import: elpa: Fix typos in documentation strings•••* guix/import/elpa.scm: Fix typos in docstrings. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Konrad Hinsen
2018-03-18import: elpa: use https in download URLs•••* guix/import/elpa.scm (elpa-url): Use HTTPS. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Konrad Hinsen
2018-03-17download: Remove TU Wien mirror.•••* guix/download.scm (%mirrors): Remove gd.tuwien.ac.at, which no longer seems to exist. Mark H Weaver
2018-03-17Merge branch 'master' into core-updatesMark H Weaver
2018-03-16build-system/gnu: Tolerate errors during the 'strip' phase.•••This is a followup to commit 9a87649c863e1ff8b073b356875eb05eecedbcf7. * guix/build/gnu-build-system.scm (strip)[strip-dir]: If an invoke error occurs, issue a warning and continue to the next file. This restores the tolerance of stripping errors prior to commit 9a87649. Mark H Weaver
2018-03-16utils: invoke: Raise exceptions using SRFI-34 and SRFI-35.•••* guix/build/utils.scm (&invoke-error): New condition type. (invoke-error?, invoke-error-program, invoke-error-arguments) (invoke-error-exit-status, invoke-error-term-signal) (invoke-error-stop-signal): New exported procedures. (invoke): Raise exceptions using SRFI-34 and SRFI-35. * guix/ui.scm (call-with-error-handling): Add a guard clause for &invoke-error conditions. Mark H Weaver
2018-03-16gnu-build: Issue a warning unless every phase returns #t.•••* guix/build/gnu-build-system.scm (gnu-build): Issue a warning if a phase returns a value other than #t. Mark H Weaver
2018-03-16packages: Issue a warning unless the snippet returns #t.•••* guix/packages.scm (patch-and-repack): Issue a warning if the snippet returns a value other than #t. Mark H Weaver
2018-03-16build-system/gnu: Return a boolean from all phase procedures.•••* guix/build/gnu-build-system.scm (patch-source-shebangs) (patch-generated-file-shebangs, strip): Return #t. (validate-runpath): Raise an exception if validation fails. Never return #f. Mark H Weaver
2018-03-16packages: Update copyright notice.•••This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm: Update copyright notice for Mark H Weaver. Mark H Weaver
2018-03-16packages: patch-and-repack: Fix snippet handling.•••This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm (patch-and-repack): For the snippet, generate a single boolean expression for 'unless', instead of the list of expressions which had previously been spliced into an 'and' form (prior to commit 5003aea). Mark H Weaver
2018-03-16build: emacs-utils: Use invoke instead of system*.•••* guix/build/emacs-utils.scm (emacs-batch-eval) (emacs-batch-edit-file): Use invoke. Mark H Weaver
2018-03-16hg-download: Use invoke instead of system*.•••* guix/build/hg.scm (hg-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16svn-download: Use invoke instead of system*.•••* guix/build/svn.scm (svn-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16cvs-download: Use invoke instead of system*.•••* guix/build/cvs.scm (cvs-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16download: Use invoke instead of system*.•••* guix/download.scm (url-fetch/tarbomb, url-fetch/zipbomb): Use invoke. Mark H Weaver
2018-03-16build-system/scons: Use invoke instead of system*.•••* guix/build/scons-build-system.scm (build, check, install): Use invoke. Mark H Weaver
2018-03-16build-system/texlive: Use invoke instead of system*.•••* guix/build/texlive-build-system.scm (compile-with-latex): Use invoke. Mark H Weaver
2018-03-16build-system/python: Use invoke instead of system*.•••* guix/build/python-build-system.scm (call-setuppy): Use invoke. Mark H Weaver
2018-03-16build-system/perl: Use invoke instead of system*.•••* guix/build/perl-build-system.scm (configure, build, check, install): Use invoke. Mark H Weaver
2018-03-16build-system/cmake: Use invoke instead of system*.•••* guix/build/cmake-build-system.scm (configure): Use invoke. Mark H Weaver
2018-03-16build-system/glib-or-gtk: Use invoke instead of system*.•••* guix/build/glib-or-gtk-build-system.scm (compile-glib-schemas): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16build-system/gnu: Use invoke instead of system*.•••* guix/build/gnu-build-system.scm (unpack, configure, build, check, install) (strip, compress-documentation): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16gnu-dist: Use invoke instead of system*.•••* guix/build/gnu-dist.scm (autoreconf, build): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-16packages: patch-and-repack: Use invoke instead of system*.•••* guix/packages.scm (patch-and-repack): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-03-15guix system: Add '--skip-checks'.•••Fixes <https://bugs.gnu.org/30760>. Reported by Tomáš Čech <sleep_walker@gnu.org>. * guix/scripts/system.scm (perform-action): Add #:skip-safety-checks? and honor it. (show-help, %options): Add --skip-checks. (process-action): Pass #:skip-safety-checks? to 'perform-action'. * doc/guix.texi (Invoking guix system): Document --skip-checks. Ludovic Courtès
2018-03-15guix: python-build-system: Make bytecode compilation deterministic.•••* guix/build/python-build-system.scm (enable-bytecode-determinism): New procedure. (%standard-phases): Add "enable-bytecode-determinism" phase. Ricardo Wurmus
2018-03-14Merge branch 'master' into core-updatesRicardo Wurmus
2018-03-12build-system: minify: Do not import (ice-9 popen) in the build environment.•••The (ice-9 popen) module should not be added to the imported-modules here, because that depends on the Guile that is used on the host side. * guix/build-system/minify.scm (%minify-build-system-modules): Remove import of (ice-9 popen). Ricardo Wurmus
2018-03-11build-system/gnu: Add 'bootstrap' phase.•••This factorizes what has become a widespread idiom. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): New procedure. (%standard-phases): Add it after 'unpack'. * guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap. * guix/build/asdf-build-system.scm (%standard-phases/source) (%standard-phases): Likewise. * guix/build/cargo-build-system.scm (%standard-phases): Likewise. * guix/build/cmake-build-system.scm (%standard-phases): Likewise. * guix/build/dub-build-system.scm (%standard-phases): Likewise. * guix/build/emacs-build-system.scm (%standard-phases): Likewise. * guix/build/font-build-system.scm (%standard-phases): Likewise. * guix/build/go-build-system.scm (%standard-phases): Likewise. * guix/build/haskell-build-system.scm (%standard-phases): Likewise. * guix/build/minify-build-system.scm (%standard-phases): Likewise. * guix/build/ocaml-build-system.scm (%standard-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/r-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/scons-build-system.scm (%standard-phases): Likewise. * guix/build/texlive-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap. (soundtouch, cuetools, bluez-alsa): Remove 'arguments'. (cava)[arguments]: Replace 'bootstrap. * gnu/packages/backup.scm (rdup): Remove 'bootstrap. * gnu/packages/bioinformatics.scm (seek)[arguments]: Replace 'bootstrap. * gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove 'arguments'. * gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'. * gnu/packages/crypto.scm (libb2): Remove #:phases. * gnu/packages/databases.scm (guile-wiredtiger): Likewise. * gnu/packages/debug.scm (stress-make): Remove 'bootstrap'. * gnu/packages/documentation.scm (asciidoc): Likewise. * gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'. * gnu/packages/ftp.scm (weex): Remove 'arguments'. * gnu/packages/game-development.scm (ois): Remove 'arguments'. * gnu/packages/games.scm (pioneer): Remove 'bootstrap. * gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap. (arc-theme): Remove 'arguments'. (faba-icon-theme): Remove 'bootstrap. (arc-icon-theme): Remove 'arguments'. * gnu/packages/gnunet.scm (guile-gnunet): Likewise. * gnu/packages/gtk.scm (guile-rsvg): Likewise. * gnu/packages/guile.scm (mcron2): Remove 'bootstrap. (guile-bash): Remove #:phases. (guile-git): Remove 'bootstrap. (guile-syntax-highlight): Remove 'arguments'. (guile-sjson): Likewise. * gnu/packages/java.scm (classpath-devel): Remove 'bootstrap. * gnu/packages/kodi.scm (libdvdnav/kodi) (libdvdread/kodi, libdvdcss/kodi): Likewise. * gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'. * gnu/packages/libusb.scm (hidapi): Likewise. * gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to 'patch-stuff'; move it before 'bootstrap', without autoreconf invocation. (eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh' invocation; move it before 'bootstrap. (gpm): Replace 'bootstrap'. (f2fs-tools): Remove 'arguments'. (rng-tools): Remove #:phases. * gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to 'copy-intltool-makefile'; remove "autoreconf" invocation and move before 'bootstrap'. (libmesode): Remove 'arguments'. (libstrophe): Likewise. * gnu/packages/microcom.scm (microcom): Likewise. * gnu/packages/networking.scm (libnet): Remove 'bootstrap. * gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'. * gnu/packages/package-management.scm (guix): Replace 'bootstrap. * gnu/packages/sawfish.scm (librep): Remove 'arguments'. * gnu/packages/version-control.scm (findnewest): Likewise. * gnu/packages/video.scm (liba52, handbrake, motion): Replace 'bootstrap. * gnu/packages/web.scm (fcgiwrap): Remove #:phases. (tidy): Replace 'bootstrap. (gumbo-parser): Remove #:phases. * gnu/packages/wget.scm (wget2): Replace 'bootstrap. * gnu/packages/wm.scm (i3lock-color): Remove #:phases. * gnu/packages/xdisorg.scm (xclip): Likewise. * gnu/packages/xml.scm (libxls): Replace 'bootstrap'. * gnu/packages/xorg.scm (xf86-video-freedreno) (xf86-video-intel): Remove #:phases. * gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap. Ludovic Courtès
2018-03-11utils: Add 'false-if-file-not-found'.•••* guix/build/utils.scm (false-if-file-not-found): New macro. Ludovic Courtès
2018-03-08hash: Add 'sha1'.•••* guix/hash.scm (GCRY_MD_SHA1): New macro. (bytevector-hash): New procedure. (sha256): Express in terms of 'bytevector-hash'. (sha1): New procedure. * tests/hash.scm ("sha1, empty", "sha1, hello"): New tests. Ludovic Courtès
2018-03-07ui: 'display-hint' preserves Texinfo formatting.•••The previous method would mess up with @example formatting, for instance. * guix/ui.scm (display-hint): Parameterize '%text-width' instead of using 'fill-paragraph'. Ludovic Courtès
2018-03-07ui: Display fix hints in the case where we have location info.•••* guix/ui.scm (call-with-error-handling): Display fix-hints in the error + message case. Ludovic Courtès
2018-03-07linux-initrd: Factorize 'check-device-initrd-modules'.•••* gnu/system/mapped-devices.scm (check-device-initrd-modules): Move to... * gnu/system/linux-initrd.scm (check-device-initrd-modules): ... here. New procedure. * po/guix/POTFILES.in: Add it. * guix/scripts/system.scm (check-initrd-modules)[check-device]: Remove. Use 'check-device-initrd-modules' instead. Ludovic Courtès
2018-03-06ui: 'load*' no longer fails on Guile 2.2.3 upon EACCES or similar.•••Previously, if ~/.cache was not write-accessible, 'guix' would exit with code 1 without printing any message. That was because the 'make-stack' call would fail since the exception (a 'system-error) came from 'compile-file', which was called at a point where TAG wasn't installed yet. Secondly, to mimick auto-compilation behavior, we just swallow 'system-error raised by 'compile-file'. Reported by Clément Lassieur. * guix/ui.scm (load*): Move 'compile-file' call in the dynamic extent of TAG. Catch 'system-error around it and ignore it. Ludovic Courtès
2018-03-05ui: Better workaround for lack of '%fresh-auto-compile' on 2.2.3.•••Fixes <https://bugs.gnu.org/29226> for the most part. * guix/ui.scm (load*): Add call to 'compile-file' on 2.2.3. Ludovic Courtès
2018-03-04git-download: Fetch only the required commit, if possible.•••* guix/build/git.scm (git-fetch): Fetch only the required commit, if possible. Danny Milosavljevic
2018-03-03services: messaging: Prosody config supports file-like objects.•••* doc/guix.texi (Messaging Services): Update accordingly. * gnu/services/configuration.scm (serialize-configuration, serialize-maybe-stem, serialize-package): Return strings or string-valued gexps (these procedures were only used for their side-effects). * gnu/services/messaging.scm (serialize-field, serialize-field-list, enclose-quotes, serialize-raw-content, serialize-ssl-configuration, serialize-virtualhost-configuration-list, serialize-int-component-configuration-list, serialize-ext-component-configuration-list, serialize-virtualhost-configuration, serialize-int-component-configuration, serialize-ext-component-configuration, serialize-prosody-configuration): Return strings or string-valued gexps and stop printing. (prosody-activation): Use SERIALIZE-PROSODY-CONFIGURATION's return value with MIXED-TEXT-FILE instead of using its output with PLAIN-FILE. (serialize-non-negative-integer, serialize-non-negative-integer-list): Convert numbers to strings. (file-object?, serialize-file-object, file-object-list?, serialize-file-object-list): New procedures. (ssl-configuration)[capath, cafile], (prosody-configuration)[plugin-paths, groups-file]: Replace FILE-NAME with FILE-OBJECT. * guix/gexp.scm (file-like?): New exported procedure. Clément Lassieur
2018-03-02guix system: Check for the lack of modules in the initrd.•••* guix/scripts/system.scm (check-mapped-devices): Take an OS instead of a list of <mapped-device>. Pass #:needed-for-boot? and #:initrd-modules to CHECK. (check-initrd-modules): New procedure. (perform-action): Move 'check-mapped-devices' call first. Add call to 'check-initrd-modules'. * gnu/system/mapped-devices.scm (check-device-initrd-modules): New procedure. (check-luks-device): Add #:initrd-modules and #:needed-for-boot?. Use them to call 'check-device-initrd-modules'. Ludovic Courtès
2018-03-02Add (guix glob).•••* guix/glob.scm, tests/glob.scm: New files. * Makefile.am (MODULES): Add guix/glob.scm. (SCM_TESTS): Add tests/glob.scm. Ludovic Courtès