summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* pack: Factorize base tar options.Maxim Cournoyer2021-06-29
| | | | | | | | * guix/docker.scm (%tar-determinism-options): Move to a new module and rename to `tar-base-options'. Adjust references accordingly. * guix/build/pack.scm: New file. * Makefile.am (MODULES): Register it. * guix/scripts/pack.scm (self-contained-tarball/builder): Use it.
* pack: Extract builder code from self-contained-tarball.Maxim Cournoyer2021-06-29
| | | | | | | | | This is made to allow reusing it for the debian-archive pack format, added in a subsequent commit. * guix/scripts/pack.scm (self-contained-tarball/builder): New procedure, containing the build code extracted from self-contained-tarball. (self-contained-tarball): Use the above procedure.
* weather: Handle zero requested store items gracefully.Maxime Devos2021-06-29
| | | | | | | | | | | | | | This can happen if the weather information of a package is requested for an unsupported system. For example, try "guix weather icecat --system=aarch64-linux". * guix/scripts/weather.scm (report-server-coverage): Do not divide by zero when zero store items are requested from a server. Fixes: <https://issues.guix.gnu.org/49263> Reported-By: Jack Hill <jackhill@jackhill.us> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* Revert "guix build: Autoload (gnu packages)."Ludovic Courtès2021-06-29
| | | | | | This reverts commit fd62b4cf88578ebd8f42ccda94831a254425a329, which would lead 'GUIX_PACKAGE_PATH' to be ignored for instance when using 'guix build -f file.scm', as shown by 'tests/guix-build.sh'.
* guix build: Autoload (gnu packages).Ludovic Courtès2021-06-29
| | | | * guix/scripts/build.scm: Autoload (gnu packages).
* pull: Use SRFI-71 instead of SRFI-11.Ludovic Courtès2021-06-29
| | | | * guix/scripts/pull.scm (display-new/upgraded-packages): Use SRFI-71 'let'.
* pull: Autoload (gnu ...) modules.Ludovic Courtès2021-06-29
| | | | | | This reduces startup time for 'guix pull --help' and similar. * guix/scripts/pull.scm: Autoload (gnu ...) modules.
* ui: Have 'guix help' stat less.Ludovic Courtès2021-06-29
| | | | | | | | | | | | | | This reduces the number of syscalls for: env -i $(type -P strace) -c $(type -P guix) help from 4.3K to 2.2K, thereby reducing startup time. Reported by Julien Lepiller. * guix/ui.scm (run-guix-command): Move %FILE-PORT-NAME-CANONICALIZATION to... (run-guix): ... here.
* guix: Delete duplicates from emacs-load-path.Leo Prikler2021-06-28
| | | | | | | | | | | It has been reported in IRC, that directories may show up multiple times in subdirs.el, probably a result of propagation. This can for instance be seen by ‘guix environment --ad-hoc emacs emacs-guix’, which will generate multiple references to dash. With this patch only one reference per package is generated. * guix/profiles.scm (emacs-subdirs): wrap subdirs added to ‘normal-top-level-add-to-load-path’ in ‘delete-duplictes’.
* import: go: Fix match-error in 'go-package-description'Sarah Morgensen via Guix-patches via2021-06-28
| | | | | | | * guix/import/go.scm (go-package-description): Make sure description* is always a list, so the result is properly matched. Signed-off-by: Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
* download: 'tls-wrap' retries handshake upon non-fatal errors.Ludovic Courtès2021-06-25
| | | | | | | | Fixes <https://bugs.gnu.org/49223>. Reported by Domagoj Stolfa <ds815@gmx.com>. * guix/build/download.scm (tls-wrap): Retry up to 5 times when 'handshake' throws a non-fatal error.
* guix substitute: Adjust comment about GnuTLS bug.Ludovic Courtès2021-06-25
| | | | | * guix/scripts/substitute.scm (call-with-cached-connection): Adjust comment.
* import: hackage: Support "common" field and importsPhilip Munksgaard2021-06-25
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/48701>. * guix/import/cabal.scm (make-cabal-parser): Modify. (is-common): New variable. (lex-common): New procedure. (is-id): Modify. (eval-cabal): Modify. * tests/hackage.scm ("hackage->guix-package test cabal import") New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* reconfigure: Use 'formatted-message'.Ludovic Courtès2021-06-25
| | | | | | * guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure): Use 'formatted-message'. * guix/scripts/deploy.scm (deploy-machine*): Handle it.
* deploy: Leave on hard error.Ludovic Courtès2021-06-25
| | | | | | | | Previously, the error message would be displayed, followed by a backtrace ending in &non-continuable. * guix/scripts/deploy.scm (deploy-machine*): Call 'leave' rather than 'report-error' when C is a &message.
* gnu: Add ausweisapp2.Sergey Trofimov2021-06-24
| | | | | | | * gnu/packages/security-token.scm (ausweisapp2): New variable. * guix/licenses.scm (eupl1.2): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* lint: 'github-url' checker gracefully handles networking errors.Ludovic Courtès2021-06-24
| | | | | | | | | | Fixes <https://bugs.gnu.org/49114>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * guix/lint.scm (call-with-networking-fail-safe, with-networking-fail-safe): Move higher in the file. * guix/lint.scm (check-github-url): Wrap call to 'follow-redirects-to-github' in 'with-networking-fail-safe'.
* lint: 'with-networking-fail-safe' handles 'gnutls-error' exceptions.Ludovic Courtès2021-06-24
| | | | * guix/lint.scm (call-with-networking-fail-safe): Add clause for 'gnutls-error'.
* build: Make outputs of node-build-system reproducible.Lars-Dominik Braun2021-06-24
| | | | | | | | package.json records two hashes of package.tgz, which change for each build, resulting in non-reproducible builds. * guix/build/node-build-system.scm (repack): Add reproducibility options to tar command.
* gexp: 'mixed-text-file' UTF-8-encodes its output.Andrew Tropin2021-06-23
| | | | | | * guix/gexp.scm (mixed-text-file)[build]: Call 'set-port-encoding!'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* profiles: Build union of inputs in the right order.Ludovic Courtès2021-06-22
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/49102>. Reported by Mathieu Othacehe <othacehe@gnu.org> and Tobias Geerinckx-Rice <me@tobias.gr>. Fixes a regression introduced in 8cef92d0633850d97c1a1d4521812268f56672be, whereby in case of file collisions, the "wrong" one would take precedence. * guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Perform a breadth-first traversal. Reverse INPUTS and SEARCH-PATHS in the base case. * tests/profiles.scm ("profile-derivation, ordering & collisions"): New test.
* guix: java-utils: Look for actual jar files.Julien Lepiller2021-06-22
| | | | | * guix/build/java-utils.scm (install-from-pom): Fix `find-files` to look only for jar files.
* guix: maven: Use a temporary file to fix pom files.Julien Lepiller2021-06-22
| | | | | * guix/build/maven/pom.scm (fix-pom-dependencies): Actually use the temporary file that was created.
* guix: maven: Look in local packages when searching for package version.Julien Lepiller2021-06-22
| | | | | * guix/build/maven/pom.scm (fix-pom-dependencies): Also look at local packages when looking for a package version.
* guix: maven: Support fixing modules.Julien Lepiller2021-06-22
| | | | | | * guix/build/maven/pom.scm (fix-pom-dependencies): Support fixing modules that do not exist. * guix/build/maven-build-system.scm (fix-pom): Fix modules.
* guix: maven: Support fixing extensions.Julien Lepiller2021-06-22
| | | | | * guix/build/maven/pom.scm (fix-pom-dependencies): Add support for fixing extension versions.
* guix: maven: Simplify finding local packages and modules.Julien Lepiller2021-06-22
| | | | | | | | | | * guix/build/maven-build-system (fix-pom): Fix a single pom file without recursing (fix-pom-files): Find local packages and all submodules, and fix them all at once. (add-local-package): Move to... * guix/build/maven/pom.scm (add-local-package): ...here. (pom-and-submodules, pom-local-packages): New procedures.
* guix: maven: Simplify finding version and group information.Julien Lepiller2021-06-22
| | | | | | | * guix/build/maven/pom.scm (pom-version, pom-groupid): Do not use inputs and local packages information anymore. Adapt file to new arguments. * guix/build/maven-build-system.scm: Adapt to new arguments. * guix/build/java-utils.scm: Adapt to new arguments.
* guix: java-utils: Factorize pom.xml generation.Julien Lepiller2021-06-22
| | | | | | | | | * guix/build/java-utils.scm (generate-pom.xml): New procedure. * gnu/packages/maven.scm (java-surefire-junit4): Use it. * gnu/packages/java.scm (java-qdox, java-jsr250, java-jsr305) (java-aopalliance, java-jboss-el-api-spec) (java-jboss-interceptors-api-spec): Use it. (java-qdox-M9): Ensure the generated pom file has the correct version.
* import: egg: Edit egg->guix-package docstring.Tobias Geerinckx-Rice2021-06-21
| | | | * guix/import/egg.scm (egg->guix-package): Edit docstring.
* import: launchpad: Fix typo.Brice Waegeneire2021-06-19
| | | | | * guix/import/launchpad.scm (latest-release): Rename 'origin-github-uri' to 'origin-launchpad-uri'.
* import: launchpad: Use repository to retrieve releases.Matthew James Kraai2021-06-19
| | | | | | | | * guix/import/launchpad.scm (latest-released-version): Use repository instead of package name. (latest-release): Pass repository to latest-released-version. Signed-off-by: Brice Waegeneire <brice@waegenei.re>
* profiles: Add "XAUTHORITY" to the precious variables.Ludovic Courtès2021-06-18
| | | | | | Suggested by Maxime Devos <maximedevos@telenet.be>. * guix/profiles.scm (%precious-variables): Add "XAUTHORITY".
* profiles: Add 'load-profile'.Ludovic Courtès2021-06-18
| | | | | | | | | * guix/profiles.scm (%precious-variables): New variable. (purify-environment, load-profile): New procedures. * guix/scripts/environment.scm (%precious-variables) (purify-environment, create-environment): Remove. (launch-environment): Call 'load-profile' instead of 'create-environment'. * tests/profiles.scm ("load-profile"): New test.
* lint: check-patch-headers: Recognize Git diffs.Ludovic Courtès2021-06-18
| | | | * guix/lint.scm (check-patch-headers): Add "diff --git " prefix.
* import: launchpad: Gracefully handle 404s from api.launchpad.net.Ludovic Courtès2021-06-18
| | | | | | | | Fixes <https://bugs.gnu.org/49031>. Reported by Emad Alblueshi <emad.albloushi@gmail.com>. * guix/import/launchpad.scm (latest-released-version): Gracefully handle 'json-fetch' returning #f.
* Start enabling substitutes from bordeaux.guix.gnu.org.Christopher Baines2021-06-18
| | | | | | | | | | | | In addition to substitutes from ci.guix.gnu.org. There are more changes that can be made in the future, but these changes seem like a good start. * config-daemon.ac (guix_substitute_urls): Add https://bordeaux.guix.gnu.org. * guix/scripts/substitute.scm (%default-substitute-urls): Add http://bordeaux.guix.gnu.org. * guix/store.scm (%default-substitute-urls): Add bordeaux.guix.gnu.org. * doc/guix.texi: Adjust accordingly. * doc/contributing.texi: Adjust accordingly.
* pack: Fix the system value passed to build-docker-image.Maxim Cournoyer2021-06-16
| | | | | | | | | | | | | | | | | | | | | Before this change, the system value would be passed as x86_64 when using a i686-linux emulated system, e.g.: $ guix environment --system=i686-linux --ad-hoc guile -- \ guile -c '(display (utsname:machine (uname))) (newline)' x86_64 This change uses the Guile builtin %host-type variable, which doesn't have this problem: $ guix environment --system=i686-linux --ad-hoc guile -- \ guile -c '(display %host-type) (newline)' i686-unknown-linux-gnu * guix/scripts/pack.scm (docker-image)[#:system] Use %host-type as a fall-back when target is not defined. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* hg-download: Make (guix swh) output visible.Ludovic Courtès2021-06-14
| | | | * guix/hg-download.scm (hg-fetch)[build]: Add 'setvbuf' calls.
* hg-download: Support falling back to SWH.Xinglu Chen2021-06-14
| | | | | | | * guix/hg-download.scm (hg-fetch): Fall back to fetching the source from SWH if the upstream source is missing. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* swh: Support lookup of Hg tags.Xinglu Chen2021-06-14
| | | | | | | * guix/swh.scm (lookup-origin-revision): Support lookup of Hg tags, not just Git tags. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* hg-download: Remove bogus hg-reference-recursive? export.itd2021-06-14
| | | | | | * guix/hg-download.scm: Do not export undefined hg-reference-recursive?. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* guix package: Do not say "nothing to do" upon rollback & co.Ludovic Courtès2021-06-13
| | | | | | | | Previously, "guix package --switch-generations=4" or similar would print "nothing to do". * guix/scripts/package.scm (process-actions): Do not warn about "nothing to do" when one of %ACTIONS is requested.
* doc, gnu, guix: Fix typos.Paul A. Patience2021-06-13
| | | | | | | | | | | | | | | | * doc/guix.texi: Fix various typos and reword a sentence. * gnu/packages/cpp.scm (cpplint)[description]: Fix typo. * gnu/packages/dns.scm (ldns): Fix typo in comment. * gnu/packages/games.scm (yamagi-quake2): Fix typo in comment. * gnu/packages/qt.scm (python-pyqtwebengine): Fix typo in comment. * gnu/packages/rails.scm (ruby-autoprefixer-rails): Fix typo in comment. * gnu/packages/syndication.scm (quiterss)[description]: Fix typo. * gnu/packages/terminals.scm (kmscon): Fix typo in comment. * gnu/packages/xml.scm (perl-xml-sax-base)[description]: Fix typo. (python-elementpath)[description]: Fix typo. * guix/build/asdf-build-system.scm (output-translation): Fix typo in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* describe: 'current-channel-entries' ignores non-channel profile entries.Ludovic Courtès2021-06-13
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/48778>. A side effect of c47f3fc13562d82edfd2d47342574154c452843a is that (@ (guix describe) current-profile) provides the correct answer when the 'guix' package is installed in a profile. Consequently, the 'guix' package installed in /run/current-system/profile (for instance) would end up loading all the .scm files in that directory. * guix/describe.scm (current-channel-entries): Remove ENTRY if it lacks the 'source' property.
* profiles: Move some of the work to the build side.Ludovic Courtès2021-06-12
| | | | | | | | | | | | | | | | | | | | | | When running: guix environment --ad-hoc gnome --no-grafts --search-paths this reduces wall-clock time by ~5%. The number of object cache lookups goes down from 96K to 89K. (Note that 'gnome' is an interesting example because it has many propagated inputs, which themselves have propagated inputs too, which would lead to a long input list and a long manifest in the 'profile-derivation' gexp.) * guix/profiles.scm (profile-derivation)[inputs, search-paths]: Remove. [extra-inputs]: New variable. [builder]: Adjust call to 'build-profile'. * guix/build/profiles.scm (manifest-sexp->inputs+search-paths): New procedure. (build-profile): Remove 'inputs' parameter; make 'manifest' the 2nd positional parameter and add #:extra-inputs. Call 'manifest-sexp->inputs+search-paths' to obtain 'inputs' and 'search-paths'.
* git: Update the mtime of the just-updated checkout.Ludovic Courtès2021-06-12
| | | | | | | | | | Reported by zimoun <zimon.toutoune@gmail.com>. Previously, the mtime of CACHE-DIRECTORY may or may not have been updated after a pull. Thus, 'maybe-remove-expired-cache-entries' could potentially delete CACHE-DIRECTORY right before it's returned. * guix/git.scm (update-cached-checkout): Call 'utime' on CACHE-DIRECTORY.
* lint: Check for trailing whitespace in description.Xinglu Chen2021-06-08
| | | | | | | * guix/lint.scm (check-description-style): Check for trailing whitespace. * tests/lint.scm: ("description: trailing whitespace"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* lint: Check for trailing whitespace in synopsis.Xinglu Chen2021-06-08
| | | | | | | * guix/lint.scm (check-synopsis-style): Check for trailing whitespace. * tests/lint.scm ("synopsis: contains trailing whitespace"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* transformations: '--with-latest' correctly handles already-latest case.Ludovic Courtès2021-06-08
| | | | | | | | | | | Previously, '--with-latest' would wrongfully print: warning: could not determine latest upstream release of 'xyz' when 'xyz' is already the latest version. This fixes that. * guix/transformations.scm (transform-package-latest): Use 'package-latest-release' instead of 'package-latest-release*'.