summaryrefslogtreecommitdiff
path: root/guix/self.scm
Commit message (Collapse)AuthorAge
* etc: Add "bordeaux.guix.gnu.org.pub" public key file.Christopher Baines2021-06-07
| | | | | | | * etc/substitutes/bordeaux.guix.gnu.org.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/self.scm (miscellaneous-files): Add "share/guix/bordeaux.guix.gnu.org.pub".
* self: Add dependency on Disarchive.Ludovic Courtès2021-05-14
| | | | | | | | | 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'.
* self: Build with 'guile-3.0-latest'.Ludovic Courtès2021-05-13
| | | | | * guix/self.scm (specification->package): Use 'guile-3.0-latest' instead of 'guile-3.0/libgc-7'.
* download: Use Disarchive as a last resort.Timothy Sample2021-04-29
| | | | | | | | | | | | | | | | | | | | | | This is a fixed version of 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2, which was reverted in e74250c3c535b75dd2225a26df51febb7ed94654. * guix/download.scm (%disarchive-mirrors): New variable. (%disarchive-mirror-file): New variable. (built-in-download): Add 'disarchive-mirrors' keyword argument and pass its value along to the 'builtin:download' derivation. (url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'. * guix/scripts/perform-download.scm (perform-download): Read Disarchive mirrors from the environment and pass them to 'url-fetch'. * guix/build/download.scm (disarchive-fetch/any): New procedure. (url-fetch): Add 'disarchive-mirrors' keyword argument, use it to make a list of URIs, and use the new procedure to fetch the file if all other methods fail. * build-aux/build-self.scm (build-program)[select?]: Exclude '(guix build download)'. * guix/self.scm (compiled-guix)[*core-modules*]: Add 'guile-json' to the list of extensions.
* import: Add Go importer.Katherine Cox-Buday2021-03-10
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds a 'guix import go' command. * doc/guix.texi (Requirements): Mention Guile-Lib dependency. (Invoking guix import): Document 'guix import go'. * gnu/packages/package-management.scm (guix)[inputs, propagated-inputs]: Add GUILE-LIB. * guix/self.scm (compiled-guix)[guile-lib]: New variable. [dependencies]: Add it. (specification->package): Add "guile-lib". * guix/build-system/go.scm (go-version->git-ref): New procedure. * guix/import/go.scm, guix/scripts/import/go.scm, tests/go.scm: New files. * guix/scripts/import.scm: Declare subcommand guix import go * po/guix/POTFILES.in: Add 'guix/scripts/import/go.scm'. * Makefile.am (MODULES): Add 'guix/import/go.scm' and 'guix/scripts/import/go.scm'. (SCM_TESTS): Add 'tests/go.scm'. Co-Authored-By: Helio Machado <0x2b3bfa0@gmail.com> Co-Authored-By: Francois Joulaud <francois.joulaud@radiofrance.com> Co-Authored-By: Maxim Cournoyer <maxim.cournoyer@gmail.com> Co-Authored-by: Ludovic Courtès <ludo@gnu.org>
* channels: Record 'guix' channel metadata in (guix config).Ludovic Courtès2021-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | Partially fixes <https://bugs.gnu.org/45896>. * guix/config.scm.in (%channel-metadata): New variable. * guix/describe.scm (channel-metadata): Use it. (current-channels): New procedure. (current-profile-entries): Clarify docstring. * guix/self.scm (compiled-guix): Add #:channel-metadata and pass it to 'make-config.scm'. (make-config.scm): Add #:channel-metadata and define '%channel-metadata' in the generated file. (guix-derivation): Add #:channel-metadata and pass it to 'compiled-guix'. * guix/channels.scm (build-from-source): Replace 'name', 'source', and 'commit' parameters with 'instance'. Pass #:channel-metadata to BUILD. (build-channel-instance): Adjust accordingly. * build-aux/build-self.scm (build-program): Add #:channel-metadata and pass it to 'guix-derivation'. (build): Add #:channel-metadata and pass it to 'build-program'. * guix/scripts/describe.scm (display-profile-info): Add optional 'channels' parameter. Pass it to 'display-profile-content'. (display-profile-content): Add optional 'channels' parameter and honor it. Iterate on CHANNELS rather than on the manifest entries of PROFILE. (guix-describe): When PROFILE is #f, call 'current-channels' and pass it to 'display-profile-info', unless it returns the empty list.
* self: Add dependency on guile-zstd.Ludovic Courtès2021-01-14
| | | | | | * guix/self.scm (specification->package): Add "guile-zstd". (compiled-guix)[guile-zstd]: New variable. [dependencies]: Add it.
* graph: Install JavaScript files.Ludovic Courtès2021-01-04
| | | | | | | | | | | | | | | Until now, 'guix graph --backend=d3js' wouldn't work outside the build tree. * d3.v3.js: Move to... * guix/d3.v3.js: ... here. * graph.js: Move to... * guix/graph.js: ... here. * Makefile.am (nobase_dist_guilemodule_DATA): Add them. (EXTRA_DIST): Remove them. * guix/graph.scm (emit-d3js-prologue, emit-d3js-epilogue): Adjust 'search-path' argument accordingly. * guix/self.scm (compiled-guix)[*extra-modules*]: Pass them via #:extra-files.
* self: Remove the empty string from '%load-extensions'.Ludovic Courtès2020-12-11
| | | | * guix/self.scm (guix-command): Set '%load-extensions'.
* self: Move Guile early in the module search path.Ludovic Courtès2020-12-11
| | | | | | | | | Until now, Guile modules would first be searched for in MODULE-DIRECTORY, then in each $GUILE_LOAD_PATH entry, and finally in Guile itself. * guix/self.scm (guix-command): Make GUILE the second entry in the %LOAD-PATH and %LOAD-COMPILED-PATH.
* self: Factorize package dependency enumeration.Ludovic Courtès2020-12-03
| | | | | * guix/self.scm (transitive-package-dependencies): New procedure. (compiled-guix)[dependencies]: Use it.
* gnu: guile-semver: Switch to Guile 3.0.Ludovic Courtès2020-12-03
| | | | | | * gnu/packages/guile-xyz.scm (guile-semver)[inputs]: Use GUILE-3.0. (guile3.0-semver): Define in terms of 'deprecated-package'. (guile2.2-semver): New variable.
* guix: self: Add guile-semver as a depenedency.Martin Becze2020-12-02
| | | | * guix/self.scm (compiled-guix): Add guile-semver as a depenedency.
* self: Fix guile-avahi lookup.Mathieu Othacehe2020-11-29
| | | | | | | This is a follow-up of 375cc7dea20da7117c9459e4a4d15144095e015b. * guix/self.scm (specification->package): Search for "guile-avahi" in (gnu package guile-xyz).
* Add Avahi support.Mathieu Othacehe2020-11-29
| | | | | | | | | | | | * guix/avahi.scm: New file. * Makefile.am (MODULES): Add it. * configure.ac: Add Guile-Avahi dependency. * doc/guix.texi (Requirements): Document it. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-avahi", [propagated-inputs]: ditto. * guix/self.scm (specification->package): Add guile-avahi. (compiled-guix): Ditto.
* self: Limit the number of threads used when translating manuals.Ludovic Courtès2020-11-16
| | | | | | * guix/self.scm (translate-texi-manuals)[build](parallel-jobs): New variable. Use it as first argument to 'n-par-for-each'.
* self: Use a 'guile' that doesn't complain about locales.Ludovic Courtès2020-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit ba48895899a117d6ace2209c3f54411a4a989133, selected UTF-8 locales are bundled. However, because 'guix-command' is itself a Guile script, users would still see Guile's warning, particularly on foreign distros: $ LC_ALL=sdf guix foo guile: warning: failed to install locale hint: Consider installing the `glibc-utf8-locales' [...] User commands would print that warning, but more importantly, each invocation of 'guix substitute' would print it, even though 'guix-daemon.service' explicitly chooses "en_US.utf8", which is in 'glibc-utf8-locales'. This leads to confusion since users would keep seeing this message unless/until they realize they also need to install 'glibc-utf8-locales' in root's profile. This patch gets rid of "guile: warning: ..." for a guix-pulled 'guix' command. * guix/self.scm (specification->package): Add "gcc-toolchain". (quiet-guile): New procedure. (guix-command): Use it. * gnu/packages/aux-files/guile-launcher.c: New file. * Makefile.am (AUX_FILES): Add it.
* gnu: Replace uses of 'guile3.0-gnutls' by 'gnutls'.Ludovic Courtès2020-09-25
| | | | | | | * gnu/packages/package-management.scm (guix)[propagated-inputs]: Use GNUTLS instead of GUILE3.0-GNUTLS. (guix-daemon)[inputs]: Likewise. * guix/self.scm (specification->package): Likewise.
* Remove (guix json) and require Guile-JSON 4.3.0+.Ludovic Courtès2020-09-08
| | | | | | | | | | | | | | This is a followup to 4071879c86d059ee087c8986915ea72b8c742b72. * guix/json.scm: Remove. * Makefile.am (MODULES): Adjust accordingly. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): Check for 'define-json-mapping'. * doc/guix.texi (Requirements): Require Guile-JSON 4.3.0+. * guix/ci.scm, guix/cve.scm, guix/import/cpan.scm, guix/import/crate.scm, guix/swh.scm: Remove (guix json) import. * guix/import/gem.scm, guix/import/pypi.scm: Likewise, and import (json). * guix/self.scm (specification->package): Switch to GUILE-JSON-4. * guix/git-download.scm (git-fetch): Likewise.
* Use "guile-zlib" and "guile-lzlib" instead of (guix config).Mathieu Othacehe2020-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it.
* maint: Remove traces of "berlin.guixsd.org".Ludovic Courtès2020-07-10
| | | | | | | | | | | | | | The guixsd.org domain is no longer advertised since before in 1.0.0 release in May 2019. * etc/substitutes/berlin.guixsd.org.pub: Rename to... * etc/substitutes/berlin.guix.gnu.org.pub: ... this. * etc/substitutes/ci.guix.gnu.org.pub, etc/substitutes/ci.guix.info.pub: Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. * guix/build/download-nar.scm (urls-for-item): Likewise. * guix/self.scm (miscellaneous-files): Likewise. * Makefile.am (dist_pkgdata_DATA): Likewise.
* self: Parallelize translation of the manual.Ludovic Courtès2020-06-23
| | | | | | | | The guix-translated-texinfo.drv execution time goes from 1mn42s with 1 core to 1mn8s with 4 cores. * guix/self.scm (translate-texi-manuals)[build]: Use 'n-par-for-each' instead of 'for-each' for translation.
* self: Move statements after definitions in translation derivation.Ludovic Courtès2020-06-23
| | | | | * guix/self.scm (translate-texi-manuals)[build]: Move statements after definitions.
* self: Speed up Texinfo cross-reference translation.Ludovic Courtès2020-06-23
| | | | | | | | | | | Building guix-translated-texinfo.drv goes from 11mn to 1mn50s, most of which is taken by po4a. * guix/self.scm (translate-texi-manuals)[build](make-ref-regex): Remove. (canonicalize-whitespace): New procedure. (xref-regexp): New variable. (translate-cross-references): Rewrite to iterate over the cross-references rather than iterating over the msgids. Update caller.
* self: Optimize 'file-append*' for 'local-file?'.Ludovic Courtès2020-05-25
| | | | | * guix/self.scm (file-append*): Add 'local-file?' case. * guix/gexp.scm (local-file-select?): Export.
* Merge branch 'master' into core-updatesMarius Bakke2020-04-23
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: etc/news.scm gnu/local.mk gnu/packages/bootloaders.scm gnu/packages/linphone.scm gnu/packages/linux.scm gnu/packages/tls.scm gnu/system.scm
| * self: Build and install 'guix-cookbook.info' and its translations.Ludovic Courtès2020-04-21
| | | | | | | | | | | | * guix/self.scm (translate-texi-manuals)[build]: Translate and install guix-cookbook.texi. (info-manual)[build]: Handle "guix-cookbook*.texi".
| * self: translate-texi-manuals: Add 'available-translations'.Ludovic Courtès2020-04-21
| | | | | | | | | | | | * guix/self.scm (translate-texi-manuals)[build](available-translations): New procedure. Use it rather than directly calling 'find-files' & co.
| * self: translate-texi-manuals: Don't hardcode "guix.texi".Ludovic Courtès2020-04-21
| | | | | | | | | | * guix/self.scm (translate-texi-manuals)[build](translate-texi): Add 'prefix' and #:extras parameters and honor them. Adjust callers.
* | guix: self: Use guile with libgc-7.Christopher Baines2020-04-18
| | | | | | | | | | | | | | | | | | | | Rather than libgc version 8. This should avoid crashes that can occur, particularly when loading data in to the Guix Data Service [1]. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525 * gnu/packages/guile.scm (guile-3.0/libgc-7): New variable. * guix/self.scm (specification->package): Use guile-3.0/libgc-7 for guile.
* | Merge branch 'master' into core-updatesMarius Bakke2020-04-13
|\|
| * self: Prevent inlining of internal procedures used by 'doc/build.scm'.Ludovic Courtès2020-04-13
| | | | | | | | | | | | | | | | | | This allows 'doc/build.scm' to keep using '@@' for these. (This sets a bad example, don't follow it.) * guix/self.scm (prevent-inlining!): New macro. <top level>: Use it for 'file-append*', 'translate-texi-manuals', and 'info-manual'.
* | gnu: Default to Guile 3.0.Ludovic Courtès2020-03-16
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes three things: 1. package derivations are built using Guile 3.0; 2. 'gexp->derivation' defaults to Guile 3.0; 3. "guile3.0-" packages are deprecated aliases for the regular package, which now depends on Guile 3.0; "guile2.2-" packages are introduced; "guile-next" is renamed to "guile". * gnu/packages/guile.scm (guile-2.0/fixed): Remove. (guile-3.0/fixed): New variable. (package-for-guile-3.0): Remove. (package-for-guile-2.2): New variable. (define-deprecated-guile3.0-package): New macro. (guile-3.0)[name]: Change to "guile". (guile-json-3)[native-inputs, inputs]: New fields. (guile2.2-json): New variable. (guile3.0-json): Deprecate. (guile-gdbm-ffi)[native-inputs]: Switch to GUILE-3.0. (guile2.2-gdbm-ffi): New variable. (guile3.0-gdbm-ffi): Deprecate. (guile-sqlite3): Switch to GUILE-3.0. (guile2.2-sqlite3): New variable. (guile3.0-sqlite3): Deprecate. (guile-bytestructures): Switch to GUILE-3.0. (guile2.2-bytestructures): New variable. (guile3.0-bytestructures): Deprecate. (guile-git): Switch to GUILE-3.0. (guile2.2-git): New variable. (guile3.0-git): Deprecate. (guile-2.2/bug-fix): * gnu/packages/ci.scm (cuirass): Switch to GUILE-3.0. * gnu/packages/emacs-xyz.scm (emacs-guix): Switch to GUILE-3.0. * gnu/packages/gtk.scm (guile-cairo)[arguments]: New field. Switch to GUILE-3.0. (guile2.2-cairo): New variable. (guile3.0-cairo): Deprecate. (guile-rsvg): Switch to GUILE-3.0. (guile2.2-cairo): New variable. (guile3.0-cairo): Deprecate. (guile-present): Switch to GUILE-3.0. (guile2.2-present): New variable. (guile3.0-present): Deprecate. (guile-gnome)[propagated-inputs]: Use GUILE2.2-CAIRO and GUILE2.2-LIB. * gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Add #:configure-flags. Switch to GUILE-3.0. (guile2.2-fibers): New variable. (guile3.0-fibers): Deprecate. (guile-syntax-highlight): Switch to GUILE-3.0. (guile2.2-syntax-highlight): New variable. (guile3.0-syntax-highlight): Deprecate. (guile-colorized): Switch to GUILE-3.0. (guile2.2-colorized): New variable. (guile3.0-colorized): Deprecate. (guile-pfds): Switch to GUILE-3.0. (guile2.2-pfds): New variable. (guile3.0-pfds): Deprecate. (guile-simple-zmq): Switch to GUILE-3.0. (guile2.2-simple-zmq): New variable. (guile3.0-simple-zmq): Deprecate. (guile-newt): Switch to GUILE-3.0. (guile2.2-newt): New variable. (guile3.0-newt): Deprecate. (guile-parted): Switch to GUILE-3.0. (guile2.2-parted): New variable. (guile3.0-parted): Deprecate. (guile-config): Switch to GUILE-3.0. (guile2.2-config): New variable. (guile3.0-config): Deprecate. (guile-hall): Switch to GUILE-3.0. (guile2.2-hall): New variable. (guile3.0-hall): Deprecate. (guile-ics): Switch to GUILE-3.0. (guile2.2-ics): New variable. (guile3.0-ics): Deprecate. (guile-wisp)[arguments]: Add 'support-guile-3.0' phase. Switch to GUILE-3.0. (guile2.2-wisp): New variable. (guile3.0-wisp): Deprecate. (guile-lib): Switch to GUILE-3.0. (guile2.2-lib): New variable. (guile3.0-lib): Deprecate. (guile-minikanren): Switch to GUILE-3.0. (guile2.2-minikanren): New variable. (guile3.0-minikanren): Deprecate. (guile-irregex): Switch to GUILE-3.0. (guile2.2-irregex): New variable. (guile3.0-irregex): Deprecate. (haunt): Switch to GUILE-3.0, and remove GUILE-READER. (guile2.2-haunt): New variable. (guile3.0-haunt): Deprecate. (guile-commonmark): Switch to GUILE-3.0. (guile2.2-commonmark): New variable. (guile3.0-commonmark): Deprecate. (mcron): Switch to GUILE-3.0. (guile2.0-mcron): New variable. (guile3.0-mcron): Deprecate. (guile-picture-language): Switch to GUILE-3.0. (guile2.2-picture-language): New variable. (guile3.0-picture-language): Deprecate. (guile-gi): Switch to GUILE-3.0. (guile2.2-gi): New variable. (guile3.0-gi): Deprecate. (guile-hashing): Switch to GUILE-3.0. (guile2.2-hashing): New variable. (guile3.0-hashing): Deprecate. * gnu/packages/package-management.scm (guix): Switch to GUILE-3.0. (guile2.2-guix): New variable. (guile3.0-guix): Deprecate. (gwl): Replace "guile3.0-" with "guile-". (guix-jupyter)[source]: Adjust for Guile 3.0. Switch to GUILE-3.0. * gnu/packages/ssh.scm (guile-ssh): Switch to GUILE-3.0. (guile2.2-ssh): New variable. (guile3.0-ssh): Deprecate. * gnu/packages/admin.scm (shepherd): Switch to GUILE-3.0. (guile2.2-shepherd): New variable. (guile3.0-shepherd): Deprecate. * gnu/packages/mail.scm (mailutils): Switch to GUILE-3.0. (guile2.2-mailutils): New variable. (guile3.0-mailutils): Deprecate. * gnu/packages/plotutils.scm (guile-charting): Switch to GUILE-3.0. (guile2.2-charting): New variable. (guile3.0-charting): Deprecate. * gnu/packages/version-control.scm (libgit2): Switch to GUILE-3.0. * gnu/packages/vpn.scm (vpnc-scripts): Switch to GUILE-3.0. * gnu/packages/web.scm (guix-data-service): Switch to GUILE-3.0. (hpcguix-web): Switch to GUILE-3.0. * guix/self.scm (specification->package): Refer to the "guile-" variants instead of "guile3.0-". * guix/gexp.scm (default-guile): Change to GUILE-3.0. * build-aux/build-self.scm (build): #:guile-version defaults to "3.0". * gnu/packages/commencement.scm (guile-final): Base on GUILE-3.0/FIXED.
* self: Build with Guile 3.0.Ludovic Courtès2020-01-23
| | | | | | | * guix/self.scm (specification->package): Return the "guile3.0-" variants. (guix-derivation): Change 'guile' to (specification->package "guile"). Pass "3.0" as #:guile-version.
* compile: Remove incorrect exports.Ludovic Courtès2020-01-23
| | | | | | | | This is a followup to fed36328129def5f10b1d1f3e4ea8886916fd22a. * guix/build/compile.scm: Remove exports of '%lightweight-optimizations' and '%default-optimizations'. * guix/self.scm: Remove unused (guix build compile) module.
* Merge branch 'master' into core-updatesMarius Bakke2019-09-27
|\
| * self: Mark trivial "-modules" derivations as non-substitutable.Ludovic Courtès2019-09-26
| | | | | | | | | | | | | | | | The resulting nar takes ~500KiB and it's quicker to build it locally than to download it. * guix/self.scm (node-source+compiled): Pass #:options to 'computed-file'.
* | Merge branch 'master' into core-updatesMarius Bakke2019-07-31
|\|
| * maint: Switch to Guile-JSON 3.x.Ludovic Courtès2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise.
* | Merge branch 'master' into core-updatesLudovic Courtès2019-07-17
|\|
| * Use more guix.gnu.org.Tobias Geerinckx-Rice2019-07-16
| | | | | | | | | | | | * build-aux/build-self.scm (make-config.scm): Replace gnu.org/s/guix with guix.gnu.org. * guix/scripts/publish.scm (render-home-page): Likewise. * guix/self.scm (make-config.scm): Likewise.
* | Merge branch 'master' into core-updatesMarius Bakke2019-07-12
|\| | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/python-xyz.scm gnu/packages/xml.scm guix/gexp.scm po/guix/POTFILES.in
| * self: Ship the (gnu machine …) modules.Mark H Weaver2019-07-06
| | | | | | | | | | | | | | This is a followup to commit fa9edf09e992db7510c7471486dffc93e1e707e5. * guix/self.scm (compiled-guix)[*system-modules*]: Explicitly add all of gnu/machine/*.
* | Merge branch 'staging' into core-updatesMarius Bakke2019-07-02
|\|
| * etc: Remove hydra.gnu.org.pub key.Tobias Geerinckx-Rice2019-06-29
| | | | | | | | | | | | | | | | | | * etc/substitutes/hydra.gnu.org.pub: Delete file. * guix/self.scm (miscellaneous-files): Don't install it. * Makefile.am (dist_pkgdata_DATA): Remove it. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. (hydra-key-authorization): Rename to… (substitute-key-authorization): …this. Adjust only call site.
* | self: Don't build (guix tests …).Ludovic Courtès2019-06-15
|/ | | | | | | | | | Fixes a regression introduced in 03d76577b96ba81c9921eb3a297d42db8644280b whereby 'guix-extra.drv' would pull in (guix tests), which in turn would pull in a large number of (gnu packages …), which would fail to build due to missing .patch files. * guix/self.scm (compiled-guix)[*extra-modules*]: Exclude (guix tests …) from the list of modules.
* self: Fix unquoting.Ricardo Wurmus2019-05-28
| | | | | | This is a follow-up to commit dfc69e4b6d4bbc41a4d37b3cc6ea12adb34aaafa. * guix/self.scm (whole-package): Unquote %storedir in the daemon wrapper.
* self: Add dependency on lzlib.Ludovic Courtès2019-05-27
| | | | | | * guix/self.scm (compiled-guix): Pass #:lzlib to 'make-config.scm'. (make-config.scm): Add #:lzlib and honor it. (specification->package): Add "lzlib".
* self: 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir.Ludovic Courtès2019-05-26
| | | | | | | | | | | Fixes <https://bugs.gnu.org/35874>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. Previously, the 'guix-daemon' program provided by 'guix pull' would systematically use default directory locations for these. * guix/self.scm (whole-package)[wrap]: Set GUIX_STATE_DIRECTORY, GUIX_CONFIGURATION_DIRECTORY, and NIX_STORE_DIR.
* self: Remove unused variables.Ludovic Courtès2019-05-20
| | | | * guix/self.scm (info-manual)[po4a, gettext]: Remove.