summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
* gnu: Split (gnu packages base), adding (gnu packages commencement).Ludovic Courtès2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet, binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0, texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, glibc-final, gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++, gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs, guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final, %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain, gcc-toolchain-4.8, gcc-toolchain-4.9): Move to... * gnu/packages/commencement.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/check-final-inputs-self-contained.scm: Adjust accordingly. * gnu/packages/cross-base.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/gnu.scm (standard-packages, gnu-build, gnu-cross-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * guix/download.scm (url-fetch): Likewise. * guix/gexp.scm (default-guile): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/monads.scm (run-with-store): Likewise. * guix/packages.scm (default-guile): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Likewise. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh: Likewise. * gnu/services/base.scm: Use 'canonical-package' instead of xxx-final. * gnu/services/xorg.scm: Likewise. * gnu/system/vm.scm: Likewise. * guix/scripts/pull.scm (guix-pull): Likewise.
* build-system/perl: Add handling of flags for parallel build and testing.Andreas Enge2014-08-27
| | | | | | * guix/build-system/perl.scm (perl-build): Add support for variables parallel-build? and parallel-tests?. * guix/build-system/gnu.scm (gnu-build): Add a line break for clarity.
* Add comments about global memoization.Ludovic Courtès2014-07-21
| | | | | | * guix/build-system/gnu.scm (standard-inputs): Add comment about misplaced memoization. * guix/packages.scm (cache): Likewise.
* build-system/gnu: Add 'package-with-restricted-references'.Ludovic Courtès2014-06-07
| | | | | * guix/build-system/gnu.scm (package-with-restricted-references): New procedure.
* build-system/gnu: Add #:allowed-references.Ludovic Courtès2014-06-06
| | | | | | | * guix/build-system/gnu.scm (gnu-build): Add #:allowed-references. [canonicalize-reference]: New procedure. Pass #:allowed-references to 'build-expression->derivation'. (gnu-cross-build): Likewise.
* build-system/perl: Honour phases argument in perl build system.Andreas Enge2013-12-09
| | | | | * guix/build-system/perl.scm (perl-build): Propagate phases argument to builder.
* build-system/gnu: Fix reference to Gettext in 'dist-package'.Ludovic Courtès2013-12-04
| | | | | * guix/build-system/gnu.scm (dist-package): Change 'gettext' to 'gnu-gettext'.
* derivations: Use more keyword parameters for 'build-expression->derivation'.Ludovic Courtès2013-12-04
| | | | | | | | | | | | | | | | | * guix/derivations.scm (build-expression->derivation): Turn 'system' and 'inputs' into keyword parameters. Adjust callers accordingly. * gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm, guix/build-system/gnu.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/trivial.scm, guix/download.scm, guix/packages.scm, guix/profiles.scm, guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh, tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of 'build-expression->derivation' and 'derivation-expression' accordingly. * doc/guix.texi (Derivations): Adjust 'build-expression->derivation' documentation accordingly. (The Store Monad): Likewise for 'derivation-expression'.
* build-system/cmake: Build out of source tree by default.Ludovic Courtès2013-11-28
| | | | | | | * guix/build-system/cmake.scm (cmake-build): Change 'out-of-source?' to default to #t. * guix/build/cmake-build-system.scm (configure): Add 'out-of-source?' keyword parameter and honor it.
* Merge branch 'master' into core-updatesLudovic Courtès2013-11-20
|\ | | | | | | | | Conflicts: guix/packages.scm
| * build-system/python: Add #:test-target parameter.Ludovic Courtès2013-11-20
| | | | | | | | | | * guix/build-system/python.scm (python-build): Add #:test-target parameter. Reported by Eric Bavier <ericbavier@gmail.com>.
* | Merge branch 'master' into core-updatesLudovic Courtès2013-11-01
|\|
| * build-system/{cmake,perl}: Don't use (guix build gnu-build-system).Ludovic Courtès2013-10-29
| | | | | | | | | | | | | | | | | | Previously references to '%standard-phases' in builder-side code would refer to the wrong one. * guix/build-system/cmake.scm (cmake-build): Remove (guix build gnu-build-system) from the default MODULES value. * guix/build-system/perl.scm (perl-build): Likewise.
| * build-system/perl: Lazily resolve (gnu packages perl).Ludovic Courtès2013-10-12
| | | | | | | | | | * guix/build-system/perl.scm (default-perl): New procedure. (perl-build): Use it.
* | build-system/{gnu,cmake}: Remove #:patches and #:patch-flags parameters.Ludovic Courtès2013-10-10
|/ | | | | | | | | | * guix/build/gnu-build-system.scm (patch): Remove. (%standard-phases): Remove 'patch'. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove #:patches and #:patch-flags parameters. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/python.scm (package-with-explicit-python): Update comment.
* build-system/trivial: Take the 'source' field into account.Ludovic Courtès2013-09-27
| | | | | | | * guix/build-system/trivial.scm (trivial-build): When SOURCE is true, add it to INPUTS. (trivial-cross-build): Likewise. * tests/packages.scm ("trivial with source"): New test.
* derivations: 'derivation' and related procedures return a single value.Ludovic Courtès2013-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/derivations.scm (derivation->output-path, derivation->output-paths): New procedures. (derivation-path->output-path): Use 'derivation->output-path'. (derivation-path->output-paths): Use 'derivation->output-paths'. (derivation): Accept 'derivation?' objects as inputs. Return a single value. (build-derivations): New procedure. (compiled-modules): Use 'derivation->output-paths'. (build-expression->derivation)[source-path]: Add case for when the input matches 'derivation?'. [prologue]: Accept 'derivation?' objects in INPUTS. [mod-dir, go-dir]: Use 'derivation->output-path'. * guix/download.scm (url-fetch): Adjust to the single-value return. * guix/packages.scm (package-output): Use 'derivation->output-path'. * guix/scripts/build.scm (guix-build): When the argument is 'derivation-path?', pass it through 'read-derivation'. Use 'derivation-file-name' to print out the .drv file names, and to register them. Use 'derivation->output-path' instead of 'derivation-path->output-path'. * guix/scripts/package.scm (roll-back): Adjust to the single-value return. (guix-package): Use 'derivation->output-path'. * guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?' objects instead of .drv file names. * gnu/system/grub.scm (grub-configuration-file): Use 'derivation->output-path' instead of 'derivation-path->output-path'. * gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise. * tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/store.scm, tests/union.scm: Adjust to the new calling convention. * doc/guix.texi (Defining Packages, The Store, Derivations): Adjust accordingly.
* Merge branch 'python'Andreas Enge2013-09-14
|\
| * guix: python: Do not import %standard-phases from gnu-build-system.Andreas Enge2013-09-10
| | | | | | | | | | * guix/build-system/python.scm (python-build): Drop module gnu-build-system. Thanks to Ludovic Courtès <ludo@gnu.org>.
| * guix: python: Add parameter #:phases to build system.Andreas Enge2013-09-10
| | | | | | | | * guix/build-system/python.scm (python-build): Use parameter #:phases.
| * guix: python: Add package-with-python2, a procedure rewriting a packageAndreas Enge2013-09-08
| | | | | | | | | | | | | | | | | | to compile with Python 2 instead of the default Python 3. * guix/build-system/python.scm (default-python2, package-with-explicit-python, package-with-python2): New procedures. * guix/build-system/python.scm (python2-pytz, python2-babel): Use package-with-python2.
| * guix: python: Switch to python-wrapper as the default version for the pythonAndreas Enge2013-09-04
| | | | | | | | | | | | | | | | | | build system (switches to Python 3) and compute python-version instead of passing it as a parameter. * guix/build-system/python.scm (default-python): Switch to python-wrapper. * guix/build-system/python.scm (python-build): Drop parameter #:python-version. * guix/build/python-build-system.scm (wrap): Compute python version from input.
* | build-system/cmake: Fix typo.Ludovic Courtès2013-09-03
| | | | | | | | * guix/build-system/cmake.scm (default-cmake): Add missing quote.
* | build-system/gnu: Delay resolution of (@ (gnu packages cmake) cmake).Ludovic Courtès2013-09-03
|/ | | | | * guix/build-system/cmake.scm (default-cmake): New procedure. (cmake-build): Use it.
* build-system/gnu: Add `dist-package'.Ludovic Courtès2013-08-24
| | | | | | | | * guix/build/gnu-dist.scm: New file. * Makefile.am (MODULES): Add it. * guix/build-system/gnu.scm (%default-modules): New variable. (gnu-build): Use it. (dist-package): New procedure.
* build-system/gnu: Remove the "debug" output when `strip-binaries?' is #f.Ludovic Courtès2013-07-04
| | | | | | | * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Delete "debug" from OUTPUTS when STRIP-BINARIES? is false. * gnu/packages/cross-base.scm (cross-libc): Leave `outputs' unchanged. This reverts commit a4627d4.
* build-system/gnu: `package-with-explicit-inputs' skips non-GBS packages.Ludovic Courtès2013-06-25
| | | | | * guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]: Leave P unchanged if its build system is not GNU-BUILD-SYSTEM.
* build-system/gnu: Augment `package-with-explicit-inputs' for cross builds.Ludovic Courtès2013-06-25
| | | | | | * guix/build-system/gnu.scm (package-with-explicit-inputs): Add `native-inputs' keyword parameter. Allow INPUTS and NATIVE-INPUTS to be thunks.
* build-system/trivial: Don't bind `%target' in the builder.Ludovic Courtès2013-06-25
| | | | | | | * guix/build-system/trivial.scm (trivial-cross-build): Don't bind `%target' here since this causes problem when BUILDER contains (use-modules ...) clauses, and can be achieved differently anyway.
* build-system/gnu: Disable test suite when cross building.Ludovic Courtès2013-06-24
| | | | | * guix/build-system/gnu.scm (gnu-cross-build): Change #:tests? to default to #f.
* build-system/gnu: Unify with (guix build-system gnu-cross-build).Ludovic Courtès2013-06-21
| | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and `native-search-paths' keyword parameters. Honor them. (configure): Add `target' and `native-inputs' keyword parameters. Look for Bash in NATIVE-INPUTS or INPUTS. Pass `--host' when TARGET is true. (strip): Add `strip-command' keyword parameter. Use it. * guix/build/gnu-cross-build.scm: Remove. * Makefile.am (MODULES): Adjust accordingly. * gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm, gnu/packages/bash.scm, gnu/packages/gawk.scm, gnu/packages/gettext.scm, gnu/packages/guile.scm, gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm, gnu/packages/linux.scm, gnu/packages/ncurses.scm, gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace `%standard-cross-phases' by `%standard-phases'. Remove references to (guix build gnu-cross-build).
* build-system/trivial: Fix introduction of `%target' when cross-building.Ludovic Courtès2013-06-15
| | | | | * guix/build-system/trivial.scm (trivial-cross-build): Wrap BUILDER in a `let' rather than in `begin'.
* gnu: Fix `static-package' arguments overriding.Ludovic Courtès2013-06-05
| | | | | | * guix/build-system/gnu.scm (static-package): Call `package-arguments' from within the `arguments' field, so it see the right (%current-target-system).
* build-system/python: Avoid circular dependency.Ludovic Courtès2013-05-30
| | | | | | | | This fixes a circular dependency introduced in commit acc26ff ("gnu: Add pytz."). * guix/build-system/python.scm (default-python): New procedure. (python-build): Use it.
* build-system/gnu: Fix typo in `gnu-cross-build'.Ludovic Courtès2013-05-27
| | | | | * guix/build-system/gnu.scm (gnu-cross-build)[builder]: When IMPLICIT-TARGET-INPUTS is #f, default to '().
* build-system/gnu: Make sure build input variables contain pairs.Ludovic Courtès2013-05-25
| | | | | | * guix/build-system/gnu.scm (gnu-cross-build)[builder]: Make sure %build-host-inputs and %build-target-inputs always contain pairs, not lists.
* build-system/trivial: Implement the cross-build protocol.Ludovic Courtès2013-05-24
| | | | | | | * guix/build-system/trivial.scm (guile-for-build): New procedure. (trivial-build): Use it. (trivial-cross-build): New procedure. (trivial-build-system): Use it.
* build-system/gnu: Implement cross build.Ludovic Courtès2013-05-24
| | | | | | | | | | | | | | * guix/build-system/gnu.scm (inputs-search-paths): New procedure. (standard-search-paths): Use it. (expand-inputs): New procedure. (standard-inputs): Use it. (standard-cross-packages, standard-cross-inputs, standard-cross-search-paths, gnu-cross-build): New procedures. (gnu-build-system): Set `cross-build' field to `gnu-cross-build'. * gnu/packages/cross-base.scm: Export `cross-gcc', `cross-binutils', and `cross-libc'. * guix/build/gnu-cross-build.scm: New file. * Makefile.am (MODULES): Add it.
* Add 'python-build-system'.Nikita Karetnikov2013-05-08
| | | | | * guix/build-system/python.scm, guix/build/python-build-system.scm: New files. * Makefile.am (MODULES): Add them.
* build-system/{perl,cmake}: Keep the standard search paths of gnu-build-system.Ludovic Courtès2013-04-16
| | | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/build-system/gnu.scm (standard-search-paths): New procedure. (gnu-build): Use it. * guix/build-system/perl.scm (perl-build): Append (standard-search-paths) to the search paths of PERL. * guix/build-system/cmake.scm (cmake-build): Append (standard-search-paths) to SEARCH-PATHS.
* build-system/gnu: Fix search path computation with implicit inputs.Ludovic Courtès2013-04-09
| | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/build-system/gnu.scm (standard-packages): New procedure. (standard-inputs): Use it instead of resolving things locally. (gnu-build)[implicit-search-paths]: Map over (standard-packages), not over STANDARD-INPUTS.
* packages: Add `native-search-paths' field and honor it.Ludovic Courtès2013-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (<search-path-specification>): New record type. (search-path-specification->sexp): New procedure. (<package>)[native-search-paths]: New field. (package-derivation): Accumulate the search paths, and pass them as #:search-paths toe BUILDER. * guix/build-system/gnu.scm (gnu-build): Add #:search-paths. Compute `implicit-search-paths'. Pass #:search-paths in BUILDER. * guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it to BUILDER with the search paths of PERL. * guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it to BUILDER. * guix/build-system/trivial.scm (trivial-build): Add #:search-paths, ignore it. * guix/build/gnu-build-system.scm (set-paths): Add #:search-paths. Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH. Instead, walk SEARCH-PATHS and call `set-path-environment-variable' for them. * guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting. * tests/packages.scm ("search paths"): New test. * gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add #:search-paths. (%bootstrap-gcc): Add `native-search-paths' field. * gnu/packages/perl.scm (perl): Likewise. * gnu/packages/pkg-config.scm (pkg-config): Likewise. * gnu/packages/glib.scm (intltool): Remove `arguments'. * gnu/packages/avahi.scm (avahi): Remove #:phases.
* build-system/gnu: Remove #:path-exclusions parameter.Ludovic Courtès2013-03-30
| | | | | | | | | * guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions' parameter. Replace `relevant-input-directories' by `input-directories'. * guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions' parameter; don't pass it in BUILDER. * guix/build-system/cmake.scm (cmake-build): Likewise.
* Add (guix build-system cmake).Cyril Roelandt2013-03-28
| | | | | * guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files. * Makefile.am (MODULES): Add them.
* Add (guix build-system perl).Ludovic Courtès2013-03-04
| | | | | | * guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files. * Makefile.am (MODULES): Add them. * guix/build-system/gnu.scm (standard-inputs): Make public.
* build-system/gnu: Make the strip behavior of `static-package' configurable.Ludovic Courtès2013-02-14
| | | | | * guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword parameter.
* build-system/gnu: Clarify docstring of `package-with-extra-configure-variable'.Ludovic Courtès2013-02-08
| | | | | * guix/build-system/gnu.scm (package-with-extra-configure-variable): Add "recursively" in the docstring.
* packages: Mark the `arguments' field of <package> as thunked.Ludovic Courtès2013-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (<package>): Mark `arguments' as thunked. (package-derivation): Adjust accordingly. Parameterize %CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it. * guix/build-system/gnu.scm (package-with-explicit-inputs): Expect `package-arguments' to always return a list, and return a list. (package-with-extra-configure-variable): Likewise. (static-package): Likewise. * gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0, gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, binutils-final, gcc-final): Change `arguments' from a lambda to a list, and use (%current-system) as needed. (nix-system->gnu-triplet, boot-triplet): Have the first argument default to (%current-system). * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system' default to (%current-system). (%bootstrap-gcc): Change `arguments' to a list. * gnu/packages/gawk.scm (gawk): Likewise. * gnu/packages/m4.scm (m4): Likewise. * gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and expect `package-arguments' to return a list. (%static-inputs, %gcc-static, tarball-package): Likewise. * gnu/packages/ncurses.scm (ncurses): Likewise.
* distro: Change the module name space to (gnu ...).Ludovic Courtès2013-01-18
| | | | | | | | | | * distro: Rename to... * gnu: ... this. Update module names accordingly. * Makefile.am: Adjust accordingly. * po/POTFILES.in: Likewise. * distro.scm: Search for files under /gnu/packages instead of /distro/packages. * gnu/packages/base.scm (ld-wrapper-boot3): Likewise.
* build-system/gnu: Allow the `source' argument to be #f.Ludovic Courtès2013-01-15
| | | | * guix/build-system/gnu.scm (gnu-build): Allow SOURCE to be #f.