summaryrefslogtreecommitdiff
path: root/gnu/packages/bootstrap.scm
AgeCommit message (Expand)Author
2014-10-29gnu: Add Xtensa bare-bones cross-compiler....* gnu/packages/cross-base.scm (xgcc-xtensa): New variable. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "xtensa-elf". Ludovic Courtès
2014-10-05build-system: Bags record their system and target....* guix/build-system.scm (<bag>)[system, target]: New fields. (make-bag): Add #:system parameter and pass it to LOWER. * gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field. * guix/build-system/cmake.scm (lower): Likewise. * guix/build-system/perl.scm (lower): Likewise. * guix/build-system/python.scm (lower): Likewise. * guix/build-system/ruby.scm (lower): Likewise. * guix/build-system/trivial.scm (lower): Likewise. * guix/build-system/gnu.scm (lower): Initialize 'system' and 'target' fields. * guix/packages.scm (bag->derivation, bag->cross-derivation): New procedures. (package-derivation, package-cross-derivation): Use 'bag->derivation'. * tests/packages.scm ("search paths"): Initialize 'system' and 'target' fields. ("package->bag", "package->bag, cross-compilation", "bag->derivation", "bag->derivation, cross-compilation"): New tests. Ludovic Courtès
2014-10-05build-system: Introduce "bags" as an intermediate representation....* guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags. Ludovic Courtès
2014-09-24gnu: bootstrap: Correctly handle patches that are origins....* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of SOURCES that are also origins. Ludovic Courtès
2013-11-16gnu: Switch to GCC 4.8 as the default compiler....* build-aux/download.scm (file-name->uri): Update URL to /20131110. * gnu-system.am (nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA): Change base name to 'guile-2.0.9.tar.xz'. (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz, gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets. (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz, gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove. (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update hash. * gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8. Enable C++, and add a few --disable flags. Remove MPFR workaround. (cross-gcc-wrapper): Base upon GCC-4.8. Wrap both 'gcc' and 'g++'. (libstdc++): New variable. (gcc-final): Add it as an input; pass corresponding -I and -L flags. * gnu/packages/bootstrap.scm (%bootstrap-guile): Always use "guile-2.0.9.tar.xz. (%bootstrap-coreutils&co): Update hashes. (%bootstrap-binutils): Update URL and hashes. (%bootstrap-glibc): Likewise. (%bootstrap-gcc): Likewise. * gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS. Add --disable-libstdcxx-pch. Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw _SPEC macros. Ludovic Courtès
2013-11-03gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI....* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz. * gnu-system.am (bootstrap_mips64el_linuxdir, dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA): New variables. (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA). (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target. * build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux bootstrap tarballs. * gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer mips64el-linux bootstrap tarballs. * gnu/packages/bootstrap/mips64el-linux/bash: * gnu/packages/bootstrap/mips64el-linux/mkdir: * gnu/packages/bootstrap/mips64el-linux/tar: * gnu/packages/bootstrap/mips64el-linux/xz: New files. Mark H Weaver
2013-11-01Merge branch 'master' into core-updatesLudovic Courtès
2013-10-15Remove weirdnesses caused by 'letrec*' behavior of record field initializers....* gnu/packages/bootstrap.scm (package-from-tarball): Remove '*' from parameter names. Adjust accordingly. * gnu/packages/linux-initrd.scm (expression->initrd): Use 'name' directly, removing the 'name*' alias. * gnu/packages/linux.scm (linux-libre-headers, linux-libre): Rename 'version*' to 'version'. Ludovic Courtès
2013-10-10gnu: bootstrap: Use the bootstrap tools for <origin> patching....* gnu/packages/bootstrap.scm (bootstrap-origin): Override the 'patch-guile' and 'patch-inputs' fields of SOURCE. Ludovic Courtès
2013-08-26derivations: Move 3 positional parameters into keyword parameters....* guix/derivations.scm (derivation): Turn `system', `env-vars', and `inputs' into keyword parameters. (build-expression->derivation): Adjust accordingly. * gnu/packages/bootstrap.scm (%bootstrap-guile): Likewise. * tests/derivations.scm, tests/store.scm: Likewise. * doc/guix.texi (Derivations): Likewise. Ludovic Courtès
2013-06-26gnu: cross-base: Make `glibc-dynamic-linker' do the right thing....* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Determine SYSTEM based on (%current-target-system) when it's true. * gnu/packages/cross-base.scm (cross-gcc): Directly call (package-arguments gcc-4.7) from the body of `arguments'. Ludovic Courtès
2013-03-30packages: Add `native-search-paths' field and honor it....* 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. Ludovic Courtès
2013-03-29Merge branch 'master' into core-updates...Conflicts: Makefile.am gnu/packages/base.scm Ludovic Courtès
2013-03-07packages: Remove the default value for `license'....* guix/packages.scm (<package>): Remove the default value for `license'. * gnu/packages/bootstrap.scm (package-from-tarball, %bootstrap-glibc, %bootstrap-gcc): Initialize `license'. * tests/packages.scm (dummy-package): Likewise. Ludovic Courtès
2013-02-27gnu: Add cross tool chain....* gnu/packages/cross-base.scm: New file. * gnu/packages/patches/gcc-cross-environment-variables.patch: New file. * Makefile.am (MODULES): Add cross-base.scm. (dist_patch_DATA): Add gcc-cross-environment-variables.patch. * gnu/packages/base.scm (gcc-4.7): Use `LDFLAGS_FOR_TARGET' instead of `LDFLAGS_FOR_BUILD', and use `-B' instead of `-L'. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "mips64el-linux". Ludovic Courtès
2013-01-30store: Remove the `fixed?' parameter from `add-to-store'....* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the public interface. * gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm, guix/packages.scm, tests/derivations.scm: Update all callers accordingly. Ludovic Courtès
2013-01-24packages: Mark the `inputs' field of <package> as thunked....* guix/packages.scm (<package>)[inputs]: Mark as thunked. (package-derivation)[expand-input]: Remove case where the input is a procedure. * tests/packages.scm ("trivial with system-dependent input"): Remove `lambda', and use (%current-system). * gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'. (%bootstrap-glibc, %bootstrap-gcc): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. Ludovic Courtès
2013-01-23packages: Mark the `arguments' field of <package> as thunked....* 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. Ludovic Courtès
2013-01-18distro: Rename (distro) to (gnu packages)....* distro.scm: Rename to... * gnu/packages.scm: ... this. Update all users accordingly. * Makefile.am (MODULES): Adjust accordingly. * po/POTFILES.in: Likewise. Ludovic Courtès
2013-01-18distro: Change the module name space to (gnu ...)....* 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. Ludovic Courtès