Commit graph

127 commits

Author SHA1 Message Date
Marius Bakke
3ba23f0582
gnu: Add relocatable static Guile 3.0 variant.
* gnu/packages/patches/guile-2.2-default-utf8.patch: New file, extracted from
commit 2acfe022a7.
* gnu/packages/patches/guile-3.0-linux-syscalls.patch,
gnu/packages/patches/guile-3.0-relocatable.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.  Move all Guile patches
together while at it.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): New public variable.
2020-05-01 22:06:33 +02:00
Marius Bakke
e66bbd4201
gnu: %guile-static-stripped: Rewrite in terms of 'make-guile-static-stripped'.
The derivation changes slightly, but the end result is bit-identical.

* gnu/packages/make-bootstrap.scm (make-guile-static-stripped): New procedure.
(%guile-static-stripped): Adjust accordingly.
2020-05-01 22:06:33 +02:00
Marius Bakke
db7c73f53a
gnu: %guile-static: Rewrite in terms of 'make-guile-static'.
The derivation remains unchanged.

* gnu/packages/make-bootstrap.scm (make-guile-static): New procedure.
(%guile-static): Adjust accordingly.
2020-05-01 22:06:33 +02:00
Marius Bakke
313bf502b5
gnu: gcc-static: Make sure #:modules is not overridden by the inherited GCC.
This fixes a regression introduced by 56c833ea28
and 25bc0f34c6 where #:modules became ineffective.

* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]: Prepend the
required modules to those inherited from GCC-5.  While at it, do not splice in
the inherited arguments.
2020-03-28 20:55:03 +01:00
Marius Bakke
aebcbb27bc
gnu: guile-static: Provide a libgc variant with statically built libraries.
* gnu/packages/bdw-gc.scm (libgc/static-libs): New public variable.
* gnu/packages/make-bootstrap.scm (%guile-static)[propagated-inputs]: Change
from LIBGC to LIBGC/STATIC-LIBS.
2020-03-28 08:59:35 +01:00
Jan Nieuwenhuizen
3342a1182b
gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped, %gcc-stripped,
%bootstrap-tarballs)[arguments]: Wrap use of '_IOLBF' in 'cond-expand' and use
'line instead on Guile > 2.0.
2020-03-26 07:43:36 +01:00
Jan Nieuwenhuizen
25bc0f34c6
gnu: bootstrap: gcc-static: Use gcc-5.
* gnu/packages/make-bootstrap.scm (gcc-static): Use gcc-5.  This fixes
building libstdc++-boot0 with a newly built %bootstrap-gcc.
(%gcc-stripped): Likewise.
(gcc-for-bootstrap): Likewise.
* gnu/packages/patches/gcc-5-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5): Use it.
2020-03-24 23:31:34 +01:00
Jan Nieuwenhuizen
eef44fea17
Revert "gnu: guile-static-stripped: Update to 2.2."
As discussed on IRC, keeping bootstrap Guile on 2.0 simplifies adding new
architectures and removes the need for parameterizing
gnu/packages/bootstrap.scm.

This reverts commit 2acfe022a7.

* gnu/packages/make-bootstrap.scm (%guile-static): Revert to guile-2.0.  Retain
build recipe.
* gnu/packages/patches/guile-relocatable.patch: Update for Guile 2.0.14.
2020-03-24 23:31:34 +01:00
Jan Nieuwenhuizen
6340afee28
gnu: commencement: %bootstrap-tarballs: Remove %bootstrap-binaries-tarball.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux,
x86_64-linux]: Remove %bootstrap-binaries-tarball.
* gnu/packages/commencement.scm (file-boot0): Drop bzlib dependency.
2020-02-17 23:21:03 +01:00
Marius Bakke
5d8a4354ac
gnu: isl: Move the static library to a separate output.
* gnu/packages/gcc.scm (isl)[outputs, arguments]: New fields.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ISL:STATIC.
2020-02-15 22:02:56 +01:00
Marius Bakke
3e3a37b2bc
gnu: binutils: Update to 2.34.
* gnu/packages/base.scm (binutils): Update to 2.34.
[arguments]: Add #:make-flags.
[properties]: New field.
(binutils+documentation): New public variable.
* gnu/packages/make-bootstrap.scm (%binutils-static)[arguments]: Inherit
 #:make-flags.
2020-02-15 22:02:55 +01:00
Ludovic Courtès
2073b55e6b
gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'.
Fixes <https://bugs.gnu.org/30756>.
Initially reported by Julien Lepiller <julien@lepiller.eu>.

* gnu/packages/base.scm (make-gcc-libc): Remove
'treat-glibc-as-system-header' phase from 'arguments'.
* gnu/packages/commencement.scm (gcc-final): Likewise.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to
'CPLUS_INCLUDE_PATH'.
(gcc-6)[native-search-paths]: Remove.
* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove
'native-search-paths' and 'arguments'.
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with
"C_INCLUDE_PATH".
* guix/build-system/cmake.scm (lower): When not cross-compiling, move
INPUTS from the 'host-inputs' field to the 'build-inputs' field of the
bag, right after NATIVE-INPUTS.
* guix/build-system/glib-or-gtk.scm (lower): Likewise.
* guix/build-system/gnu.scm (lower): Likewise.
* guix/build-system/meson.scm (lower): Likewise.
2020-02-06 18:47:15 +01:00
Mathieu Othacehe
8bd2b15b06
gnu: make-bootstrap: Add cross-libc:static to the inputs.
This is a follow-up of 4610ab7c9a. 'getpw' & co
fail with a cross-compiled statically-linked guile.

* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[inputs]:
Add "cross-libc:static".
2020-01-16 10:15:12 +01:00
Efraim Flashner
b7fd304e28
gnu: Remove static-bash-for-bootstrap.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Remove
variable.
(%static-inputs): Let gawk use static-bash if %current-target-system.
Use static-bash.
2019-11-28 15:20:37 +02:00
Ludovic Courtès
929c365ad0
gnu: make-bootstrap: Slightly clarify 'package-with-relocatable-glibc'.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)
[cross-bootstrap-libc]: Take an explicit 'target' argument.  Remove
redundant 'parameterize' form.
[inputs, native-inputs]: Adjust accordingly.
2019-11-09 23:04:14 +01:00
Ludovic Courtès
0c72a719ef
gnu: make-bootstrap: Memoize GCC variant.
This reduces the number of nodes in "guix graph guile-static-stripped"
from 165 to 150.  Likewise, the hit rate in the 'add-data-to-store'
cache for "guix build guile-static-stripped -nd" goes from 24% to 12%.

* gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): New procedure.
(package-with-relocatable-glibc): Use it.
2019-11-09 23:04:14 +01:00
Ludovic Courtès
a273796ce5
gnu: make-bootstrap: Memoize 'glibc-for-bootstrap'.
This reduces the graph shown by:

  guix graph -e '(@@ (gnu packages make-bootstrap) %gcc-static)'

from 258 nodes (2398 edges) to 179 nodes (1872 edges).

* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Turn into an
'mlambdaq'.
(package-with-relocatable-glibc, %glibc-stripped): Explicitly pass an
argument to 'glibc-for-bootstrap'.
2019-10-21 18:16:16 +02:00
Jan Nieuwenhuizen
737c83f0ff
bootstrap: bash: Update for bash-5.0.
* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: Remove.
* gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch: New file.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Update to use
it.
* gnu/local.mk (dist_patch_DATA): Likewise.
2019-09-29 17:47:18 +02:00
Jan Nieuwenhuizen
bffd8fcd31
bootstrap: mes: Add mes-0.19.
* gnu/packages/mes.scm (mes-0.19): New variable.
(mes): Inherit it.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Likewise.
2019-09-29 17:47:18 +02:00
Jan Nieuwenhuizen
066cb9bab2
bootstrap: mescc-tools: Use mescc-tools-0.5.2, mescc-tools.
* gnu/packages/mes.scm (mescc-tools-0.5.2): New variable; rename from
mescc-tools.
(mescc-tools): Rename from mescc-tools-0.6.1.  Fix build.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Inherit fixed
mescc-tools-0.5.2.
2019-09-29 17:47:18 +02:00
Mark H Weaver
0481289cbc
Merge branch 'master' into core-updates 2019-08-29 17:19:18 -04:00
Mark H Weaver
9e6256ba0f
bootstrap: guile-static: Disable parallel build.
* gnu/packages/make-bootstrap.scm (%guile-static)[arguments]:
Override #:parallel-build? to be #f.
2019-08-15 14:46:23 -04:00
Mark H Weaver
fe507d7a3d
bootstrap: Build bootstrap bash deterministically.
* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): New variable.
(%static-inputs): Use 'static-bash-for-bootstrap' instead of 'static-bash'.
2019-08-15 14:46:20 -04:00
Mark H Weaver
6744cef5b0
bootstrap: Build the new reduced binary seed bootstrap on x86.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[inputs]: On i686-linux
and x86_64-linux, substitute linux-libre-headers, Mes, and MesCC, in place of
GCC, binutils, and glibc.
2019-08-15 14:46:18 -04:00
Jan Nieuwenhuizen
ed050b1cf5
bootstrap: Add mes-minimal-stripped-tarball.
* gnu/packages/make-bootstrap.scm (%mes-minimal, %mes-minimal-stripped,
%mes-bootstrap-tarball): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2019-08-15 14:46:16 -04:00
Jan Nieuwenhuizen
fb925c7257
bootstrap: Add mescc-tools-static-stripped-tarball.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static,
%mescc-tools-static-stripped, %mescc-tools-bootstrap-tarball): New variable.

Modified-By: Mark H Weaver <mhw@netris.org>
2019-08-15 14:46:13 -04:00
Jan Nieuwenhuizen
5b8c6abcfc
gnu: Add linux-libre-headers-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%linux-libre-headers-stripped): New variable.
(%linux-libre-headers-bootstrap-tarball): New variable.
2019-08-15 14:46:10 -04:00
Marius Bakke
f16a866f74
gnu: bootstrap-tarballs: Don't include the native Mes when cross-compiling.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[inputs]: Check
%CURRENT-TARGET-SYSTEM when deciding whether to use the reduced binary seeds.
2019-07-02 01:06:31 +02:00
Marius Bakke
25a54eb04d
gnu: make-bootstrap: Adjust for GCC 7.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add SEARCH-PATHS to CROSS-GCC, and NATIVE-SEARCH-PATHS to the native GCC.
2019-07-02 01:06:31 +02:00
Marius Bakke
7c836efacc
gnu: make-bootstrap: Restore cross-compilation workarounds.
These workarounds were removed in cf82643647 and
218eb6e611, but were needed for %BOOTSTRAP-TARBALLS.

* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils, tar]: Add
<#:configure-flags>.
2019-07-02 01:06:30 +02:00
Marius Bakke
e050aa1990
gnu: make-bootstrap: Adjust for GCC7.
This is a follow-up to commit 01e8263feb.

* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Add the
GCC7 'treat-glibc-as-system-header' build phase.
2019-02-28 19:15:02 +01:00
Ludovic Courtès
86974d8a92
Merge branch 'master' into core-updates 2018-12-20 18:39:04 +01:00
Jan Nieuwenhuizen
20dd94b82f
bootstrap: Merge mes-minimal into mes-minimal-stripped.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Remove.
(%mes-minimal-stripped): Configure using --mes.  Strip installation.
2018-12-16 22:49:10 +01:00
Jan Nieuwenhuizen
efa1ea20e6
bootstrap: mes-minimal-stripped: Do not strip bin.
* gnu/packages/make-bootstrap.scm (%mes-minimal-stripped): Do not strip bin.
2018-12-16 20:02:09 +01:00
Ludovic Courtès
4dd1edc7ae
gnu: glibc-stripped: Empty 'native-inputs' and 'propagated-inputs'.
These would needlessly pull in linux-libre-headers when running
"guix build bootstrap-tarballs --target=i586-pc-gnu".

* gnu/packages/make-bootstrap.scm (%glibc-stripped)[native-inputs]
[propagated-inputs]: New fields.
2018-12-14 23:55:55 +01:00
Marius Bakke
5b2da2a659
gnu: xz: Move liblzma.a to separate output.
* gnu/packages/compression.scm (xz)[arguments, outputs]: New fields.
* gnu/packages/make-bootstrap.scm (%static-inputs)[xz]: Don't inherit outputs.
2018-12-12 20:10:56 +01:00
Jan Nieuwenhuizen
da91723cc5
bootstrap: Force i686-linux for bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Force i686-linux for
bootstrap-tarballs.
(%mes-minimal): Likewise.  Remove i686-linux cross-compiler dependency.
* gnu/packages/commencement.scm (mes-boot): Support strict i686-linux build on
x86_64.
2018-11-24 08:17:20 +01:00
Jan Nieuwenhuizen
d9ed0a4630
bootstrap: Update %bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs): Update to use
%mescc-tools-bootstrap-tarball, %mes-bootstrap-tarball,
%linux-libre-headers-bootstrap-tarball.
2018-11-18 16:45:03 +01:00
Jan Nieuwenhuizen
a647da364a
bootstrap: Add %mes-minimal.
%mes-minimal introduces a Mes for bootstrap that does not depend on graphviz,
perl, and texinfo and thus does not build any documentation.  This removes
~100 dependencies from bootstrap-tarballs.

* gnu/packages/make-bootstrap.scm (%mes-minimal): New variable.
(%mes-minmal-stripped): Rename from %mes-stripped.
(%mes-bootstrap-tarball): Update.
2018-11-18 16:38:11 +01:00
Jan Nieuwenhuizen
fae3c0d953
bootstrap: Add mescc-tools-static, mescc-tools-static-tarball.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static,
%mescc-tools-bootstrap-tarball): New variable.
2018-11-18 08:08:17 +01:00
Jan Nieuwenhuizen
35dcf85157
bootstrap: Add %mes-stripped, %mes-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
(%mes-bootstrap-tarball): New variable.
* gnu/packages/mes.scm: Oops, remove stray (gnu packages commencement) module
include.
2018-10-21 23:26:21 +02:00
Jan Nieuwenhuizen
d536c39e54
bootstrap: Replace GNU toolchain seeds with Mes for i686-linux.
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux]: Replace
%bootstrap-gcc, %bootstrap-binutils, %bootstrap-glibc with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux]: Replace
gcc-tarball, binutils-tarball, glibc-tarball with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain)[i686-linux]: Add
glibc-mesboot, binutils-mesboot, gcc-wrapper, gcc-mesboot.
(file-boot0)[i686-linux]: Disable strip-binaries?, validate-runpath?.
(libstdc++-boot0)[i686-linux]: Add libtool install workarourd: copy
libstdc++.so.0.0.20 from gcc-mesboot.
(gcc-boot0)[i686-linux]: Add libtool install workaround: touch
libcc1.so.0.0.0, libcc1plugin.so.0.0.0.
(perl-boot0): Disable validate-runpath?.
(bison-boot0)[i686-linux]: Do not use ranlib -D.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen
990ee30164
gnu: Add linux-libre-headers-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%linux-libre-headers-stripped): New variable.
(%linux-libre-headers-bootstrap-tarball): New variable.
2018-09-23 09:46:25 +02:00
Marius Bakke
3f35e0da86
gnu: bootstrap-tarballs: Adjust to static outputs of zlib and libunistring.
* gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ZLIB:STATIC.
(%guile-static)[inputs]: Add LIBUNISTRING:STATIC.
2018-08-21 17:24:26 +02:00
Marius Bakke
3359a70834
gnu: make-bootstrap: Inherit tar arguments in %static-inputs.
* gnu/packages/make-bootstrap.scm (%static-inputs)[tar]: Use
SUBSTITUTE-KEYWORD-ARGUMENTS so #:make-flags are inherited.
2018-04-05 23:42:26 +02:00
Mark H Weaver
647888845c
Merge branch 'master' into core-updates 2018-03-20 00:49:05 -04:00
Tobias Geerinckx-Rice
c695fb769c
gnu: Fix common unquote typos.
It's easy to mistype ‘("foo" foo)’ as ‘("foo", foo)’ (which also works).
Fix such typos for the proper edification of our young.

* gnu/packages/android.scm: Move unquotes to their operands.
* gnu/packages/bootloaders.scm: Likewise.
* gnu/packages/build-tools.scm: Likewise.
* gnu/packages/chemistry.scm: Likewise.
* gnu/packages/compression.scm: Likewise.
* gnu/packages/connman.scm: Likewise.
* gnu/packages/django.scm: Likewise.
* gnu/packages/emulators.scm: Likewise.
* gnu/packages/engineering.scm: Likewise.
* gnu/packages/file-systems.scm: Likewise.
* gnu/packages/freedesktop.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gimp.scm: Likewise.
* gnu/packages/gl.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/graphics.scm: Likewise.
* gnu/packages/haskell.scm: Likewise.
* gnu/packages/irc.scm: Likewise.
* gnu/packages/julia.scm: Likewise.
* gnu/packages/kde-frameworks.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/lua.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* gnu/packages/messaging.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/ocaml.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/qt.scm: Likewise.
* gnu/packages/ratpoison.scm: Likewise.
* gnu/packages/sdl.scm: Likewise.
* gnu/packages/sml.scm: Likewise.
* gnu/packages/terminals.scm: Likewise.
* gnu/packages/text-editors.scm: Likewise.
* gnu/packages/video.scm: Likewise.
* gnu/packages/virtualization.scm: Likewise.
* gnu/packages/vulkan.scm: Likewise.
* gnu/packages/wget.scm: Likewise.
* gnu/packages/wine.scm: Likewise.
* gnu/packages/wm.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/packages/xml.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.
2018-03-17 16:37:27 +01:00
Mark H Weaver
d1c86620f3
gnu: make-bootstrap: tarball-package: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (tarball-package)[arguments]: Use invoke.
The builder always returns #t.
2018-03-16 06:44:26 -04:00
Mark H Weaver
1a83e2a286
gnu: guile-static-stripped: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (guile-static-stripped)[arguments]: Use
invoke and remove vestigial plumbing.
2018-03-16 06:44:24 -04:00
Mark H Weaver
c2af3b0725
gnu: gcc-stripped: Use invoke instead of system*.
* gnu/packages/make-bootstrap.scm (gcc-stripped)[arguments]: Use invoke.  All
phases return #t.
2018-03-16 06:44:22 -04:00