523 Commits

Author SHA1 Message Date
Alex Sassmannshausen
70e33ec795
build-system/guile: Expose #:scheme-file-regexp.
* guix/build-system/guile.scm (%scheme-file-regexp): New variable.
  (guile-build): Accept #:scheme-file-regexp and pass it on to builder.
2020-05-18 15:37:23 +02:00
Jakub Kądziołka
4035c3e352
Merge branch 'master' into staging 2020-04-29 11:08:42 +02:00
Jakub Kądziołka
3f3c9fdcd8
build-system/go: Allow providing additional build flags
* 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-08 12:24:42 +02:00
Marius Bakke
ae0badf5bb
Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/admin.scm
	gnu/packages/commencement.scm
	gnu/packages/guile.scm
	gnu/packages/linux.scm
	gnu/packages/package-management.scm
	gnu/packages/pulseaudio.scm
	gnu/packages/web.scm
2020-03-30 12:17:33 +02:00
Ludovic Courtès
5a17b9b673
build-system/gnu: Optimize the package graph.
With this change, the output of:

  guix graph -e '(@@ (gnu packages commencement) coreutils-final)' |grep 'label = ' | wc -l

drops from 76 nodes to 68 nodes, and the "add-data-to-store-cache" hit
rate for:

  guix build libreoffice -d --no-grafts

drops from 3.9% to 2.6%.

* guix/build-system/gnu.scm (package-with-explicit-inputs*)[cut?]:
Adjust condition to exclude packages with build systems other than
GNU-BUILD-SYSTEM, such as 'ld-wrapper-boot3'.
2020-03-29 23:14:28 +02:00
Jakub Kądziołka
44fb8cf841
Merge branch 'master' into staging 2020-03-29 00:38:13 +01:00
Marius Bakke
18af687037
Merge branch 'master' into core-updates
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-27 00:12:15 +01:00
Jakub Kądziołka
927c251846
cargo-build-system: Accept a #:features argument
* 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-23 19:30:38 +01:00
Mathieu Othacehe
c086c5af1c
build-system: linux-module: Fix cross compilation.
* 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-22 13:20:07 +01:00
Marius Bakke
c4d769d359
Merge branch 'master' into core-updates 2020-03-18 19:41:08 +01:00
Mathieu Othacehe
8d003ca344
build-system: linux-module: Break some long lines.
* gnu/build/linux-modules.scm (make-linux-module-builder, lower): Break some
long commentary lines.
2020-03-17 16:51:14 +01:00
Marius Bakke
ebb7cf9e21
Merge branch 'master' into core-updates 2020-03-04 23:16:17 +01:00
Pierre Neidhardt
9ea458c57a
build-system: Fix copy-build-system default install plan.
* guix/build-system/copy.scm (copy-build): Set install-plan default value
  to copy everything from source to the output.
2020-02-24 11:22:02 +01:00
Pierre Neidhardt
e90e64049c
build-system: Add copy-build-system.
* 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-21 10:53:11 +01:00
Ludovic Courtès
89da127035
gnu: cross-base: Switch back to 'CROSS_C_INCLUDE_PATH' & co.
This is a followup to 2073b55e6b964cb8ca15e8c74cb32dac00f05f0d.

* gnu/build/cross-toolchain.scm (%gcc-include-paths): Switch back to
'C_INCLUDE_PATH' & co.
* gnu/packages/cross-base.scm (%gcc-include-paths): Likewise.
(cross-gcc-arguments): Remove 'treat-glibc-as-system-header' phase.
(cross-gcc)[native-inputs]: Reorder so that libc comes last.
[search-paths]: Add "include/c++" for 'CROSS_CPLUS_INCLUDE_PATH'.
* guix/build-system/gnu.scm (standard-cross-packages): Have "cross-gcc"
appear both for 'host and 'target.
2020-02-12 20:35:43 +01:00
Ludovic Courtès
2073b55e6b
gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'.
Fixes <https://bugs.gnu.org/30756>.
Initially reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/packages/base.scm (make-gcc-libc): Remove
'treat-glibc-as-system-header' phase from 'arguments'.
* gnu/packages/commencement.scm (gcc-final): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to
'CPLUS_INCLUDE_PATH'.
(gcc-6)[native-search-paths]: Remove.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove
'native-search-paths' and 'arguments'.
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with
"C_INCLUDE_PATH".
* guix/build-system/cmake.scm (lower): When not cross-compiling, move
INPUTS from the 'host-inputs' field to the 'build-inputs' field of the
bag, right after NATIVE-INPUTS.
* guix/build-system/glib-or-gtk.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Likewise.
* guix/build-system/meson.scm (lower): Likewise.
2020-02-06 18:47:15 +01:00
Marius Bakke
52665d2b6b
Merge branch 'staging' into core-updates 2020-02-03 15:45:44 +01:00
Julien Lepiller
1e8da4cdef
guix: ocaml: Also replace dune when relevant in package-with-explicit-ocaml.
* guix/build-system/ocaml.scm (package-with-explicit-ocaml): Take a dune
argument and add it to transformed packages when relevant.
2020-01-27 03:55:52 +01:00
Marius Bakke
88b263465c
build-system/cmake: Enable parallel tests by default.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Set
the PARALLEL-TESTS? key to #t.
2020-01-26 01:52:55 +01:00
Marius Bakke
12d8adbfc0
Merge branch 'staging' into core-updates 2020-01-23 23:11:11 +01:00
Julien Lepiller
092f815799
guix: ocaml: Reuse package-with-ocaml4.01 with ocaml-4.07.
* guix/build-system/guix.scm (package-with-ocaml4.01)
(strip-ocaml4.01-variant): Rename to...
(package-with-ocaml4.07, strip-ocaml4.07-variant): ... this and rename
internal implementation.
2020-01-22 01:12:09 +01:00
Marius Bakke
cebe07775b
build-system/texlive: Update to texlive-2019.3, revision 51265.
* guix/build-system/texlive.scm (%texlive-tag): Change to "2019.3".
(%texlive-revision): Change to 51265.
2020-01-14 00:18:09 +01:00
Marius Bakke
b7bf02a418
Merge branch 'master' into core-updates 2020-01-11 22:38:24 +01:00
Ludovic Courtès
984efa2b6a
build-system/clojure: Provide only the right modules in scope.
Previously, we used to have a whole bunch of (guix build *-build-system)
modules in scope, which, for example, meant that '%standard-phases' was
clashing.  This change clarifies it.

* guix/build-system/clojure.scm (%default-modules): New variable.
(clojure-build): Change the default value of #:modules and that of
 #:phases.
2020-01-08 23:21:14 +01:00
Jan Nieuwenhuizen
f851fd6b2b
build-system/guile: Add #:implicit-inputs?.
* guix/build-system/guile.scm (lower): Add implicit-inputs? keyword
parameter.
[private-keywords]: Add it.
Honor it.
2020-01-04 23:44:25 +01:00
Pierre Neidhardt
ba42da245b
gnu: uglify-js: Move back next to sbcl-cl-uglify-js definition.
This fixes the bug which prevented uglify-js from being defined properly, and
cascaded back to all Common Lisp packages.

* gnu/packages/bioinformatics.scm: Replace javascript module with lisp-xyz.
* gnu/packages/cran.scm: Use lisp-xyz module.
* gnu/packages/javascript.scm (uglify-js): Move from here...
* gnu/packages/lisp-xyz.scm: ... To here.
* gnu/packages/web.scm: Replace javascript module with lisp-xyz.
* guix/build-system/minify.scm: Find uglify-js in the lisp-xyz module.
2020-01-03 15:03:36 +01:00
Mathieu Othacehe
ce9383c090
Merge remote-tracking branch 'master' into core-updates. 2019-12-31 11:04:51 +01:00
Efraim Flashner
87a028100c
build-system: linux-module: Add substitutable keyword.
* guix/build-system/linux-module.scm (linux-module-build) Add
substitutable keyword.
2019-12-26 10:41:22 +02:00
Hartmut Goebel
c19260ea00
build-system: qt: Adjust indentation.
* guix/build-system/qt.scm (qt-build, qt-cross-build): Adjust indentation.
2019-12-23 15:48:21 +01:00
Hartmut Goebel
fce8ec9e15
build-system: qt: Actually use qt-build-system, not cmake-build-system.
When the qt-build-system was created, based on the cmake-build-system,
some references to cmake have been missed to be changed.

* guix/build-system/qt.scm (qt-build, qt-cross-build)[modules]:
  Use qt-build-system, not cmake-build-system. [builder]: Call qt-build,
  not cmake-build.

Coauthored-by: Ludovic Courtès <ludo@gnu.org>
2019-12-23 15:43:08 +01:00
Ricardo Wurmus
f431d5e299
guix: Upgrade to Bioconductor 3.10.
* guix/build-system/r.scm (bioconductor-uri): Switch to version 3.10.
* guix/import/cran.scm (%bioconductor-version): Same.
2019-12-15 15:38:51 +01:00
Marius Bakke
9d5aa00906
Merge branch 'master' into core-updates 2019-12-05 17:57:35 +01:00
Pierre Neidhardt
88f06fd015
gnu: Really move lisp libraries to lisp-xyz, uglify-js to javascript and stumpwm to wm.
* gnu/local.mk: Include lisp-xyz.scm.
* gnu/packages/lisp-xyz.scm: New file.
* gnu/packages/lisp.scm: Move all lisp libraries to lisp-xyz.scm, uglify-js to
  javascript.scm and stumpwm to wm.scm.
* gnu/packages/javascript.scm: Add uglify-js.
* gnu/packages/wm.scm: Add stumpwm.
* gnu/packages/bioinformatics.scm: Find uglify-js in javascript.scm.
* gnu/packages/machine-learning.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* gnu/packages/web.scm: Find uglify-js in javascript.scm.
* gnu/packages/web-browsers.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* guix/build-system/minify.scm (default-uglify-js): Find uglify-js in
  javascript module instead of lisp.
2019-12-05 16:23:06 +01:00
Tobias Geerinckx-Rice
d9544d91a6
Revert "gnu: Properly move lisp libraries to lisp-xyz, uglify-js to javascript and stumpwm to wm."
This reverts commit ac1ee30f4f7f9d0ae2a655676b0e8b9eb90a35dd, which
still breaks ‘guix pull’.
2019-12-05 15:38:52 +01:00
Efraim Flashner
73bd8ab669
Revert "build-system/linux-module: Accept a #:make-flags keyword."
I should've tested this better before pushing the commit.

This reverts commit fabd4900d8fb739a55e2dff76dee3a29b2a90bb1.
2019-12-05 15:37:39 +02:00
Pierre Neidhardt
ac1ee30f4f
gnu: Properly move lisp libraries to lisp-xyz, uglify-js to javascript and stumpwm to wm.
* gnu/local.mk: Include lisp-xyz.scm.
* gnu/packages/lisp-xyz.scm: New file.
* gnu/packages/lisp.scm: Move all lisp libraries to lisp-xyz.scm, uglify-js to
  javascript.scm and stumpwm to wm.scm.
* gnu/packages/javascript.scm: Add uglify-js.
* gnu/packages/wm.scm: Add stumpwm.
* gnu/packages/bioinformatics.scm: Find uglify-js in javascript.scm.
* gnu/packages/machine-learning.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* gnu/packages/web.scm: Find uglify-js in javascript.scm.
* gnu/packages/web-browsers.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* guix/build-system/minify.scm (default-uglify-js): Find uglify-js in
  javascript module instead of lisp.
2019-12-05 13:48:47 +01:00
Tobias Geerinckx-Rice
fabd4900d8
build-system/linux-module: Accept a #:make-flags keyword.
Fixes bug#37882.

* guix/build-system/linux-module.scm (linux-module-build): Accept a
MAKE-FLAGS argument.
<builder>: Pass it on.
2019-12-04 11:25:33 +02:00
Hartmut Goebel
b6d852ce6d
guix: Add the 'qt' build system.
* guix/build-system/qt.scm, guix/build/qt-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Buiild systems): Add the new build system.
2019-12-01 20:24:47 +01:00
Mathieu Othacehe
154d97abdd
Merge remote-tracking branch master into core-updates 2019-11-16 09:34:27 +01:00
Mathieu Othacehe
534537e2ef
gnu: cmake: Fix cross-compilation.
* gnu/packages/cmake.scm (cmake-minimal-cross): New package.
* guix/build-system/cmake.scm (default-cmake): Add new target argument and use
it to select cmake-minimal or cmake-minimal-cross.
(lower): Pass target to default-cmake.
2019-11-15 17:32:25 +01:00
Guillaume Le Vaillant
5cace974a4
build-system/asdf: Fix package transform.
* guix/build-system/asdf.scm (package-with-build-system):
  [find-input-package]: New function.
  [rewrite]: Use it.
2019-10-18 11:09:44 +02:00
Ludovic Courtès
f618134e4c
build-system/gnu: 'package-with-explicit-inputs' uses 'package-mapping'.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Rename to...
(package-with-explicit-inputs/deprecated): ... this.
(package-with-explicit-inputs*): New procedure.
(package-with-explicit-inputs): Define as a 'case-lambda*'.
2019-10-14 00:08:10 +02:00
Carl Dong
e214a22007
gnu: Add nsis-x86_64 and nsis-i686.
* guix/build-system/scons.scm (scons-build): Add build-targets and
install-targets parameters.
* guix/build/scons-build-system.scm (build, install): Adjust
accordingly.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/installers.scm: New file,
(make-nsis): New procedure,
(nsis-x86_64, nsis-i686): New variables.
* gnu/packages/patches/nsis-env-passthru.patch: New file.
* gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust
accordingly.
2019-10-11 11:44:44 -04:00
Mark H Weaver
65542a8852
Merge branch 'master' into core-updates 2019-09-06 20:46:00 -04:00
Marius Bakke
56b1977a5d
build-system/julia: Avoid module cycles.
* guix/build-system/julia.scm: Remove unused imports.
(lower)[julia]: Default to (DEFAULT-JULIA).
2019-09-05 00:20:41 +02:00
Ricardo Wurmus
458b07ebe0
build-system/julia: Fix syntax error.
* guix/build-system/julia.scm: Fix invalid module reference.
2019-09-04 23:56:24 +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
Ludovic Courtès
2791870d09
import: crate: Separate crates.io API from actual conversion.
This provides a clean separation between bindings to the
https://crates.io/api/v1 API and actual conversion to Guix package
sexps.

As a side-effect, it fixes things like "guix import blake2-rfc", "guix
refresh -t crates", etc.

* guix/import/crate.scm (<crate>, <crate-version>, <crate-dependency>):
New record types.
(lookup-crate, crate-version-dependencies): New procedures.
(crate-fetch): Remove.
(crate->guix-package): Rewrite to use the new API.
(latest-release): Likewise.
* guix/build-system/cargo.scm (%crate-base-url): New variable.
* tests/crate.scm (test-crate): Update accordingly.

fixlet
2019-09-04 13:02:27 +02:00
Mark H Weaver
893c2df00d
Merge branch 'master' into core-updates 2019-08-22 15:53:27 -04:00
Ricardo Wurmus
c586f427b4
build-system/r: bioconductor-uri: Take optional package type.
* guix/build-system/r.scm (bioconductor-uri): Take optional TYPE argument to
return annotation or experiment URLs.
2019-08-16 15:07:22 +02:00