summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* base64: Do not use (rnrs).Ludovic Courtès2019-12-15
| | | | | | | | * guix/base64.scm: Remove #:use-module clauses for (rnrs) and (srfi srfi-13). Add other #:use-module clauses. (fxbit-field): Define as an alias for 'bit-field. (fx=?, fx+, mod): New aliases. (assert): New macro.
* challenge: Fix type mismatch when comparing to a local hash.Ludovic Courtès2019-12-15
| | | | | | * guix/scripts/challenge.scm (call-with-mismatches)[narinfo1]: When LOCAL-HASH is true, call 'narinfo-hash->sha256' and use 'bytevector=?' instead of 'string=?'.
* import: cran: Recognize LGPL 2.1+.Ricardo Wurmus2019-12-14
| | | | * guix/import/cran.scm (string->license): Add case for lgpl2.1+.
* import: utils: Update docstring of 'recursive-import'.Ludovic Courtès2019-12-13
| | | | | | This is a followup to 70a8e13277d4a44b89dd9ee2290b98105f0235f1. * guix/import/utils.scm (recursive-import): Update docstring.
* emacs-build-system: Ensure the core libraries appear last in the load path.Maxim Cournoyer2019-12-13
| | | | | | | | | Fixes bug #38568 (see: https://bugs.gnu.org/38568). * guix/build/emacs-build-system.scm (add-source-to-load-path): Ensure the core libraries appear last in the load path. Reported-by: Jelle Licht <jlicht@fsfe.org>
* challenge: Support "--diff=diffoscope".Ludovic Courtès2019-12-12
| | | | | | | | | | | | | * guix/scripts/challenge.scm (call-with-nar): New procedure. (narinfo-contents): Express in terms of 'call-with-nar'. (call-with-mismatches, report-differing-files/external): New procedures. (%diffoscope-command): New variable. (%options): Support "diffoscope" and a string starting with "/". * tests/challenge.scm (call-mismatch-test): New procedure. ("differing-files"): Rewrite in terms of 'call-mismatch-test'. ("call-with-mismatches"): New test. * doc/guix.texi (Invoking guix challenge): Document it.
* challenge: Add "--diff".Ludovic Courtès2019-12-12
| | | | | | | | | | | | | | | | * guix/scripts/challenge.scm (dump-port*): New variable. (archive-contents, store-item-contents, narinfo-contents) (differing-files, report-differing-files): New procedures. (summarize-report): Add #:report-differences and call it. (show-help, %options): Add "--diff". (%default-options): Add 'difference-report' key. (report-differing-files): Parameterize CURRENT-TERMINAL-COLUMNS and pass #:report-differences to 'summarize-report'. * guix/tests/http.scm (%local-url): Add optional argument. (call-with-http-server): Fix docstring typo. * tests/challenge.scm (query-path-size, make-narinfo): New procedures. ("differing-files"): New test. * doc/guix.texi (Invoking guix challenge): Document "--diff".
* progress: Add 'progress-report-port'.Ludovic Courtès2019-12-12
| | | | | * guix/scripts/substitute.scm (progress-report-port): Move to... * guix/progress.scm (progress-report-port): ... here. New procedure.
* serialization: Remove unused procedure.Ludovic Courtès2019-12-12
| | | | * guix/serialization.scm (write-contents): Remove.
* challenge: Report the best narinfo URI.Ludovic Courtès2019-12-12
| | | | | | | * guix/scripts/substitute.scm (select-uri): Rename to... (narinfo-best-uri): ... this, and make public. Update callers. * guix/scripts/challenge.scm (summarize-report): Use 'narinfo-best-uri' instead of (first (narinfo-uris ...)).
* guix archive: Add '--list'.Ludovic Courtès2019-12-12
| | | | | | | | * guix/scripts/archive.scm (show-help, %options): Add '--list'. (list-contents): New procedure. (guix-archive): Honor the '--list' option. * tests/guix-archive.sh: Test it. * doc/guix.texi (Invoking guix archive): Document it.
* serialization: Add 'fold-archive'.Ludovic Courtès2019-12-12
| | | | | | | | * guix/serialization.scm (read-contents): Remove. (read-file-type, fold-archive): New procedures. (restore-file): Rewrite in terms of 'fold-archive'. * tests/nar.scm ("write-file-tree + fold-archive") ("write-file-tree + fold-archive, flat file"): New tests.
* import: crate: Better handle license expressions.Brice Waegeneire2019-12-11
| | | | | | | | * guix/import/crate.scm (%dual-license-rx): Removed function. (crate->guix-package): Handle most of the multi-licensing cases. * tests/crate.scm (licenses): Add tests for some licenses. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* import: utils: 'recursive-import' returns a list rather than a stream.Ludovic Courtès2019-12-11
| | | | | | | | | | | | | | | | | * guix/import/utils.scm (recursive-import): Remove 'list->stream' call. * guix/scripts/import/cran.scm (guix-import-cran): Remove 'stream->list' call. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * guix/scripts/import/gem.scm (guix-import-gem): Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage): Likewise. * guix/scripts/import/opam.scm (guix-import-opam): Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi): Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage): Likewise. * tests/gem.scm ("gem-recursive-import"): Likewise. * tests/import-utils.scm ("recursive-import"): Likewise. Co-authored-by: Brian Leung <bkleung89@gmail.com>
* import: utils: 'recursive-import' returns packages in topological order.Ludovic Courtès2019-12-11
| | | | | | | | | | | | | | | | | | * guix/import/utils.scm (topological-sort): New procedure. (recursive-import): Rewrite to use it. * tests/import-utils.scm ("recursive-import"): New test. * guix/import/cran.scm (cran->guix-package): Always return two values. * guix/scripts/import/cran.scm (guix-import-cran): Remove 'reverse' call on 'cran-recursive-import' result. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * guix/scripts/import/gem.scm (guix-import-gem): Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage): Likewise. * guix/scripts/import/opam.scm (guix-import-opam): Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi): Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage): Likewise. * tests/gem.scm ("gem-recursive-import"): Change the order of package expressions accordingly.
* profiles: Use 'getpwuid' when $USER and $LOGNAME are undefined.Ludovic Courtès2019-12-10
| | | | | | | Reported by YOANN P <yoann_mac_donald@hotmail.com>. * guix/profiles.scm (%profile-directory): Fall back to 'getpwuid' when "USER" and "LOGNAME" are undefined.
* pack: Clarify the /bin/sh requirement for Singularity.Ludovic Courtès2019-12-10
| | | | | | | | | * guix/scripts/pack.scm (squashfs-image)[symlinks*]: New variable. [build]: Use it instead of SYMLINKS. (guix-pack): Emit a warning and a hint when "bash" and "bash-minimal" are missing and PACK-FORMAT is 'squashfs. * doc/guix.texi (Invoking guix pack): Document the /bin/sh requirement for Singularity.
* lint: Add '--load-path' option.zimoun2019-12-08
| | | | | | | | * guix/scripts/lint.scm (%options): Add '--load-path' option. * doc/guix.texi: Document it. * tests/guix-lint.sh: Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* emacs-build-system: Move the source directory to the start of EMACSLOADPATH.Maxim Cournoyer2019-12-08
| | | | | | | | | Fixes issue #38479 (see: https://bugs.gnu.org/38479). * guix/build/emacs-build-system.scm (add-source-to-load-path): Move the source directory to the start of the EMACSLOADPATH environment variable. Reported-by: Diego Nicola Barbato <dnbarbato@posteo.de>
* emacs-build-system: Make the order of the phases more clear.Maxim Cournoyer2019-12-08
| | | | | * guix/build/emacs-build-system.scm (%standard-phases): Re-arrange to explicit the ordering of phases.
* build-system: qt: Fix output missing in wrapped variables.Hartmut Goebel2019-12-07
| | | | | * guix/build/qt-build-system .scm (handle-output): Use directory of output, not its name.
* file-systems: Add support for 'strict-atime' and 'lazy-time' flags.Guillaume Le Vaillant2019-12-07
| | | | | | | | | | * guix/build/syscalls.scm (MS_LAZYTIME): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Add match rules for 'strict-atime' and 'lazy-time'. * doc/guix.texi (File Systems): Add 'strict-atime' and 'lazy-time' to the list of supported flags. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix system: Add "describe" action.Ludovic Courtès2019-12-07
| | | | | | | * guix/scripts/system.scm (show-help): Add "describe". (process-command): Handle it. (guix-system): Likewise. * doc/guix.texi (Invoking guix system): Document it.
* guix system: "list-generations" displays provenance info.Ludovic Courtès2019-12-07
| | | | | | | | * guix/scripts/pull.scm (channel-commit-hyperlink): Export. * guix/scripts/system.scm (display-system-generation) [display-channel]: New procedure. Read the "provenance" file of GENERATION and display channel info and the configuration file name when available.
* guix system: Use 'provenance-service-type', add "--save-provenance".Ludovic Courtès2019-12-07
| | | | | | | | | * guix/scripts/system.scm (show-help, %options): Add "--save-provenance". (process-action): Define 'save-provenance?' and 'transform'; call 'transform' on the OS. * doc/guix.texi (Invoking guix system): Document it under 'reconfigure'. (Service Reference): Mention that 'provenance-service-type' is automatically added by 'reconfigure' & 'init'.
* derivations: Add 'derivation-input-fold'.Ludovic Courtès2019-12-07
| | | | | | | * guix/derivations.scm (derivation-input-fold): New procedure. (substitution-oracle)[closure]: Rewrite in terms of 'derivation-input-fold'. * tests/derivations.scm ("derivation-input-fold"): New test.
* gnu: Really move lisp libraries to lisp-xyz, uglify-js to javascript and ↵Pierre Neidhardt2019-12-05
| | | | | | | | | | | | | | | | | stumpwm to wm. * gnu/local.mk: Include lisp-xyz.scm. * gnu/packages/lisp-xyz.scm: New file. * gnu/packages/lisp.scm: Move all lisp libraries to lisp-xyz.scm, uglify-js to javascript.scm and stumpwm to wm.scm. * gnu/packages/javascript.scm: Add uglify-js. * gnu/packages/wm.scm: Add stumpwm. * gnu/packages/bioinformatics.scm: Find uglify-js in javascript.scm. * gnu/packages/machine-learning.scm: Depend on lisp-xyz.scm instead of lisp.scm. * gnu/packages/web.scm: Find uglify-js in javascript.scm. * gnu/packages/web-browsers.scm: Depend on lisp-xyz.scm instead of lisp.scm. * guix/build-system/minify.scm (default-uglify-js): Find uglify-js in javascript module instead of lisp.
* Revert "gnu: Properly move lisp libraries to lisp-xyz, uglify-js to ↵Tobias Geerinckx-Rice2019-12-05
| | | | | | | javascript and stumpwm to wm." This reverts commit ac1ee30f4f7f9d0ae2a655676b0e8b9eb90a35dd, which still breaks ‘guix pull’.
* Revert "build-system/linux-module: Accept a #:make-flags keyword."Efraim Flashner2019-12-05
| | | | | | I should've tested this better before pushing the commit. This reverts commit fabd4900d8fb739a55e2dff76dee3a29b2a90bb1.
* gnu: Properly move lisp libraries to lisp-xyz, uglify-js to javascript and ↵Pierre Neidhardt2019-12-05
| | | | | | | | | | | | | | | | | stumpwm to wm. * gnu/local.mk: Include lisp-xyz.scm. * gnu/packages/lisp-xyz.scm: New file. * gnu/packages/lisp.scm: Move all lisp libraries to lisp-xyz.scm, uglify-js to javascript.scm and stumpwm to wm.scm. * gnu/packages/javascript.scm: Add uglify-js. * gnu/packages/wm.scm: Add stumpwm. * gnu/packages/bioinformatics.scm: Find uglify-js in javascript.scm. * gnu/packages/machine-learning.scm: Depend on lisp-xyz.scm instead of lisp.scm. * gnu/packages/web.scm: Find uglify-js in javascript.scm. * gnu/packages/web-browsers.scm: Depend on lisp-xyz.scm instead of lisp.scm. * guix/build-system/minify.scm (default-uglify-js): Find uglify-js in javascript module instead of lisp.
* Merge branch 'staging'Marius Bakke2019-12-04
|\
| * Merge branch 'master' into stagingMarius Bakke2019-11-28
| |\
| * \ Merge branch 'master' into stagingMarius Bakke2019-11-28
| |\ \
| * \ \ Merge branch 'master' into stagingMarius Bakke2019-11-21
| |\ \ \
| * \ \ \ Merge branch 'master' into stagingMarius Bakke2019-11-15
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-30
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-27
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-23
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-21
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-18
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2019-10-13
| |\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | gnu: ant-build-system: Don't override symlinks.Björn Höfling2019-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When repacking jar-files, don't work on symlinks: Otherwise, they would be overridden with the repacked jar-file. * guix/build/ant-build-system.scm (regular-jar-file-predicate): New procedure. (generate-jar-indices, strip-jar-timestamps): Use it.
| * | | | | | | | | | | Merge branch 'master' into stagingMarius Bakke2019-10-08
| |\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | build/cargo-build-system: Move generate-all-checksums to cargo-utils.Efraim Flashner2019-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (generate-all-checksums): Move procedure ... * guix/build/cargo-utils.scm: ... to here.
* | | | | | | | | | | | | ssh: 'open-ssh-session' can be passed the expected host key.Ludovic Courtès2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ssh.scm (open-ssh-session): Add #:host-key parameter. Pass #:knownhosts to 'make-session'. When HOST-KEY is true, call 'authenticate-server*' instead of 'authenticate-server'.
* | | | | | | | | | | | | ssh: Always authenticate the server [security fix].Ludovic Courtès2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, users of 'open-ssh-session', including "guix deploy" and "GUIX_DAEMON_SOCKET=ssh://…" (but not "guix offload"), would not authenticate the SSH server they're talking to. * guix/ssh.scm (open-ssh-session): Call 'authenticate-server'.
* | | | | | | | | | | | | ssh: Add 'authenticate-server*' and use it for offloading.Ludovic Courtès2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (host-key->type+key): Remove. (open-ssh-session): Replace server authentication code with a call to 'authenticate-server*'. * guix/ssh.scm (host-key->type+key, authenticate-server*): New procedures.
* | | | | | | | | | | | | substitute: Remove unused procedure.Ludovic Courtès2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This became unused with commit a9468b422b6df2349a3f4d1451c9302c3d77011b. * guix/scripts/substitute.scm (assert-valid-signature): Remove.
* | | | | | | | | | | | | build: emacs-build-system: Unify the installation directory.Maxim Cournoyer2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change aims to reduce the length of the EMACSLOADPATH environment variable, which was found to cause issues such as <https://bugs.gnu.org/38309>. It should also enable discovery of newly installed packages without refreshing the session's EMACSLOADPATH of the user profile (e.g., when launching Emacs from the desktop manager application launcher), as discussed in <https://bugs.gnu.org/38309>. * guix/build/emacs-build-system.scm (%legacy-install-suffix): Rename to... (%install-dir): ...this. (%install-suffix): Remove variable. (build): Adjust installation target directory. (patch-el-files): Likewise. (install): Likewise. (move-doc): Likewise. (make-autoloads): Likewise. Signed-off-by: Clément Lassieur <clement@lassieur.org>
* | | | | | | | | | | | | build-system/linux-module: Accept a #:make-flags keyword.Tobias Geerinckx-Rice2019-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug#37882. * guix/build-system/linux-module.scm (linux-module-build): Accept a MAKE-FLAGS argument. <builder>: Pass it on.