summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2019-03-10build-system/gnu: Copy license files to all the outputs.Ludovic Courtès
Fixes <https://bugs.gnu.org/34702>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/gnu-build-system.scm (install-license-files)[copy-to-directories]: New procedure. Call it to copy license files to all the outputs.
2019-03-10build-system/gnu: Always look for license files in the source tree.Ludovic Courtès
Fixes <https://bugs.gnu.org/31103>. * guix/build/gnu-build-system.scm (install-license-files): Add #:out-of-source?. [find-source-directory]: New procedure. Use it to Determine the source directory and look for license files there.
2019-03-01Merge branch 'staging' into core-updatesMarius Bakke
2019-03-01Merge branch 'master' into stagingMarius Bakke
2019-03-01gnu: rust: Factor out "cargo-utils" from "cargo-build-system".Ivan Petkov
* guix/build/cargo-utils.scm: New file. * Makefile.am (MODULES): Add it. * guix/build-system/cargo.scm (%cargo-utils-modules): New variable. (%cargo-build-system-modules): Use it. * guix/build/cargo-build-system.scm (file-sha256, generate-checksums): Move from here... * guix/build/cargo-utils.scm: ...to here. * gnu/packages/rust.scm (rust-1.19.0)[arguments]<#:imported-modules>: Use %cargo-utils-modules. <#:phases>[patch-cargo-checksums]: Use (guix build cargo-utils). * gnu/packages/gnuzilla.scm (icecat): [arguments]<#:imported-modules>: Use %cargo-utils-modules. <#phases>[patch-cargo-checksums]: import (guix build cargo-utils). Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-02-20Merge branch 'staging' into core-updatesMarius Bakke
2019-02-14guix: ruby-build-system: Fix removal of extension related files.Christopher Baines
This functionality was broken, possibly to do with the vendor related changes in the ruby build system. These changes restore the file removal functionality at the end of the install phase. * guix/build/ruby-build-system.scm (install): Fix removal of files related to native extensions.
2019-02-14guix: ruby-build-system: Do gem install --verbose.Christopher Baines
This is helpful as it displays more information about what gem install is doing, especially for packages with native extensions. * guix/build/ruby-build-system.scm (install): Add --verbose to gem install command.
2019-02-14gnu: ruby-build-system: Change extract-gemspec to always return #t.Christopher Baines
* guix/build/ruby-build-system.scm (extract-gemspec): Return #t right at the end, rather than returning #<unspecified> when not handling a gem archive.
2019-02-09Merge branch 'master' into core-updatesMarius Bakke
2019-02-09Merge branch 'staging'Ludovic Courtès
2019-02-08guix: Add wrap-script.Ricardo Wurmus
* guix/build/utils.scm (wrap-script): New procedure. (&wrap-error): New condition. (wrap-error?, wrap-error-program, wrap-error-type): New procedures. * tests/build-utils.scm ("wrap-script, simple case", "wrap-script, with encoding declaration", "wrap-script, raises condition"): New tests.
2019-02-06Merge branch 'master' into core-updatesRicardo Wurmus
2019-02-04gnu: dune: Update to 1.6.3.Gabriel Hondet
* gnu/packages/ocaml.scm (dune): Update to 1.6.3. * guix/build/dune-build-system.scm (build): Use --libdir. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2019-01-29build-system/gnu: Report invocation errors in a human-friendly way.Ludovic Courtès
* guix/build/utils.scm (report-invoke-error): New procedure. * guix/build/gnu-build-system.scm (gnu-build): Guard against 'invoke-error?'.
2019-01-29utils: Switch to the new 'setvbuf' API.Ludovic Courtès
* guix/build/utils.scm (setvbuf) [(and guile-2 (not guile-2.2))]: New procedure. (remove-store-references): Use the 2.2 'setvbuf' API style. * guix/build/gnu-build-system.scm (gnu-build): Likewise.
2019-01-26download: Ask not to use TLS 1.3.Ludovic Courtès
Works around <https://bugs.gnu.org/34102>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/build/download.scm (tls-wrap): Add "-VERS-TLS1.3" to the priority string when (gnutls-version) is not prefixed by "3.5".
2019-01-22compile: Let compiler warnings through during the load phase.Ludovic Courtès
Previous warnings and errors such as those raised by (guix records) would not be displayed during the load phase. * guix/build/compile.scm (load-files): Remove 'parameterize' around 'resolve-interface' call. (compile-files)[build]: Move 'with-fluids' for *CURRENT-WARNING-PREFIX* to... <top level>: ... here.
2019-01-20profiles: Allow a profile to be added as an entry of another profile.Ludovic Courtès
* guix/build/profiles.scm (build-etc/profile): When 'OUTPUT/etc/profile' already exists, delete it first. (build-profile): Likewise for 'OUTPUT/manifest'. * tests/profiles.scm ("profile in profile"): New test.
2019-01-17syscalls: 'device-in-use?' returns #f upon EINVAL.Ludovic Courtès
This mirrors the behavior of the 'fdisk_device_is_used' function of util-linux. * guix/build/syscalls.scm (device-in-use?): Return #f upon EINVAL.
2019-01-17syscalls: 'device-in-use?' does not create a port.Ludovic Courtès
* guix/build/syscalls.scm (device-in-use?): Use 'open-fdes' rather than 'open-file'.
2019-01-17build: syscalls: Add device-in-use?.Mathieu Othacehe
This new procedure uses BLKRRPART to determine whether or not a device is busy. It is useful when a device does not appear as mounted but is maybe used by the kernel. This is the case with overlayfs lowerdir backend device for example. * guix/build/syscalls.scm (device-in-use?): New exported procedure.
2019-01-10build-system: texlive: Do not hide build output.Ricardo Wurmus
* guix/build/texlive-build-system.scm (compile-with-latex): Use "nonstopmode" instead of "batchmode".
2019-01-10build-system: texlive: Do not truncate lines.Ricardo Wurmus
* guix/build/texlive-build-system.scm (configure): Set environment variables to prevent build output lines from being truncated.
2019-01-09Remove most uses of the _IO*F constants.Ludovic Courtès
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.
2019-01-09download: Remove Guile 2.0 workaround.Ludovic Courtès
* guix/build/download.scm: Remove Guile 2.0 workaround.
2019-01-09maint: Remove 'cond-expand' forms for Guile 2.0.Ludovic Courtès
Note: Leave 'cond-expand' forms used in the build-side modules that can run on %BOOTSTRAP-GUILE, which is currently Guile 2.0. * guix/build/compile.scm: Move 'use-modules' clause from 'cond-expand' to 'define-module' form. (%default-optimizations): Remove 'cond-expand'. * guix/build/download.scm (tls-wrap): Remove 'cond-expand'. * guix/build/syscalls.scm: Remove 'cond-expand' form around '%set-automatic-finalization-enabled?!' and 'without-automatic-finalization'. * guix/inferior.scm (port->inferior): Remove 'cond-expand'. * guix/scripts/pack.scm (wrapped-package)[build]: Remove 'cond-expand'. * guix/status.scm (build-event-output-port): Remove 'cond-expand'. * guix/store.scm (open-inet-socket): Remove 'cond-expand'. * guix/ui.scm (install-locale): Remove 'cond-expand'. * tests/status.scm ("current-build-output-port, UTF-8 + garbage"): Remove 'cond-expand'. * tests/store.scm ("current-build-output-port, UTF-8 + garbage"): Remove 'cond-expand'.
2019-01-07Remove (guix build pull).Ludovic Courtès
This module had been unused since commit 5f93d97005897c2d859f0be1bdff34c88467ec61 (Oct. 2017). * guix/build/pull.scm: Delete. * Makefile.am (MODULES): Remove.
2019-01-06git-download: Use 'invoke'.Ludovic Courtès
* guix/build/git.scm (git-fetch): Use 'invoke' instead of 'system*' for "git submodule update".
2019-01-06git-download: 'git-fetch' really returns #f upon error.Ludovic Courtès
This allows the fallback code in (guix git-download) to actually run. Regression introduced in commit 329dabe13bf98b899b907b45565434c5140804f5. Fixes <https://bugs.gnu.org/33911>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * guix/build/git.scm (git-fetch): Guard against 'invoke-error?' and really return #f upon failure.
2018-12-20Merge branch 'master' into core-updatesLudovic Courtès
2018-12-18build: Add dune-build-system.Julien Lepiller
* guix/build/dune-build-system.scm, guix/build-system/dune.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document dune-build-system. * guix/build-system/ocaml.scm (lower, default-findlib, default-ocaml): Export them. (package-with-explicit-ocaml): Also transform packages built with dune-build-system.
2018-12-11Merge branch 'master' into core-updatesMarius Bakke
2018-12-03hg-fetch: Remove .hg directories of sub-repositories.Björn Höfling
* guix/build/hg.scm (hg-fetch): Remove all .hg directories recursively.
2018-11-25build-system: python: Do not double wrap executables.Arun Isaac
* guix/build/python-build-system.scm (wrap): Only wrap executables that have not already been wrapped. * guix/build/utils.scm (wrapper?): New function.
2018-11-20Merge branch 'master' into core-updatesMarius Bakke
2018-11-19build-system: Add 'clojure-build-system'.Alex Vong
* guix/build-system/clojure.scm, guix/build/clojure-build-system.scm: New files. * guix/build/clojure-utils.scm (@*, @@*): New macros. (%source-dirs, %test-dirs, %compile-dir, %main-class, %omit-source?, %aot-include, %aot-exclude, %tests?, %test-include, %test-exclude, %clojure-regex): New variables. (package-name->jar-names, canonicalize-relative-path, find-files*, file-sans-extension, relative-path->clojure-lib-string, find-clojure-libs, compiled-from?, include-list\exclude-list, eval-with-clojure, create-jar): New procedures. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'clojure-build-system'.
2018-11-19guix: Add clojure-utils.Alex Vong
* guix/build/clojure-utils.scm: New file. * gnu/packages/lisp.scm (clojure)[arguments]: Use it. * Makefile.am (MODULES): Add it.
2018-11-18build-system/ocaml: Use invoke and return #t.Julien Lepiller
* guix/build/ocaml-build-system.scm (configure, build, check, install) (prepare-install): Use invoke and return #t.
2018-11-14Merge branch 'master' into core-updatesMarius Bakke
2018-11-13build-system/dub: Let all phases return #T unconditionally.Ricardo Wurmus
* guix/build/dub-build-system.scm (configure, build, check): Return #T unconditionally; use INVOKE.
2018-11-12build-system/haskell: Fix register phase.Ricardo Wurmus
This is a follow-up to commit a7e231a2a3edbd6a70949432c1ff434d87f625ff. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/build/haskell-build-system.scm (register): Use "when" instead of "unless".
2018-11-12build-system/go: Plan removal of the pkg folder for go-1.11 onward.Pierre Neidhardt
* guix/build/go-build-system.scm (install): New comment.
2018-11-07Merge branch 'master' into core-updatesMarius Bakke
2018-11-06store-copy: Canonicalize the mtime and permissions of the store copy.Ludovic Courtès
Fixes a bug whereby directories in the output of 'guix pack -f tarball' would not be read-only. * guix/build/store-copy.scm (reset-permissions): New procedure. (populate-store): Pass #:keep-mtime? #t to 'copy-recursively'. Call 'reset-permissions'. * tests/pack.scm ("self-contained-tarball"): In CHECK, define 'canonical?' and use it to check that every file has an mtime of 1 and is read-only. * tests/guix-pack.sh: Invoke "chmod -Rf +w" before "rm -rf" in trap.
2018-11-05Merge branch 'master' into core-updatesMarius Bakke
2018-10-28git-download: Print a message when falling back to a full fetch.Maxim Cournoyer
Otherwise the user might believe that git-fetch stalled, observing the lack of output following a 'fatal' git error message (see: https://debbugs.gnu.org/33100). * guix/build/git.scm (git-fetch): Print message when falling back to a full fetch.
2018-10-21Merge branch 'core-updates' into core-updates-nextJan Nieuwenhuizen
2018-10-19java-utils: Use 'strip-store-file-name'.Alex Vong
See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00250.html>. * guix/build/java-utils.scm (package-name-version): Remove it. (install-javadoc): Use 'strip-store-file-name' instead of 'package-name-version'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-10-19build-system/haskell: Use 'strip-store-file-name'.Alex Vong
See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00250.html>. * guix/build/haskell-build-system.scm (package-name-version): Remove it. (configure): Use 'strip-store-file-name' instead of 'package-name-version'. (setup-compiler): Likewise. (make-ghc-package-database): Likewise. (register): Likewise. * gnu/packages/haskell.scm (ghc-cairo)[arguments]: Likewise. * gnu/packages/agda.scm (agda)[arguments]: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>