summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2020-05-25compile: Do not optimize "gnu/tests/*".Ludovic Courtès
* guix/build/compile.scm (optimization-options): Add "gnu/tests/" to level 0.
2020-05-21build: asdf-build-system: Use SBCL source in CL packages.Pierre Neidhardt
* guix/build/asdf-build-system.scm (copy-files-to-output): Don't attempt to reset timestamps on files without write access. (install): When parent SBCL package is in the inputs, use its source. This way we get possibly patched sources in CL packages as well (e.g. for FFI). This is also useful for sources that generate files on load-op, like cl-unicode. * guix/build-system/asdf.scm (package-with-build-system): Forward the SBCL parent as a native input so that it can be used in the above install phase.
2020-05-18build: minify-build-system: Fail to install empty files.Efraim Flashner
* guix/build/minify-build-system.scm (install): Produce an error if the minified file is zero bytes.
2020-05-15syscalls: Adjust 'sockaddr-in', 'sockaddr-in6' structs for the Hurd.Jan (janneke) Nieuwenhuizen
* guix/build/syscalls.scm (sockaddr-in,sockaddr-in6): Rename to ... (sockaddr-in/linux, sockaddr-in6/linux): ... this. Rename introduced bindings as well. (write-socket-address!/linux,read-socket-address/linux): Rename from (write-socket-address!, read-socket-address): ... new switches between those and ... (write-socket-address!/hurd, read-socket-address/hurd): ... these new function.
2020-05-14syscalls: Add 'getxattr'.Jan (janneke) Nieuwenhuizen
* guix/build/syscalls.scm (getxattr): New procedure. * tests/syscalls.scm ("getxattr, setxattr"): Test it, together with setxattr.
2020-05-13compile: Reduce optimization levels for gnu/services and gnu/packages.Ludovic Courtès
* guix/build/compile.scm (optimization-options)[strip-option] [override-option]: New procedures. Add case for "gnu/services". Change "gnu/packages" to '-O0 -Opartial-eval'.
2020-05-13syscalls: Add 'setxattr'.Jan (janneke) Nieuwenhuizen
* guix/build/syscalls.scm (setxattr): New procedure. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-05-08Merge branch 'core-updates'Marius Bakke
2020-05-07build-system/emacs: Hide the 'delete' binding from (guix build utils).Marius Bakke
This gets rid of a warning from 'compute-guix-derivation.drv' when running on Guile 3.0. (guix build emacs-build-system) includes (srfi srfi-1) anyway. * guix/build/emacs-build-system.scm: Do not import 'delete' from (guix build utils).
2020-05-07syscalls: Add ioctl flags for the Hurd.Jan (janneke) Nieuwenhuizen
Use #include <stdio.h> #include <net/if.h> #include <hurd/ioctl.h> int main () { printf ("SIOCSIFFLAGS #x%x\n", SIOCSIFFLAGS); printf ("SIOCGIFADDR #x%x\n", SIOCGIFADDR); printf ("SIOCSIFADDR #x%x\n", SIOCSIFADDR); printf ("SIOCGIFNETMASK #x%x\n", SIOCGIFNETMASK); printf ("SIOCSIFNETMASK #x%x\n", SIOCSIFNETMASK); #if 0 printf ("SIOCADDRT #x%x\n", SIOCADDRT); printf ("SIOCDELRT #x%x\n", SIOCDELRT); #endif } to fill in some blanks. Adding and removing route apparently not supported. * guix/build/syscalls.scm (SIOCSIFFLAGS SIOCGIFADDR, SIOCSIFADDR, SIOCGIFNETMASK, SIOCSIFNETMASK):
2020-05-06Merge branch 'master' into core-updatesMarius Bakke
2020-05-05syscalls: 'define-c-struct' supports cross-compilation.Ludovic Courtès
Reported by Jan (janneke) Nieuwenhuizen <janneke@gnu.org>. Before that, we'd always use the 'sizeof' and 'alignof' value obtained from the host at macro-expansion time. * guix/build/syscalls.scm (sizeof*, alignof*): When the target word size differs from the host word size, emit a call to 'sizeof'/'alignof'.
2020-05-05Merge branch 'master' into core-updatesMarius Bakke
2020-05-05build: store-copy: Export file-size procedure.Mathieu Othacehe
* guix/build/store-copy.scm (file-size): Export it.
2020-04-29Merge branch 'master' into stagingJakub Kądziołka
2020-04-24Merge branch 'master' into core-updatesMarius Bakke
2020-04-23compile: Pre-load the compiler outside 'with-target'.Ludovic Courtès
* 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'.
2020-04-23Merge branch 'master' into core-updatesMarius Bakke
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
2020-04-20syscalls: Fix Linux detection in 'readdir*'.Julien Lepiller
* guix/build/syscalls.scm (readdir*): Fix Linux detection for `arm-unknown-linux-gnueabihf'.
2020-04-19Merge branch 'master' into core-updatesMarius Bakke
2020-04-16syscalls: 'readdir*' chooses between the Linux and Hurd code at run time.Ludovic Courtès
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.
2020-04-13Merge branch 'master' into core-updatesMarius Bakke
2020-04-12build: julia-build-system: Update for new Julia version.nixo
* 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>
2020-04-08Merge branch 'master' into core-updatesMarius Bakke
Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm
2020-04-08build-system/go: Allow providing additional build flagsJakub Kądziołka
* guix/build-system/go.scm (build-flags): New argument. * guix/build/go-build-system.scm (build): Use apply to pass the additional arguments to invoke.
2020-04-08compile: Run the load phase within 'with-target'.Ludovic Courtès
* guix/build/compile.scm (compile-files)[build]: Remove 'with-target'. Wrap body in 'with-target'.
2020-04-02bournish: Prevent inlining of run-time support procedures.Ludovic Courtès
On Guile 3, those procedures could be inlined, leading to unbound-variable errors: scheme@(guile-user)> ,bournish Welcome to Bournish, a minimal Bourne-like shell! To switch back, type `,L scheme'. bournish@(guile-user)> ls ice-9/boot-9.scm:1669:16: In procedure raise-exception: Unbound variable: ls-command-implementation Reported by Ricardo Wurmus. * guix/build/bournish.scm (define-command-runtime): New macro. (ls-command-implementation, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): Use it instead of 'define'.
2020-03-29Merge branch 'master' into stagingJakub Kądziołka
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-23cargo-build-system: Accept a #:features argumentJakub Kądziołka
* guix/build/cargo-build-system.scm (build, install): Pass the features to cargo. (check): Remove indirection layer for consistency with build and install. * guix/build-system/cargo.scm (cargo-build): New argument; pass it into the builder. * gnu/packages/rust-apps.scm (ripgrep): Use the new argument instead of a custom phase.
2020-03-22build: emacs-utils: Add an option to select scoping for batch eval.Maxim Cournoyer
In Emacs 27, --eval now evaluates using lexical scoping. This change adds an option to select dynamic scoping, by using a workaround proposed in <https://bugs.gnu.org/39823>. * guix/build/emacs-utils.scm (emacs-batch-eval): Add a DYNAMIC? keyword argument. Wrap the EXPR with a call to EVAL that makes use of the argument to select the scoping mode. (emacs-generate-autoloads): Use it.
2020-03-22build-system: linux-module: Fix cross compilation.Mathieu Othacehe
* guix/build-system/linux-module.scm (default-kmod, default-gcc): Delete procedures. (system->arch): New procedure. (make-linux-module-builder)[native-inputs]: Move linux... [inputs]: ...to here. (linux-module-build-cross): New procedure. (linux-module-build): Add TARGET. Pass TARGET and ARCH to build side. (lower): Allow cross-compilation. Move "linux" and "linux-module-builder" to host-inputs. Add target-inputs. Call linux-module-build-cross if TARGET is set, linux-module-build otherwise. * guix/build/linux-module-build-system.scm (configure): Add ARCH argument. (linux-module-build): Adjust comment. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-03-22syscalls: 'with-file-lock' re-grabs lock when reentering its dynamic extent.Ludovic Courtès
* guix/build/syscalls.scm (call-with-file-lock) (call-with-file-lock/no-wait): Initialize PORT in the 'dynamic-wind' "in" handler. This allows us to re-enter a captured continuation and have the lock grabbed anew.
2020-03-22download: Delete the output file upon failure.Ludovic Courtès
This allows ENOSPC conditions to be properly reported as such rather than as a hash mismatch due to the availability of a truncated file. Fixes <https://bugs.gnu.org/39993>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. * guix/build/download.scm (url-fetch): In the failure case, delete FILE.
2020-03-14Merge branch 'master' into core-updatesMarius Bakke
2020-03-11download: Remove (web http) workarounds no longer relevant.Ludovic Courtès
* guix/build/download.scm <top level>: Remove workarounds for <https://bugs.gnu.org/23421> and for <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>.
2020-03-04Merge branch 'master' into core-updatesMarius Bakke
2020-02-28build-system: copy-build-system: Keep symlinks symbolic.Leo Prikler
guix/build/copy-build-system.scm (install)[install-file]: Read symlinks as is done in install-simple through copy-recursively. Signed-off-by: Pierre Neidhardt <mail@ambrevar.xyz>
2020-02-27emacs-build-system: Byte compile the autoload files.Maxim Cournoyer
* guix/build/emacs-build-system.scm (enable-autoloads-compilation) (validate-compiled-autoloads): Add procedures. (%standard-phases): Register the new procedures. * gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-find-autoloads): Remove duplicates in the list of autoload files found. * guix/build/emacs-utils.scm (expr->string): Add procedure. (emacs-batch-eval, emacs-batch-edit-file): Use it.
2020-02-25build-system/linux-module: Disable depmod.Danny Milosavljevic
* guix/build/linux-module-build-system.scm (install): Disable depmod.
2020-02-25guix: node-build-system: Do not symlink /bin.Julien Lepiller
* guix/build/node-build-system.scm (install): Do not add a symlink for /bin.
2020-02-21build-system: Add copy-build-system.Pierre Neidhardt
* guix/build-system/copy.scm: New file. * guix/build/copy-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'copy-build-system'.
2020-02-17Add (guix build gnu-bootstrap).Timothy Sample
* guix/build/gnu-bootstrap.scm: New file. * Makefile.am (MODULES): Add it.
2020-02-17utils: Change 'patch-shebang' to not try to patch Rust source files.Danny Milosavljevic
* guix/build/utils.scm (patch-shebang): Match only absolute paths.
2020-02-16build: gnu-build-system: Adjust NOCONFIGURE variable.Efraim Flashner
This ia a follow-up to 481a0f1a7ceac666a011b28324220584ead07698. * guix/build/gnu-build-system.scm (bootstrap): Set NOCONFIGURE for all bootstrap scripts. Clean up variable after use.
2020-02-16build-system/gnu: Don't try executing directories in bootstrap phase.Brendan Tildesley
* guix/build/gnu-build-system.scm: (bootstrap): Change the file-exists? procedure to one that excludes directories, so that we do not mistake it for a script. For example if the source includes a bootstrap/ directory. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-02-16build: gnu-build-system: Don't run configure during bootstrap.Efraim Flashner
* guix/build/gnu-build-system.scm (bootstrap): Add NOCONFIGURE environment variable before running bootstrap scripts.
2020-02-14Merge branch 'master' into core-updatesMarius Bakke
2020-02-11build: go-build-system: Disable Go module support.Jack Hill
This allows for upgrading the Go compiler without overhauling go-build-system first. * guix/build/go-build-system.scm (setup-go-environment): Set GO111MODULE to off. Signed-off-by: Alex Griffin <a@ajgrf.com>
2020-02-03Merge branch 'staging' into core-updatesMarius Bakke