summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* compile: Pre-load the compiler outside 'with-target'.Ludovic Courtès2020-04-23
| | | | | | | | | | * guix/build/compile.scm (compile-files): Move call to 'compile' before 'with-target'. Failing to do that, if the target has a different word size than the host, the first call to 'compile-file' fails with: ice-9/eval.scm:293:34: In procedure load-thunk-from-memory: ELF file does not have native word size while attempting loading 'language/spec.go'.
* licenses: Export license record.zimoun2020-04-23
| | | | | | * guix/licenses.scm (<license>): Export it. Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
* git-version: Raise a condition instead of an error.Jakub Kądziołka2020-04-23
| | | | | | | * guix/git-download.scm (git-version): Replace ERROR with RAISE and CONDITION. This is a follow-up to commit bbf6bc1acc9bbdebf7ee7b68c0fa091733a5f6e1.
* git-version: Handle invalid arguments gracefullyJakub Kądziołka2020-04-23
| | | | * guix/git-download.scm (git-version): Add a check for commit ID length.
* profiles: Add #:name parameter to 'profile-derivation'.Ludovic Courtès2020-04-22
| | | | | * guix/profiles.scm (profile-derivation): Add #:name and pass it to 'gexp->derivation'.
* gexp: Add 'load-path?' field to <scheme-file>.Ludovic Courtès2020-04-22
| | | | | | | * guix/gexp.scm (<scheme-file>)[load-path?]: New field. (scheme-file): Add #:set-load-path? and honor it. (scheme-file-compiler): Pass #:set-load-path? to 'gexp->file'. * doc/guix.texi (G-Expressions): Document it.
* 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.
* packages: Recommend against the use of 'package-file'.Ludovic Courtès2020-04-21
| | | | | | * guix/packages.scm (package-file): Recommend against its use in the docstring. * doc/guix.texi (The Store Monad): Likewise.
* syscalls: Fix Linux detection in 'readdir*'.Julien Lepiller2020-04-20
| | | | | * guix/build/syscalls.scm (readdir*): Fix Linux detection for `arm-unknown-linux-gnueabihf'.
* tests: Invoke 'git' with a custom '.gitconfig' and ignore the system config.Ludovic Courtès2020-04-19
| | | | | | | | | | Fixes <https://bugs.gnu.org/37679>. Reported by Gábor Boskovits <boskovits@gmail.com>. * guix/tests/git.scm (call-with-environment-variables): New procedure. (with-environment-variables): New macro. (populate-git-repository)[git]: Wrap (git-command) invocation in 'call-with-temporary-directory' and 'with-environment-variables'.
* status: Remove extra space before ellipsis.Ludovic Courtès2020-04-19
| | | | | | | Extra space was introduced in 8fa4ac5be4d5f8a1e62635842b16486832ff49f1. * guix/status.scm (print-build-event): Remove extra space before ellipsis.
* gnupg: Accept revoked keys.Tobias Geerinckx-Rice2020-04-17
| | | | | | | | | | | | | | I (nckx) have revoked all RSA subkeys, in favour of my older and freshly-refreshed ECDSA ones. This was merely a precaution: to my knowledge all my RSA private keys have been carefully destroyed and were never compromised. This commit keeps ‘make authenticate’ happy. * guix/gnupg.scm (revkeysig-rx): New variable for revoked keys. (gnupg-verify): Parse it. (gnupg-status-good-signature?): Accept it as ‘good’ for our purposes. * build-aux/git-authenticate.scm (%committers): Clarify nckx's subkeys. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* ui: Fix typos, 80-col & grammar in comments & docstrings.Vincent Legoll2020-04-17
| | | | | | | | | | | * guix/ui.scm (load*): Fix comment line length. (leave-on-EPIPE): Fix typo in docstring. (substitutable-info): Fix typo in comment. (indented-string): Fix typo in docstring. (%package-metrics): Fix typo in comment. (run-guix): Fix grammar in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* status: Allow double-click select of URLs.TomZ2020-04-17
| | | | | | | | Various places while downloading or compiling guix prints the source URL. This change makes the URL easier to use by placing a space between the URL and the trailing dots. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* import/print: Don't factorize URI if there's no version match.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): If FACTORIZE-URI returns just the unmodified string use that as the URI.
* import/utils: alist->package: Include arguments.Ricardo Wurmus2020-04-16
| | | | | * guix/import/utils.scm (alist->package): Process arguments field in input data and include it in the generated package.
* import/json: json->code: Handle files with more than one definition.Ricardo Wurmus2020-04-16
| | | | | | * guix/import/json.scm (json->code): Convert JSON arrays to lists of package definitions. (json->scheme-file): Write all expressions to the target file.
* import/utils: alist->package: Ignore known inputs.Ricardo Wurmus2020-04-16
| | | | | | | * guix/import/utils.scm (alist->package): Accept optional list of known inputs, which are excluded from the specification lookup. * guix/import/print.scm (package->code)[package-lists->code]: Handle inputs which are just symbols.
* import/print: package->code: Wrap S-expression in definition.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): Return a definition, not just a package expression.
* import/json: Use json->code.Ricardo Wurmus2020-04-16
| | | | | * guix/import/json.scm (json->code): Export procedure. * guix/scripts/import/json.scm (guix-import-json): Use json->code.
* scripts/package: Handle JSON files.Ricardo Wurmus2020-04-16
| | | | | * guix/scripts/package.scm (%options): Support loading from JSON files when "install-from-file" is used.
* scripts/build: options->things-to-build: Handle .json files.Ricardo Wurmus2020-04-16
| | | | | * guix/scripts/build.scm (options->things-to-build): Handle files that end on .json.
* import/json: Add json->scheme-file.Ricardo Wurmus2020-04-16
| | | | * guix/import/json.scm (json->code, json->scheme-file): New procedures.
* import/print: package->code: Wrap build system value in module reference.Ricardo Wurmus2020-04-16
| | | | | * guix/import/print.scm (package->code): Return build system value with corresponding module.
* import/print: Return license with prefix.Ricardo Wurmus2020-04-16
| | | | * guix/import/print.scm (license->code): Prepend license: prefix.
* syscalls: 'readdir*' chooses between the Linux and Hurd code at run time.Ludovic Courtès2020-04-16
| | | | | | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/40574>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. Previously, we'd choose at expansion time whether to use the Hurd or the Linux variant, taking the cross-compilation target into account. This would lead to the wrong decision when (guix build syscalls) is evaluated while we're cross-compiling to GNU/Hurd. This is a followup to 1ab9e483391f8b62b873833ea71cb0074efa03e7. * guix/build/syscalls.scm (define-generic-identifier) (read-dirent-header, %struct-dirent-header, sizeof-dirent-header): Remove. (readdir*): Rename to... (readdir-procedure): ... this, and add parameters. (readdir*): Define as a call to 'readdir-procedure' as a function of %HOST-TYPE.
* Merge branch 'version-1.1.0'Ludovic Courtès2020-04-15
|\
| * weather: Delete duplicate entries coming from '--manifest'.Ludovic Courtès2020-04-14
| | | | | | | | * guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'.
* | 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'.
* | build: julia-build-system: Update for new Julia version.nixo2020-04-12
| | | | | | | | | | | | | | | | | | | | * guix/build/julia-build-system.scm (generate-load-path): Delete function. (install): Don't set JULIA_LOAD_PATH. (precompile): Set SOURCE_DATE_EPOCH. Update calculating the JULIA_LOAD_PATH. Adjust the 'invoke-julia' command. (check): Set SOURCE_DATE_EPOCH. Adjust JULIA_LOAD_PATH. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* | lint: 'check-patch-file-names' restricts to shorter file names.Ludovic Courtès2020-04-10
| | | | | | | | * guix/lint.scm (check-patch-file-names): Increase MARGIN.
* | lint: Check for inappropriate inputs in propagated-inputs too.Efraim Flashner2020-04-10
|/ | | | | * guix/lint.scm (check-inputs-should-be-native): Also check the propagated inputs of the package.
* download: Use correct system and guile in 'url-fetch/tarbomb' and ↵Diego Nicola Barbato2020-04-08
| | | | | | | | | | | | | | | | | | | | | | 'url-fetch/zipbomb'. Fixes <https://bugs.gnu.org/40115>. Previously the result of `guix build -s $system $package' would depend on the system Guix was built for if $package or one of its dependencies used 'url-fetch/tarbomb' or 'url-fetch/zipbomb' as the origin method of its source (e.g. `guix build -s i686-linux ffmpeg' on i686-linux would build a different derivation than on x86_64-linux). This patch fixes this by explicitly passing the correct system and guile to 'gexp->derivation'. * guix/download.scm (url-fetch/tarbomb): Pass #:system system and #:guile-for-build guile to 'gexp->derivation', where guile is the derivation of guile for system. (url-fetch/zipbomb): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* records: Have ABI check work well for cross-compilation.Ludovic Courtès2020-04-08
| | | | | | | Reported by Jan (janneke) Nieuwenhuizen <janneke@gnu.org>. * guix/records.scm (define-record-type*): Use 'target-most-positive-fixnum' on Guile 3 instead of 'most-positive-fixnum'.
* compile: Run the load phase within 'with-target'.Ludovic Courtès2020-04-08
| | | | | * guix/build/compile.scm (compile-files)[build]: Remove 'with-target'. Wrap body in 'with-target'.
* reconfigure: Correctly re-throw SRFI-34 exceptions on Guile 3.Ludovic Courtès2020-04-08
| | | | | | | | | | | | Previously, we'd just print an ugly backtrace when running on Guile 3 because the '%exception throw would not be caught anywhere. Reported by Arne Babenhauserheide <arne_bab@web.de> in <https://bugs.gnu.org/40496>. * guix/scripts/system/reconfigure.scm (install-bootloader-program): In 'catch' handler, match '%exception and use 'raise-exception' instead of 'throw' to rethrow in that case.
* Revert "Allow double-click select of URL in status"base-for-series-3466base-for-series-3465Marius Bakke2020-04-07
| | | | | | | As discussed on #guix, this should wait until 1.1.0 is branched off to avoid having to update translations. This reverts commit 9f1b787120b1b81abffaf0fa13fdbdf4cca39f2d.
* Allow double-click select of URL in statusTomZ2020-04-07
| | | | | | | | Various places while downloading or compiling guix prints the source URL. This change makes the URL easier to use by placing a space between the URL and the trailing dots. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* lint: 'm4' is a native input.Marius Bakke2020-04-07
| | | | * guix/lint.scm (check-inputs-should-be-native): Add "m4".
* channels: Call 'build-self.scm' procedure with a trivial build handler.Ludovic Courtès2020-04-06
| | | | | | | | | | Previously, "TESTS=installed-os guix build -m etc/system-tests.scm" would repeat the "Computing Guix derivation" phase ~5 times due to the fact that there were several call paths, within a build-accumulator, leading to (package-derivation store guix). * guix/channels.scm (with-trivial-build-handler): New procedure. (build-from-source): Wrap 'build' call in 'with-trivial-build-handler'.
* gnu: Move PACKAGES-WITH-*PATCHES to (guix packages)Carl Dong2020-04-06
| | | | | | | * gnu/packages/cross-base.scm (package-with-extra-patches, package-with-patches): Move procedures from here... * guix/packages.scm (package-with-extra-patches, package-with-patches): ...to here, and export.
* store: 'with-store' uses 'with-exception-handler'.Ludovic Courtès2020-04-05
| | | | | | | | | | This ensures the stack is not unwound before the exception is re-thrown, as was the case since 8ed597f4a261fe188de82cd1f5daed83dba948eb, leading to '&store-protocol-error' being uncaught by 'with-error-handling' in (guix scripts build) & co. * guix/store.scm (call-with-store): Define 'thunk'. Add 'cond-expand' to use 'with-exception-handler' on 'guile-3' and 'catch' otherwise.
* store: 'with-store' doesn't close the store upon abort.Ludovic Courtès2020-04-04
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/40428>. Reported by Marius Bakke <mbakke@fastmail.com> and 白い熊. Regression introduced with the first uses of 'with-build-handler' in commit 62195b9a8fd6846117c5d7698842748300d13e31 and subsequent. * guix/store.scm (call-with-store): Use 'catch #t' instead of 'dynamic-wind'. This ensures STORE remains open when a non-local exit other than an exception occurs, such as an abort to the build handler prompt. * tests/store.scm ("with-build-handler + with-store"): New test.
* pack: Pass the cross-compilation target to 'run-with-store'.Ludovic Courtès2020-04-03
| | | | | | | This ensures '%current-target-system' is correctly bound upfront, which some packages rely on. * guix/scripts/pack.scm (guix-pack): Pass #:target to 'run-with-store'.
* guix system: Mention 'herd restart' when reconfigure completes.Ludovic Courtès2020-04-03
| | | | | | | | * guix/scripts/system.scm (with-shepherd-error-handling): Use 'mbegin' instead of 'begin'. (perform-action): Print a message after 'upgrade-shepherd-services'. That message had disappeared in commit 5c8c8c455420af27189d6045b3599fe6e27ad012.
* guix system: Remove unused procedure.Ludovic Courtès2020-04-03
| | | | | | | This procedure was unused since 5c8c8c455420af27189d6045b3599fe6e27ad012. * guix/scripts/system.scm (call-with-service-upgrade-info): Remove.
* reconfigure: Silence Guile warnings.Ludovic Courtès2020-04-03
| | | | | | | | | Fixes <https://bugs.gnu.org/39301>. Reported by strypsteen@posteo.net. * guix/scripts/system/reconfigure.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Wrap 'primitive-load' call in 'parameterize'.
* Revert "reconfigure: Run the effect scripts as separate processes."Ludovic Courtès2020-04-03
| | | | | | This reverts commit 5517750344be05c91bc2979c1a0e2348a9ae902d. That commit would remove all sorts of error checking when running those programs.