Age | Commit message (Expand) | Author |
2021-07-04 | ci: Represent build status as a symbol....* guix/ci.scm (define-enumeration-mapping): New macro.
(integer->build-status): New procedure.
(<build>)[status]: Use it.
| Ludovic Courtès |
2021-07-04 | cpio: Fix device number calculation....“dev_t in glibc is a 64-bit quantity, with 32-bit major and minor
numbers.” — glibc's <bits/sysmacros.h>
The "tests/cpio.scm" was failing because (guix cpio) treated it as a
16-bit quantity instead, leading to header mismatches with the GNU cpio
reference output.
* guix/cpio.scm (device-number, device->major+minor): Use all the bits.
| Tobias Geerinckx-Rice |
2021-07-02 | build: qt-utils: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed....This reinstate commit the reverted fed28a9632ba69225151757e44a5d70e9b0652a2,
now rebased on top of conflicting changes.
* guix/build/qt-utils.scm: Remove extraneous newlines.
(variables-for-wrapping): Add comments. Define a file type entry for each
variable definition, and use it to determine if we should look for directories
versus plain files.
<QTWEBENGINEPROCESS_PATH>: New environment variable.
(wrap-all-qt-programs): Remove trailing #t.
| Maxim Cournoyer |
2021-07-02 | build: qt-utils: Refactor the code to filter XDG_DATA_DIRS....This partially reinstate the reverted
c5fd1b0bd362f8b8578a76a26a65ba5d00d48992.
* guix/build/qt-utils.scm (variables-for-wrapping)[collect-sub-dirs]:
Add 'selectors' parameter and honor it. Change caller to handle selectors.
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Ludovic Courtès |
2021-07-02 | guix: qt-utils: Don't include useless inputs in wrapped variables....Include only those inputs into XDG_DATA_DIRS having
some subdirectory of /share which is typically used by Qt.
* guix/build/qt-utils.scm (variables-for-wrapping): Take the
output directory as an argument for special handling. Check for
subdirectories of /share used by Qt before including inputs in
XDG_DATA_DIRS.
(wrap-qt-program*): Pass the output directory to variables-for-wrapping.
Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
| Jakub Kądziołka |
2021-07-02 | build-system: qt: Exclude useless inputs from wrapped variables....* guix/build-system/qt.scm (qt-build)[qt-wrap-excluded-inputs]: New argument.
* guix/build/qt-utils.scm (%qt-wrap-excluded-inputs): New variable.
(wrap-qt-program*)[qt-wrap-excluded-inputs]: New argument. Filter excluded
inputs.
(wrap-qt-program)[qt-wrap-excluded-inputs]: New argument.
(wrap-all-qt-programs)[qt-wrap-excluded-inputs]: New argument.
Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
| Jakub Kądziołka |
2021-07-02 | guix: qt-utils: Wrapped executables honor user's envvars....Prior to this change, wrappers did set the specified environment variables to
a fixed value, overwriting any user settings. This inhibited propagating
e.g. XDG_DATA_DIRS from a profile to the application.
Now user environment variables are prefixed (if the variable defines some
"binary" search path, e.g. QT_PLUGIN_PATH) or suffixed (if the variable
defines some config or data search path, e.g. XDG_DATA_DIRS). The code could
also allow to overwrite, anyhow currently no variable is defined like this.
* guix/build/qt-utils.scm (variables-for-wrapping): For each env-var to
be wrapped, specify whether it should prefix, suffix or overwrite the
user's variable.
| Hartmut Goebel |
2021-07-02 | guix: qt-build-system, qt-utils: Unify wrapping of qt-programs....Unify (guix qt-build-system wrap-all-programs) and
(guix qt-utils wrap-qt-program), so both behave the same.
The functions now reside in qt-utils to make them easily available for
packages not using the qt-build-system.
* guix/build/qt-build-system.scm (variables-for-wrapping, wrap-all-programs):
Move from here ...
* guix/build/qt-utils.scm (variables-for-wrapping, wrap-all-qt-programs):
... to here. Base the later on
(wrap-qt-program*): New function, carved out from old wrap-all-programs.
(wrap-qt-program): Base on wrap-qt-program*, change arguments in an
incompatible way.
* gnu/packages/bittorrent.scm (qbittorrent)[arguments]<phases>{wrap-qt}:
Adjust to new interface of wrap-qt-program.
* gnu/packages/finance.scm (electron-cash): Likewise.
* gnu/packages/geo.scm (qgis): Likewise.
* gnu/packages/password-utils.scm (qtpass): Likewise.
* gnu/packages/video.scm (openshot): Likewise.
* gnu/packages/web-browsers.scm (kristall): Likewise.
| Hartmut Goebel |
2021-07-02 | Revert "build-system/qt: Wrappers only include relevant directories to XDG_DA......This reverts commit c5fd1b0bd362f8b8578a76a26a65ba5d00d48992. It will need to
be refactored on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
| Maxim Cournoyer |
2021-07-02 | Revert "build-system/qt: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed."...This reverts commit 06eb21856f9535ab62d0becc92b4146e0620654e. It will need to
be refactored to fit on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
| Maxim Cournoyer |
2021-07-02 | Revert "build-system/qt: Fix wrapping with QTWEBENGINEPROCESS_PATH."...This reverts commit fed28a9632ba69225151757e44a5d70e9b0652a2. It will need to
be refactored to fit on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
| Maxim Cournoyer |
2021-06-30 | lint: Verify if #:tests? is respected in the 'check' phase....There have been a few patches to the mailing list lately
not respecting this, and this linter detects 630 package
definitions that could be modified to support the --without-tests
package transformation.
* guix/lint.scm
(check-optional-tests): New linter.
(%local-checkers)[optional-tests]: Add it.
* tests/lint.scm
(package-with-phase-changes): New procedure.
("optional-tests: no check phase")
("optional-tests: check hase respects #:tests?")
("optional-tests: check phase ignores #:tests?")
("optional-tests: do not crash when #:phases is invalid")
("optional-tests: allow G-exps (no warning)")
("optional-tests: allow G-exps (warning)")
("optional-tests: complicated 'check' phase")
("optional-tests: 'check' phase is not first phase"): New tests.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-06-30 | guix: gexp: Define gexp->approximate-sexp....It will be used in the 'optional-tests' linter.
* guix/gexp.scm (gexp->approximate-sexp): New procedure.
* tests/gexp.scm
("no references", "unquoted gexp", "unquoted gexp (native)")
("spliced gexp", "unspliced gexp, approximated")
("unquoted gexp, approximated"): Test it.
* doc/gexp.scm ("G-Expressions"): Document it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-06-29 | pack: Add support for the deb format....* .dir-locals.el (scheme-mode)[gexp->derivation]: Define indentation rule.
* guix/scripts/pack.scm (debian-archive): New procedure.
(%formats): Register the new deb format.
(show-formats): Add it to the usage string.
* tests/pack.scm (%ar-bootstrap): New variable.
(deb archive with symlinks): New test.
* doc/guix.texi (Invoking guix pack): Document it.
* NEWS: Add news entry.
| Maxim Cournoyer |
2021-06-29 | pack: Prevent duplicate files in tar archives....Tar translate duplicate files in the archive into hard links. These can cause
problems, as not every tool support them; for example dpkg doesn't.
* gnu/system/file-systems.scm (reduce-directories): New procedure.
(file-prefix?): Lift the restriction on file prefix. The procedure can be
useful for comparing relative file names. Adjust doc.
(file-name-depth): New procedure, extracted from ...
(btrfs-store-subvolume-file-name): ... here.
* guix/scripts/pack.scm (self-contained-tarball/builder): Use
reduce-directories.
* tests/file-systems.scm ("reduce-directories"): New test.
| Maxim Cournoyer |
2021-06-29 | pack: Improve naming of the packs store file names....Instead of just naming them by their pack type, add information from the
package(s) they contain to make it easier to differentiate them.
* guix/scripts/pack.scm (define-with-source): New macro.
(manifest->friendly-name): Extract procedure from ...
(docker-image): ... here, now defined via the above macro. Adjust REPOSITORY
argument value accordingly.
(guix-pack): Derive NAME using MANIFEST->FRIENDLY-NAME.
| Maxim Cournoyer |
2021-06-29 | pack: Fix typo....* guix/scripts/pack.scm (self-contained-tarball/builder): Fix typo.
| Maxim Cournoyer |
2021-06-29 | pack: Factorize base tar options....* 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.
| Maxim Cournoyer |
2021-06-29 | pack: Extract builder code from self-contained-tarball....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.
| Maxim Cournoyer |
2021-06-29 | weather: Handle zero requested store items gracefully....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>
| Maxime Devos |
2021-06-29 | Revert "guix build: Autoload (gnu packages)."...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'.
| Ludovic Courtès |
2021-06-29 | guix build: Autoload (gnu packages)....* guix/scripts/build.scm: Autoload (gnu packages).
| Ludovic Courtès |
2021-06-29 | pull: Use SRFI-71 instead of SRFI-11....* guix/scripts/pull.scm (display-new/upgraded-packages): Use SRFI-71 'let'.
| Ludovic Courtès |
2021-06-29 | pull: Autoload (gnu ...) modules....This reduces startup time for 'guix pull --help' and similar.
* guix/scripts/pull.scm: Autoload (gnu ...) modules.
| Ludovic Courtès |
2021-06-29 | ui: Have 'guix help' stat less....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.
| Ludovic Courtès |
2021-06-28 | guix: Delete duplicates from emacs-load-path....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’.
| Leo Prikler |
2021-06-28 | import: go: Fix match-error in 'go-package-description'...* 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>
| Sarah Morgensen via Guix-patches via |
2021-06-25 | download: 'tls-wrap' retries handshake upon non-fatal errors....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.
| Ludovic Courtès |
2021-06-25 | guix substitute: Adjust comment about GnuTLS bug....* guix/scripts/substitute.scm (call-with-cached-connection): Adjust
comment.
| Ludovic Courtès |
2021-06-25 | import: hackage: Support "common" field and imports...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>
| Philip Munksgaard |
2021-06-25 | reconfigure: Use 'formatted-message'....* guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure): Use
'formatted-message'.
* guix/scripts/deploy.scm (deploy-machine*): Handle it.
| Ludovic Courtès |
2021-06-25 | deploy: Leave on hard error....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.
| Ludovic Courtès |
2021-06-24 | gnu: Add ausweisapp2....* gnu/packages/security-token.scm (ausweisapp2): New variable.
* guix/licenses.scm (eupl1.2): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Sergey Trofimov |
2021-06-24 | lint: 'github-url' checker gracefully handles networking errors....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'.
| Ludovic Courtès |
2021-06-24 | lint: 'with-networking-fail-safe' handles 'gnutls-error' exceptions....* guix/lint.scm (call-with-networking-fail-safe): Add clause for 'gnutls-error'.
| Ludovic Courtès |
2021-06-24 | build: Make outputs of node-build-system reproducible....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.
| Lars-Dominik Braun |
2021-06-23 | gexp: 'mixed-text-file' UTF-8-encodes its output....* guix/gexp.scm (mixed-text-file)[build]: Call 'set-port-encoding!'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andrew Tropin |
2021-06-22 | profiles: Build union of inputs in the right order....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.
| Ludovic Courtès |
2021-06-22 | guix: java-utils: Look for actual jar files....* guix/build/java-utils.scm (install-from-pom): Fix `find-files` to look
only for jar files.
| Julien Lepiller |
2021-06-22 | guix: maven: Use a temporary file to fix pom files....* guix/build/maven/pom.scm (fix-pom-dependencies): Actually use the
temporary file that was created.
| Julien Lepiller |
2021-06-22 | guix: maven: Look in local packages when searching for package version....* guix/build/maven/pom.scm (fix-pom-dependencies): Also look at local
packages when looking for a package version.
| Julien Lepiller |
2021-06-22 | guix: maven: Support fixing modules....* 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.
| Julien Lepiller |
2021-06-22 | guix: maven: Support fixing extensions....* guix/build/maven/pom.scm (fix-pom-dependencies): Add support for fixing
extension versions.
| Julien Lepiller |
2021-06-22 | guix: maven: Simplify finding local packages and modules....* 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.
| Julien Lepiller |
2021-06-22 | guix: maven: Simplify finding version and group information....* 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.
| Julien Lepiller |
2021-06-22 | guix: java-utils: Factorize pom.xml generation....* 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.
| Julien Lepiller |
2021-06-21 | import: egg: Edit egg->guix-package docstring....* guix/import/egg.scm (egg->guix-package): Edit docstring.
| Tobias Geerinckx-Rice |
2021-06-19 | import: launchpad: Fix typo....* guix/import/launchpad.scm (latest-release): Rename 'origin-github-uri'
to 'origin-launchpad-uri'.
| Brice Waegeneire |
2021-06-19 | import: launchpad: Use repository to retrieve releases....* 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>
| Matthew James Kraai |
2021-06-18 | profiles: Add "XAUTHORITY" to the precious variables....Suggested by Maxime Devos <maximedevos@telenet.be>.
* guix/profiles.scm (%precious-variables): Add "XAUTHORITY".
| Ludovic Courtès |