summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
...
* build-system/asdf: Handle tests defined in external systems.Andy Patterson2017-05-16
| | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument. [builder]: Pass it to the build system. (package-with-build-system)[transform]: Strip it from source systems' arguments. * guix/build/asdf-build-system.scm (check): Pass the fully qualified path to it on to the test-system procedure. * guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of the often used names for it, before running the tests. Adjust the docstring accordingly.
* build-system/asdf: Always pre-load the system's definition file.Andy Patterson2017-05-16
| | | | | | | | | * guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default `#:asd-file' argument to the build procedure, using the system's name. * guix/build/asdf-build-system.scm (build, check): Adjust to assume that `asd-file' will always be a string. * guix/build/lisp-utils.scm (compile-system, system-dependencies) (test-system): Likewise.
* build-system/asdf: Pass the system name as an argument to the builder.Andy Patterson2017-05-16
| | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Use the user-defined system name, or calculate it from the package's full name. [builder]: Pass the value along to the build procedure. (package-with-build-system): Remove #:asd-system-name from source packages' arguments. * guix/build/asdf-build-system.scm: Adjust accordingly. * guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable.
* build-system/asdf: Parameterize the lisp type and implementation globally.Andy Patterson2017-05-16
| | | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type and %lisp before invoking the build procedure. Don't pass #:lisp-type as an argument to said procedure. * guix/build/asdf-build-system.scm: Adjust accordingly. (source-install-prefix): Rename to %lisp-source-install-prefix. * guix/build/lisp-utils.scm: Adjust accordingly. (%lisp-type): New parameter. (bundle-install-prefix): Rename to %bundle-install-prefix. * gnu/packages/lisp.scm: Adjust accordingly.
* build-system/asdf: Make #:lisp a package argument.Andy Patterson2017-05-16
| | | | | | | | | | | * guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'. (asdf-build): Change argument name to `lisp-type'. Remove `lisp' as an argument to the returned procedure. Change the argument passed to build phases to `lisp-type'. * guix/build/asdf-build-system.scm (copy-source, build, check) (create-asd-file, symlink-asd-files, cleanup-files, strip): Respect `lisp-type` argument. * gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
* build-system/asdf: Don't rename inputs.Andy Patterson2017-05-16
| | | | | | | | | | | | | * guix/build-system/asdf.scm (package-with-build-system)[transform]: Use updated `new-inputs' procedure for inputs and native-inputs. <rewrite>: Don't rename inputs. <new-propagated-inputs>: Draw from package-inputs and package-native-inputs for source packages. Use the original package's propagated-inputs otherwise. <new-inputs>: Convert into a function to be used to transform inputs and native-inputs. * gnu/packages/lisp.scm (sbcl-fiveam, sbcl-bordeaux-threads) (sbcl-flexi-streams, sbcl-cl-ppcre, sbcl-stumpwm, sbcl-slynk-arglists) (sbcl-slynk-fancy-inspector): Don't prefix input names.
* build-system/asdf: Use asdf to determine dependencies.Andy Patterson2017-05-16
| | | | | | | | | | | | This removes the need for conventions to determine which inputs are run-time dependencies, and also the need to specify "special" dependencies. * guix/build/lisp-utils.scm (patch-asd-file, lisp-dependencies) (wrap-perform-method): Remove them. (inputs->asd-file-map, system-dependencies, generate-system-definition) (generate-dependency-links, make-asd-file): New procedures. (lisp-eval-program): Add an error if no lisp matches. (compile-system): Don't use asdf's in-built asd-file generator.
* build-system: Add package-with-ocaml4.01.Ben Woodcroft2017-05-10
| | | | | | * guix/build-system/ocaml.scm (default-ocaml4.01, default-ocaml4.01-findlib, package-with-explicit-ocaml, package-with-ocaml4.01, strip-ocaml4.01-variant): New variables.
* guix: Add java-utils.Hartmut Goebel2017-05-10
| | | | | | | | * guix/build/java-utils.scm: New file. * guix/build-system/ant.scm: Use it. * Makefile.am (MODULES): Add it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* ant-build-system: Add default "check" target.Ricardo Wurmus2017-05-10
| | | | | | | | * guix/build-system/ant.scm (ant-build): Change default test target to "check"; add "test-dir" argument. * guix/build/ant-build-system.scm (default-build.xml): Add "test-dir" argument; add ant targets "compile-tests" and "check". (configure): Add "test-dir" argument; pass it to "default-build.xml".
* ant-build-system: Allow specifying source directory.Hartmut Goebel2017-05-10
| | | | | | | | | | | * guix/build-system/ant.scm (ant-build), guix/build/ant-build-system.scm (default-build.xml): Add parameter source-dir. * guix/build/ant-build-system.scm (configure): Pass source-dir on to default-build.xml. * doc/guix.texi (Build Systems): Document it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* build-system/python: 'package-with-explicit-python' uses 'package-mapping'.Ludovic Courtès2017-04-05
| | | | | | | * guix/build-system/python.scm (package-with-explicit-python) [package-variant, cut?]: New procedures. [transform]: Remove 'mlambdaq' form and input tuple handling. Use 'package-mapping'.
* build-system/cargo (cargo-build): Add cargo-build-flags, remove configure-flags.Danny Milosavljevic2017-03-17
| | | | | * guix/build-system/cargo.scm (cargo-build): Add cargo-build-flags, remove configure-flags.
* gnu: r: Rename to r-minimal.Ricardo Wurmus2017-03-17
| | | | | | | | | | | | | | | | * gnu/packages/statistics.scm (r): Rename to... (r-minimal): ...this new variable. (r-with-recommended-packages): Rename to... (r): ...this. * guix/build-system/r.scm (default-r): Reference r-minimal. * gnu/packages/emacs.scm (emacs-ess)[inputs], gnu/packages/machine-learning.scm (shogun)[inputs], gnu/packages/python.scm (python-rpy2)[inputs], gnu/packages/bioinformatics.scm (ribotaper)[inputs], (couger)[propagated-inputs], (roary)[inputs], (rsem)[inputs], (rcas-web)[inputs]: Change "r" to "r-minimal".
* build-system/cargo: Export %cargo-build-system-modules.Danny Milosavljevic2017-03-03
| | | | * guix/build-system/cargo.scm (%cargo-build-system-modules): Export.
* gnu: Add dub-build-system.Danny Milosavljevic2017-02-10
| | | | | | | * guix/build-system/dub.scm: New file. * guix/build/dub-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi: Add section for dub-build-system.
* build-system/python: 'package-with-explicit-python' uses 'eq?' memoization.Ludovic Courtès2017-01-28
| | | | | | * guix/build-system/python.scm (package-with-explicit-python): Use 'mlambdaq' instead of 'mlambda'. This does not change the <package> graph and has no visible impact on performance.
* Use 'mlambda' instead of 'memoize'.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | * gnu/packages.scm (find-newest-available-packages): Use 'mlambda' instead of (memoize (lambda ...) ...). * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Likewise. * guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]: Likewise. * guix/build-system/python.scm (package-with-explicit-python)[transform]: Likewise. * guix/derivations.scm (derivation->string): Likewise. * guix/gnu-maintenance.scm (gnu-package?): Likewise. * guix/modules.scm (module-file-dependencies): Likewise. * guix/scripts/graph.scm (standard-package-set): Likewise. * guix/scripts/lint.scm (official-gnu-packages*): Likewise. * guix/store.scm (store-regexp*): Likewise. * guix/utils.scm (location): Likewise.
* Add (guix memoization).Ludovic Courtès2017-01-28
| | | | | | | | | | | | | * guix/combinators.scm (memoize): Remove. * guix/memoization.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm, gnu/packages/bootstrap.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/cran.scm, guix/import/elpa.scm, guix/modules.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/store.scm, guix/utils.scm: Adjust imports accordingly.
* gnu: Add ocaml-build-system.Julien Lepiller2017-01-04
| | | | | | | | | * guix/build/ocaml-build-system.scm: New file. * guix/build-system/ocaml.scm: New file. * Makefile.am (MODULES): Add them. * gnu/packages/ocaml.scm (ocaml)[native-search-paths]: Adjuste OCAMLPATH. Signed-off-by: David Craven <david@craven.ch>
* build-system: cargo: Use correct cargo.David Craven2017-01-04
| | | | | * gnu/packages/rust.scm (cargo-bootstrap): Make private. * guix/build-system/cargo.scm (default-cargo): Use cargo.
* build-system: cargo: Handle Cargo.lock file not present.David Craven2017-01-01
| | | | | | | | | | | | | | | | | | * guix/build-system/cargo.scm (cargo-build): Add src output. (private-keywords): Add #:outputs. * guix/build/cargo-build-system.scm (configure): Use /share/rust-source when replacing inputs. (build, check): Don't do anything when there isn't a Cargo.lock file present. (install): Install sources to src output. When a Cargo.lock file is present use cargo install to install binaries to out. * guix/import/crate.scm (make-crate-sexp): Importer uses the src output for crate inputs by default. * guix/import/utils.scm (package-names->package-inputs, maybe-inputs, maybe-native-inputs): Take an optional output argument. * tests/crate.scm (crate->guix-package test): Update. Problem reported by Francisco Gómez García <espectalll@kydara.com>.
* build-system: Add cargo build system.David Craven2016-12-14
| | | | | | * guix/build-system/cargo.scm: New file. * guix/build/cargo-build-system.scm: New file. * Makefile.am (MODULES): Add files.
* guix: python-build-system: Add option "#:use-setuptools?" (default true).Hartmut Goebel2016-11-15
| | | | | | | | | | | | * guix/build-system/python.scm (python-build): New keyword argument "#:use-setuptools?", defaulting to #t. * guix/build/python-build-system.scm (call-setup-py): New positional parameter "use-setuptools?". If false, do not use the shim-wrapper for addin setuptools. (build, check): accept keyword- parameter, and pass to call-setuppy. (install): same; if "use-setuptools?" is false, do not use options "--root" and "--single-version-externally-managed" for setup.py. * doc/guix.texi (Build Systems): Document it.
* build-system: Add asdf-build-system.Andy Patterson2016-10-08
| | | | | | | | | | * guix/build-system/asdf.scm: New file. * guix/build/asdf-build-system.scm: New file. * guix/build/lisp-utils.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'asdf-build-system'. Signed-off-by: 宋文武 <iyzsong@gmail.com>
* Add missing exports.Ludovic Courtès2016-09-27
| | | | | | | | | Reported by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2016-09/msg01686.html>. * gnu/system/file-systems.scm (%tty-gid): Export. * guix/build-system/python.scm (default-python, default-python2): Export.
* ant-build-system: Fix typo.Leo Famulari2016-08-16
| | | | * guix/build-system/ant.scm (ant-build): Fix typo.
* guix: python-build-system: Change pypi-uri to use https://pypi.io.宋文武2016-06-25
| | | | | * guix/build-system/python.scm (pypi-uri): Use https://pypi.io. * gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io.
* build-system/emacs: Use 'emacs-minimal' by default.Alex Kost2016-05-24
| | | | | * guix/build-system/emacs.scm (default-emacs): Use 'emacs-minimal'. * gnu/packages/emacs.scm (emacs-auctex): Use 'emacs'.
* utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | * guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
* build-system/ant: Add zip.Ricardo Wurmus2016-03-31
| | | | | * guix/build-system/ant.scm (default-zip): New variable. (lower): Add zip to native inputs.
* build-system/r: Support "substitutable?" flag.Ricardo Wurmus2016-03-31
| | | | * guix/build-system/r.scm (r-build): Support the "substitutable?" flag.
* build-system/gnu: Add #:disallowed-references.Ludovic Courtès2016-03-20
| | | | | | * guix/build-system/gnu.scm (gnu-build): Add #:disallowed-references and honor it. (gnu-cross-build): Likewise.
* build: Add Ant build system.Ricardo Wurmus2016-03-14
| | | | | | | * guix/build-system/ant.scm: New file. * guix/build/ant-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ant-build-system.
* build-system/python: Honor the 'python2-variant' property of packages.Ludovic Courtès2016-02-07
| | | | | | | | | Fixes <http://bugs.gnu.org/22437>. Reported by Leo Famulari <leo@famulari.name> and others. * guix/build-system/python.scm (package-with-explicit-python): Add #:variant-property and honor it. (strip-python2-variant): New procedure.
* build-system/python: Use 'ensure-keyword-arguments'.Ludovic Courtès2016-02-01
| | | | | * guix/build-system/python.scm (package-with-explicit-python): Use 'ensure-keyword-arguments'.
* Merge branch 'master' into core-updatesLudovic Courtès2016-01-13
|\
| * build-system/gnu: 'dist-package' can be passed the phases.Ludovic Courtès2016-01-13
| | | | | | | | | | * guix/build-system/gnu.scm (dist-package): Add #:phases parameter and honor it.
| * build-system/python: 'pypi-uri' takes an optional file name extension.Ludovic Courtès2016-01-08
| | | | | | | | | | | | | | Suggested by swedebugia <swedebugia@riseup.net>. * guix/build-system/python.scm (pypi-uri): Add 'extension' parameter and use it.
| * build-system/gnu: Make 'package-with-explicit-inputs' idempotent.Ludovic Courtès2016-01-06
| | | | | | | | | | | | | | * guix/build-system/gnu.scm (package-with-explicit-inputs): Use 'ensure-keyword-arguments' instead of appending to ARGS. * gnu/packages/commencement.scm (static-bash-for-glibc): Add missing #:guile argument.
* | Merge branch 'master' into core-updatesLudovic Courtès2016-01-03
|\|
| * build: Add bioconductor-uri procedure.Ricardo Wurmus2015-12-21
| | | | | | | | * guix/build-system/r.scm (bioconductor-uri): New procedure.
* | build-system/gnu: Use the long option name for deterministic archives.Ludovic Courtès2016-01-01
| | | | | | | | | | | | | | | | | | This is a followup to 3eb34c6. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use "--enable-deterministic-archives" instead of "-D" to work around Binutils bug <https://sourceware.org/bugzilla/show_bug.cgi?id=17671>. * guix/build/gnu-build-system.scm (strip): Likewise.
* | build-system/gnu: Always pass "-D" to strip/objcopy.Ludovic Courtès2015-12-18
|/ | | | | | | * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add "-D" to #:strip-flags. * guix/build/gnu-build-system.scm (strip): Likewise. Also pass "-D" to OBJCOPY-COMMAND.
* build-system/python: 'package-with-python2' preserves source location.Ludovic Courtès2015-11-04
| | | | | * guix/build-system/python.scm (package-with-explicit-python): Add 'location' field.
* guix: Add a "pypi-uri" helper method.Cyril Roelandt2015-11-03
| | | | | * guix/download.scm (mirrors): New "pypi" mirror. * guix/build-system/python.scm (pypi-uri): New method.
* build-system/gnu: dist-package: Use 'autoconf-wrapper'.Ludovic Courtès2015-10-14
| | | | | * guix/build-system/gnu.scm (dist-package): Use AUTOCONF-WRAPPER instead of AUTOCONF.
* build-system/python: Memoize the results of 'package-with-python2'.Ludovic Courtès2015-10-13
| | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/21675>. Reported by Cyril Roelandt <tipecaml@gmail.com>. Before this change, the command: guix build python2-oslo.utils -n --no-substitutes would take 17.5s. After, it is down to 2.9s. Likewise, the command: guix graph python2-bandit | grep python2-setuptools.*Helve| wc -l would return 412 nodes before, all functionally equivalent, and returns a single one now. * guix/build-system/python.scm (package-with-explicit-python): Remove 'p' parameter. Change to return a one-argument memoizing procedure. (package-with-python2): Adjust accordingly.
* Use "normalized codesets" everywhere.Ludovic Courtès2015-10-04
| | | | | | | | | | | | | | | In other words, change "xx_YY.UTF-8" to "xx_YY.utf8". * guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of "en_US.UTF-8". * guix/packages.scm (patch-and-repack): Likewise. * guix/build/gnu-build-system.scm (install-locale): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * gnu/packages/python.scm (python-ipython): Likewise. * gnu/packages/gawk.scm (gawk): Likewise. * build-aux/hydra/demo-os.scm: Likewise. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove 'change-locale' phase.
* Merge branch 'master' into core-updatesMark H Weaver2015-09-22
|\