Commit Graph

947 Commits

Author SHA1 Message Date
Pierre Neidhardt
01e38cc426
build-system/asdf: Add option to compress programs.
* guix/build/lisp-utils.scm (build-program): Add `compress?' key argument.
(generate-executable-for-system): Same.
(generate-executable): Same.
2019-09-05 09:56:21 +02:00
nixo
a44a535ebe
build: Add julia-build-system.
* guix/build/julia-build-system.scm: New file.
* guix/build-system/julia.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document julia-build-system.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2019-09-04 22:17:38 +02:00
Efraim Flashner
2f43e5db1c
build/cargo-build-system: Use invoke.
* guix/build/cargo-build-system.scm (crate-src?, build, check,
install): Use 'invoke'.
2019-09-02 11:07:53 +03:00
Efraim Flashner
3762e31b6c
build/cargo-build-system: Remove 'update-cargo-lock phase.
* guix/build/cargo-build-system.scm (update-cargo-lock): Remove
procedure.
(configure): Delete Cargo.lock file if it exists.
(%standard-phases): Remove 'update-cargo-lock.
* doc/guix.texi (Build System)[cargo-build-system]: Remove references to
the 'update-cargo-lock phase.
2019-08-28 09:41:59 +03:00
Jan Nieuwenhuizen
4f3811f6bb
guix: copy-linux-headers: Extract procedure, add headers.
* guix/build/make-bootstrap.scm (copy-linux-headers): New procedure; extract
from make-stripped-libc and add headers for Mes bootstrap.
(make-stripped-libc): Use it.
2019-08-15 14:46:03 -04:00
Marius Bakke
8e7f97b9ff
Merge branch 'master' into staging 2019-08-08 00:35:37 +02:00
Ricardo Wurmus
378d94e51b
Merge remote-tracking branch 'origin/master' into wip-texlive 2019-08-06 10:07:36 +02:00
Marius Bakke
f35d313265
Merge branch 'master' into staging 2019-08-04 13:41:27 +02:00
Efraim Flashner
ac6b78488f
build/cargo-build-system: Patch cargo checksums.
* guix/build/cargo-build-system.scm (generate-all-checksums): New
procedure.
(update-cargo-lock, patch-cargo-checksums): New phases.
(%standard-phases): Add 'update=cargo-lock after 'configure and
'patch-cargo-checksums after 'patch-generated-file-shebangs.
* doc/guix.texi (Build System)[cargo-build-system]: Mention how
Cargo.lock files are handled.
2019-08-04 11:53:27 +03:00
Leo Famulari
0c3c597d2e
gnu: Update default Go compiler to Go 1.12.
* gnu/packages/golang.scm (go): Update to go-1.12.
* guix/build/go-build-system.scm (setup-go-environment): Set $GOCACHE.
2019-07-29 14:57:07 -04:00
Hartmut Goebel
cbad3570db
guix: ant-build-system: Put dummy project-name into default build.xml.
Without this, ant reported error messages like
Target "tests" does not exist in the project "null".
Simple using the jar-name is a good compromise.

* guix/build/ant-build-system.scm (default-build.xml): Add attribute
  to sxml expression.
2019-07-25 10:21:45 +02:00
Hartmut Goebel
a331623931
guix: ant-build-system: Use ant-task "jar" instead of executing "jar".
* guix/build/ant-build-system.scm (default-build.xml): Change XML for
  target "jar" to use ant-task "jar" instead of "exec".
2019-07-25 10:21:44 +02:00
Ricardo Wurmus
6d668a16be
build: svn-fetch: Use "svn export".
* guix/build/svn.scm (svn-fetch): Use "svn export" instead of "svn checkout"
because it does not include the .svn directory and allows us to fetch single
files.
2019-07-23 21:43:24 +02:00
Robert Vollmert
4fde0030d4
build/cargo-build-system: Use bundled json instead of guile-json.
* guix/build/cargo-build-system.scm: Use (gnu build json) instead
of (json parser).
* guix/build-system/cargo.scm: Import (gnu build json) instead of
(json parser).

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-07-16 09:54:12 +02:00
Robert Vollmert
c82c16a6f3
build/cargo-build-system: Set CARGO_HOME early.
* guix/build/cargo-build-system.scm (configure): Set CARGO_HOME.
(install): No longer set CARGO_HOME.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-07-16 09:52:07 +02:00
Ludovic Courtès
456c7ade09
syscalls: Use 'define-as-needed' for 'AT_' constants introduced in Guile 2.2.5.
* guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
(AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): Define using
'define-as-needed'.
2019-07-15 10:00:12 +02:00
Ludovic Courtès
38302bd939
compile: Report the name of the file that cannot be compiled.
Fixes <https://bugs.gnu.org/36640>.
Reported by Robert Vollmert <rob@vllmrt.net>.

* guix/build/compile.scm (call/exit-on-exception): Add 'file' parameter
and honor it.
(exit-on-exception): Likewise.
(compile-files): Pass FILE to 'exit-on-exception'.
2019-07-15 10:00:12 +02:00
Julien Lepiller
a4bb189210
Revert "guix: node-build-system: Use guile-json instead of a custom parser."
The effect of this change was to import the (json parser) from the host
side into the build side. The solution here would be to do the equivalent
of ‘with-extensions’ for gexps. Since we don't use gexps for build
systems just yet, revert this for now.

This reverts commit 8eb0ba532e.
2019-07-14 20:18:07 +02:00
Julien Lepiller
8eb0ba532e
guix: node-build-system: Use guile-json instead of a custom parser.
* guix/build/json.scm: Remove file.
* Makefile.am: Remove it.
* guix/build/node-build-system.scm: Use (json parser) instead of (guix build json).
* guix/build-system/node.scm: Idem.
2019-07-14 14:57:46 +02:00
Jelle Licht
09a1f92f61
build: Add node-build-system.
* guix/build/node-build-system.scm: New file.
* guix/build-system/node.scm: New file.
* guix/build/json.scm: New file.
* doc/guix.texi: Document it.
* Makefile.am: Added new files.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
2019-07-14 12:20:48 +02:00
Ludovic Courtès
e429566fbb
build: Use '-Wshadowed-toplevel' only when supported.
* guix/build/compile.scm (supported-warning-type?): New procedure.
(%warnings): Remove 'unsupported-warning', though removing it doesn't
make any difference.  Define 'optional', and use it to determine whether
to include 'shadowed-toplevel'.
2019-07-12 23:54:19 +02:00
Tobias Geerinckx-Rice
87a90486ca
download: Remove hydra from content-addressed URL list
* guix/build/download-nar.scm (urls-for-item): Remove
mirror.hydra.gnu.org.
* guix/download.scm (%content-addressed-mirrors): Likewise.
2019-06-29 14:31:23 +02:00
Ludovic Courtès
4593f5a654
syscalls: Add 'terminal-rows'.
* guix/build/syscalls.scm (terminal-dimension): New procedure.
(terminal-columns): Rewrite in terms of 'terminal-dimension'.
(terminal-rows): New procedure.
* tests/syscalls.scm ("terminal-rows"): New test.
2019-06-27 11:14:40 +02:00
Ludovic Courtès
77c2899cd4
compile: Enable 'shadowed-toplevel' warning.
* guix/build/compile.scm (%warnings): Add 'shadowed-toplevel'.
2019-06-25 17:41:24 +02:00
Marius Bakke
a60dbad3bc
Merge branch 'staging' 2019-06-15 09:46:12 +02:00
Robert Vollmert
ed8d3f33a5
build-system/haskell: Generate Setup.hs if needed.
The default Setup.hs is boilerplate that is frequently left out of
source packages.  Several packages already add a phase to generate it,
so moving this phase to the build system is just factoring out an
existing pattern.

See <https://github.com/phadej/time-compat/issues/4>.

* guix/build/haskell-build-system.scm (generate-setuphs): New procedure.
(%standard-phases): Add it after 'unpack'.
* gnu/packages/haskell.scm (ghc-foundation, ghc-inline-c,
ghc-inline-c-cpp, ghc-rio): Remove 'arguments'.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
2019-06-13 13:30:24 -04:00
Robert Vollmert
5f9f2c82e6
build-system/haskell: Fix Haddock phase docstring.
* guix/build/haskell-build-system.scm (haddock): Fix docstring.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
2019-06-13 13:30:23 -04:00
Ivan Petkov
d608e231e3
build-system/cargo: Don't copy source as an output.
* guix/build-system/cargo.scm: (cargo-build)[build-expression->derivation]:
Don't add "src" output.
* guix/build/cargo-build-system.scm: (install-source): Delete it.
(%standard-phases): Delete 'install-source.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-06-11 18:05:44 -07:00
Ivan Petkov
efdf2ae14e
build-system/cargo: Use sources from package sources.
* guix/build/cargo-build-system.scm (crate-src?): New procedure.
(configure): Use the new procedure to expand crate tarballs in the vendor
directory.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-06-11 18:05:44 -07:00
Ludovic Courtès
5f0cf1df71
syscalls: 'with-lock-file' catches ENOSYS.
* guix/build/syscalls.scm (call-with-file-lock): Catch ENOSYS raised by
'lock-file'.
2019-06-05 23:10:36 +02:00
Ludovic Courtès
89ceb86ad4
syscalls: 'with-file-lock' expands to a call to 'call-with-file-lock'.
* guix/build/syscalls.scm (call-with-file-lock): New procedure.
(with-file-lock): Expand to a call to 'call-with-file-lock'.
2019-06-05 23:10:36 +02:00
Ludovic Courtès
b7178c22bf
syscalls: Add 'with-file-lock' macro.
* guix/scripts/offload.scm (lock-file, unlock-file, with-file-lock):
Move to...
* guix/build/syscalls.scm: ... here.
2019-06-05 23:10:36 +02:00
Ludovic Courtès
e006f7493f
build-system/guile: Display progress report as expected by (guix status).
* guix/build/guile-build-system.scm (report-build-progress): Use a
format string suitable for (guix status).
2019-06-02 22:01:34 +02:00
Ludovic Courtès
30eb738366
build-system/guile: Add #:not-compiled-file-regexp.
* guix/build/guile-build-system.scm (build): Add
 #:not-compiled-file-regexp and honor it.
* guix/build-system/guile.scm (guile-build): Likewise.
(guile-cross-build): Likewise.
2019-06-02 22:01:34 +02:00
Ludovic Courtès
abeb54c00b
build-system/guile: Improve reporting of 'guild compile' failures.
* guix/build/guile-build-system.scm (invoke-each)[processes]: New
variable.
[wait-for-one-process]: Check PROCESSES and update it.
[fork-and-run-command]: Update PROCESSES.
2019-06-02 22:01:34 +02:00
Ludovic Courtès
b2cddc6fb1
compile: Adjust for Guile 3.
* guix/build/compile.scm (%default-optimizations): Adjust to the new
names in Guile 2.9.2.
2019-06-02 01:38:36 +02:00
宋文武
9bc8175cfa
download: Support 'https_proxy'.
* guix/build/download.scm (setup-http-tunnel): New procedure.
(open-connection-for-uri): Honor the 'https_proxy' environment variable.
2019-05-13 21:36:03 +08:00
Ivan Petkov
e88735b45f
build/cargo-utils: Remove "src-name" parameter.
* gnu/packages/gnuzilla.scm (icecat)[arguments]<#:phases>
[patch-cargo-checksums]: Delete "null-file" variable.
* gnu/packages/rust.scm (%cargo-reference-project-file): Delete variable.
* gnu/packages/rust.scm (rust-1.19): Remove reference to
"%cargo-reference-project-file".
* guix/build/cargo-utils.scm (generate-checksums): Remove "src-name"
parameter.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-10 00:44:08 +02:00
Marius Bakke
5f5499d684
syscalls: Add 'arp-network-interface?'.
* guix/build/syscalls.scm (IFF_NOARP): New variable.
(arp-network-interface?): New public procedure.
2019-05-09 20:00:21 +02:00
Maxim Cournoyer
4ac69ea10f
Add (guix bzr-download).
* guix/bzr-download.scm, guix/build/bzr.scm,
etc/snippets/scheme-mode/guix-bzr-reference: New files.
* Makefile.am (MODULES): Add them.
* etc/snippets/scheme-mode/guix-origin: Add "bzr-fetch" to the origin choices.
2019-05-09 00:22:37 -04:00
Maxim Cournoyer
a321312e3a
build: go-build-system: Follow-up to commit f42e4ebb56.
This follows commit f42e4ebb56, which made it so that the unpack phase return
value could be left unspecified.

* guix/build/go-build-system.scm (unpack): Ensure that the value returned upon
a successful completion of the phase is #t.
2019-05-05 23:01:03 -04:00
Maxim Cournoyer
2edec51c5e
build: go-build-system: Follow-up commit.
There was an extraneous pair of parens in commit 7e84d3eef7.  Thanks for Mark
Weaver for reporting the issue.

* guix/build/go-build-system.scm (unpack): Remove the extraneous pair of
  parentheses surrounding the `display' function call.
2019-05-05 22:41:11 -04:00
Maxim Cournoyer
f42e4ebb56
build: go-build-system: Ensure uniform unpacking directory.
Depending on whether the source is a directory or an archive, we strip the
source directory or preserve it, respectively.  This change makes it so that
whether the type of the source, it is unpacked at the expected location given
by the IMPORT-PATH of the Go build system.

* guix/build/go-build-system.scm: Add the (ice-9 ftw) module.
(unpack): Add inner procedure to maybe strip the top level directory of an
archive, document it and use it.
2019-05-05 20:06:19 -04:00
Maxim Cournoyer
7e84d3eef7
build: go-build-system: Use WHEN for side-effect conditionals.
* guix/build/go-build-system.scm (unpack): Replace single branch `if' by
`when'.
2019-05-05 20:06:18 -04:00
Maxim Cournoyer
b5f0528354
build: go-build-system: Re-ident.
* guix/build/go-build-system.scm (unpack): Fix indentation.
2019-05-05 20:06:18 -04: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