Commit Graph

224 Commits

Author SHA1 Message Date
Jan Nieuwenhuizen b022827de5
gnu: commencement: Add gzip-mesboot.
* gnu/packages/commencement.scm (gzip-mesboot): New variable.
2020-02-17 23:16:40 +01:00
Jan Nieuwenhuizen 5dedce047c
gnu: commencement: tcc-boot0: Use Gash instead of coretutils&co.
* gnu/packages/commencement.scm (tcc-boot0): Use Gash instead of
coretutils&co.
2020-02-17 23:16:40 +01:00
Jan Nieuwenhuizen c9c1cbf60d
gnu: commencement: mes-boot: Use Gash instead of coretutils&co.
* gnu/packages/commencement.scm (mes-boot): Update to 0.21-32-g51c7e5f6f.  Use
Gash instead of coretutils&co.
2020-02-17 23:16:40 +01:00
Jan Nieuwenhuizen da2ae09b42
gnu: commencement: Add %bootstrap-mes-rewired.
* gnu/packages/commencement.scm (%bootstrap-mes-rewired): New variable.
2020-02-17 23:16:40 +01:00
Jan Nieuwenhuizen 9f5a22b9de
gnu: commencement: Add gash-core-utils-boot.
* gnu/packages/commencement.scm (gash-core-utils-boot): New variable.
(%boot-gash-inputs): New variable.
2020-02-17 23:16:39 +01:00
Jan Nieuwenhuizen d3aec6bd89
gnu: commencement: Add gash-boot.
* gnu/packages/commencement.scm (gash-boot): New variable.
2020-02-17 23:16:39 +01:00
Jan Nieuwenhuizen 899c8f3afa
gnu: commencement: Add %bootstrap-guile+guild.
* gnu/packages/commencement.scm (%bootstrap-guile+guild): New variable.
2020-02-17 23:16:39 +01:00
Marius Bakke 429243a43a
gnu: linux-libre-headers: Update to 5.4.20.
* gnu/packages/linux.scm (linux-libre-headers-4.19.56): Rename to ...
(linux-libre-headers-5.4.20): ... this.  Update to 5.4.20.
(linux-libre-headers): Adjust accordingly.
* gnu/packages/commencement.scm (rsync-boot0): New variable.
(linux-libre-headers-boot0)[native-inputs]: Add RSYNC-BOOT0.
2020-02-15 22:02:54 +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
Ludovic Courtès 558b0bbe29
gnu: commencement: Rationalize search path handling.
This commit ensures that only packages that correspond to compilers have
a search path set.  It also reduces manual handling of search path
environment variables.

* gnu/packages/commencement.scm (tcc-boot0)[native-search-paths]: Remove
copy/pasted comment.
(gcc-core-mesboot)[arguments]: In 'install2' phase, do not copy
TCC/include to OUT/include.
[native-search-paths]: Remove leading slash in "lib/gcc-lib/…" directory name.
(mesboot-headers)[native-search-paths]: Remove.
(glibc-mesboot0)[native-search-paths]: Remove.
(gcc-mesboot0)[native-inputs]: Reorder so that we have libc, then
kernel-headers, then gcc.
[arguments]: Rewrite 'setenv' phase to only set CONFIG_SHELL and create
'config.cache'.
(gcc-mesboot1)[native-inputs]: Reorder similarly.
[arguments]: In 'setenv' phase, only set CONFIG_SHELL, C_INCLUDE_PATH,
and CPLUS_INCLUDE_PATH.
(glibc-headers-mesboot)[arguments]: In 'setenv' phase, replace
references to '%build-inputs' by references to 'inputs'; simplify
setting of CONFIG_SHELL and SHELL; simplify patching of /bin/pwd in
the "configure" file; leave C_INCLUDE_PATH and LIBRARY_PATH unset.
(glibc-mesboot)[native-search-paths]: Remove.
(gcc-mesboot)[native-inputs]: Reorder.
[arguments]: Remove clause for #:phases that would change the 'setenv'
phase.
2020-02-06 18:47:15 +01:00
Ludovic Courtès a1caea07f6
gnu: commencement: Avoid hard-coded GCC version numbers.
* gnu/packages/commencement.scm (gcc-mesboot1, gcc-mesboot): Use
'package-version' instead of hard-coding the version number.
2020-02-06 18:47:15 +01:00
Marius Bakke 52665d2b6b
Merge branch 'staging' into core-updates 2020-02-03 15:45:44 +01:00
Marius Bakke 82ca7b2a3a
gnu: commencement: Remove unused module imports.
* gnu/packages/commencement.scm: Do not import (guix licenses),
(srfi srfi-26), and (ice-9 regex).
2020-02-03 12:34:31 +01:00
Marius Bakke cdba91486a
gnu: make: Update to 4.3.
* gnu/packages/patches/make-impure-dirs.patch: Adjust for renamed files.
* gnu/packages/patches/make-glibc-compat.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (gnu-make): Update to 4.3.
[source](uri): Change to ".gz" tarball.
[source](patches): Remove obsolete.
[arguments]: Remove #:configure-flags.  Adjust for renamed files.
[inputs]: Change from GUILE-2.0 to GUILE-3.0.
* gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Add #:configure-flags.
2020-01-21 23:17:20 +01:00
Marius Bakke 73fec9ca10
gnu: python-boot0: Update to 3.5.9.
* gnu/packages/commencement.scm (python-boot0): Update to 3.5.9.
2020-01-14 18:31:35 +01:00
Marius Bakke 404efac48b
gnu: python-boot0: Do not inherit source snippet from python.
This is in preparation for Python 3.8 which requires changes.

* gnu/packages/commencement.scm (python-boot0)[source]: Copy modules and
snippet from PYTHON instead of inheriting.
2020-01-14 18:31:35 +01:00
Marius Bakke b7bf02a418
Merge branch 'master' into core-updates 2020-01-11 22:38:24 +01:00
Jonathan Brielmaier 34e8f0afef
gnu: make-gcc-toolchain: Fix typo in description.
* gnu/packages/commencement.scm (make-gcc-toolchain)[description]: Fix typo
and triple spacing.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 21:28:05 +01:00
Mathieu Othacehe ce9383c090
Merge remote-tracking branch 'master' into core-updates. 2019-12-31 11:04:51 +01:00
Konrad Hinsen 4ac5d4fee1
gnu: Add gfortran-toolchain
* gnu/packages/commencement.scm: (gfortran-toolchain): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-15 00:34:05 +01:00
Efraim Flashner c9e676d0b1
Merge remote-tracking branch 'origin/master' into core-updates 2019-12-12 04:10:59 +02:00
Ludovic Courtès deeaa9e199
gnu: tcc-boot0: Add ftp.gnu.org URL for the source tarball.
The generated source tarball from gitlab.com is now mirrored at
ftp.gnu.org to ensure that it remains available, unchanged.

* gnu/packages/commencement.scm (tcc-boot0)[source]: Add "mirror://gnu" URL.
2019-12-08 00:47:26 +01:00
Marius Bakke 717867a6ef
gnu: findutils: Update to 4.7.0.
* gnu/packages/patches/findutils-gnulib-libio.patch,
gnu/packages/patches/findutils-makedev.patch,
gnu/packages/patches/findutils-test-xargs.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (findutils): Update to 4.7.0.
[source](uri): Adjust for file name change.
[source](snippet): Remove.
[source](patches): Remove obsolete.
[arguments]: Remove obsolete workaround.  Add phase to patch tests.
* gnu/packages/commencement.scm (findutils-boot0)[arguments]: Allow 32-bit
time_t on 64-bit systems.
2019-12-05 17:59:01 +01:00
Mathieu Othacehe 154d97abdd
Merge remote-tracking branch master into core-updates 2019-11-16 09:34:27 +01:00
Ludovic Courtès 537b2daba9
gnu: commencement: Ensure 'gnu-make-final' refers to the native 'pkg-config'.
Fixes <https://bugs.gnu.org/38093>.

When running:

  guix build --target=arm-linux-gnueabihf -e '(@ (gnu packages base) coreutils)'

the '%current-target-system' parameter is set by the time the top-level
of (gnu packages commencement) is evaluated.  Consequently, we need to
ensure that the 'pkg-config' macro evaluates in a context where
'%current-target-system' is unset.

* gnu/packages/commencement.scm (gnu-make-final): Refer to '%pkg-config'
instead of 'pkg-config'.
* tests/guix-build.sh: Add test.
2019-11-07 18:39:55 +01:00
Ludovic Courtès 32793c09ff
gnu: commencement: Memoize uses of 'cross-gcc-wrapper'.
This improves caching down the road.

* gnu/packages/commencement.scm (gcc-boot0-intermediate-wrapped)
(gcc-boot0-wrapped): Use 'mlambda' instead of 'lambda'.
2019-11-04 23:35:32 +01:00
Ludovic Courtès fd67cdb7e3
gnu: commencement: Clean up 'gnu-make-final' dependencies.
* gnu/packages/commencement.scm (gnu-make-final): Remove GUILE-FINAL
from the inputs of 'pkg-config'.
2019-10-14 15:42:42 +02:00
Ludovic Courtès 6254823271
gnu: bison-boot0: Remove conditional parallel build/test flags.
* gnu/packages/commencement.scm (bison-boot0)[arguments]: Remove
conditional #:parallel-build? and #:parallel-tests? flags.
Append (package-arguments bison).
2019-10-14 15:40:35 +02:00
Ludovic Courtès e5c1f5cfdf
gnu: bison-boot0: Set name to "bison-boot0".
* gnu/packages/commencement.scm (bison-boot0)[name]: New field.
2019-10-14 15:38:23 +02:00
Ludovic Courtès 57bc2dcf0b
gnu: commencement: Remove 'm4-boot0*'.
* gnu/packages/commencement.scm (m4-boot0*): Remove.
(bison-boot0, flex-boot0): Use M4-BOOT0 instead.
2019-10-14 15:37:25 +02:00
Ludovic Courtès efa8fddabe
gnu: commencement: Use 'package-with-explicit-inputs' for Hurd packages.
* gnu/packages/commencement.scm (with-boot0): New procedure.
(gnumach-headers-boot0, mig-boot0)
(hurd-headers-boot0, hurd-minimal-boot0)
(hurd-core-headers-boot0): Use it instead of 'package-with-explicit-inputs'.
2019-10-14 00:08:10 +02:00
Ludovic Courtès 8f417ed280
gnu: commencement: Further optimize the package object graph.
For a package like:

  (define-public xxx
    (package
      (inherit (@ (gnu packages base) coreutils))
      (name "xxx")
      (inputs (@ (gnu packages commencement) %final-inputs))
      (native-inputs '())
      (propagated-inputs '())
      (arguments '(#:implicit-inputs? #f))))

this reduces the package object graph from 176 nodes (1852 edges) to 113
nodes (1114 edges).

The number of 'add-data-to-store' calls in "guix build coreutils -nd"
drops from 2045 to 1301, and the number of memoization tables drops from
102 to 40.

"guix build libreoffice -nd" goes from 2.40s to 2.27s.

* gnu/packages/commencement.scm (with-boot4): New variable.
(guile-final, glibc-utf8-locales-final): Use it.
(with-boot4, with-boot5): New variable.
(gnu-make-final): Rewrite to avoid 'package-with-explicit-inputs'.
(coreutils-final): Use 'with-boot5' instead of
'package-with-explicit-inputs'.
(grep-final): Likewise.
(with-boot6): New variable.
(sed-final, %final-inputs): Use it.
2019-10-14 00:08:10 +02:00
Ludovic Courtès dab669e075
gnu: ld-wrapper: Memoize.
The command:

  guix graph -e '(@@ (gnu packages commencement) coreutils-final)'

now shows 93 nodes (992 edges) instead of 176 nodes (1241 edges).

* gnu/packages/commencement.scm (ld-wrapper-boot0): Use 'mlambda'
instead of 'lambda'.
(ld-wrapper-boot3): Likewise.
2019-10-12 15:18:25 +02:00
Ludovic Courtès 099dbc4fd3
gnu: Improve memoization of 'package-with-bootstrap-guile'.
Before that, the command:

  GUIX_PROFILING=memoization guix build -e '(@@ (gnu packages commencement) gnu-make-final)' -nd

would show that 'package-with-bootstrap-guile' was called 2256
times (hit rate: 89%).  Now, it is called 745 times (hit rate: 85%).

"guix build libreoffice -nd" goes from 2.60s to 2.40s (-8%).

* gnu/packages/commencement.scm (gnu-make-final)
(coreutils-final, grep-final, sed-final, %final-inputs): Call
'package-with-bootstrap-guile' before 'package-with-explicit-inputs'.
2019-10-12 15:18:25 +02:00
Ludovic Courtès 99b73d0f0c
gnu: commencement: Reduce the graph of package objects.
The graph returned by:

  guix graph -e '(@@ (gnu packages commencement) guile-final)'

now contains 94 nodes (664 edges) instead of 394 (2674 edges).

Likewise, this command:

  GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd

shows that the number of lookups to the 'add-data-to-store' caches goes
from 8935 to 5303.

Overall, "guix build libreoffice -nd" goes from 3.17s to 2.60s (-18%).

* gnu/packages/commencement.scm (diffutils-boot0): Remove call to
'package-with-bootstrap-guile' and 'package-with-explicit-inputs', and
adjust accordingly.
(findutils-boot0, file-boot0, binutils-boot0, libstdc++-boot0)
(gcc-boot0, perl-boot0, m4-boot0, bison-boot0, flex-boot0)
(linux-libre-headers-boot0, texinfo-boot0, python-boot0)
(ld-wrapper-boot0, glibc-final-with-bootstrap-bash)
(static-bash-for-glibc, gettext-boot0, glibc-final, binutils-final)
(libstdc++, zlib-final, bash-final): Likewise.
(expat-sans-tests)[inputs]: New field.
[arguments]: Add #:implicit-inputs? and #:guile.
(m4-boot0*): New variable.
2019-10-12 12:25:08 +02:00
Ludovic Courtès 9a45a24f7f
gnu: Remove unnecessary uses of 'package-with-bootstrap-guile'.
This reduces the object graph returned by:

  guix graph -e '(@@ (gnu packages commencement) glibc-final-with-bootstrap-bash)

from 333 nodes (1542 edges) to 148 nodes (886 edges).

This improves 'package-derivation' memoization and, consequently, the
'add-data-to-store' cache shown by:

  GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd

goes from 10948 lookups to 8935 lookups.

* gnu/packages/commencement.scm (mes-boot): Remove call to
'package-with-bootstrap-guile'.  Call 'bootstrap-origin' on the source
of NYACC-0.86.
(tcc-boot0): Likewise.
(tcc-boot): Remove call to 'package-with-bootstrap-guile' and call
'bootstrap-origin' on its source.
(make-mesboot0): Remove call to 'package-with-bootstrap-guile'.
(diffutils-mesboot): Likewise.
(binutils-mesboot0): Likewise, and call 'bootstrap-origin' for its
source.
(gcc-core-mesboot): Likewise.
(mesboot-headers): Remove call to 'package-with-bootstrap-guile'.
(glibc-mesboot0): Likewise, and call 'bootstrap-origin' for its source.
(gcc-mesboot0): Remove call to 'package-with-bootstrap-guile'.
(binutils-mesboot): Likewise.
(make-mesboot): Likewise.
(gcc-mesboot1): Likewise, and call 'bootstrap-origin' for its source.
(gcc-mesboot1-wrapper): Remove call to 'package-with-bootstrap-guile'.
(glibc-headers-mesboot): Likewise, and call 'bootstrap-origin' for its
source.
(glibc-mesboot): Remove call to 'package-with-bootstrap-guile'.
(gcc-mesboot): Likewise, and call to 'bootstrap-origin' for its source.
(gcc-mesboot-wrapper): Remove call to 'package-with-bootstrap-guile'.
(m4-mesboot): Likewise.
(gnu-make-boot0): Likewise, and call 'bootstrap-origin' for its source.
2019-10-12 12:25:08 +02:00
Ludovic Courtès 0b2ea78173
maint: Placate 'assert-no-store-file-names'.
Reported by Vagrant Cascadian <vagrant@debian.org>.

* Makefile.am (assert-no-store-file-names): Exclude
"binutils-boot-2.20.1a.patch" since it contains a store file name as a
comment.
* gnu/packages/commencement.scm (glibc-mesboot0): Use an ellipsis
instead of an actual store file name in comment.
2019-09-08 23:03:43 +02:00
Jan Nieuwenhuizen d7303a048d
bootstrap: mes-boot: Fix at 0.19.
This allows updating Mes without triggering a rebuild.

* gnu/packages/commencement.scm (mes-boot): Fix 0.19.
2019-09-08 10:49:15 +02:00
Mark H Weaver 65542a8852
Merge branch 'master' into core-updates 2019-09-06 20:46:00 -04:00
Mathieu Othacehe 58a75996ec
gnu: glibc-utf8-locales: Fix cross-compilation.
* gnu/packages/base.scm (glibc-utf8-locales)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
* gnu/packages/commencement.scm (glibc-utf8-locales-final)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
2019-09-04 18:05:59 +02:00
Ludovic Courtès c55fae4520
gnu: bison-boot0: Build sequentially.
This is a followup to 2c35ae8219 and
b1593c1c4f.

* gnu/packages/commencement.scm (bison-boot0)[arguments]: Add
 #:parallel-build? and #:parallel-tests? on x86.
2019-08-28 23:57:17 +02:00
Ludovic Courtès 64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Carl Dong 6869b6635a
gnu: Allow building toolchain with non-default libc.
* gnu/packages/base.scm (make-gcc-libc): Make public.
* gnu/packages/commencement.scm (make-gcc-toolchain): Add 'libc'
  optional argument to specify using a non-default glibc package, also
  make public.
2019-07-16 11:13:15 -04:00
Marius Bakke 33f460addf
gnu: flex: Remove superfluous input.
The configure script will warn that "make indent" is unavailable, but
apart from that this input is not actually used for the build process.

* gnu/packages/flex.scm (flex)[inputs]: Remove INDENT.
* gnu/packages/commencement.scm (flex-boot0)[inputs]: Likewise.
2019-07-09 21:07:13 +02:00
Marius Bakke 680bc34da4
gnu: Python: Update to 3.7.4.
* gnu/packages/python.scm (python-3.7): Update to 3.7.4.
[source](snippet): Move disabled tests ...
[arguments]<#:make-flags>: ... here.  Enable previously failing tests.
<#:phases>: Add 'set-TZDIR'.
[native-inputs]: Add TZDATA-FOR-TESTS.
* gnu/packages/commencement.scm (python-boot0)[arguments]: Clear <#:make-flags>.
Delete 'set-TZDIR' phase.
* gnu/packages/patches/python-3-fix-tests.patch: Disable two new tests that do
not work in the build container.  Adjust context.
2019-07-09 20:59:58 +02:00
Marius Bakke 4f5fe46388
gnu: commencement: Fix Python build on non-x86 platforms.
* gnu/packages/commencement.scm (python-boot0)[version, source]: Downgrade to 3.5.7.
[arguments]: Remove <#:make-flags>.  Add <#:phases>.
[native-inputs]: Remove artifical dependency on PKG-CONFIG.
2019-07-07 16:32:53 +02:00
Marius Bakke 5f3f703918
gnu: glibc: Update to 2.29.
* gnu/packages/patches/glibc-bootstrap-system.patch,
gnu/packages/patches/glibc-supported-locales.patch: Adjust for glibc 2.29.
* gnu/packages/patches/glibc-2.28-supported-locales.patch,
gnu/packages/patches/glibc-CVE-2019-7309.patch,
gnu/packages/patches/glibc-CVE-2019-9169.patch,
gnu/packages/patches/glibc-2.29-git-updates.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (glibc): Update to 2.29.
[source](patches): Add 'glibc-CVE-2019-7309.patch',
'glibc-CVE-2019-9169.patch', and 'glibc-2.29-git-updates.patch'.  Remove
'glibc-hurd-magic-pid.patch'.
[native-inputs]: Add PYTHON-MINIMAL.
(glibc-2.28): New public variable.
* gnu/packages/commencement.scm (expat-sans-tests, python-boot0): New variables.
(glibc-final-with-bootstrap-bash)[native-inputs]: Add PYTHON-BOOT0.
* gnu/packages/python.scm (python-3.7)[arguments]: Disable test that fails
with glibc 2.29.
2019-07-02 16:45:17 +02:00
Marius Bakke 1290855490
gnu: linux-libre-headers: Update to 4.19.56.
* gnu/packages/linux.scm (linux-libre-headers-4.14.67): Rename to ...
(linux-libre-headers-4.19.56): ... this.  Adjust hash accordingly.
(linux-libre-headers): Set to LINUX-LIBRE-HEADERS-4.19.56.
* gnu/packages/commencement.scm (linux-libre-headers-boot0)[native-inputs]:
Add FLEX-BOOT0 and BISON-BOOT0.
2019-07-02 01:06:31 +02:00
Marius Bakke 742f2deaa3
gnu: commencement: Remove outdated comment.
* gnu/packages/commencement.scm (bison-boot0): Remove bash comment, which is
no longer accurate.
2019-07-02 01:06:31 +02:00
Marius Bakke 3730e3c64e
gnu: gettext: Update to 0.20.1.
* gnu/packages/gettext.scm (gettext-minimal): Update to 0.20.1.
[source](snippet): Remove.
[inputs]: Remove EXPAT.  Add LIBUNISTRING, LIBXML2, and NCURSES.
[arguments]: Add #:configure-flags and a "patch-fixed-paths" phase.  Delete
"link-expat" phase.
* gnu/packages/commencement.scm (gettext-boot0): Stay on version 0.19.8.1.
[arguments]: Adjust accordingly.

Co-authored-by: Miguel <rosen644835@gmail.com>
2019-07-02 01:06:31 +02:00