summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2019-05-01Merge branch 'master' into core-updatesMarius Bakke
2019-04-30guix: Fix another typo in another docstring.Tobias Geerinckx-Rice
* guix/build/clojure-utils.scm (include-list\exclude-list)<docstring>: Fix typo.
2019-04-30guix: Fix typo in docstring.Tobias Geerinckx-Rice
* guix/build/syscalls.scm (device-in-use?)<docstring>: Fix typo.
2019-04-29file-systems: Support the 'no-atime' flag.rendaw
* guix/build/syscalls.scm (MS_NOATIME): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Support it. * doc/guix.texi (File Systems): Document it and add cross-references to the relevant documentation. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-04-28Merge branch 'staging'Ludovic Courtès
2019-04-27self: Rebuild translated manuals.Julien Lepiller
* 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.
2019-04-25gnu, guix: Yearly ritual purging of the filesystems.Tobias Geerinckx-Rice
* gnu/packages/android.scm (android-ext4-utils)[synopsis]: Fix ‘file system’ spelling. * gnu/packages/disk.scm (rmlint)[synopsis, description]: Likewise. * gnu/packages/golang.scm (go-github-com-kr-fs)[synopsis, description]: Likewise & edit for grammar. * gnu/packages/ipfs.scm (gx, go-ipfs)[description]: Likewise. * /gnu/packages/java.scm (java-commons-vfs)[synopsis]: Likewise. * gnu/packages/linux.scm (fuseiso)[description]: Likewise. (genext2fs)[synopsis, description]: Likewise. * gnu/packages/package-management.scm (libostree)[description]: Likewise. * gnu/packages/python-xyz.scm (python-requests-file)[description]: Likewise & mark up. * gnu/packages/rails.scm (ruby-with-advisory-lock)[description]: Likewise. * gnu/packages/ruby.scm (ruby-rerun)[description]: Likewise. * guix/build/go-build-system.scm (setup-go-environment)<docstring>: Likewise. * guix/store/deduplication.scm (get-temp-link)<docstring>: Likewise.
2019-04-23Merge branch 'master' into stagingMarius Bakke
2019-04-18guile-build-system: Support building in parallel.Christopher Baines
* guix/build/guile-build-system.scm (build): Use invoke-each, instead of for-each, to use multiple cores if available. (invoke-each, report-build-process): New procedures.
2019-04-18build-system/python: Move the check phase after the install phase.Maxim Cournoyer
A reproducibility problem was discovered while packaging python-pygithub where the bytecode produced by running the tests would interfere with the result of the install phase byte compilation. Moving the check phase after the install phase solves the problem. * guix/build/python-build-system.scm (%standard-phases): Add comment, move the check phase after the install phase.
2019-04-17Merge branch 'master' into stagingMarius Bakke
2019-04-12build-system/linux-module: Configure module like the kernel.Danny Milosavljevic
* guix/build/linux-module-build-system.scm (configure): New procedure. (%standard-phases): Add "configure" phase.
2019-04-12build-system/linux-module: Support module source versioning.Danny Milosavljevic
* guix/build-system/linux-module.scm (make-linux-module-builder) [native-inputs]: Add linux. [arguments]<#:phases>[install]: Install "System.map" and "Module.symvers". * guix/build/linux-module-build-system.scm (configure): Delete procedure. (%standard-phases): Delete "configure" phase.
2019-04-11Add (guix build-system linux-module).Danny Milosavljevic
* guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * doc/guix.texi (Build Systems): Document it. * Makefile.am (MODULES): Add them.
2019-04-09build-system/cargo: refactor phases to successfully buildIvan Petkov
* guix/build-system/cargo.scm (%cargo-build-system-modules): Add (json parser). (cargo-build): [vendor-dir]: Define flag and pass it to builder code. [cargo-test-flags]: Likewise. [skip-build?]: Likewise. * guix/build/cargo-build/system.scm (#:use-module): use (json parser). (package-name->crate-name): Delete it. (manifest-targets): Add it. (has-executable-target?): Add it. (configure): Add #:vendor-dir name and use it. Don't touch Cargo.toml. Don't symlink to duplicate inputs. Remove useless registry line from cargo config. Define RUSTFLAGS to lift lint restrictions. (build): Add #:skip-build? flag and use it. (check): Likewise. Add #:cargo-test-flags and pass it to cargo. (install): Factor source logic to install-source. Define #:skip-build? flag and use it. Only install if executable targets are present. (install-source): Copy entire crate directory not just src. [generate-checksums] pass dummy file for unused second argument. (%standard-phases): Add install-source phase. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-04-01Merge branch 'master' into stagingMarius Bakke
2019-03-28Revert "build-system/ruby: Use invoke."Efraim Flashner
This reverts commit 0244952c11c0409597fce5c39dfbcafdfd2ea651. We prefer 'invoke', but the custom error handling works better with the code as-is.
2019-03-28build-system/ruby: Use invoke.Efraim Flashner
* guix/build/ruby-build-system.scm (install): Use invoke.
2019-03-23Merge branch 'staging' into core-updatesMarius Bakke
2019-03-23guix: dune-build-system: Add a package parameter.Julien Lepiller
* guix/build-system/dune.scm: Add a package parameter. * guix/build/dune.scm (build, test, install): Use it. * doc/guix.texi: Document it.
2019-03-23Merge branch 'master' into stagingMarius Bakke
2019-03-23build: Add rakudo-build-system.Efraim Flashner
* guix/build-system/rakudo.scm, guix/build/rakudo-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build System): Document it.
2019-03-21Merge branch 'master' into stagingMarius Bakke
2019-03-14build-system/go: Build with a filesystem union of Go dependencies.Leo Famulari
This basically changes (guix build-system go) so that instead of looking up its dependencies in a list of directories in $GOPATH, all the Go dependencies are symlinked into a single directory. Fixes <https://bugs.gnu.org/33620>. * guix/build/go-build-system.scm (setup-go-environment): New variable. (setup-environment, install-source): Remove variables. (unpack): Unpack the source relative to $GOPATH. (install): Do not install the compiled objects in the 'pkg' directory. Install the source code in this phase, and only install the source of the package named by IMPORT-PATH. * doc/guix.texi (Build Systems): Adjust accordingly. * gnu/packages/docker.scm (docker): Import (guix build union) on the build side and adjust to build phase name changes in (guix build-system go). * gnu/packages/shellutils.scm (direnv): Likewise. * gnu/packages/databases.scm (mongo-tools)[arguments]: Set '#:install-source #f'. * gnu/packages/music.scm (demlo)[arguments]: Move the 'install-scripts' phase after the 'install' phase.
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.