summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
* ci: Restrict substitute search to guix jobset.Andrew Whatson2021-12-19
| | | | | | | * guix/ci.scm (latest-builds): Add jobset keyword. (find-latest-commit-with-substitutes): Pass jobset "guix". Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* style: Gracefully handle errors such as EACCES when opening files.Ludovic Courtès2021-12-18
| | | | | * guix/scripts/style.scm (guix-style): Wrap body in 'with-error-handling'.
* style: Refer to source files by absolute file names.Ludovic Courtès2021-12-18
| | | | | | | | | Previously, "guix style PACKAGE" would end up modifying a file looked up under the current directory since the location associated with PACKAGE is usually a relative file name. * guix/scripts/style.scm (absolute-location): New procedure. (simplify-package-inputs): Use it.
* import: elpa: Support ‘upstream-name’ property.Xinglu Chen2021-12-18
| | | | | | | | | * guix/import/elpa.scm: (guix-package->elpa-name): New procedure. (latest-release): Use it. * tests/elpa.scm ("guix-package->elpa-name: without 'upstream-name' property") ("guix-package->elpa-name: with 'upstream-name' property"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* lint: Adjust patch file length check.Vagrant Cascadian2021-12-17
| | | | | | | | | | | With the switch to "ustar" format in commit bdf5c16ac052af2ca9d5c3acc4acbc08fd9fdbea, the maximum file length has increased. * guix/lint.scm (check-patch-file-names): Adjust margin used to check for patch file lengths. Increase allowable patch file length appropriate to new tar format. Extend warning to explain that long files may break 'make dist'. * tests/lint.scm: Update tests accordingly.
* guix hash: Add git serializer.zimoun2021-12-17
| | | | | | | | | * guix/scripts/hash.scm (git-hash): New procedure. (%options): Use it. * tests/guix-hash.sh: Test it. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix hash: Add 'serializer' option.zimoun2021-12-17
| | | | | | | | | | | | | * guix/scripts/hash.scm (%options): Deprecate 'recursive', add 'serializer'. (%default-options): Add 'serializer'. (nar-hash): New procedure. (default-hash): New procedure. (guix-hash)[file-hash]: Use them. (show-help): Adjust. * tests/guix-hash.scm: Adjust. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix hash: Support several files.zimoun2021-12-17
| | | | | | | | | | * guix/scripts/hash.scm (guix-hash): Allow several files. [file-hash]: Catch system-error. [formatted-hash]: New procedure. * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Mention "one or more files". Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* import: Beautify descriptions when appropriate.Xinglu Chen2021-12-17
| | | | | | | | | | | * guix/import/elpa.scm (elpa-package->sexp) * guix/import/gnu.scm (gnu-package->sexp) * guix/import/hackage.scm (hackage-module->sexp) * guix/import/minetest.scm (make-minetest-sexp) * guix/import/opam.scm (opam->guix-package) * guix/import/pypi.scm (make-pypi-sexp): Beautify descriptions. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: utils: Wrap lines in description.Xinglu Chen2021-12-17
| | | | | | | * guix/import/utils.scm (beautify-description): Use ‘fill-paragraph’; add optional ‘length’ argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* lint: 'kdoctools' is typically used only while building.Leo Famulari2021-12-16
| | | | * guix/lint.scm (check-inputs-should-be-native): Add kdoctools.
* offload: Autoload Guile-SSH.Ludovic Courtès2021-12-15
| | | | | | | | | | | | | This halves the number of syscalls made by "guix offload" during startup and delays loading of Guile-SSH until there are actually machines to offload to. * guix/scripts/offload.scm: Remove unused module imports. Autoload many modules. (check-ssh-zlib-support): New procedure. (process-request): Call it when accepting. (guix-offload): Remove 'zlib-support?' check, now moved to 'check-ssh-zlib-support'.
* offload: Delay call to 'read-derivation-from-file'.Ludovic Courtès2021-12-15
| | | | | | | | | This significantly reduces the amount of work done by "guix offload" when there's no machine to offload to. * guix/scripts/offload.scm (process-request): Add call to 'read-derivation-from-file', moved from... (guix-offload): ... here.
* build-system/linux-module: Wrap with build variables.Tobias Geerinckx-Rice2021-12-15
| | | | | | | | * guix/build-system/linux-module.scm (linux-module-build): Wrap the builder gexp WITH-BUILD-VARIABLES to restore %build-inputs after commit 7d873f194ca69d6096d28d7a224ab78e83e34fe1 removed all old certainties. Reported by lfam in #guix.
* build-system: emacs: Do not rely on input labels in the 'build' phase.Maxim Cournoyer2021-12-14
| | | | | | | | This commit repairs the Emacs build system for packages using the new label-less "guix style". Tested with emacs-libgit. * guix/build/emacs-build-system.scm (build): Use search-input-file to locate emacs.
* guix: Fix typo in last commit.Nicolas Goaziou2021-12-14
| | | | * guix/build/emacs-build-system.scm (make-autoloads): Fix typo.
* guix: Do not assume "emacs" label in make-autoloads.Nicolas Goaziou2021-12-14
| | | | | * guix/build/emacs-build-system.scm (make-autoloads): Look for "emacs" executable independently on the label.
* packages: 'modify-inputs' preserves and introduces input labels if needed.Ludovic Courtès2021-12-13
| | | | | | | | | | | | | | | Fixes a bug whereby, in an expression like this: (modify-inputs lst (delete ...) (prepend ...)) the 'delete' clause would have no effect because 'prepend' would pass it a label-less input list. * guix/packages.scm (inputs-sans-labels): Remove. (modify-inputs): In the 'prepend' and 'append' cases, preserve/add input labels instead of removing them.
* Merge branch 'master' into core-updates-frozenLudovic Courtès2021-12-13
|\
| * progress: Rate limit drawing in the progress-reporter/bar.Christopher Baines2021-12-12
| | | | | | | | | | | | | | | | This helps smooth the output in cases where the bar is updated very quickly, for example in guix weather where it's computing derivations. * guix/progress.scm (progress-reporter/bar): Wrap the drawing code with the rate-limited procedure.
| * narinfo: Do not repeat slash when building nar URLs.Ludovic Courtès2021-12-12
| | | | | | | | | | * guix/narinfo.scm (narinfo-maker): When one of URLS is relative, do not repeat trailing slash if it's already present in CACHE-URL.
| * substitutes: Build correct narinfo URLs for cache URLs without trailing slash.Ludovic Courtès2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/51441>. Reported by Z572 <873216071@qq.com> and Peng Mei Yu <pengmeiyu@riseup.net>. Previously, passing '--substitute-urls=https://mirror.sjtu.edu.cn/guix', without a trailing slash, would fail due to incorrectly constructed narinfo URLs. Users would have to explicitly add a trailing slash. * guix/substitutes.scm (narinfo-request): Ensure BASE has a trailing slash.
| * challenge: Store item contents are returned in canonical order.Ludovic Courtès2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the 'delete-duplicates' call in 'differing-files' to have the intended effect. Before that, a "guix challenge" invocation with three builds of a store item, two of which are identical, would lead 'differing-files' to not print anything, as in this example: $ ./pre-inst-env guix challenge python-numpy /gnu/store/…-python-numpy-1.17.3 contents differ: local hash: 07var0wn8fywxchldz5pjqpnlavrlbc8s81aqwsqyi0i7qlh6ka7 https://ci.guix.gnu.org/nar/lzip/…-python-numpy-1.17.3: 07var0wn8fywxchldz5pjqpnlavrlbc8s81aqwsqyi0i7qlh6ka7 https://bordeaux.guix.gnu.org/nar/lzip/…-python-numpy-1.17.3: 0cbl3q19bshb6ddz8xkcrjzkcmillsqii4z852ybzixyp7rg40qa 1 store items were analyzed: - 0 (0.0%) were identical - 1 (100.0%) differed - 0 (0.0%) were inconclusive With this change, 'differing-files' prints additional info as intended: differing file: /lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc * guix/scripts/challenge.scm (archive-contents): Add tail call to 'reverse'. (store-item-contents): Rewrite to use 'scandir' and recursive calls instead of 'file-system-fold'.
| * challenge: Use SRFI-71 instead of SRFI-11.Ludovic Courtès2021-12-12
| | | | | | | | * guix/scripts/challenge.scm (port-sha256*, call-with-nar): Use SRFI-71.
* | Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe2021-12-10
|\|
| * environment: Suggestion code gracefully handles empty "/bin" directories.Ludovic Courtès2021-12-10
| | | | | | | | | | * guix/scripts/environment.scm (suggest-command-name): Handle the case where 'scandir' returns #f.
| * shell: When using '-D -f', '-D' has no effect on remaining packages.Ludovic Courtès2021-12-10
| | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/52093>. Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>. * guix/scripts/shell.scm (%options): In "--file" handler, add call to 'ensure-ad-hoc'. * tests/guix-shell.sh: Add test.
| * shell: Fix '--file' description in '--help' output.Ludovic Courtès2021-12-10
| | | | | | | | | | | | Reported by pinoaffe on #guix. * guix/scripts/shell.scm (show-help): Fix '--file' description.
* | Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus2021-12-05
|\|
| * import: PyPI: Validate GPG signatures when applicable.Marius Bakke2021-12-05
| | | | | | | | | | | | * guix/import/pypi.scm (<distribution>): Fix funny typo. (latest-release): When the distribution has a cryptographic signature, pass it along to UPSTREAM-SOURCE.
| * build-system: emacs: Keep -pkg.el files.Liliana Marie Prikler2021-12-03
| | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/48331> -- package descriptions can now be found in the install directory. * guix/build/emacs-build-system.scm (%default-exclude): Remove "-pkg\\.el$".
| * guix system vm: Add --no-graphic CLI argument.Attila Lendvai2021-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It configures QEMU to use the tty it was started in for IO (as opposed to opening a separate graphical window). This enables copy-pasting and scrollback. Exit QEMU with C-a x. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Also add the '-nographic' QEMU argument when called with #:graphic? #false. * guix/scripts/system.scm (system-derivation-for-action): Propagate the #:graphic? keyword arg. (perform-action): Add and propagate the #:graphic? keyword arg. (show-help): Add --no-graphic CLI arg. (%options): Process the new --no-graphic CLI arg. (process-action): Feed in the CLI arg through the #:graphic? keyword arg. * doc/guix.texi (Invoking guix system): Add example to combine guix system and invoking the vm start script into one command. Split the description of the various options into separate paragraphs. Add a paragraph to describe --no-graphic. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * build-system: haskell: Add ‘hackage-uri’ procedure.Xinglu Chen2021-12-01
| | | | | | | | | | | | | | | | | | * guix/build-system/haskell (hackage-uri): New procedure. * guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it. * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision, match-ghc-foo-import): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * inferior: 'cached-channel-instance' does not cache unauthenticated instances.Ludovic Courtès2021-12-01
| | | | | | | | | | | | | | | | | | | | The comment saying that caching is fine even when AUTHENTICATE? is false was true in commit 838ac881ec98cb71d4a4e4b20773573f99ecbf25, but it became incorrect in 7cfd789150f448cf5256b88915bae4163cc9db03, which no longer calls 'latest-channel-instances' on cache hits. * guix/inferior.scm (cached-channel-instance): Do not create CACHED when AUTHENTICATE? is false.
* | gexp: 'file-append' correctly handles bases without an expander.Ludovic Courtès2021-11-27
| | | | | | | | | | | | | | | | | | | | This fixes this use case: (file-append (let-system ...) ...) * guix/gexp.scm (file-append-compiler): When BASE lacks an expander, delegate to LOWERED. * tests/gexp.scm ("let-system in file-append"): New test.
* | build: julia-build-system: Correctly disable parallel tests.zimoun2021-11-27
| | | | | | | | | | | | | | | | | | * guix/build/julia-build-system.scm: Remove phases trailing #t. [phases]{check}: Omit the --procs argument when parallel tests are to be disabled. Substract 1 from the number of parallel jobs otherwise. Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* | profiles: Also handle package objects in GDK-PIXBUF-LOADERS-CACHE-FILE.Maxim Cournoyer2021-11-25
| | | | | | | | | | | | | | | | * guix/profiles.scm (gdk-pixbuf-loaders-cache-file): Handle both a string or a package object for GDK-PIXBUF, as these are the two types that can be returned by MANIFEST-LOOKUP-PACKAGE. Suggested-by: Ludovic Courtès <ludo@gnu.org>
* | profiles: Fix the gdk-pixbuf-loaders-cache-file hook.Maxim Cournoyer2021-11-25
| | | | | | | | | | | | | | | | | | | | 'guix install' would otherwise fail with a wrong type argument whet attempting to call the hook. * guix/profiles.scm (gdk-pixbuf-loaders-cache-file) <file-append>: Replace with... <string-append>: ... this, as gdk-pixbuf has already been expanded to a string at this point.
* | build: julia-build-system: Add support for parallel tests.zimoun2021-11-25
| | | | | | | | | | | | | | | | | | | | | | | | The tests are defined by the script 'test/runtests.jl' from packages and the parallelism depends on the implementation of this script. Therefore, 'julia' is launched using local worker processes accordingly with 'parallel?'. * guix/build/julia-build-system.scm (check): Set the JULIA_CPU_THREADS environment variable and invoke julia with the '--procs' option. * guix/build-system/julia.scm (julia-build)[parallel-tests?]: New argument. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* | style: Add '--dry-run'.Ludovic Courtès2021-11-23
| | | | | | | | | | | | | | * guix/scripts/style.scm (edit-expression/dry-run): New procedure. (simplify-package-inputs): Add #:edit-expression parameter. (%options, show-help): Add '--dry-run'. (guix-style): Honor '--dry-run'.
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-11-23
|\|
| * guix graph: Show '-M' in '--help' output.Ludovic Courtès2021-11-23
| | | | | | | | * guix/scripts/graph.scm (show-help): Add -M shorthand.
| * system: Add swap flags.Josselin Poiret2021-11-23
| | | | | | | | | | | | | | | | | | | | | | * gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add them. * guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK, SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them. * gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it. * gnu/services/base.scm (swap-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * docker: Enable arm64 docker image building for 'guix pack'.Collin J. Doering2021-11-23
| | | | | | | | | | | | * guix/docker.scm (build-docker-image): Recognize "aarch64". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * import: opam: Fix error on unknown field value.Julien Lepiller2021-11-22
| | | | | | | | | | * guix/import/opam.scm (metadata-ref): Return #f if field is present, but its content is of unknown form.
| * import: opam: Warn instead of leave when fetching fails.zimoun2021-11-19
| | | | | | | | | | | | | | * guix/import/opam.scm (opam-featch): Warn instead of leave when fetching fails. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * build-system/asdf: Don't fail in sbcl-package->cl-source-package on ↵Pierre Neidhardt2021-11-19
| | | | | | | | | | | | | | | | | | | | | | non-package inputs. Inputs can be non-packages, for instance (origin ...). sbcl-package->cl-source-package used to fail if such inputs were present in the parent sbcl-* package. * guix/build-system/asdf.scm (package-with-build-system): Fix 'has-from-build-system?' function.
| * gnupg: Honor GnuPG's configuration for the key server.Maxim Cournoyer2021-11-18
| | | | | | | | | | | | | | | | | | | | The previous default "pool.sks-keyservers.net" doesn't seem to work anymore; besides, users know best. * guix/gnupg.scm (%openpgp-key-server): Default to #f, meaning not provided. (gnupg-receive-keys): Make SERVER and KEYRING keyword arguments. Adjust doc. Provide the '--keyserver' argument only when %openpgp-key-server is not #f. (gnupg-verify*): Do not set a default value for SERVER. Adjust accordingly.
| * import: texlive: Take different package database as optional argument.Ricardo Wurmus2021-11-18
| | | | | | | | | | | | * guix/import/texlive.scm (tlpdb->package): Expect PACKAGE-DATABASE as argument. (texlive->guix-package): Accept PACKAGE-DATABASE keyword.
| * import: texlive: Print inputs with labels and guixified names.Ricardo Wurmus2021-11-18
| | | | | | | | * guix/import/texlive.scm (tlpdb->package): Improve handling of propagated-inputs.