summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* 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.
* | | | | | | | | | | | | lint: archival: Gracefully handle network failures.Ludovic Courtès2019-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/lint.scm (check-archival): Wrap re-throw in 'with-networking-fail-safe'.
* | | | | | | | | | | | | guix: Add the 'qt' build system.Hartmut Goebel2019-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/qt.scm, guix/build/qt-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Buiild systems): Add the new build system.
* | | | | | | | | | | | | scripts: system: Add --target option.Mathieu Othacehe2019-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (%options): Add target option, (%default-options): ditto, (process-action): Rename existing target variable to target-file and pass new target variable to run-with-store procedure.
* | | | | | | | | | | | | gexp: 'local-file' properly resolves non-literal relative file names.Ludovic Courtès2019-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (local-file): Distinguish the case where FILE is a literal string and when it's not. Add a clause for when FILE is not a literal string. * tests/gexp.scm ("local-file, non-literal relative file name"): New test. * doc/guix.texi (G-Expressions): Update accordingly.
* | | | | | | | | | | | | guix: import: Fix importing dune project.Julien Lepiller2019-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/opam.scm: Detect dune projects from dependencies, then filter dune from dependencies.
* | | | | | | | | | | | | guix: import: Fix opam importer.Julien Lepiller2019-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/opam.scm: Allow line breaks in strings.
* | | | | | | | | | | | | ui: 'with-profile-lock' keeps going upon ENOLCK.Ludovic Courtès2019-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (call-with-file-lock/no-wait): Really pass ARGS to HANDLER. Return #f when HANDLER is called. * guix/ui.scm (profile-lock-handler): Emit a mere warning upon ENOLCK.
* | | | | | | | | | | | | ui: Factorize 'with-profile-lock'.Ludovic Courtès2019-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm (profile-lock-handler, profile-lock-file): New procedures. (with-profile-lock): New macro. * guix/scripts/package.scm (process-actions): Use 'with-profile-lock' instead of 'with-file-lock/no-wait'. * guix/scripts/pull.scm (guix-pull): Likewise.
* | | | | | | | | | | | | pull, describe: Emit hyperlinks for commit identifiers.Ludovic Courtès2019-11-28
| |_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (%vcs-web-views): New variable. (channel-commit-hyperlink): New procedure. (display-news-entry): Add 'channel' parameter. When 'supports-hyperlinks?' returns true, call 'channel-commit-hyperlink'. (display-profile-content): Likewise, and define CHANNEL. (display-channel-specific-news): Pass CHANNEL to 'display-news-entry'. * guix/ui.scm (hyperlink): Make public.
* | | | | | | | | | | | ui: 'display-generation' emits a hyperlink for the generation.Ludovic Courtès2019-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm (supports-hyperlinks?): Make 'port' optional. (display-generation): Use 'file-hyperlink' for the heading when 'supports-hyperlinks?' returns true.
* | | | | | | | | | | | ui: Add 'file-hyperlink'.Ludovic Courtès2019-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm (file-hyperlink): New procedure. (location->hyperlink): Use it.
* | | | | | | | | | | | substitute: 'http-multiple-get' no longer drops requests above 1,000.Ludovic Courtès2019-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, in the unlikely case 'http-multiple-get' was passed more than 1,000 requests, it could have dropped all those above 1,000. * guix/scripts/substitute.scm (http-multiple-get): Define 'batch'. Use that for the 'write-request' loop. Add 'processed' parameter to 'loop' and use that to compute the remaining requests and call 'connect' in the recursion base case.