summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2021-06-06Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/algebra.scm gnu/packages/bioinformatics.scm gnu/packages/curl.scm gnu/packages/docbook.scm gnu/packages/emacs-xyz.scm gnu/packages/maths.scm gnu/packages/plotutils.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/readline.scm gnu/packages/tls.scm gnu/packages/xml.scm gnu/packages/xorg.scm Marius Bakke
2021-06-06scripts: substitute: Cache connection when looking for narinfos....The process-substitution procedure is opening two distinct connections. The first one when looking for narinfo by calling lookup-narinfo and the other one when fetching nar files. Cache the connection when looking for narinfos so that process-substitution only opens one connection. * guix/scripts/substitute.scm (lookup-narinfo): Cache connection by using open-connection-for-uri/cached. Mathieu Othacehe
2021-06-06lint: tests-true: Check if tests are enabled when cross-compiling....* guix/lint.scm (check-tests-true): New linter. (%local-checkers)[tests-true]: Add it. * tests/lint.scm ("tests-true: #:tests? must not be set to #t") ("tests-true: absent #:tests? is acceptable") ("tests-true: #:tests? #f is acceptable") ("tests-true: #:tests? #t acceptable when compiling natively"): Test it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Maxime Devos
2021-06-06gnu: TeX Live: Update to 2020.0....* guix/build-system/texlive.scm (%texlive-tag): Set to 2020.0. (%texlive-revision): Set to 54632. * gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src, texlive-bin, texlive-texmf, texlive): Update to 20200406. (texlive-bin)[source](patches): Remove. [arguments]: Adjust poppler compatibility phase for new upstream patches. * gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data texlive-hyphen-base, texlive-dvips, texlive-metafont-base, texlive-fontinst, texlive-fontname, texlive-tex-plain, texlive-hyphen-bulgarian, texlive-hyphen-chinese, texlive-hyphen-hungarian, texlive-hyphen-latin, texlive-hyphen-sanskrit, texlive-hyphen-spanish, texlive-hyph-utf8, texlive-kpathsea, texlive-latexconfig, texlive-latex-base, texlive-union, texlive-latex-filecontents, texlive-latex-fancyvrb, texlive-graphics-def, texlive-latex-graphics, texlive-latex-oberdiek, texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-babel, texlive-latex-draftwatermark, texlive-etoolbox, texlive-latex-geometry, texlive-latex-polyglossia, texlive-latex-supertabular, texlive-tex-texinfo, texlive-latex-appendix, texlive-latex-colortbl, texlive-latex-listings, texlive-inconsolata, texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic, texlive-latex-parskip, texlive-latex-pdfpages, texlive-libertine, texlive-latex-titlesec, texlive-metapost, texlive-latex-acmart, texlive-latex-wasysym, texlive-latex-preview, texlive-latex-acronym, texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms, texlive-generic-ulem, texlive-latex-pgf, texlive-latex-koma-script, texlive-generic-listofitems, texlive-bibtex, texlive-context-base, texlive-beamer, texlive-pstricks, texlive-marginnote, texlive-iftex, texlive-tools, texlive-siunitx, texlive-booktabs, texlive-csquotes, texlive-biblatex, texlive-microtype, texlive-caption, texlive-ydoc, texlive-courier, texlive-hyperref, texlive-fontspec, texlive-l3build, texlive-luaotfload, texlive-babel, texlive-tipa, texlive-jknappen, texlive-wasy, texlive-context, texlive-cabin, texlive-fourier, texlive-mweights, texlive-newtx, texlive-xcharter, texlive-tcolorbox): Update hashes. (texlive-hyphen-bulgarian): Don't include removed files. (texlive-hyphen-hungarian, texlive-hyphen-sanskrit): Adjust for directory rename. (texlive-hyphen-chinese, texlive-hyphen-latin): Add more files. (texlive-hyphen-macedonian): New public variable. (texlive-metafont-base)[source]: Switch to SVN-MULTI-FETCH. [arguments]: Adjust for extra source files. (texlive-latex-base)[arguments]: Disable more formats. [propagated-inputs]: Add TEXLIVE-HYPHEN-MACEDONIAN. (texlive-fontinst): Don't include "scripts/texlive/fontinst.sh". (texlive-generic-iftex): New public variable. (texlive-iftex, texlive-generic-ifxetex): Deprecate in favor of TEXLIVE-GENERIC-IFTEX. (texlive-latex-oberdiek)[propagated-inputs]: Change from TEXLIVE-GENERIC-IFXETEX to TEXLIVE-GENERIC-IFTEX. (texlive-latex-xkeyval)[native-inputs]: Likewise. (texlive-default-updmap.cfg): Remove variable. * gnu/packages/patches/texlive-bin-poppler-0.83.patch, gnu/packages/patches/texlive-bin-poppler-0.86.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Marius Bakke
2021-06-05hg-download: Add helpers for defining packages....Hg followup to commit ee17a9e06e636400e3354796a42ac445dbcc8f96. * guix/hg-download.scm (hg-version, hg-file-name): New procedures. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2021-06-05profiles: 'check-for-collisions' filters out more non-collisions upfront....When running: GUIX_PROFILING="gc object-cache" ./pre-inst-env \ guix install gnome -p /tmp/sdsdfsd --no-grafts -n this reduces the number of object cache lookup from 115K to 96K, with a slight CPU and memory usage reduction as well. * guix/profiles.scm (check-for-collisions)[candidates]: Exclude entries if their 'item' fields are eq?. Ludovic Courtès
2021-06-05guix: Update to Bioconductor 3.13....* guix/build-system/r.scm (bioconductor-uri): Update version. * guix/import/cran.scm (%bioconductor-version): Update. Ricardo Wurmus
2021-06-04rakudo-build-system: Look up the interpreter in 'inputs'....* guix/build/rakudo-build-system.scm (wrap): Pass the shell interpreter from 'inputs' to 'wrap-program' using 'search-input-file'. Partially-Fixes: <https://issues.guix.gnu.org/47869> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-04qt-build-system: Look up the interpreter in 'inputs'....* guix/build/qt-build-system.scm (wrap-all-programs): Pass the shell interpreter from 'inputs' to 'wrap-program' using 'search-input-file'. Partially-Fixes: <https://issues.guix.gnu.org/47869> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-04python-build-system: Look up the interpreter in 'inputs'....* guix/build/python-build-system.scm (wrap): Pass the shell interpreter from 'inputs' to 'wrap-program' using 'search-input-file'. Partially-Fixes: <https://issues.guix.gnu.org/47869> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-04glib-or-gtk-build-system: Look up the interpreter in 'inputs'....* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Pass the shell interpreter from 'inputs' to 'wrap-program' using 'search-input-file'. Partially-Fixes: <https://issues.guix.gnu.org/47869> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-04utils: Define ‘search-input-file’ procedure....The procedure ‘which’ from (guix build utils) is used for two different purposes: 1. for finding the absolute file name of a binary that needs to run during the build process 2. for finding the absolute file name of a binary, for the target system (as in --target=TARGET), e.g. for substituting sh->/gnu/store/.../bin/sh, python->/gnu/store/.../bin/python. When compiling natively (target=#f in Guix parlance), this is perfectly fine. However, when cross-compiling, there is a problem. "which" looks in $PATH for binaries. That's good for purpose (1), but incorrect for (2), as the $PATH contains binaries from native-inputs instead of inputs. This commit defines a ‘search-input-file’ procedure. It functions like 'which', but instead of searching in $PATH, it searches in the 'inputs' of the build phase, which must be passed to ‘search-input-file’ as an argument. Also, the file name must include "bin/" or "sbin/" as appropriate. * guix/build/utils.scm (search-input-file): New procedure. * tests/build-utils.scm ("search-input-file: exception if not found") ("search-input-file: can find if existent"): Test it. * doc/guix.texi (File Search): Document it. Partially-Fixes: <https://issues.guix.gnu.org/47869> Co-Authored-By: Ludovic Courtès <ludo@gnu.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-04utils: Allow overriding the shell interpreter in ‘wrap-program’....Previously, when creating new wrappers, 'wrap-program' would search for an interpreter to use in PATH. However, this is incorrect when cross-compiling. Allow overriding the shell interpreter to use, via an optional keyword argument #:sh. In time, when all users of 'wrap-program' have been corrected, this keyword argument can be made mandatory. * guix/build/utils.scm (wrap-program): Introduce a #:sh keyword argument, defaulting to (which "sh"). Use this keyword argument. Partially-Fixes: <https://issues.guix.gnu.org/47869> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos
2021-06-03licenses: Add BSD-1-Clause license....* licenses.scm (bsd-1): New variable. Xinglu Chen
2021-06-03import: Add CHICKEN egg importer....* guix/import/egg.scm: New file. * guix/scripts/import/egg.scm: New file. * tests/egg.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Register them. * po/guix/POTFILES.in: Likewise. * guix/scripts/import.scm (importers): Add egg importer. * doc/guix.texi (Invoking guix import, Invoking guix refresh): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2021-06-03gnu-maintenance: 'generic-html' computes the right source URL....Fixes a regression introduced in 84f8bae0f85de081bbc55aa54ad6a50981a06a43, whereby the URL computed for the new ffmpeg (for instance) would be: https://ffmpeg.org/ffmpeg-4.4.tar.xz instead of: https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz Reported by Maxim Cournoyer. * guix/gnu-maintenance.scm (latest-html-release)[url->release]: Adjust computation in the case of a URI-reference with a relative path. Ludovic Courtès
2021-06-01ui, lint: Simplify exception handling in Guile 3 style....* guix/lint.scm (check-derivation)[try]: Remove "catch #t" wrapping. * guix/ui.scm (call-with-error-handling): Remove "catch 'system-error" and move 'system-error handling to the &exception-with-kind-and-args clause. Ludovic Courtès
2021-06-01maint: Require Guile 3.0....* configure.ac: Require Guile 3.0. * doc/guix.texi (Requirements): Adjust accordingly. * gnu/packages/package-management.scm (guile2.2-guix): Remove. * guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'. * guix/scripts/deploy.scm (deploy-machine*): Likewise. * guix/store.scm (call-with-store): Likewise. * guix/swh.scm (http-get*, http-post*): Likewise. * guix/ui.scm (without-compiler-optimizations, guard*) (call-with-error-handling): Likewise. Ludovic Courtès
2021-06-01publish: Add keep-alive support when sending nar....The default Guile web server implementation supports the keep alive mechanism. However, in our custom http-write implementation, the connection is unconditionally close after sending nar files. To prevent that, when supported, add the client port to the server poll set so that further requests can be handled without closing the connection. * guix/scripts/publish.scm (nar-response-port): Rename it into ... (nar-compressed-port): ... this procedure. Operate directly on a given PORT. (http-write): Add keep-alive support when sending nar files. * guix/scripts/substitute.scm (process-substitution): Pass the download size to the progress-report-port procedure so that it doesn't block reading from the input port when keep-alive is supported. Mathieu Othacehe
2021-06-01publish: Preserve the request connection header....The Guile web server is reading the response connection header to decide whether to close the connection. However, as the request connection header is not forwarded to the response, this mechanism cannot work. * guix/scripts/publish.scm (add-extra-headers): New procedure. (make-request-handler): Use it to forward the request connection header to the response. Mathieu Othacehe
2021-06-01progress: Add a download-size argument to progress-report-port....* guix/progress.scm (progress-report-port): Add a download-size argument. Mathieu Othacehe
2021-05-28gnu-maintenance: 'generic-html' correctly handles relative release URLs....* guix/gnu-maintenance.scm (latest-html-release)[url->release]: Fix source URL construction in cases where URL is a possibly relative path. Ludovic Courtès
2021-05-28gnu-maintenance: 'release-file?' accepts 'v' prefix as in "PKG-v1.2.tgz"....* guix/gnu-maintenance.scm (%tarball-rx, %package-name-rx): Accept 'v' and 'V' prefixes. Accept ".tgz" extension. * tests/gnu-maintenance.scm ("release-file?"): Add test. Ludovic Courtès
2021-05-28guix build: Emit "nothing to do" warning only when needed....This is a followup to 681af1fb78a735b51dc811aed770b2948212c3fc. * guix/scripts/build.scm (guix-build): Emit "nothing to do" warning only when both DRV and ITEMS are null. Ludovic Courtès
2021-05-28guix package: Do not warn about "missing arguments" when there's nothing to do....In some cases, running "guix upgrade" can trigger this warning, and "missing arguments" is misleading then. Reported by flatwhatson on #guix. * guix/scripts/package.scm (process-actions): Change warning to "nothing to do". Ludovic Courtès
2021-05-28import: opam: Generate license for package....* guix/import/opam.scm (opam->guix-package): Generate license for the ‘license’ field. * tests/opam.scm (test-opam-file): Update accordingly. ("opam->guix-package"): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2021-05-28git-download: Support submodules in 'git-predicate'....* guix/git-download.scm (git-file-list): Add prefix and recursive? arguments. Recurse into submodules when requested. (git-predicate): Add recursive? argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Whatson
2021-05-28git-download: 'git-predicate' now ignores deleted files....When git-predicate is used on an active worktree, some files in the index might not exist on the filesystem. Instead of failing with "No such file or directory", these should be ignored. * guix/git-download.scm (git-predicate): Wrap 'lstat' call in 'false-if-exception'. Return RESULT when STAT is #f. Co-authored-by: Andrew Whatson <whatson@gmail.com> Ludovic Courtès
2021-05-28scripts: Commands warn when passed zero arguments....This is a followup to 3f8326237df780404c172ef4127195cc20becd66. * guix/scripts/archive.scm (export-from-store): Warn then FILES is empty. * guix/scripts/build.scm (guix-build): Likewise. * guix/scripts/copy.scm (warn-if-empty): New procedure. (send-to-remote-host, retrieve-from-remote-host): Call it. * guix/scripts/edit.scm (guix-edit): Warn when SPECS is empty. * guix/scripts/environment.scm (guix-environment): Warn when MANIFEST has zero entries. * guix/scripts/graph.scm (guix-graph): Warn then ITEMS is empty. * guix/scripts/package.scm (process-actions): Warn when FILES and TRANS are both empty. Ludovic Courtès
2021-05-28deploy: Error out when the FILE argument is missing....* guix/scripts/deploy.scm (guix-deploy): Error out when FILE is false. Ludovic Courtès
2021-05-26guix: ci: Add spec support to latest-evaluations....* guix/ci.scm (latest-evaluations): Add spec parameter support. Mathieu Othacehe
2021-05-26guix: ci: Fix evaluation complete? field....* guix/ci.scm (<evaluation>): Fix evaluation complete? field. Mathieu Othacehe
2021-05-23gnu: bootstrap: Add support for powerpc-linux....On 923bb70a1bff657125c3008f119a477e5cb57c2b gnu:glibc-for-bootstrap: Fix patch. Run ./pre-inst-env guix build --target=powerpc-linux-gnu bootstrap-tarballs Producing /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 With guix hash -rx /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 02xx2ydj28pwv3vflqffinpq1icj09gzi9icm8j4bwc4lca9irxn * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for powerpc-linux. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for powerpc-linux. * gnu/packages.scm (%supported-systems): Add powerpc-linux. (%hydra-supported-systems): Remove powerpc-linux. * m4/guix.m4: Add powerpc-linux as a supported system. Efraim Flashner
2021-05-22import: hackage: Prefix licenses with 'license:'....* guix/import/hackage.scm (string->license): Prefix the value of the license field with ‘license:’. * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2021-05-22lint: archival: Lookup content in Disarchive database....* guix/lint.scm (lookup-disarchive-spec): New procedure. (check-archival): When 'lookup-content' returns #f, call 'lookup-disarchive-spec'. Call 'lookup-directory' on the result of 'lookup-directory'. * guix/download.scm (%disarchive-mirrors): Make public. * tests/lint.scm ("archival: missing content"): Set '%disarchive-mirrors'. ("archival: content unavailable but disarchive available"): New test. Ludovic Courtès
2021-05-22Merge branch 'master' into core-updatesMarius Bakke
2021-05-22scripts: discover: Report Avahi errors....Fixes: <https://issues.guix.gnu.org/48561>. * guix/scripts/discover (guix-discover): Report Avahi errors. Mathieu Othacehe
2021-05-20guix: Build texlive-configuration only when texlive-base is present....Fixes <https://bugs.gnu.org/48519>. * guix/profiles.scm (texlive-configuration): Build only if texlive-base is present in the profile's manifest. Ricardo Wurmus
2021-05-20scripts: challenge: Fix regression....This is a follow-up of 3cde5231aa78aa5e31b27888cd78ee0b250a7a1c that fixes the challenge test. When dealing with uncompressed NAR, the file size is false. Propagate it to progress-reporter/file as it used to be the case. * guix/scripts/challenge.scm (call-with-nar): Accept false size. Mathieu Othacehe
2021-05-17ui: 'load*' compiles with '-O1'....With this change, the wall-clock time of: guix system build --no-grafts -d gnu/system/install.scm goes from 5.0s to 2.3s on Guile 3.0.5. * guix/ui.scm (without-compiler-optimizations): New macro. (load*): Use it. Ludovic Courtès
2021-05-17ui: Remove Guile 2.2.3 workaround....This became dead code with commit 4f621a2b003e85d480999e4d0630e9dc3de85bc3. * guix/ui.scm (load*): Remove Guile 2.2.3 workaround. Ludovic Courtès
2021-05-16publish: Add '--negative-ttl'....* guix/scripts/publish.scm (show-help, %options): Add '--negative-ttl'. (render-narinfo, render-narinfo/cached, make-request-handler): Add #:negative-ttl and honor it. (run-publish-server): Add #:narinfo-negative-ttl and honor it. (guix-publish): Honor '--negative-ttl'. * tests/publish.scm ("negative TTL", "no negative TTL"): New tests. Ludovic Courtès
2021-05-16substitutes: Reduce negative TTLs....* guix/substitutes.scm (%narinfo-negative-ttl): Change to 15mn. (%narinfo-transient-error-ttl): Halve. Ludovic Courtès
2021-05-15Merge branch 'master' into core-updatesLudovic Courtès
2021-05-15inferior: Support querying package replacements....I'm looking at this to help with adding support for looking up package replacements to store in the Guix Data Service. * guix/inferior.scm (inferior-package-replacement): New procedure. * tests/inferior.scm ("inferior-package-replacement"): New test. Christopher Baines
2021-05-14swh: 'lookup-origin-revision' ignores partial visits....* guix/swh.scm (lookup-origin-revision): Filter out visits with a status different from 'full. Ludovic Courtès
2021-05-14self: Add dependency on Disarchive....This enables the Disarchive fallback implemented in commit fbc2a52a32ddc664db8ebab420c2e17b1432c744 (on foreign distros). * guix/self.scm (specification->package): Add "disarchive". (compiled-guix): Add DISARCHIVE to DEPENDENCIES in the #:dependencies argument to 'guix-command'. Ludovic Courtès
2021-05-14import: go: Fix goproxy option argument's format....Commit a8b927a562 Added new procedure go-module-available-versions use 'string-append' to GOPROXY, but 'string->symbol' let GOPROXY is a symbol (it must be a string), which would lead to wrong-type-arg errors in the 'string-append' procedure. * guix/scripts/import/go.scm (%options)[goproxy]: Remove call to 'string->symbol'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Zheng Junjie
2021-05-13challenge: Be defensive in the size passed to the progress reporter....Possibly fixes <https://bugs.gnu.org/48045>. Reported by Bone Baboon <bone.baboon@disroot.org>. * guix/scripts/challenge.scm (call-with-nar): Rename second value returned by 'http-fetch' to match reality. Change second argument to 'progress-reporter/file'. Ludovic Courtès
2021-05-13self: Build with 'guile-3.0-latest'....* guix/self.scm (specification->package): Use 'guile-3.0-latest' instead of 'guile-3.0/libgc-7'. Ludovic Courtès