Commit Graph

919 Commits

Author SHA1 Message Date
Marius Bakke 3b458d5462
Merge branch 'master' into core-updates 2019-05-01 23:11:41 +02:00
Tobias Geerinckx-Rice e13bd3088d
guix: Fix another typo in another docstring.
* guix/build/clojure-utils.scm (include-list\exclude-list)<docstring>:
Fix typo.
2019-04-30 14:13:50 +02:00
Tobias Geerinckx-Rice 88401314f9
guix: Fix typo in docstring.
* guix/build/syscalls.scm (device-in-use?)<docstring>: Fix typo.
2019-04-30 13:56:35 +02:00
rendaw 9d3053819d
file-systems: Support the 'no-atime' flag.
* 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-29 12:19:03 +02:00
Ludovic Courtès 7d62fa206b
Merge branch 'staging' 2019-04-28 14:45:35 +02:00
Julien Lepiller 554b30d2ac
self: Rebuild translated manuals.
* 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-27 17:13:18 +02:00
Tobias Geerinckx-Rice 52beae7b8a
gnu, guix: Yearly ritual purging of the filesystems.
* 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-25 04:42:16 +02:00
Marius Bakke 37da4fbe15
Merge branch 'master' into staging 2019-04-23 19:43:59 +02:00
Christopher Baines 3fdb9a375f
guile-build-system: Support building in parallel.
* 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-18 23:13:48 +01:00
Maxim Cournoyer 6bbb37a545
build-system/python: Move the check phase after the install phase.
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-18 00:04:26 -04:00
Marius Bakke f5961dd585
Merge branch 'master' into staging 2019-04-17 00:08:34 +02:00
Danny Milosavljevic 0b30a1a072
build-system/linux-module: Configure module like the kernel.
* guix/build/linux-module-build-system.scm (configure): New procedure.
(%standard-phases): Add "configure" phase.
2019-04-12 00:46:08 +02:00
Danny Milosavljevic 88e13c2587
build-system/linux-module: Support module source versioning.
* 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-12 00:13:34 +02:00
Danny Milosavljevic ce6312999f
Add (guix build-system linux-module).
* 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-11 17:50:18 +02:00
Ivan Petkov 1d3acde508
build-system/cargo: refactor phases to successfully build
* 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-09 03:09:00 -07:00
Marius Bakke 571fb008a5
Merge branch 'master' into staging 2019-04-01 00:02:39 +02:00
Efraim Flashner 7c86fdda7c
Revert "build-system/ruby: Use invoke."
This reverts commit 0244952c11.

We prefer 'invoke', but the custom error handling works better with the
code as-is.
2019-03-28 20:19:44 +02:00
Efraim Flashner 0244952c11
build-system/ruby: Use invoke.
* guix/build/ruby-build-system.scm (install): Use invoke.
2019-03-28 19:17:48 +02:00
Marius Bakke 8c14f7f8a7
Merge branch 'staging' into core-updates 2019-03-23 23:16:55 +01:00
Julien Lepiller 78b3748c1c
guix: dune-build-system: Add a package parameter.
* 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-23 22:58:52 +01:00
Marius Bakke 3cb61ca85a
Merge branch 'master' into staging 2019-03-23 22:50:07 +01:00
Efraim Flashner 4e4c311465
build: Add rakudo-build-system.
* 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-23 22:26:48 +02:00
Marius Bakke 081850816f
Merge branch 'master' into staging 2019-03-21 23:18:54 +01:00
Leo Famulari e3900a4d64
build-system/go: Build with a filesystem union of Go dependencies.
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-14 15:34:26 -04:00
Ludovic Courtès 6db044db45
build-system/gnu: Copy license files to all the outputs.
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-10 22:24:08 +01:00
Ludovic Courtès 278409e7e9
build-system/gnu: Always look for license files in the source tree.
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-10 22:24:08 +01:00
Marius Bakke f5e563e50a
Merge branch 'staging' into core-updates 2019-03-01 17:40:51 +01:00
Marius Bakke 19464173ba
Merge branch 'master' into staging 2019-03-01 17:33:00 +01:00
Ivan Petkov 7d141788b1
gnu: rust: Factor out "cargo-utils" from "cargo-build-system".
* 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-03-01 08:20:50 +01:00
Marius Bakke 901236474a
Merge branch 'staging' into core-updates 2019-02-20 17:19:00 +01:00
Christopher Baines 0168473c0a
guix: ruby-build-system: Fix removal of extension related files.
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-14 19:30:15 +00:00
Christopher Baines 9be39b4c67
guix: ruby-build-system: Do gem install --verbose.
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-14 19:30:14 +00:00
Christopher Baines ab149c6ba0
gnu: ruby-build-system: Change extract-gemspec to always return #t.
* 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-14 19:30:12 +00:00
Marius Bakke ebbb7286b9
Merge branch 'master' into core-updates 2019-02-09 21:11:00 +01:00
Ludovic Courtès 50a93adc05
Merge branch 'staging' 2019-02-09 15:14:59 +01:00
Ricardo Wurmus 0fb9a8df42
guix: Add wrap-script.
* 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-08 10:26:53 +01:00
Ricardo Wurmus ba88eea2b3
Merge branch 'master' into core-updates 2019-02-06 13:03:26 +01:00
Gabriel Hondet 625a3daa12
gnu: dune: Update to 1.6.3.
* 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-02-04 22:03:22 +01:00
Ludovic Courtès f380f9d55e
build-system/gnu: Report invocation errors in a human-friendly way.
* guix/build/utils.scm (report-invoke-error): New procedure.
* guix/build/gnu-build-system.scm (gnu-build): Guard against
'invoke-error?'.
2019-01-29 11:00:42 +01:00
Ludovic Courtès 782f1ea9f6
utils: Switch to the new 'setvbuf' API.
* 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-29 09:49:33 +01:00
Ludovic Courtès e4ee842026
download: Ask not to use TLS 1.3.
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-26 23:18:14 +01:00
Ludovic Courtès c498aaaf11
compile: Let compiler warnings through during the load phase.
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-22 23:04:05 +01:00
Ludovic Courtès 38b77f3464
profiles: Allow a profile to be added as an entry of another profile.
* 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-20 01:42:11 +01:00
Ludovic Courtès 077589459c
syscalls: 'device-in-use?' returns #f upon EINVAL.
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-17 14:04:28 +01:00
Ludovic Courtès a1f5dfc202
syscalls: 'device-in-use?' does not create a port.
* guix/build/syscalls.scm (device-in-use?): Use 'open-fdes' rather than
'open-file'.
2019-01-17 14:04:27 +01:00
Mathieu Othacehe b08bea0497
build: syscalls: Add device-in-use?.
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-17 14:04:22 +01:00
Ricardo Wurmus bf6fb59a33
build-system: texlive: Do not hide build output.
* guix/build/texlive-build-system.scm (compile-with-latex): Use "nonstopmode"
instead of "batchmode".
2019-01-10 22:43:09 +01:00
Ricardo Wurmus ac5c9f6ba6
build-system: texlive: Do not truncate lines.
* guix/build/texlive-build-system.scm (configure): Set environment variables
to prevent build output lines from being truncated.
2019-01-10 22:43:09 +01:00
Ludovic Courtès 76832d3420
Remove most uses of the _IO*F constants.
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-09 14:47:53 +01:00
Ludovic Courtès c3d9bca48a
download: Remove Guile 2.0 workaround.
* guix/build/download.scm: Remove Guile 2.0 workaround.
2019-01-09 14:47:53 +01:00