Commit Graph

158 Commits

Author SHA1 Message Date
Jan Nieuwenhuizen ef809e3ac0
bootstrap: Add mes-boot0; decouple mes-boot from Mes.
* gnu/packages/commencement.scm (mes-boot0): New variable.
(mes-boot): Use it.
2018-12-16 22:49:11 +01:00
Jan Nieuwenhuizen 9c14fd0770
bootstrap: Remove development hacks.
* gnu/packages/commencement.scm (%fake-bootstrap?): Remove.  Update users to
always keep true bootstrap; i.e., do not use %bootstrap-guile.
(mes-boot0): Remove.  Update users.
(nyacc-boot): Likewise.
2018-12-16 22:49:10 +01:00
Jan Nieuwenhuizen cdd3bcf038
bootstrap: Do not fake, use Mes instead of Guile.
* gnu/packages/commencement.scm (%fake-bootstrap?): Do not fake, use Mes
instead of Guile.
2018-12-16 22:49:10 +01:00
Jan Nieuwenhuizen 99ff4b102c
bootstrap: mes-boot: Use mes-boot0 version.
* gnu/packages/commencement.scm (mes-boot): Use mes-boot0 version.
2018-12-11 18:10:13 +01:00
Marius Bakke 4ae7dc7b9a
gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
GLIBC-FINAL already propagates linux-libre-headers, so drop the bootstrap input.

* gnu/packages/commencement.scm (%boot2-inputs): Remove
%BOOTSTRAP-LINUX-LIBRE-HEADERS.
2018-11-24 08:18:32 +01:00
Marius Bakke 77e02d948c
gnu: gcc-boot0: Improve gcc-wrapper workarounds.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Adjust the libcc1
build scripts instead of copying libcc1.so from %BOOT0-INPUTS.
2018-11-24 08:18:32 +01:00
Marius Bakke a6facf9482
gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
* gnu/packages/commencement.scm (libstdc++-boot0): Adjust the configure script
instead of copying libstdc++.so from %BOOT0-INPUTS.
2018-11-24 08:18:32 +01:00
Marius Bakke f4bf64138c
gnu: Remove gcc-for-libstdc++.
* gnu/packages/commencement.scm (gcc-for-libstdc++): Remove variable.
(libstdc++-boot0): Inherit GCC-4.9 instead.
2018-11-24 08:18:31 +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 4fd4efc812
bootstrap: Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/bootstrap.scm (%mescc-tools-seed): Remove.
(%bootstrap-inputs): Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/commencement.scm (mes-boot): Likewise.
(tcc-boot0): Likewise.
(mescc-tools-boot): Remove.
2018-11-18 16:45:03 +01:00
Jan Nieuwenhuizen 1a99a9c45c
bootstrap: Build with %bootstrap-mes.
* gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
(%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
* gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
with %bootstrap-mes instead of %mes-seed and %tinycc-seed.
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen 7cbf6f1ca2
gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
* gnu/packages/mes.scm (mescc-tools): Update to 0.5.2-0.bb062b0d.
mescc
* gnu/packages/commencement.scm (mescc-tools-boot): Stay at 0.5.2
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen f266199dc1
gnu: mes: Update to 0.18.0-08f04f55.
This update is a preparation for the %bootstrap-mes package; due to some small
problems it fails to build with plain mes-0.18.  mes-boot0 stays at 0.18 only
to avoid another rebuild world.

%bootstrap-mes brings the building and packaging the Mes bootstrap seeds from
manual operation into Guix.  We will bump mes and mes-boot0 to a future 0.18.1
or 0.19 and regenerate %bootstrap-mes in a nex iteration.

    08f04f55 build: Oops, remove stray lib/linux/x86_64-mes/crt1.
    33f37f27 build: x86_64 bootstrap build fixes and workaround.
    4ae2a111 doc: Release update.
    5277669b mescc: Oops, delete wrong line of assembly.
    44cc97a8 admin: Release update.

* gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
* gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.
2018-10-21 23:26:21 +02:00
Jan Nieuwenhuizen 09c5a5680a
gnu: tcc-boot0: Update for mes 0.18.
* gnu/packages/commencement.scm (tcc-boot0): Update for mes 0.18.
2018-10-07 16:29:39 +02:00
Jan Nieuwenhuizen fc4ff50f2d
gnu: mescc-tools-boot: Update to 0.5.2.
* gnu/packages/commencement.scm (mescc-tools-boot): Update to 0.5.2.
* gnu/packages/patches/mescc-tools-boot.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-10-07 16:29:39 +02:00
Jan Nieuwenhuizen 189ac60eac
gnu: mes-boot0: Update to 0.18
* gnu/packages/commencement.scm (mes-boot0): Update to 0.18.
2018-10-07 16:29:38 +02:00
Jan Nieuwenhuizen eb4434598c
bootstrap: Reduced Binary Seed bootstrap for x86_64 too.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Replace %bootstrap-libc,
%bootstrap-gcc, and %bootstrap-binutils with Mes seeds for x86_64 too.
* gnu/packages/commencement.scm (tcc-boot0, tcc-boot, gcc-mesboot1,
gcc-mesboot1-wrapper, m4-mesboot, %bootstrap-inputs+toolchain,
libstdc++-boot0, gcc-boot0, bison-boot0): For x86_64-linux, use i686-linux
glibc-dynamic-linker and Mes bootstrap settings.
(gcc-boot0-intermediate-wrapped): New variable, extract from
static-bash-for-glibc.
(static-bash-for-glibc): Use it.
(gcc-final): Copy gmp&co phase from gcc-boot0, inherit other arguments
from gcc; avoid i686-linux impersonation from gcc-boot0.
* doc/guix.texi (Bootstrapping, Reduced Binary Seed Bootstrap): Note
x86_64-linux also as Reduced Binary Seed bootstrap.
2018-09-23 09:46:26 +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 cffe966dd5
bootstrap: perl-boot0: Disable validate-runpath?.
* gnu/packages/commencement.scm (perl-boot0): Add disable validate-runpath? to
args, and actually pass args.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 56f45b7c78
bootstrap: bison-boot0: Do not use `ranlib -D'.
* gnu/packages/commencement.scm (bison-boot0): Do not use `ranlib -D' for
i686-linux bootstrap.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 0b652851b1
bootstrap: Add Mes bootstrap.
* gnu/packages/patches/mes-nyacc-0.86.0.patch: Support bootstrap build.
* gnu/packages/commencement.scm (%fake-bootstrap mes-boot0, mescc-tools-boot,
nyacc-boot, mes-boot, tcc-boot0, tcc-boot, make-mesboot0, diffutils-mesboot,
binutils-mesboot0, gcc-core-mesboot, mesboot-headers, glibc-mesboot0,
gcc-mesboot0, binutils-mesboot, make-mesboot, gmp-boot, mpfr-boot, mpc-boot,
gcc-mesboot1, gcc-mesboot1-wrapper, glibc-headers-mesboot, glibc-mesboot,
gcc-mesboot, gcc-mesboot-wrapper, m4-mesboot): New variable.
* gnu/packages/patches/binutils-boot-2.20.1a.patch: New file. New file.
* gnu/packages/patches/gcc-boot-2.95.3.patch: New file.
* gnu/packages/patches/gcc-boot-4.7.4.patch: New file.
* gnu/packages/patches/glibc-boot-2.16.0.patch: New file.
* gnu/packages/patches/glibc-boot-2.2.5.patch: New file.
* gnu/packages/patches/glibc-bootstrap-system-2.16.0.patch: New file.
* gnu/packages/patches/tcc-boot-0.9.27.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 517af02ea1
bootstrap: static-bash-for-glibc: Consider %current-system at run time.
* gnu/packages/commencement.scm (static-bash-for-glibc): Rewrite so
that (%boot1-inputs) is evaluated run time, rather than at load time.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen f50b013f8c
bootstrap: Use thunk for inputs in package-with-explicit-inputs.
* gnu/packages/commencement.scm (diffutils-boot0, findutils-boot0, perl-boot0,
bison-boot0, flex-boot0, texinfo-boot0, static-bash-for-glibc, gettext-boot0,
bash-final, guile-final, glibc-utf8-locales-final, gnu-make-final,
coreutils-final, grep-final, sed-final, %final-inputs): Use thunk for inputs
in package-with-explicit-inputs.  This makes --system=i686-linux behave
identical to a native x86 build and prepares for Mes bootstrap.
(ld-wrapper-boot0, ld-wrapper-boot3): Change to procedure.  Explicitly
add #:guile-for-build.  Update users.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen 32f4a073e1
gnu: m4-boot0: New variable.
* gnu/packages/commencement.scm (m4-boot0): New variable.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen c362904485
bootstrap: %bootstrap-inputs+toolchain: Replace %bootstrap-inputs.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): : New procedure
replacing %bootstrap-inputs to prepare for Mes bootstrap.  Update users.
* tests/union.scm (%bootstrap-inputs): New variable: set to
%bootstrap-inputs+toolchain.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen a2b2070b67
bootstrap: %bootstrap-inputs: Wrap input lists into thunks.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Change to procedure.  Update
users; prepares for Mes bootstrap.
* gnu/packages/commencement.scm (%boot0-inputs, %boot1-inputs, %boot2-inputs,
%boot3-inputs, %boot4-inputs, %boot5-inputs, %boot-6-inputs): Change to
procedure.  Update users.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Make a
procedure, filter on package?.  Update users.
2018-09-22 22:40:12 +02:00
Marius Bakke 3469a5ea47
gnu: gcc@4.9: Fix FTBFS with Glibc >= 2.28.
* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
(libstdc++-boot0): Inherit from GCC-FOR-LIBSTDC++ instead of GCC-4.9.
* gnu/packages/gcc.scm (gcc-4.9)[source](patches): Add
"gcc-4.9-libsanitizer-ustat.patch".
* gnu/packages/patches/gcc-4.9-libsanitizer-ustat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-09-01 12:58:47 +02:00
Ludovic Courtès 5ae27f577b
gnu: gcc-toolchain: Add version 8.
* gnu/packages/commencement.scm (gcc-toolchain-8): New variable.
2018-06-30 17:50:20 +02:00
Mark H Weaver 9d10a63402
Merge branch 'master' into core-updates 2018-05-24 02:34:08 -04:00
Ricardo Wurmus 8efe2a22ea
gnu: Use "code" instead of "indent".
This is a follow-up to commit e470abf8b7.

* gnu/packages/commencement.scm,
gnu/packages/flex.scm: Use module "code" instead of "indent".
2018-05-23 13:59:46 +02:00
Mark H Weaver 539bf8f2c0
Merge branch 'master' into core-updates 2018-05-17 01:00:50 -04:00
Chris Marusich ede121de42
guix: Separate the package name and version with "@", not "-".
* guix/packages.scm (package-full-name): By default, use "@" to separate
  the package name and package version.  Add an optional delimiter
  argument so that there is still a way to explicitly use a different
  delimiter.
* gnu/packages/commencement.scm (gcc-boot0) <unpack-gmp&co>: Adjust
  accordingly.
* tests/graph.scm: Adjust accordingly.
* tests/profiles.scm: Adjust accordingly.
* NEWS: Mention the change.

Fixes: <https://bugs.gnu.org/31088>.
Reported by Pierre Neidhardt <ambrevar@gmail.com>.
2018-05-08 21:55:46 -07:00
Mark H Weaver 3d5ad159b3
Merge branch 'master' into core-updates 2018-04-30 04:03:54 -04:00
Ludovic Courtès 5a48a066ab
gnu: gcc-toolchain: Add "static" output.
This allows the use of 'gcc-toolchain' to create statically-linked
executables (requires libc.a.)

* gnu/packages/commencement.scm (make-gcc-toolchain): Add "static"
output.  Add "libc-static" to 'inputs'.  Add call to 'union-build' for
the "static" output.
2018-04-28 22:33:47 +02:00
Ludovic Courtès 78ca500a75
gnu: commencement: Avoid extra Perl build in the DAG.
* gnu/packages/commencement.scm (grep-final): Move reference to
PERL-BOOT0 outside of 'package-with-explicit-inputs'.  Previously we
would actually depend on a variant of 'perl-boot0' built with
%BOOT5-INPUTS, which defeated the intent to not add an extra Perl build
in the DAG.
2018-04-01 18:48:23 +02:00
Ludovic Courtès 301a424906
gnu: sed: Update to 4.5.
* gnu/packages/base.scm (sed): Update to 4.5.
[arguments]: Remove 'patch-test-suite' phase.
[native-inputs]: New field.
2018-04-01 18:41:28 +02:00
Mark H Weaver e3cfef22c4
gnu: Use invoke and return #t from all builders.
* gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm,
gnu/packages/avr.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm,
gnu/packages/certs.scm, gnu/packages/check.scm, gnu/packages/code.scm,
gnu/packages/commencement.scm, gnu/packages/dictionaries.scm,
gnu/packages/docbook.scm, gnu/packages/emacs.scm, gnu/packages/embedded.scm,
gnu/packages/fonts.scm, gnu/packages/games.scm, gnu/packages/gnome.scm,
gnu/packages/gnu-doc.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm,
gnu/packages/javascript.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm,
gnu/packages/pkg-config.scm, gnu/packages/qt.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/sdl.scm, gnu/packages/statistics.scm,
gnu/packages/syncthing.scm, gnu/packages/tex.scm, gnu/packages/web.scm,
gnu/packages/wine.scm, gnu/packages/xfce.scm: In the builders of packages
using 'trivial-build-system', use invoke where appropriate, raise exceptions
on errors, and otherwise return #t.
2018-03-27 21:35:41 -04:00
Mark H Weaver 75f3aaced0
gnu: perl-boot0: Return #t from all phases.
* gnu/packages/commencement.scm (perl-boot0): Return #t from the
'disable-pthreads' phase.
2018-03-25 05:02:02 -04:00
Marius Bakke 5e8cb5e698
gnu: glibc: Update to 2.27.
* gnu/packages/base.scm (glibc/linux): Update to 2.27.
[source](patches): Add 'glibc-hidden-visibility-ldconfig.patch' and
'glibc-2.27-git-fixes.patch'.
[native-inputs]: Add BISON.
[arguments]: Remove deprecated "--enable-add-ons" from #:configure-flags.
Also remove unneeded "libc_cv_ssp=no" and "libcv_ssp_strong=no".
(glibc-2.26): New public variable.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add BISON-BOOT0.
* gnu/packages/patches/glibc-2.27-git-fixes.patch,
gnu/packages/patches/glibc-hidden-visibility-ldconfig.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
2018-03-22 18:58:05 +01:00
Mark H Weaver 60ff6ec48f
gettext-boot0: Return #t from chdir phase.
* gnu/packages/commencement.scm (gettext-boot0)[arguments]: Return #t from
chdir phase.
2018-03-16 09:08:35 -04:00
Ricardo Wurmus 8c72ed923d
Merge branch 'master' into core-updates 2018-03-14 17:37:20 +01:00
Ricardo Wurmus 48b97be90b
Revert "gnu: Add replacement for static-bash-for-glibc."
This reverts commit c4fb2b9f4e.
2018-03-14 16:28:22 +01:00
Ricardo Wurmus c4fb2b9f4e
gnu: Add replacement for static-bash-for-glibc.
This is needed to replace the static bash used in glibc-final.

* gnu/packages/commencement.scm (patched-glibc-final-with-bootstrap-bash,
patched-static-bash-for-glibc): New variables.
(static-bash-for-glibc)[replacement]: Use patched-static-bash-for-glibc as a
replacement.
2018-03-14 11:39:14 +01:00
Marius Bakke 5e268faf85
gnu: Remove gcc-for-libstdc++.
* gnu/packages/commencement.scm (libstdc++-boot0): Remove variable.
(libstdc++-boot0): Use GCC-4.9 instead.
2018-03-08 20:22:42 +01:00
Ludovic Courtès 7c788ed227
gnu: commencement: 'glibc-final' inherits the replacement of 'glibc'.
That was the intent of commit b672a81607,
but that commit left 'glibc-final' ungrafted.

Reported by Ricardo Wurmus at
<https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00435.html>.

* gnu/packages/commencement.scm (glibc-final): Use 'package/inherit' so
that we inherit the 'replacement' of GLIBC.
2018-03-07 21:39:32 +01:00
Ludovic Courtès 0fccb24765
gnu: commencement: 'glibc-final' now inherits from 'glibc'.
* gnu/packages/commencement.scm (glibc-final): Inherit from GLIBC
instead of GLIBC-FINAL-WITH-BOOTSTRAP-BASH.
[propagated-inputs]: New fields.
2018-03-07 21:39:32 +01:00
Chris Marusich a1df45e904
gnu: commencement: Add commentary regarding grafts.
* gnu/packages/commencement.scm: Add comments that were originally
  included only in the Git commit message of
  f00b85ff8d.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2018-02-27 05:29:37 +01:00
Tobias Geerinckx-Rice 53bfec7bc4
gnu: commencement: Update phase style.
* gnu/packages/commencement.scm (gnu-make-boot0): Substitute INVOKE for
SYSTEM* and end phases with #t.
(glibc-final-with-bootstrap-bash)[arguments]: Use MODIFY-PHASES syntax
and end phase with #t.
(gcc-boot0)[arguments]: Do all of the above.
2018-02-20 16:06:09 +01:00
Ludovic Courtès 8102cf0b37
gnu: commencement: Memoize 'linux-libre-headers-boot0'.
Fixes <https://bugs.gnu.org/30155>.

The effect can be seen in the package graph produced by:

  guix graph -e '(@@ (gnu packages commencement) static-bash-for-glibc)'

This reduces the number of "duplicate" nodes in this graph, i.e.,
distinct package objects that correspond to the same derivation (objects
that are not 'eq?' but semantically equal.)

* gnu/packages/commencement.scm (linux-libre-headers-boot0): Make an
'mlambda' instead of a 'lambda'.
(hurd-core-headers-boot0): Ditto.
2018-01-18 16:14:06 +01:00
Efraim Flashner 809b0a9044
gnu: gcc@4.9: Fix building with glibc@2.26.
* gnu/packages/gcc.scm (gcc@4.9)[source]: Add snippet to adjust
linux-unwind.h to changes in glibc.
* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
(libstdc++-boot0): Inherit from gcc-for-libstdc++, update note.
2018-01-18 08:59:20 +02:00