summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2021-05-08gnu: libgc@8: Build with '--disable-munmap'.•••Partially fixes <https://bugs.gnu.org/40525>. * gnu/packages/bdw-gc.scm (libgc)[arguments]: Configure with '--disable-munmap'. * gnu/packages/guile.scm (guile-3.0/libgc-7): Remove. * gnu/packages/ci.scm (cuirass)[inputs]: Refer to GUILE-3.0-LATEST instead of GUILE-3.0/LIBGC-7. * guix/self.scm (specification->package): Likewise. Ludovic Courtès
2021-05-04build-system/copy: Avoid use of 'set!'.•••This fixes the copy-build-system on powerpc-linux. * guix/build/copy-build-system.scm (install)[install]: Don't clobber 'target' variable and move variable assignation into the let statement. Efraim Flashner
2021-04-22utils: wrap-program: Refuse to wrap .X-real files.•••* guix/build/utils.scm (wrap-program): Error if wrap-program was mistakenly passed a .X-real file. This prevents and forces us to fix cases where a double wrapped ..X-real-real file is created, such as can be seen with: "find /gnu/ -iname '.*-real-real'". Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brendan Tildesley
2021-04-22qt-build-system: Don't double wrap programs.•••* guix/build/qt-build-system.scm (wrap-all-programs): Excluded wrapped programs from the list of files to wrap if they exist to avoid double wrapping. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brendan Tildesley
2021-04-22rakudo-build-system: Don't double wrap programs.•••* guix/build/rakudo-build-system.scm (wrap): Don't return any potential already wrapped-programs in the list-of-files to wrap. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brendan Tildesley
2021-04-22glib-or-gtk-build-system: Don't double wrap programs.•••* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): If a package definition was modified to insert an additional wrap phase before glib-or-gtk...'s wrap phase instead of after, glib-or-gtk...'s wrap phase will double wrap the .X-real file from the earlier wrap phase. Filtering out such wrapped programs means these .X-real files should fix this and mean packagers don't have to worry about ensuring their wrap phases are put afterwards. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brendan Tildesley
2021-04-22utils: Rename 'wrapper?' to 'wrapped-program?'.•••* guix/build/utils.scm (wrap-program): The wrapper? procedure is incorrectly named as it actually checks to see if prog is the original program that was moved, not the wrapper. * guix/build/python-build-system: (wrap): Use renamed wrapped-program?. * gnu/packages/ebook.scm (calibre)[arguments]: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Brendan Tildesley
2021-04-22packages: Fix patch-and-repack for ZIP files.•••* guix/packages.scm (patch-and-repack): Fix for ZIP files. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Danny Milosavljevic
2021-04-22gremlin: 'elf-dynamic-info' returns a file name rathern than a dynamic entry.•••* guix/build/gremlin.scm (elf-dynamic-info): Return the dynamic entry value, not the dynamic entry. * tests/gremlin.scm ("elf-dynamic-info-soname"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Dion Mendel
2021-04-16Merge remote-tracking branch 'origin/master' into core-updates••• Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm Efraim Flashner
2021-04-15grafts: Support rewriting UTF-16 and UTF-32 store references.•••Partially fixes <https://bugs.gnu.org/33848>. * guix/build/graft.scm (replace-store-references): Add support for finding and rewriting UTF-16 and UTF-32 store references. * tests/grafts.scm: Add tests. Mark H Weaver
2021-04-14git: Honor proxy settings when fetching submodules.•••Fixes <https://bugs.gnu.org/44593>. * guix/git.scm (update-submodules): Add #:fetch-options and honor it. (update-cached-checkout): Pass #:fetch-options to 'update-submodules'. * doc/guix.texi (Requirements): Adjust comment about Guile-Git. Ludovic Courtès
2021-04-12channels: Build user channels with '-O1'.•••This should noticeably speed up compilation for channels with many files. * guix/channels.scm (standard-module-derivation)[build]: Define 'optimizations-for-level' and '-O1'. Pass #:optimization-options to 'compile-files'. Ludovic Courtès
2021-04-12Add (guix ipfs).•••This module allows for communicating with the IPFS gateway over the HTTP interface. The commit has been cherry-picked from <https://issues.guix.gnu.org/33899>. The procedures for adding and restoring file trees have been removed as according to a reply issue 33899, a different format will be used. The procedure 'add-data' has been exported as it will be used in the system test for IPFS. * guix/ipfs.scm: New file. * Makefile.am (MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ludovic Courtès
2021-04-11scripts: system: Default to -v3 when building a system.•••This is a followup to 8f9052d5434a3a11e7b4ff14d6b0090256e08aa4. * guix/scripts/system.scm (verbosity-level): Change the default from 2 to 3 when building a system. Mark H Weaver
2021-04-10git: Update cached checkout to the remote HEAD by default.•••Fixes <https://bugs.gnu.org/45187>. Reported by Ricardo Wurmus <rekado@elephly.net>. update-cached-checkout hard codes "master" as the default branch, leading to a failure when the clone doesn't have a "master" branch. Instead use the remote HEAD symref as an indicator of what the primary branch is. * guix/git.scm (resolve-reference): Support resolving symrefs. (update-cached-checkout, latest-repository-commit): Change the default for REF to the empty list and translate it to the remote HEAD symref. (<git-checkout>): Change branch field's default to #f. (git-checkout-compiler): When branch and commit fields are both #f, call latest-repository-commit* with the empty list as the ref. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Kyle Meyer
2021-04-10build-system/qt: Fix wrapping with QTWEBENGINEPROCESS_PATH.•••This is a follow up commit to 06eb21856f, which added QTWEBENGINEPROCESS_PATH to the list of wrapped variables. Unfortunately it wouldn't be set, as its value is a plain file rather than a directory, and the code only checked for directories. * guix/build/qt-build-system.scm (variables-for-wrapping): Define a file type entry for each variable definition, and use it to determine if we should look for directories versus plain files. Maxim Cournoyer
2021-04-09import: go: Append version to symbol name in the pinned version mode.•••This allows importing packages with complicated version specific dependency chains without the package symbol names colliding. * doc/guix.texi (Invoking guix import): Document the --pin-versions option. Mention that a specific version can be imported. Remove the experimental warning. * guix/import/go.scm (go-module->guix-package-name)[version]: Add optional argument. Rewrite the character translation in terms of string-map. (go-module->guix-package): Conditionally use dependencies whose symbol include their version, based no the value of the PIN-VERSIONS? argument. * guix/import/utils.scm (package->definition): Add a new case where the full version string is appended to the package symbol. * guix/scripts/import.scm (guix-import): Correctly print forms starting with '(define-public [...]'. * guix/scripts/import/go.scm (guix-import-go): Conditionally include the version in the package symbols defined. Maxim Cournoyer
2021-04-09import: go: Add an option to use pinned versions.•••The ability to pin versions is handy when having to deal to packages that bootstrap themselves through a chain of former versions. Not using pinned versions in these case could introduce dependency cycles. * guix/build-system/go.scm (guix) (%go-version-rx): Rename to... (%go-pseudo-version-rx): ... this. Simplify the regular expression, which in turns makes it more robust. * guix/build-system/go.scm (go-version->git-ref): Adjust following the above rename. (go-pseudo-version?): New predicate. (go-module-latest-version): Rename to ... (go-module-version-string): ... this. Rename goproxy-url argument to just goproxy. Add a VERSION keyword argument, update docstring and adjust to have it used. (go-module-available-versions): New procedure. (%go.mod-require-directive-rx): Document regexp. (parse-go.mod): Harmonize the way dependencies are recorded to a list of lists rather than a list of pairs, as done for other importers. Rewrite to directly pass multiple values rather than a record object. Filter the replaced modules in a functional style. (go-module->guix-package): Add docstring. [version, pin-versions?]: New arguments. Rename the GOPROXY-URL argument to GOPROXY. Adjust to the new returned value of fetch-go.mod, which is a string. Fail when the provided version doesn't exist. Return a list dependencies and their versions when in pinned versions mode, else just the dependencies. (go-module-recursive-import)[version, pin-versions?]: New arguments. Honor the new arguments and guard against network errors. * guix/scripts/import/go.scm (%default-options): Register a default value for the goproxy argument. (show-help): Document that a version can be specified. Remove the --version argument and add a --pin-versions argument. (%options)[version]: Remove option. [pin-versions]: Add option. (guix-import-go): Adjust so the version provided from the module name is honored, along the new pin-versions? argument. * tests/go.scm: Adjust and add new tests. Maxim Cournoyer
2021-04-09import: go: Improve synopsis and description parsing.•••* guix/import/go.scm (%strict-tokenizer?): Set parameter to #t. (go-path-escape): Redefine to prevent inlining. (http-get*): Replace by ... (http-fetch*): this ... (json-fetch*): New procedure. (go.pkg.dev-info): Use http-fetch*. (go-package-licenses): Rewrite in terms of go.pkg.dev-info. (go-package-description): Likewise. (go-package-synopsis): Likewise. (fetch-go.mod): Use the memoized http-fetch*. (parse-go.mod): Adjust to receive content as a string. (fetch-module-meta-data): Adjust to use http-fetch*. (go-module->guix-package): Adjust to the modified fetch-go.mod return value. [inputs]: Use propagated inputs, which is the most common situations for Go libraries. [description]: Beautify description. [licenses]: Do no check for #f. The result of the license parsing is always a list. * tests/go.scm: Adjust following above changes. Maxim Cournoyer
2021-04-09import: utils: Refactor maybe-inputs and add maybe-propagated-inputs.•••* guix/import/utils.scm (maybe-inputs)[type]: New argument. Update docstring. The argument is used to derive the input field name to use. (maybe-native-inputs): Adjust to use the above. (maybe-propagated-inputs): New procedure. Maxim Cournoyer
2021-04-09daemon: 'guix substitute' replies on FD 4.•••This avoids the situation where error messages would unintentionally go to stderr and be wrongfully interpreted as a reply by the daemon. Fixes <https://bugs.gnu.org/46362>. This is a followup to ee3226e9d54891c7e696912245e4904435be191c. * guix/scripts/substitute.scm (display-narinfo-data): Add 'port' parameter and honor it. (process-query): Likewise. (process-substitution): Likewise. (%error-to-file-descriptor-4?, with-redirected-error-port): Remove. (%reply-file-descriptor): New variable. (guix-substitute): Remove use of 'with-redirected-error-port'. Define 'reply-port' and pass it to 'process-query' and 'process-substitution'. * nix/libstore/build.cc (SubstitutionGoal::handleChildOutput): Swap 'builderOut' and 'fromAgent'. * nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter): Likewise. * tests/substitute.scm <top level>: Set '%reply-file-descriptor' rather than '%error-to-file-descriptor-4?'. Ludovic Courtès
2021-04-09build-system/gnu: Give #:bootstrap-scripts a valid default.•••Commit 9cfc93be30c516fd6fa32915c61c06e03f23a011 changed the default value of #:bootstrap-scripts to #f, which is invalid (it must be a list of strings). That default value was used by build systems that inherit phases from 'gnu-build-system', such as 'qt-build-system', which would lead to wrong-type-arg errors in the 'boostrap' phase. Reported by Raghav Gururajan <rg@raghavgururajan.name>. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): Change #:bootstrap-scripts to default to it. * guix/build-system/gnu.scm (%bootstrap-scripts): Change value. (gnu-build): #:bootstrap-scripts defaults to %bootstrap-scripts. Remove call to 'sexp->gexp'. (gnu-cross-build): Likewise. Ludovic Courtès
2021-04-08build-system/qt: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed.•••Suggested by Maxim Cournoyer <maxim.cournoyer@gmail.com>. * guix/build/qt-build-system.scm (variables-for-wrapping): Add "QTWEBENGINEPROCESS_PATH". Ludovic Courtès
2021-04-08build-system/qt: Wrappers only include relevant directories to XDG_DATA_DIRS.•••Fixes <https://bugs.gnu.org/47569>. Previously the wrapper's XDG_DATA_DIRS would contain any input that had a /share sub-directory, which is usually all build-time inputs. * guix/build/qt-build-system.scm (variables-for-wrapping)[collect-sub-dirs]: Add 'selectors' parameter and honor it. Change caller to handle selectors. Add selectors for /share. Ludovic Courtès
2021-04-08gnu-maintenance: 'sourceforge' updater reuses the same connection.•••* guix/gnu-maintenance.scm (latest-sourceforge-release): Call 'open-socket-for-uri' upfront. Pass #:port and #:keep-alive? to 'http-head'. Wrap body in 'dynamic-wind' and call 'close-port' upon exit. Ludovic Courtès
2021-04-06lint: refresh: Warn about missing or dysfunctional updaters.•••This feedback should help us improve updaters. * guix/lint.scm (check-for-updates): Return a warning when PACKAGE lacks an updater or when the updater returns #f. Ludovic Courtès
2021-04-06upstream: 'package-latest-release' tries all the matching updaters.•••* guix/upstream.scm (package-latest-release): Try UPDATERS until one of them returns an upstream source. This is useful for packages with several matching updaters, such a zlib ('sourceforge' and 'generic-html'). Ludovic Courtès
2021-04-06gnu-maintenance: Add 'sourceforge' updater.•••This updater currently covers 2.4% of the packages. * guix/gnu-maintenance.scm (latest-sourceforge-release): New procedure. (%sourceforge-updater): New variable. * doc/guix.texi (Invoking guix refresh): Document it. Ludovic Courtès
2021-04-05gnu-maintenance: Recognize more source tarball naming schemes.•••* guix/gnu-maintenance.scm (%package-name-rx): Add ".src" and ".orig" suffixes. * tests/gnu-maintenance.scm ("release-file?"): Add mpg321 and bvi examples. ("tarball->version"): New test. Ludovic Courtès
2021-04-05utils: 'tarball-sans-extension' recognizes ".tgz".•••* guix/utils.scm (tarball-sans-extension): Add ".tgz". Ludovic Courtès
2021-04-05gnu-maintenance: Remove unused procedure.•••* guix/gnu-maintenance.scm (savannah-package?): Remove. Ludovic Courtès
2021-04-05gnu-maintenance: 'generic-html' updates packages with the right property.•••* guix/gnu-maintenance.scm (html-updatable-package?): Return true for packages with a 'release-monitoring-url' property. This allows us to cater for packages with source fetched over, say, FTP, but with an HTML page to monitor. Ludovic Courtès
2021-04-04import: go: Replace underscores with hyphens in package names.•••As per section '16.4.2 Package Naming' in the manual, use hypens instead of underscores in package names. * guix/import/go.scm (go-module->guix-package-name): Replace underscores with hyphens. Signed-off-by: Leo Famulari <leo@famulari.name> Xinglu Chen
2021-04-02git: Remove unused variables.•••This is a followup to 298f9d29d6c26e408a90d08d147d926aa6f81ab3, which left those variables despite being unnecessary. * guix/git.scm (clone*, update-cached-checkout): Remove unused 'auth-method' variable. Ludovic Courtès
2021-04-02gnu: Add node-lts.•••* gnu/packages/node.scm (node-lts): New variable. * guix/build-system/node.scm (default-node): Use it. Jelle Licht
2021-04-02build-system: Rewrite node build system.•••* guix/build/node-build-system.scm: Rewrite it. * guix/build-system/node.scm: Adjust accordingly. * gnu/packages/node-xyz.scm (node-semver): Likewise. Co-authored-by: Timothy Sample <samplet@ngyro.com> Jelle Licht
2021-04-01build-system/qt: Convert phases to a gexp if needed.•••Fixes a bug whereby the "/gnu/store/.*qmlcachegen" string in the 'ktouch' phases would incorrectly be interpreted as a store item, leading to an error while trying to build it: $ ./pre-inst-env guix build ktouch -d --no-grafts guix build: error: path ‘/gnu/store/.*qmlcachegen’ is not valid Reported by Christopher Baines. * guix/build-system/qt.scm (qt-build)[builder]: If PHASES is a pair, pass it to 'sexp->gexp'. Ludovic Courtès
2021-04-01build-system/android-ndk: Pass #:bootstrap-scripts to build phases.•••Fixes a regression introduced in 9cfc93be30c516fd6fa32915c61c06e03f23a011. * guix/build-system/android-ndk.scm (android-ndk-build): Pass #:bootstrap-scripts to 'android-ndk-build'. Ludovic Courtès
2021-04-01build-system/android-ndk: Fix reference to "android-build".•••Regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. * guix/build-system/android-ndk.scm (android-ndk-build): Call 'gexp-input-thing' on the item taken from INPUTS. Ludovic Courtès
2021-04-01scripts: show: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/show.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: search: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/search.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: repl: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/repl.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: publish: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/publish.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: edit: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/edit.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: download: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/download.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: discover: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/discover.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01scripts: describe: Replace 'args-fold*' by 'parse-command-line'.•••* guix/scripts/describe.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-04-01lint: Warn about single-character package names.•••A common-sense exception is made for R. * guix/lint.scm (check-name): New procedure. (%local-checkers): Add it. Tobias Geerinckx-Rice via Bug reports for GNU Guix
2021-03-31scripts: Scripts that defaulted to -v2 now default to -v3.•••This is a followup to e45ef9a648c155c35b51e6b15049a1bd5416f0a1. * guix/scripts/archive.scm (%default-options): Change 'verbosity' to 3. * guix/scripts/build.scm (%default-options): Likewise. * guix/scripts/copy.scm (%default-options): Likewise. Ludovic Courtès