summaryrefslogtreecommitdiff
path: root/guix/self.scm
Commit message (Collapse)AuthorAge
* 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.
* Add (guix lzlib).Pierre Neidhardt2019-05-06
| | | | | | | | | | | | | * guix/lzlib.scm, tests/lzlib.scm: New files. * Makefile.am (MODULES): Add guix/lzlib.scm. (SCM_TESTS): Add tests/lzlib.scm. * m4/guix.m4 (GUIX_LIBLZ_LIBDIR): New macro. * configure.ac (LIBLZ_LIBDIR): Use it. Define and substitute 'LIBLZ'. * guix/config.scm.in (%liblz): New variable. * guix/self.scm (make-config.scm): Add TODO comment. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* build: Change default substitute server to "ci.guix.gnu.org".Ludovic Courtès2019-05-01
| | | | | | | | | | | * config-daemon.ac: Replace "ci.guix.info" with "ci.guix.gnu.org". * doc/guix.texi (SUBSTITUTE-SERVER): Likewise. * etc/substitutes/ci.guix.gnu.org.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/scripts/build.scm (%default-log-urls): Update. * guix/scripts/substitute.scm (%default-substitute-urls): Likewise. * guix/store.scm (%default-substitute-urls): Likewise. * guix/self.scm (miscellaneous-files): Add "ci.guix.gnu.org".
* self: Rebuild translated manuals.Julien Lepiller2019-04-27
| | | | | | | * guix/self.scm (info-manual): Run po4a and related commands to generate translated texi files before building translated manuals. * guix/build/po.scm: New file. * Makefile.am (MODULES_NOT_COMPILED): Add it.
* self: Install 'guix.zh_CN.info'.Ludovic Courtès2019-04-25
| | | | | | | Reported by Julien Lepiller. * guix/self.scm (info-manual): Adjust file name regexp so that it matches *.zh_CN.texi.
* self: Remove unused variable.Ludovic Courtès2019-04-17
| | | | | | | | This variable is unused since commit 45779fa676419de8838cb26b6c7a24678a2be1cd. * guix/self.scm (%dependency-variables): Remove. * build-aux/build-self.scm (%dependency-variables): Remove.
* self: Ship all the (gnu bootloader …) modules.Ludovic Courtès2019-04-03
| | | | | * guix/self.scm (compiled-guix)[*system-modules*]: Explicitly add all of gnu/bootloader/*.
* self: Generated (guix config) honors %CURRENT-SYSTEM.Ludovic Courtès2019-02-17
| | | | | | | | Fixes <https://bugs.gnu.org/34468>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * guix/self.scm (%config-variables): Remove %SYSTEM. (make-config.scm): Define '%system' to (%current-system).
* self: Bundle 'glibc-utf8-locales'.Ludovic Courtès2019-02-16
| | | | | | | | This minimizes the risk of locale-related warnings, at least for those who use one of the bundled UTF-8 locales. * guix/self.scm (guix-command)[glibc-utf8-locales]: New variable. In program body, set GUIX_LOCPATH.
* self: Ensure the daemon refers to the right 'guix' command.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | Previously it would refer to /var/guix/profiles/per-user/root/current-guix/bin/guix, which would fail when that profile does not exist. This is notably the case when using 'channel-instance->package' as done in commit 7e6d8d366a61f951936ed83371877ce006f679f6. * gnu/packages/package-management.scm (guix-daemon)[arguments]: In 'install phase, honor environment variable 'GUIX'. * guix/self.scm (whole-package)[wrap]: New procedure. Use it.
* daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net>. * guix/config.scm.in (%state-directory): Change NIX_STATE_DIR to GUIX_STATE_DIRECTORY. (%store-database-directory): Change NIX_DB_DIR to GUIX_DATABASE_DIRECTORY. * nix/libstore/globals.cc (Settings::processEnvironment): Likewise. * guix/self.scm (make-config.scm): Likewise. * build-aux/build-self.scm (make-config.scm): Likewise. * build-aux/test-env.in: Likewise. * tests/derivations.scm ("derivation #:leaked-env-vars"): Likewise. * tests/guix-build.sh (GUIX_DAEMON_SOCKET): Likewise. * tests/guix-daemon.sh (socket): Likewise.
* self: Produce progress reports compatible with (guix status).Ludovic Courtès2019-01-29
| | | | | | * guix/self.scm (compiled-modules)[build](report-load) (report-compilation): Write "[M/N]" progress reports. Use line-buffering.
* self: System tests depend on CLI modules.Ludovic Courtès2019-01-22
| | | | | | | This is because (gnu tests docker) depends on (guix scripts pack). * guix/self.scm (compiled-guix)[*system-test-modules*]: Add dependency on *CLI-MODULES*.
* self: Remove leftover export.Ludovic Courtès2019-01-22
| | | | * guix/self.scm: Remove 'reload-guix' export.
* self: Build the (gnu tests …) modules.Ludovic Courtès2019-01-20
| | | | | | | * guix/self.scm (compiled-guix)[*system-modules*]: Remove gnu/tests/* from #:extra-files. [*system-test-modules*]: New variable. [build-modules]: Add them.
* self: Add gnu/tests/* to the installed files.Ludovic Courtès2019-01-19
| | | | * guix/self.scm (compiled-guix)[*system-modules*]: Add gnu/tests/*.
* installer: Move everything to the build side.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | * gnu/installer.scm: Rename to ... * gnu/installer/record.scm: ... this. * gnu/installer/build-installer.scm: Move everything to the build side and rename to gnu/installer.scm. * gnu/installer/newt.scm: Remove all the gexps and add depencies to newt modules as this code will only be used on the build side by now. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it, (dist_installer_DATA): New rule to install installer's aux-files. * gnu/system/install.scm (%installation-services): Use only 'installer-program' from (gnu installer). The installer is now choosen on the build side. * guix/self.scm (*system-modules*): Restore previous behaviour and add all installer files to #:extra-files field of the scheme-node. * po/guix/POTFILES.in: Adapt it.
* guix: self: Do not install (gnu system install).Mathieu Othacehe2019-01-17
| | | | | | | | As we do not want to add a dependency to newt and the graphical installer in (guix self), do not install (gnu system install). * guix/self.scm (*system-modules*): Remove (gnu system install) from "guix-system" scheme-node.
* self: Drop support for Guix < 0.15 on Guile 2.0.Ludovic Courtès2019-01-09
| | | | | | | | | | * guix/self.scm (false-if-wrong-guile, package-for-guile): Remove. (specification->package): Remove "guile2.0-" variants. (compiled-guix): #:guile-for-build defaults to (default-guile). Use 'specification->package' instead of 'package-for-guile'. (guile-for-build): Remove. (guix-derivation): Use 'default-guile' instead of 'guile-for-build'. Check whether we're running on Guile 2.0 with PULL-VERSION < 1.
* Remove most uses of the _IO*F constants.Ludovic Courtès2019-01-09
| | | | | | | | | | | | | | | | | | | | | | | | These constants, for use with 'setvbuf', were deprecated in Guile 2.2 and disappeared in Guile 3.0. Here we keep these constants in build-side code where removing them is not feasible. * guix/build/download-nar.scm (download-nar): Adjust 'setvbuf' calls to the Guile 2.2+ API. * guix/build/download.scm (open-socket-for-uri): Likewise. (open-connection-for-uri, url-fetch): Likewise. * guix/build/make-bootstrap.scm (make-stripped-libc): Likewise. * guix/build/union.scm (setvbuf) [guile-2.0]: New conditional wrapper. (union-build): Adjust to new API. * guix/ftp-client.scm (ftp-open, ftp-list, ftp-retr): Likewise. * guix/http-client.scm (http-fetch): Likewise. * guix/inferior.scm (proxy): Likewise. * guix/scripts/substitute.scm (fetch, http-multiple-get): Likewise. * guix/self.scm (compiled-modules): Likewise. * guix/ssh.scm (remote-daemon-channel, store-import-channel) (store-export-channel): Likewise. * guix/ui.scm (initialize-guix): Likewise. * tests/publish.scm (http-get-port): Likewise. * guix/store.scm (%newlines): Adjust comment.
* self: Compress Info files.Ludovic Courtès2019-01-08
| | | | | | | Fixes <https://bugs.gnu.org/33993>. Reported by Adonay Felipe Nogueira <adfeno@hyperbola.info>. * guix/self.scm (info-manual): Compress Info files.
* self: Move all modules into a single directory.Ludovic Courtès2019-01-07
| | | | | | | | | | | | | | | | | | | | This halves the number of elements in %LOAD-PATH and %LOAD-COMPILED-PATH and halves the number of 'stat' calls as reported by: env -i $(type -P guix) build -e '(@ (gnu packages base) coreutils)' -nd * guix/self.scm (node-source+compiled, guile-module-union): New procedures. (guix-command): Remove 'compiled-modules' parameter. Remove 'source-directories' and 'object-directories' variables and add 'module-directory'. Change command so that it adds nothing but MODULE-DIRECTORY to %LOAD-PATH and %LOAD-COMPILED-PATH. (whole-package): Remove #:compiled-modules. Assume MODULES contains 'share/guile/site' and 'lib/guile' and adjust code accordingly. (compiled-guix): When PULL-VERSION is 1, use 'node-source+compiled' only. Remove #:compiled-modules argument to 'whole-package'. * guix/channels.scm (whole-package-for-legacy): Add 'module+compiled' and pass it to 'whole-package'.
* hydra: Compute jobs in an inferior.Ludovic Courtès2019-01-06
| | | | | | | | | | | | | | Previously we would rely on auto-compilation of all the Guix modules. The complete evaluation would take ~15mn on berlin.guixsd.org and require lots of RAM. This approach should be faster since potentially only part of the modules are rebuilt. Furthermore, as a side-effect, it builds the derivations that 'guix pull' uses. * build-aux/hydra/gnu-system.scm: Remove 'eval-when' form. (hydra-jobs): New procedure. * gnu/ci.scm (package->alist, qemu-jobs, system-test-jobs) (tarball-jobs): Return strings for the 'license' field. * guix/self.scm (compiled-guix)[*cli-modules*]: Add (gnu ci).
* etc: Add "ci.guix.info.pub" public key file.Ludovic Courtès2018-12-04
| | | | | | | * etc/substitutes/ci.guix.info.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/self.scm (miscellaneous-files): Add "share/guix/ci.guix.info.pub".
* Merge branch 'core-updates'Ludovic Courtès2018-12-03
|\
| * Merge branch 'master' into core-updatesMarius Bakke2018-11-07
| |\
| * \ Merge branch 'master' into core-updatesMarius Bakke2018-10-17
| |\ \
| * \ \ Merge branch 'master' into core-updatesMarius Bakke2018-09-09
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesMarius Bakke2018-09-03
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2018-08-28
| |\ \ \ \ \
| * | | | | | gnu: guile: Remove version 2.2.2.Ludovic Courtès2018-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/guile.scm (guile-2.2.2): Remove. * guix/self.scm (guile-for-build): Remove special case for "2.2.2". (guix-derivation): Likewise. * build-aux/build-self.scm (build): Likewise.
| * | | | | | gnu: guile: Update to 2.2.4.Ludovic Courtès2018-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/guile.scm (guile-2.2): Update to 2.2.4. (guile-2.2.4): Remove. * gnu/packages/package-management.scm (guix)[inputs]: Switch to GUILE-2.2. * guix/self.scm (guile-for-build): Likewise.
* | | | | | | self: Provide UTF-8 locales when building the manual.Ludovic Courtès2018-12-02
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/33580>. Reported by <znavko@tutanota.com>. * guix/self.scm (info-manual)[glibc-utf8-locales]: New variable. [build]: Add call to 'setenv' for "GUIX_LOCPATH".
* | | | | | self: Install shell completion files.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/self.scm (miscellaneous-files): New procedure. (whole-package): Remove #:substitute-keys, add #:miscellany. [build]: Remove code for SUBSTITUTE-KEYS and add code to copy MISCELLANY to OUTPUT. (compiled-guix): Adjust call to 'whole-package'.