summaryrefslogtreecommitdiff
path: root/gnu/packages/bootstrap.scm
AgeCommit message (Collapse)Author
2024-12-05gnu: glibc-dynamic-linker: Match all mingw systems.Efraim Flashner
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Match any system which ends in '-mingw'. Change-Id: I057e3d0abfc37f4b2b8784f444bbaf865c67ce3e
2024-12-05Partial revert "gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit ↵Zheng Junjie
Hurd." This partially reverts commit 877b925df16740f9419d165d39cb7f191a86d5d1. This part accidentally triggered a world rebuild for non-x86 architectures. Change-Id: Iabc5422bb0e2bb37816ad437994af94d04830cb0
2024-12-05Partial revert "gnu: bootstrap: %bootstrap-glibc: Also fix libm.so."Zheng Junjie
This partially reverts commit 204fe1b1f05f4438d1cf72c568b45696e55e54c9. This part accidentally triggered a world rebuild for non-x86 architectures. Change-Id: I921984ef5eff58792ffc17b64675db6a8e79695c
2024-12-03gnu: bootstrap: bootstrap-%guile: Revert aarch64-linux hash.Janneke Nieuwenhuizen
This is a follow-up to commit 4d9c5984fee481d74c2f504094b4797bbb4104d4 gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd. where it was inadvertently changed. Reported by fanquake via IRC. * gnu/packages/bootstrap.scm (bootstrap-guile-hash)[aarch64-linux]: Revert to 1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r. Change-Id: I26176b192e43ebe05bbd575414a7173583c6d5b6
2024-12-03gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd.Janneke Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-gcc)[arguments] When building for thee 64bit Hurd have the #:builder also wrap g++. Co-authored-by: Efraim Flashner <[email protected]> Change-Id: I2cdbc6837e1c451f108b309f2608240a7f57b82c
2024-12-03gnu: bootstrap: %bootstrap-glibc: Also fix libm.so.Janneke Nieuwenhuizen
On the 64bit Hurd, glibc-2.39's libm.so is also a linker script. This fixes having it refer to /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libm.so.6 /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libmvec.so.1 * gnu/packages/bootstrap.scm (%bootstrap-glibc)[arguments]: When building for the 64bit Hurd, also substitute libm.so linker script. Update the regexp to also cater for libh[urduser] and libm[achuser]. Change-Id: I878e63d18f1012b6e186e90eb68cb97bec5ae94c
2024-12-03gnu: bootstrap: Add support for x86_64-gnu, aka the 64bit Hurd.Janneke Nieuwenhuizen
On commit: ec8a5ec15f898e864705e5a5c834532e3fa8d0a4 gnu: make-bootstrap: Update gcc-static to gcc-14, for the 64bit Hurd. Run: ./pre-inst-env guix build --target=x86_64-gnu bootstrap-tarballs Producing: /gnu/store/w1n7bdpn88plcc49h7n0jriaj41sgwx8-bootstrap-tarballs-0/ With guix hash -r: 15cb1xh7s2hhp8s0d81bjnw1759w9sh7ckc9n5jq2f3rqw6z76by * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for x86_64-gnu. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for x86_64-gnu. * guix/packages.scm (%supported-systems, %hurd-systems): Add x86_64-gnu. (%cuirass-supported-systems): Remove x86_64-gnu. * guix/utils.scm (target-64bit?): Add x86_64-gnu. * m4/guix.m4: Add x86_64-gnu as a supported system. * doc/guix.texi (GNU Distribution): Add x86_64-gnu. Change-Id: I828159aedb3f66caba98e935083cc3682429f219
2024-12-03gnu: cross-libc: Support cross-building for the 64bit Hurd.Janneke Nieuwenhuizen
* gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in phase "create-machine-symlink", do not assume CPU is i386, also cater for x86_64. * gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise. Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
2024-12-03gnu: Add basic support for x86_64-pc-gnu target, aka 64bit Hurd.Janneke Nieuwenhuizen
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Update comment on where to find shared linker name. (make-raw-bag): Also use raw-build-guile3 when building for the 64bit Hurd. * gnu/packages/cross-base.scm (cross-kernel-headers*): Use target-hurd? instead of custom "i586..." matching to also use xhurd-core-headers for target-hurd64. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc) [native-inputs]: Move final-inputs before cross-packages. (%binutils-static)[arguments]: When building for the 64bit Hurd, add "lt_cv_prog_compiler_static_works=yes", "lt_cv_prog_compiler_static_works_CXX=yes" to #:make-flags to convince to actually link the binaries statically. (make-guile-static)[arguments]: When building for the 64bit Hurd, add "lt_cv_prog_compiler_static_works=yes" to #:configure-flags to convince libtool to actually link guile statically. * guix/platforms/x86.scm (x86_64-gnu): New exported variable. * guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
2024-08-31gnu: glibc-bootstrap: Update i586-gnu variant.Ludovic Courtès
‘glibc-stripped-2.39-i586-pc-gnu.tar.xz’ was built from x86_64-linux from the previous commit with: ./pre-inst-env guix build --target=i586-pc-gnu \ -e '((@@ (gnu packages make-bootstrap) %glibc-bootstrap-tarball))' This updated variant is necessary to match newer GNU Mach headers, which are themselves necessary for the newer Hurd. Fixes <https://issues.guix.gnu.org/72315>. * gnu/packages/bootstrap.scm (%bootstrap-glibc): Update i586-gnu variant. Change-Id: I2d770e8001896059e1f27e50f7a4ddf15e4b5812
2024-01-04gnu: Add support for x86_64-linux-gnux32.Efraim Flashner
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add entry for x86_64-linux-gnux32. * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add configure-flag for x86_64-linux-gnux32. * guix/platforms/x86.scm (x86_64-linux-gnux32): New variable. * guix/utils.scm (gnu-triplet->nix-system): Force x86_64-linux-gnux32 to output a different nix-system than x86_64-linux-gnu. Change-Id: I519fea2f8357e4b9895ede05fe8a5e373e9b034a Signed-off-by: Efraim Flashner <[email protected]>
2023-07-07gnu: Add crust-pinebook and crust-pine64-plus.Vagrant Cascadian
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add or1k-elf. gnu/packages/firmware.scm (make-crust-package, crust-pinebook) (crust-pine64-plus): New variables. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Maxime Devos <[email protected]> Co-authored-by: Maxim Cournoyer <[email protected]>
2023-05-15gnu: Use dummy linker for '*-elf' systems.宋文武
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Return "no-ld.so" for systems with a "-elf" suffix.
2023-03-02Merge remote-tracking branch 'savannah/master' into core-updatesChristopher Baines
Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm
2023-02-16gnu: Remove unneeded module imports.Efraim Flashner
* gnu/packages/abiword.scm, * gnu/packages/ada.scm, * gnu/packages/agda.scm, * gnu/packages/backup.scm, * gnu/packages/barrier.scm, * gnu/packages/bioinformatics.scm, * gnu/packages/bootstrap.scm, * gnu/packages/bqn.scm, * gnu/packages/c.scm, * gnu/packages/chemistry.scm, * gnu/packages/coq.scm, * gnu/packages/cross-base.scm, * gnu/packages/databases.scm, * gnu/packages/emacs-xyz.scm, * gnu/packages/enlightenment.scm, * gnu/packages/games.scm, * gnu/packages/geo.scm, * gnu/packages/ghostscript.scm, * gnu/packages/gl.scm, * gnu/packages/golang.scm, * gnu/packages/jami.scm, * gnu/packages/java-maths.scm, * gnu/packages/kde-frameworks.scm, * gnu/packages/kde-plasma.scm, * gnu/packages/language.scm, * gnu/packages/libreoffice.scm, * gnu/packages/linphone.scm, * gnu/packages/lisp.scm, * gnu/packages/llvm.scm, * gnu/packages/machine-learning.scm, * gnu/packages/minetest.scm, * gnu/packages/monitoring.scm, * gnu/packages/nfs.scm, * gnu/packages/ocr.scm, * gnu/packages/opencl.scm, * gnu/packages/pdf.scm, * gnu/packages/python-xyz.scm, * gnu/packages/racket.scm, * gnu/packages/rust.scm, * gnu/packages/syncthing.scm, * gnu/packages/syndication.scm, * gnu/packages/telegram.scm, * gnu/packages/vulkan.scm, * gnu/packages/web-browsers.scm, * gnu/packages/web.scm, * gnu/packages/webkit.scm: Remove some unecessary module imports.
2023-01-30Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
2023-01-18platforms: Raise an exception when no suitable platform is found.Maxim Cournoyer
This was motivated by #60786, which produced a cryptic, hard to understand backtrace. Given the following reproducer: (use-modules (guix packages) (gnu packages cross-base)) (define linux-libre-headers-cross-mips64el-linux-gnuabi64 (cross-kernel-headers "mips64el-linux-gnuabi64")) (package-arguments linux-libre-headers-cross-mips64el-linux-gnuabi64) Before this change: ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f After this change: ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR: 1. &platform-not-found-error: "mips64el-linux-gnuabi64" * guix/platform.scm (&platform-not-found-error): New condition. (platform-not-found-error?): New predicate. (false-if-platform-not-found): New syntax. (lookup-platform-by-system): Raise an exception when no platform is found. Update documentation. (lookup-platform-by-target): Likewise. (lookup-platform-by-target-or-system): Likewise, and guard lookup calls with false-if-platform-not-found. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Handle lookup-platform-by-system call to preserve existing behavior. Signed-off-by: Maxim Cournoyer <[email protected]>
2022-06-08Merge branch 'master' into core-updatesLudovic Courtès
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret
* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <[email protected]>
2022-05-22platform: Add glibc-dynamic-linker field.Mathieu Othacehe
* gnu/platform.scm (<platform>)[glibc-dynamic-linker]: New field. (platform-glibc-dynamic-linker, lookup-platform-by-system): New procedures. * gnu/platforms/arm.scm (armhf-linux, aarch64-linux): Add the glibc-dynamic-linker field. * gnu/platforms/hurd.scm (hurd): Ditto. * gnu/platforms/intel.scm (intel32-linux, intel64-linux, intel32-mingw, intel64-linux): Ditto. * gnu/platforms/mips.scm (mips64el-linux): Ditto. * gnu/platforms/powerpc.scm (powerpc-linux, powerpc64-linux): Ditto. * gnu/platforms/riscv.scm (riscv64-linux): Ditto. * gnu/platforms/s390.scm (riscv64-linux): Ditto. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Adapt it.
2022-05-18gnu: bootstrap: Remove bootstrap-mes.Jan (janneke) Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-mes): Remove.
2022-05-18gnu: bootstrap: Remove bootstrap-mescc-tools.Jan (janneke) Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-mescc-tools): Remove.
2022-05-12gnu: bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes.Jan (janneke) Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Remove %bootstrap-mescc-tools, %bootstrap-mes.
2022-01-14gnu: bootstrap: Add support for riscv64-linux.Efraim Flashner
On 7d93b21ab1c132990054372a9677c1639d54e631 gnu: glibc-for-bootstrap: Update patch. Run ./pre-inst-env guix build --target=riscv64-linux-gnu bootstrap-tarballs Producing /gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0 With guix hash -rx 1nj0fdgj08bbmfny01mp2blv7c3p2iciqh31zmf04ap5s7ygsqlp * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for riscv64-linux. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for riscv64-linux. (raw-build-guile3): New procedure. (make-raw-bag): Use raw-build-guile3 for riscv64-linux. * guix/packages.scm (%supported-systems): Add riscv64-linux. (%cuirass-supported-systems): Remove riscv64-linux. * guix/utils.scm (target-64bit?): Add riscv64-linux. * m4/guix.m4: Add riscv64-linux as a supported system. * doc/guix.texi (GNU Distribution): Add riscv64-linux.
2021-05-23gnu: bootstrap: Add support for powerpc-linux.Efraim Flashner
On 923bb70a1bff657125c3008f119a477e5cb57c2b gnu:glibc-for-bootstrap: Fix patch. Run ./pre-inst-env guix build --target=powerpc-linux-gnu bootstrap-tarballs Producing /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 With guix hash -rx /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 02xx2ydj28pwv3vflqffinpq1icj09gzi9icm8j4bwc4lca9irxn * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for powerpc-linux. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for powerpc-linux. * gnu/packages.scm (%supported-systems): Add powerpc-linux. (%hydra-supported-systems): Remove powerpc-linux. * m4/guix.m4: Add powerpc-linux as a supported system.
2021-03-30build-system: Rewrite using gexps.Ludovic Courtès
* guix/packages.scm (expand-input): Remove 'store', 'system', and 'cross-system' parameters; add #:native?. Rewrite to return name/gexp-input tuples. (bag->derivation): Adjust accordingly. Lower (bag-build bag). (bag->cross-derivation): Ditto. Instead of #:native-drvs and #:target-drvs, pass #:build-inputs, #:host-inputs, and #:target-inputs. (%derivation-cache): Remove. * gnu/packages/bootstrap.scm (raw-build): Turn into a monadic procedure. * gnu/packages/commencement.scm (glibc-final)[arguments]: Use 'gexp-input' for the #:allowed-references argument. * guix/build-system/cmake.scm (cmake-build): Remove 'store' parameter. Switch to the use of gexps and 'gexp->derivation'. (lower): Remove #:source from 'private-keywords'. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build, lower): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/gnu.scm (gnu-build): Likewise, and remove 'canonicalize-reference'. (gnu-cross-build): Likewise, and expect #:build-inputs, #:host-inputs, and #:target-inputs instead of #:native-drvs and #:target-drvs. (lower): Likewise. * guix/build-system/perl.scm (perl-build, lower): Likewise. * guix/build-system/python.scm (python-build, lower): Likewise. * guix/build-system/ruby.scm (ruby-build, lower): Likewise. * guix/build-system/waf.scm (waf-build, lower): Likewise. * guix/build-system/trivial.scm (guile-for-build): Remove. (trivial-build): Remove 'store' parameter, change to gexps. (trivial-cross-build): Ditto, and change to #:build-inputs & co. * guix/build-system/cargo.scm (cargo-build): Change to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/guile.scm (guile-build, guile-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * tests/builders.scm ("gnu-build"): Call 'store-lower' on 'gnu-build'. Pass #:source parameter. * tests/packages.scm ("search paths"): Use 'abort-to-prompt' instead of a normal return from the 'build' method. ("package->bag, sensitivity to %current-target-system"): Change 'build' to match the new build system signature. squash! build-system: Rewrite using gexps. squash! build-system: Rewrite using gexps.
2021-03-24Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2021-03-23gnu: bootstrap: Add support for powerpc64le-linux.Chris Marusich
The bootstrap tarballs used by these bootstrap packages were created via the following steps: - Create a new x86_64 VM using QEMU. - Use https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.x86_64-linux.iso.xz to install Guix System 1.2.0 in the VM. - Run: guix pull --no-substitutes --commit=662e7e28d576ada91fc9dec7d27c100666114f03 - Run: guix build --no-substitutes --target=powerpc64le-linux-gnu bootstrap-tarballs With the exception of gcc-static, all bootstrap binaries contained in these tarballs can be built reproducibly. Unfortunately, gcc-static is not always reproducible when everything is built from source on separate machines. Despite investigation efforts, the cause remains unclear, so we have decided to move forward with these binaries to unblock further bootstrapping work. For details, see <https://bugs.gnu.org/41669>. * gnu/packages/bootstrap.scm (%bootstrap-executables) (bootstrap-executable-file-name, bootstrap-guile-url-path) (bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils) (%bootstrap-glibc, %bootstrap-gcc): Add entries for powerpc64le-linux. (%bootstrap-executable-base-urls): Add an entry for alpha.gnu.org.
2020-08-04gnu: bootstrap-gcc: Don't use CPATH search paths.Jakub Kądziołka
This updates the bootstrap-gcc to use the same search path strategy as the main compilers, making the bootstrap environment more similar across architectures, and fixing the bootstrap path on non-x86 architectures again. This is a follow up to commit 7cde865f12dd67e55946a52a21103e71f447eced. * gnu/packages/bootstrap.scm (%bootstrap-gcc)[native-search-paths]: Use C_INCLUDE_PATH and CPLUS_INCLUDE_PATH instead of CPATH.
2020-06-01gnu: bootstrap: Add powerpc64-linux dynamic linker.Léo Le Bouter
This makes it possible to build bootstrap binaries for powerpc64-linux: guix build --target=powerpc64-linux-gnu bootstrap-tarballs * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add an entry for powerpc64-linux. Signed-off-by: Chris Marusich <[email protected]>
2020-05-22packages: Introduce <content-hash> and use it in <origin>.Ludovic Courtès
* guix/packages.scm (<content-hash>): New record type. (define-content-hash-constructor, build-content-hash) (content-hash): New macros. (print-content-hash): New procedure. (<origin>): Rename constructor to '%origin'. [sha256]: Remove field. [hash]: New field. Adjust users. (origin-compatibility-helper, origin): New macros. (origin-sha256): New deprecated procedure. (origin->derivation): Adjust accordingly. * tests/packages.scm ("package-source-derivation, origin, sha512"): New test. * guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax matching. * tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users. * tests/derivations.scm: Likewise. * tests/store.scm: Likewise. * tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field with the right length. * gnu/packages/aspell.scm (aspell-dictionary) (aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for proper syntax matching. * gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'. * gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'. * gnu/packages/readline.scm (readline-patch): Likewise. * gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to 'sha256-bv'. * guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
2020-03-26gnu: bootstrap: Add support for the Hurd.Efraim Flashner
On 3342a1182b15ec031f0ec6f602fd96c1dca3d4b0 gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only. Run ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs --verbosity=1 Producing /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 With guix hash -rx /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 07jnq2by98f2a45k8wd2gj62iazvwfa4z7p3w3id4m1g0fdsvc3b * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for the Hurd. (bootstrap-executable-url): Use lilypond url for the Hurd. (bootstrap-guile-url-path): Likewise. (bootstrap-guile-hash): Add entry for the Hurd. (%bootstrap-coreutils&co): Likewise. (%bootstrap-binutils): Likewise. (%bootstrap-glibc): Likewise. (%bootstrap-gcc): Likewise. * guix/packages.scm (%supported-systems): Add i586-gnu. Co-authored-by: Jan Nieuwenhuizen <[email protected]>
2020-03-24gnu: bootstrap: Use fall-back mechanism for bootstrap-executables.Jan Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-executable-base-urls): New variable. Add lilypond.org url as a fall-back. (bootstrap-executable-file-name): New function. (bootstrap-executable): Use them to implement fall-back for donwloads of bootstrap executables.
2020-02-17gnu: bootstrap: Remove %bootstrap-coreutils&co, %bootstrap-bash.Jan Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux,x86-linux]: Remove %bootstrap-coreutils&co, %bootstrap-bash.
2020-02-17gnu: bootstrap: Add janneke's guix package url.Jan Nieuwenhuizen
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add janneke's guix package url.
2019-11-04gnu: bootstrap: Memoize 'bootstrap-origin'.Ludovic Courtès
* gnu/packages/bootstrap.scm (bootstrap-origin): Memoize with 'mlambdaq'. This improves memoization of origins in (gnu packages commencement).
2019-10-27gnu: bootstrap: Cache the 'bootstrap-executable' origins.Ludovic Courtès
This reduces the number of lookups in the 'add-data-to-store' cache from 2705 to 2685 (hit rate: 10% to 9%) when running: GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd * gnu/packages/bootstrap.scm (raw-build)[->store]: Use 'lower-object' instead of 'origin->derivation'. This allows the origin-to-derivation mapping to be cached.
2019-10-27gnu: bootstrap: 'bootstrap-origin' preserves eq?-ness when no changes are made.Ludovic Courtès
This reduces the number of lookups in the 'add-data-to-store' cache from 2743 to 2705 (hit rate: 11% to 10%) when running GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd The execution time of "guix build libreoffice -nd" goes from 1.80s to 1.78s. * gnu/packages/bootstrap.scm (bootstrap-origin): Return SOURCE unchanged when its has no patches and no snippet.
2019-08-27gnu: bootstrap: Update to the 20190815 bootstrap binaries.Mark H Weaver
These new bootstrap binaries were built using Guix at commit 9e6256ba0f32ab12d61c914a3fed879dac881762, tagged as "bootstrap-20190815". * gnu/packages/bootstrap.scm (%bootstrap-linux-libre-headers): Update the download URL. (%bootstrap-mescc-tools, %bootstrap-mes): Update the download URL and hash.
2019-08-27gnu: bootstrap: Add ftp.gnu.org to '%bootstrap-base-urls'.Ludovic Courtès
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add ftp.gnu.org/gnu/guix/bootstrap.
2019-08-22Merge branch 'master' into core-updatesMark H Weaver
2019-08-14gnu: mingw: Add x86_64 support.Carl Dong
This patch parameterizes previously hard-coded instances of i686-w64-mingw32, adding support for x86_64-w64-mingw32. * gnu/packages/mingw.scm (make-mingw-w64): New procedure. (mingw-w64-i686, mingw-w64-x86_64): New variables. (%mingw-triplet): Remove. (mingw-w64): Update to point to 'mingw-w64-i686'. * gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument if specified, instead of treating it as a boolean. (native-libc): Return the correct mingw-w64 depending on machine specified in target. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw". * gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument. (cross-gcc-build-phases): Update accordingly; use 'target-mingw?' implementation of target checking and add commentary. * gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32".
2019-07-17Merge branch 'master' into core-updatesLudovic Courtès
2019-07-15gnu: guile-bootstrap: Use the new 'derivation' calling convention.Ludovic Courtès
* gnu/packages/bootstrap.scm (raw-build): In 'derivation' call, distinguish #:inputs from #:sources, passing a list of <derivation-input> as #:inputs.
2019-06-14packages: Remove 'search-bootstrap-binary'.Ludovic Courtès
* gnu/packages.scm (%bootstrap-binaries-path, search-bootstrap-binary): Remove. * gnu/packages/bootstrap.scm (bootstrap-executable): Export. * guix/tests.scm (bootstrap-binary-file, search-bootstrap-binary): Export. * tests/derivations.scm: Remove (gnu packages) import. * tests/grafts.scm: Likewise. * tests/guix-daemon.sh: Likewise.
2019-06-14tests: Make builds less expensive.Ludovic Courtès
The switch to the reduced bootstrap broke build time assumptions made by tests, notably the assumption that GNU-MAKE-BOOT0 was cheap to build. This commit adjusts this to make these tests cheaper. * gnu/packages/bootstrap.scm (%bootstrap-inputs-for-tests): New variable. * guix/tests.scm (gnu-make-for-tests): New variable. * tests/guix-environment.sh: Use GNU-MAKE-FOR-TESTS instead of GNU-MAKE-BOOT0. Remove test with FINDUTILS-BOOT0. * tests/guix-package-net.sh (boot_make): Use GNU-MAKE-FOR-TESTS. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/profiles.scm ("profile-derivation relative symlinks, two entries"): Likewise. * tests/union.scm (%bootstrap-inputs): Remove. ("union-build"): Use %BOOTSTRAP-INPUTS-FOR-TESTS instead of %BOOTSTRAP-INPUTS.
2019-06-14gnu: bootstrap: Download the bootstrap bash, mkdir, tar, and xz binaries.Ludovic Courtès
* gnu/packages/bootstrap.scm (%bootstrap-executables): New variable. (bootstrap-executable-url, bootstrap-executable): New procedure. (raw-build)[->store]: Use 'run-with-store' and 'origin->derivation'. Add calls to 'derivation->output-path', and remove the list of references passed to 'add-text-to-store' for BUILDER. Augment the list of #:inputs passed to 'derivation'. (package-from-tarball): Use 'bootstrap-executable' instead of 'search-bootstrap-binary'. (%bootstrap-glibc, %bootstrap-gcc, %bootstrap-mescc-tools) (%bootstrap-mes): Likewise. * guix/scripts/environment.scm (environment-bash): Use 'bootstrap-executable' instead of 'search-bootstrap-binary'. (guix-environment): Adjust CONTAINER? case accordingly. * po/guix/POTFILES.in: Add gnu/packages/bootstrap.scm.
2019-06-13Merge branch 'master' into core-updatesLudovic Courtès
2019-05-29gnu: Add basic support for riscv64-linux-gnu targets.Carl Dong
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "riscv64-linux". * gnu/packages/linux.scm (system->linux-architecture): Add "riscv" prefix. Signed-off-by: Danny Milosavljevic <[email protected]>
2019-02-06Merge branch 'master' into core-updatesRicardo Wurmus