summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
* 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
|\
| * build: Add cran-uri procedure.Ricardo Wurmus2015-09-21
| | | | | | | | * guix/build-system/r.scm (cran-uri): New procedure.
* | Merge branch 'master' into core-updatesLudovic Courtès2015-09-13
|\|
| * build: Add R build system.Ricardo Wurmus2015-08-31
| | | | | | | | | | | | | | * guix/build-system/r.scm: New file. * guix/build/r-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document r-build-system.
* | build-system/glib-or-gtk: Don't generate 'icon-theme.cache'.宋文武2015-09-11
|/ | | | | | | * guix/build-system/glib-or-gtk.scm (default-gtk+): Remove. (lower): Adjust accordingly. * guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Remove. (%standard-phases): Remove 'glib-or-gtk-icon-cache' phase.
* build: ruby: Rewrite build system to use gem archives.David Thompson2015-08-18
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl> * guix/build-system/ruby.scm (lower): Remove git dependency. (rubygems-uri): New procedure. * guix/build/ruby-build-system (gitify): Delete. (unpack): Use 'gem unpack' utility. (check): Add docstring. (build): Repack modified gem. (install): Rebuild unpacked gem and install it. (%standard-phases): Remove gitify and build phases. * gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler, ruby-i18n, ruby-rspec-support, ruby-rspec-core, ruby-diff-lcs-for-rspec, ruby-rspec-expectations, ruby-rspec-mocks, ruby-rspec, bundler, ruby-useragent, ruby-bacon, ruby-arel, ruby-connection-pool, ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint, ruby-minitest-bacon, ruby-daemons, ruby-git, ruby-slop, ruby-multipart-post): Convert to new build system. * doc/guix.texi (ruby-build-system): Document the gem archive requirement.
* Merge branch 'master' into core-updatesMark H Weaver2015-07-19
|\
| * build-system/ruby: Add #:gem-flags parameter.pjotrp2015-07-18
| | | | | | | | | | | | | | | | * guix/build-system/ruby.scm (build): add 'gem-flags' key * guix/build/ruby-build-system.scm (build): use 'gem-flags' key * doc/guix.texi (Build Systems): Mention #:gem-flags. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* | build-system/gnu: Pass --build=<triplet> to configure by default.Mark H Weaver2015-07-13
|/ | | | | | | * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept #:build keyword argument. Pass it to 'gnu-build' on the build side. * guix/build/gnu-build-system.scm (configure): Accept #:build keyword argument. Unless it is false, pass --build to configure.
* build: Add 'emacs-build-system'.Federico Beffa2015-07-08
| | | | | | | | * Makefile.am (MODULES): Add 'guix/build-system/emacs.scm' and 'guix/build/emacs-build-system.scm'. * guix/build-system/emacs.scm: New file. * guix/build/emacs-build-system.scm: New file. * doc/guix.texi (Build Systems): Document it.
* derivations: Add #:substitutable?, distinguished from #:local-build?.Ludovic Courtès2015-07-03
| | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18747>. * guix/derivations.scm (substitutable-derivation?): Rewrite to check for "allowSubstitutes". (derivation): Add #:substitutable? parameter. [user+system-env-vars]: Honor it. (build-expression->derivation): Add #:substitutable? and honor it. * guix/gexp.scm (gexp->derivation): Likewise. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes, non-substitutable build"): Use #:substitutable? instead of #:local-build?. ("substitutable-derivation?", "derivation-prerequisites-to-build and substitutes, local build"): New tests. * guix/download.scm (url-fetch): Adjust comment. * guix/git-download.scm (git-fetch): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use #:substitutable? instead of #:local-build?. * doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.
* packages: Make 'location' field innate.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | * guix/packages.scm (<package>)[location]: Add 'innate' property. * guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and 'location' field. * gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field. * gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final): Likewise. * gnu/packages/cross-base.scm (cross): Likewise. * gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise. * gnu/packages/make-bootstrap.scm (tarball-package): Likewise. * gnu/packages/maths.scm (petsc-complex): Likewise.
* Move search path specifications to (guix search-paths).Ludovic Courtès2015-05-04
| | | | | | | | | | | | | * guix/packages.scm (<search-path-specification>, search-path-specification->sexp, sexp->search-path-specification): Move to... * guix/search-paths.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build-system/cmake.scm, guix/build-system/glib-or-gtk.scm, guix/build-system/gnu.scm, guix/build-system/haskell.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/ruby.scm, guix/build-system/waf.scm, guix/profiles.scm, guix/scripts/package.scm: Use it.
* Merge branch 'core-updates'Ludovic Courtès2015-05-02
|\
| * build-system/{cmake,glib-or-gtk}: Add #:validate-runpath? parameter.Ludovic Courtès2015-04-23
| | | | | | | | | | | | * guix/build-system/cmake.scm (cmake-build): Add #:validate-runpath? parameter and pass it to BUILDER. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.