summaryrefslogtreecommitdiff
path: root/guix/build-system
AgeCommit message (Collapse)Author
2019-12-05gnu: Really move lisp libraries to lisp-xyz, uglify-js to javascript and ↵Pierre Neidhardt
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-05Revert "gnu: Properly move lisp libraries to lisp-xyz, uglify-js to ↵Tobias Geerinckx-Rice
javascript and stumpwm to wm." This reverts commit ac1ee30f4f7f9d0ae2a655676b0e8b9eb90a35dd, which still breaks ‘guix pull’.
2019-12-05Revert "build-system/linux-module: Accept a #:make-flags keyword."Efraim Flashner
I should've tested this better before pushing the commit. This reverts commit fabd4900d8fb739a55e2dff76dee3a29b2a90bb1.
2019-12-05gnu: Properly move lisp libraries to lisp-xyz, uglify-js to javascript and ↵Pierre Neidhardt
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-04build-system/linux-module: Accept a #:make-flags keyword.Tobias Geerinckx-Rice
Fixes bug#37882. * guix/build-system/linux-module.scm (linux-module-build): Accept a MAKE-FLAGS argument. <builder>: Pass it on.
2019-12-01guix: Add the 'qt' build system.Hartmut Goebel
* 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-10-18build-system/asdf: Fix package transform.Guillaume Le Vaillant
* guix/build-system/asdf.scm (package-with-build-system): [find-input-package]: New function. [rewrite]: Use it.
2019-10-14build-system/gnu: 'package-with-explicit-inputs' uses 'package-mapping'.Ludovic Courtès
* 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-11gnu: Add nsis-x86_64 and nsis-i686.Carl Dong
* 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-09-06Merge branch 'master' into core-updatesMark H Weaver
2019-09-05build-system/julia: Avoid module cycles.Marius Bakke
* guix/build-system/julia.scm: Remove unused imports. (lower)[julia]: Default to (DEFAULT-JULIA).
2019-09-04build-system/julia: Fix syntax error.Ricardo Wurmus
* guix/build-system/julia.scm: Fix invalid module reference.
2019-09-04build: Add julia-build-system.nixo
* 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-04import: crate: Separate crates.io API from actual conversion.Ludovic Courtès
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-08-22Merge branch 'master' into core-updatesMark H Weaver
2019-08-16build-system/r: bioconductor-uri: Take optional package type.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Take optional TYPE argument to return annotation or experiment URLs.
2019-08-13Merge branch 'master' into core-updatesMarius Bakke
2019-07-23build-system/texlive: Add texlive-origin.Ricardo Wurmus
* guix/build-system/texlive.scm (texlive-origin): New procedure.
2019-07-17Merge branch 'master' into core-updatesLudovic Courtès
2019-07-16build/cargo-build-system: Use bundled json instead of guile-json.Robert Vollmert
* 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-14Revert "guix: node-build-system: Use guile-json instead of a custom parser."Julien Lepiller
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 8eb0ba532ebbebef23180e666e0607ea735f9c1a.
2019-07-14guix: node-build-system: Use guile-json instead of a custom parser.Julien Lepiller
* 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-14build: Add node-build-system.Jelle Licht
* 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-07build-system/meson: Enable compiler optimizations.Marius Bakke
* guix/build-system/meson.scm (meson-build)[#:build-type]: Set to 'debugoptimized'.
2019-07-02Merge branch 'staging' into core-updatesMarius Bakke
2019-07-02import: pypi: Update the host URI.Maxim Cournoyer
* guix/build-system/python.scm (pypi-uri): Update the host URI to "files.pythonhosted.org".
2019-06-13Merge branch 'master' into core-updatesLudovic Courtès
2019-06-11build-system/cargo: Don't copy source as an output.Ivan Petkov
* 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-11build-system/cargo: Expand transitive crate sources.Ivan Petkov
* guix/build/cargo: (package-cargo-inputs): Add it. (package-cargo-development-inputs): Add it. (crate-closure): Add it. (expand-crate-sources): Add it. (lower)[private-keywords]: Add #:cargo-inputs and [bag]: Use expand-crate-sources to augment build-inputs. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-06-02build-system/guile: Add #:not-compiled-file-regexp.Ludovic Courtès
* 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-05-25Merge branch 'staging' into core-updatesMarius Bakke
2019-05-06guix: Update to Bioconductor 3.9.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Use 3.9 archive URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.9.
2019-05-01Merge branch 'master' into core-updatesMarius Bakke
2019-04-25gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependentJulien Lepiller
packages. This fixes <https://bugs.gnu.org/27462>. * gnu/packages/ocaml.scm (ocaml-4.02, camlp4-4.02, ocaml4.02-menhir) (ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit) (ocaml4.02-camlzip, ocaml4.02-ocamlmod, ocaml4.02-zarith) (ocaml4.02-qcheck, ocaml4.02-qtest, ocaml4.02-stringext) (ocaml4.02-bisect, ocaml4.02-bitstring, ocaml4.02-result) (ocaml4.02-topkg, ocaml4.02-rresult, ocaml4.02-sqlite3, ocaml4.02-csv) (ocaml4.02-mtime, ocaml4.02-cmdliner, ocaml4.02-fmt, ocaml4.02-astring) (ocaml4.02-alcotest, ocaml4.02-ppx-tools, ocaml4.02-react, ocaml4.02-ssl) (ocaml4.02-lwt, ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath) (ocaml4.02-bos, ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar) (ocaml4.02-uutf, ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64) (ocaml4.02-omake, ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis) (ocaml4.02-js-build-tools, ocaml4.02-bin-prot, ocaml4.02-fieldslib) (ocaml4.02-ppx-core, ocaml4.02-ppx-optcomp, ocaml4.02-ppx-driver) (ocaml4.02-cppo, ocaml4.02-ppx-deriving, ocaml4.02-ppx-type-conv) (ocaml4.02-ppx-inline-test, ocaml4.02-ppx-bench, ocaml4.02-ppx-compare) (ocaml4.02-sexplib, ocaml4.02-typerep, ocaml4.02-variantslib) (ocaml4.02-ppx-sexp-conv, ocaml4.02-ppx-variants-conv) (ocaml4.02-ppx-here, ocaml4.02-ppx-assert, ocaml4.02-ppx-enumerate) (ocaml4.02-ppx-let, ocaml4.02-ppx-typerep-conv, ocaml4.02-ppx-sexp-value) (ocaml4.02-ppx-pipebang, ocaml4.02-ppx-bin-prot, ocaml4.02-ppx-fail) (ocaml4.02-ppx-custom-printf, ocaml4.02-ppx-sexp-message) (ocaml4.02-ppx-fields-conv, ocaml4.02-seq, ocaml4.02-re) (ocaml4.02-ppx-expect, ocaml4.02-ppx-jane, ocaml4.02-core-kernel) (ocaml4.02-async-kernel, ocaml4.02-async-rpc-kernel, ocaml4.02-core) (ocaml4.02-async-unix, ocaml4.02-async-extra, ocaml4.02-async) (ocaml4.02-ocplib-endian, ocaml4.02-easy-format, optcomp) (ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi) (ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): Remove variables. * guix/build-system/ocaml.scm (default-ocaml4.02) (default-ocaml4.02-findlib, package-with-ocaml4.02) (strip-ocaml4.02-variant): Remove variables.
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-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-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-21build-system/meson: Add #:allowed-references and #:disallowed-references.Marius Bakke
* guix/build-system/meson.scm (meson-build): Add support for #:allowed-references and #:disallowed-references.
2019-03-20cmake: Generate documentation.Maxim Cournoyer
To prevent complicating the dependencies of a core tool, a new variant, CMAKE-MINIMAL is introduced and the CMake build system is configured to use it by default. The regular CMAKE package gains a manpage, info manual as well as HTML documentation. Fixes issue #33497 (https://bugs.gnu.org/33497). * gnu/packages/cmake.scm (gnu): Use modules (gnu packages python-xyz), (gnu packages texinfo) and (srfi srfi-1). (cmake-minimal): Rename the original cmake variable to this. [phases]{configure}: Extract the configure script arguments to... [configure-flags]: here. [properties]: Set the HIDDEN? property to #t. (cmake): New variable, which inherits from CMAKE-MINIMAL. [phases]{move-html-doc}: Add phase. [native-inputs]: Add PYTHON-SPHINX and TEXINFO. [outputs]: Add the "doc" output. [properties]: Clear the inherited HIDDEN? property. * guix/build-system/cmake.scm (default-cmake): Use CMAKE-MINIMAL instead of CMAKE.
2019-03-15build-system/glib-or-gtk: Support #:disallowed-references.Ludovic Courtès
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add #:disallowed-references and honor it.
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-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-01-15guix: scons: Fix module reference.Ricardo Wurmus
* guix/build-system/scons.scm (default-scons): Find "scons" package in (gnu packages python-xyz) instead of (gnu packages python).
2019-01-10gnu: Update texlive packages.Ricardo Wurmus
* guix/build-system/texlive.scm (%texlive-tag, %texlive-revision): Update to texlive-2018.2, revision 49435. * gnu/packages/tex.scm (texlive-dvips, texlive-generic-unicode-data, texlive-generic-dehyph-exptl, texlive-generic-hyph-utf8, texlive-fontname, texlive-fonts-cm, texlive-tex-plain, texlive-latex-base, texlive-latex-graphics, texlive-latex-graphics, texlive-latex-oberdiek, texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-amscls, texlive-latex-babel, texlive-latex-cyrillic, texlive-latex-eqparbox, texlive-latex-ifplatform, texlive-latex-etoolbox, texlive-latex-galois, texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-changebar, texlive-latex-fancyhdr, texlive-latex-overpic, texlive-latex-parskip, texlive-metapost, texlive-latex-ucs, texlive-generic-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-koma-script, texlive-generic-listofitems, texlive-bibtex, texlive-context-base): Update hashes. (texlive-latex-fontspec)[arguments]: Remove custom build target. (texlive-latex-dinbrief)[arguments]: Add build phase "fix-encoding-error". (texlive-latex-xkeyval): New variable. (texlive-latex-pstool)[source]: Fetch from new location. [build-system]: Use trivial-build-system. [arguments]: Write simple builder. [propagated-inputs]: Add texlive-latex-l3kernel, texlive-latex-tools, and texlive-latex-xkeyval. [synopsis]: Fix typo.
2019-01-09build-system/asdf: 'package-with-build-system' accesses inputs lazily.Ludovic Courtès
Fixes a bug whereby we would, at the top-level (while evaluation lisp.scm package definitions), attempt to access package inputs. Because of circular dependencies, this could lead to unbound variables as reported by Arun Isaac <arunisaac@systemreboot.net> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33801#56>. * guix/build-system/asdf.scm (package-with-build-system)[transform] (new-propagated-inputs): Turn into a procedure. Adjust user accordingly.
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-11-24Merge branch 'master' into core-updatesMarius Bakke