diff --git a/.gitignore b/.gitignore
index 38cde42fca..df59a9176e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -150,3 +150,4 @@ tmp
/etc/indent-code.el
/.version
/doc/stamp-[0-9]
+/gnu/packages/bootstrap
diff --git a/Makefile.am b/Makefile.am
index 3326fab495..36767c2f47 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -614,7 +614,7 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
# The above trick doesn't work for 'config.go' because both 'config.scm' and
# 'config.go' are listed in $(nobase_nodist_guileobject_DATA). Thus, give it
# special treatment.
-install-data-hook: set-bootstrap-executable-permissions
+install-data-hook:
touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
# Assuming Guix is already installed and the daemon is up and running, this
@@ -830,6 +830,7 @@ assert-no-store-file-names:
--exclude=guix-cookbook.pot --exclude=guix-cookbook.*.po \
--exclude=guix-prettify.el \
--exclude=ChangeLog* \
+ --exclude=binutils-boot-2.20*.patch \
-E "$(storedir)/[a-z0-9]{32}-" $(distdir) ; \
then \
echo "error: store file names embedded in the distribution" >&2 ; \
diff --git a/doc/guix.texi b/doc/guix.texi
index b49934dc0e..97d797c13f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26998,7 +26998,80 @@ Binutils, libc, and the other packages mentioned above---the
These bootstrap binaries are ``taken for granted'', though we can also
re-create them if needed (more on that later).
-@unnumberedsec Preparing to Use the Bootstrap Binaries
+For @code{i686-linux} and @code{x86_64-linux} the Guix bootstrap process is
+more elaborate, @pxref{Reduced Binary Seed Bootstrap}.
+
+@menu
+* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
+* Preparing to Use the Bootstrap Binaries:: Building that what matters most.
+@end menu
+
+@node Reduced Binary Seed Bootstrap
+@section The Reduced Binary Seed Bootstrap
+
+Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
+a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
+Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
+GNU C Library (@pxref{Bootstrapping}). Usually, these bootstrap binaries are
+``taken for granted.''
+
+Taking these binaries for granted means that we consider them to be a correct
+and trustworthy `seed' for building the complete system. Therein lies a
+problem: the current combined size of these bootstrap binaries is about 250MB
+(@pxref{Bootstrappable Builds,,, mes, GNU Mes}). Auditing or even inspecting
+these is next to impossible.
+
+For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced
+Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source
+Bootstrap'' and while we are working towards that goal it would be hyperbole
+to use that term for what we do now.}.
+
+The Reduced Binary Seed bootstrap removes the most critical tools---from a
+trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
+Library are replaced by: @code{bootstrap-mescc-tools} (a tiny assembler and
+linker) and @code{bootstrap-mes} (a small Scheme Interpreter and a C compiler
+written in Scheme and the Mes C Library, built for TinyCC and for GCC). Using
+these new binary seeds and a new set of
+@c
+packages@footnote{@c
+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,
+gcc-mesboot1,
+gcc-mesboot1-wrapper,
+glibc-headers-mesboot,
+glibc-mesboot,
+gcc-mesboot,
+and
+gcc-mesboot-wrapper.
+}
+@c
+the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
+From here on the more traditional bootstrap process resumes. This approach
+has reduced the bootstrap binaries in size to about 130MB. Work is ongoing to
+reduce this further. If you are interested, join us on @code{#bootstrappable}
+on the Freenode IRC network.
+
+@c ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
+@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
+
+Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
+compiler used to build the rest of GuixSD.
+
+@image{images/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
+
+@node Preparing to Use the Bootstrap Binaries
+@section Preparing to Use the Bootstrap Binaries
@c As of Emacs 24.3, Info-mode displays the image, but since it's a
@c large image, it's hard to scroll. Oh well.
@@ -27012,7 +27085,15 @@ packages bootstrap)} module. A similar figure can be generated with
@example
guix graph -t derivation \
-e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \
- | dot -Tps > t.ps
+ | dot -Tps > gcc.ps
+@end example
+
+or, for the Reduced Binary Seed bootstrap
+
+@example
+guix graph -t derivation \
+ -e '(@@@@ (gnu packages bootstrap) %bootstrap-mes)' \
+ | dot -Tps > mes.ps
@end example
At this level of detail, things are
@@ -27044,10 +27125,10 @@ write them in an output directory with the right layout. This
corresponds to the @code{#:modules} argument of
@code{build-expression->derivation} (@pxref{Derivations}).
-Finally, the various tarballs are unpacked by the
-derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv},
-etc., at which point we have a working C tool chain.
-
+Finally, the various tarballs are unpacked by the derivations
+@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, or
+@code{bootstrap-mes-0.drv} and @code{bootstrap-mescc-tools-0.drv}, at which
+point we have a working C tool chain.
@unnumberedsec Building the Build Tools
@@ -27112,9 +27193,11 @@ those rarely need to be updated. Nevertheless, it is useful to have an
automated way to produce them, should an update occur, and this is what
the @code{(gnu packages make-bootstrap)} module provides.
-The following command builds the tarballs containing the bootstrap
-binaries (Guile, Binutils, GCC, libc, and a tarball containing a mixture
-of Coreutils and other basic command-line tools):
+The following command builds the tarballs containing the bootstrap binaries
+(Binutils, GCC, glibc, for the traditional bootstrap and linux-libre-headers,
+bootstrap-mescc-tools, bootstrap-mes for the Reduced Binary Seed bootstrap,
+and Guile, and a tarball containing a mixture of Coreutils and other basic
+command-line tools):
@example
guix build bootstrap-tarballs
@@ -27132,12 +27215,12 @@ know.
@unnumberedsec Reducing the Set of Bootstrap Binaries
-Our bootstrap binaries currently include GCC, Guile, etc. That's a lot
-of binary code! Why is that a problem? It's a problem because these
-big chunks of binary code are practically non-auditable, which makes it
-hard to establish what source code produced them. Every unauditable
-binary also leaves us vulnerable to compiler backdoors as described by
-Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}.
+Our traditional bootstrap includes GCC, GNU Libc, Guile, etc. That's a lot of
+binary code! Why is that a problem? It's a problem because these big chunks
+of binary code are practically non-auditable, which makes it hard to establish
+what source code produced them. Every unauditable binary also leaves us
+vulnerable to compiler backdoors as described by Ken Thompson in the 1984
+paper @emph{Reflections on Trusting Trust}.
This is mitigated by the fact that our bootstrap binaries were generated
from an earlier Guix revision. Nevertheless it lacks the level of
@@ -27149,8 +27232,19 @@ The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists
on-going projects to do that. One of these is about replacing the
bootstrap GCC with a sequence of assemblers, interpreters, and compilers
of increasing complexity, which could be built from source starting from
-a simple and auditable assembler. Your help is welcome!
+a simple and auditable assembler.
+Our first major achievement is the replacement of of GCC, the GNU C Library
+and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes
+(@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a Scheme interpreter
+and C compiler in Scheme). Neither MesCC-Tools nor Mes can be fully
+bootstrapped yet and thus we inject them as binary seeds. We call this the
+Reduced Binary Seed bootstrap, as it has halved the size of our bootstrap
+binaries! Also, it has eliminated the C compiler binary; i686-linux and
+x86_64-linux Guix packages are now bootstrapped without any binary C compiler.
+
+Work is ongoing to make MesCC-Tools and Mes fully bootstrappable and we are
+also looking at any other bootstrap binaries. Your help is welcome!
@node Porting
@chapter Porting to a New Platform
diff --git a/doc/images/gcc-mesboot-bag-graph.dot b/doc/images/gcc-mesboot-bag-graph.dot
new file mode 100644
index 0000000000..74d1896fb1
--- /dev/null
+++ b/doc/images/gcc-mesboot-bag-graph.dot
@@ -0,0 +1,123 @@
+digraph "Guix bag" {
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
+ "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkviolet];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
+ "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = peachpuff4];
+ "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
+ "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
+ "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = cyan3];
+ "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = cyan3];
+ "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
+ "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
+ "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkviolet];
+ "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
+ "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = darkviolet];
+ "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
+ "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
+ "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
+ "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
+ "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = dimgrey];
+ "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
+ "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
+ "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = dimgrey];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = peachpuff4];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
+ "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
+ "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
+ "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
+ "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+ "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = darkseagreen];
+ "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = dimgrey];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
+ "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
+ "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
+ "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
+ "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
+ "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
+ "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
+ "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
+ "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
+ "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = red];
+ "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = blue];
+ "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = blue];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = red];
+ "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = red];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
+ "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkseagreen];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
+ "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = magenta];
+
+}
diff --git a/doc/local.mk b/doc/local.mk
index 850612605b..a361f2388e 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -38,6 +38,7 @@ DOT_FILES = \
%D%/images/bootstrap-packages.dot \
%D%/images/coreutils-graph.dot \
%D%/images/coreutils-bag-graph.dot \
+ %D%/images/gcc-mesboot-bag-graph.dot \
%D%/images/service-graph.dot \
%D%/images/shepherd-graph.dot
diff --git a/etc/news.scm b/etc/news.scm
index 736e8b5516..e19dec38dd 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -8,10 +8,95 @@
(channel-news
(version 0)
+
+ (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c")
+ (title (en "GNU C Library upgraded")
+ (de "GNU-C-Bibliothek aktualisiert")
+ (fr "Mise à jour de la bibliothèque C de GNU")
+ (nl "GNU C-bibliotheek bijgewerkt"))
+ (body
+ (en "The GNU C Library (glibc) has been upgraded to version 2.29. To
+run previously-installed programs linked against glibc 2.28, you need to
+install locale data for version 2.28 in addition to locale data for 2.29:
+
+@example
+guix install glibc-locales glibc-locales-2.28
+@end example
+
+On Guix System, you can adjust the @code{locale-libcs} field of your
+@code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more
+info.")
+ (de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.29
+aktualisiert. Um zuvor installierte Programme, die an glibc 2.28 gebunden
+worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version
+2.28 zusätzlich zu den Locale-Daten für 2.29 installieren:
+
+@example
+guix install glibc-locales glibc-locales-2.28
+@end example
+
+Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
+@code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
+Locales\"} aus, um weitere Informationen dazu zu erhalten.")
+ (fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
+2.29. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.28,
+tu dois installer les données pour la version 2.28 en plus des données de
+régionalisation pour la version 2.29 :
+
+@example
+guix install glibc-locales glibc-locales-2.28
+@end example
+
+Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme
+@code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour
+plus de détails.")
+ (nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.29.
+Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.28
+gebonden zijn, moet u de regionale informatie van versie 2.28 naast die van
+versie 2.29 installeren:
+
+@example
+guix install glibc-locales glibc-locales-2.28
+@end example
+
+Op Guix System kunt u het @code{locale-libcs}-veld van uw
+@code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
+uit voor verdere uitleg." )))
+ (entry (commit "cdd3bcf03883d129581a79e6d6611b2afd3b277b")
+ (title (en "New reduced binary seed bootstrap")
+ (de "Neues Bootstrapping mit kleinerem Seed")
+ (fr "Nouvel ensemble de binaires de bootstrap réduit")
+ (nl "Nieuwe bootstrap met verkleinde binaire kiem"))
+ (body
+ (en "The package graph on x86_64 and i686 is now rooted in a
+@dfn{reduced set of binary seeds}. The initial set of binaries from which
+packages are built now weighs in at approximately 130 MiB, half of what it
+used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch
+the talk at @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
+ (de "Der Paketgraph auf x86_64 und i686 hat jetzt eine @dfn{kleinere
+Menge an binären Seeds} als Wurzel. Das heißt, die ursprüngliche Menge an
+Binärdateien, aus denen heraus Pakete erstellt werden, machen nun ungefähr
+130 MiB aus, halb so viel wie früher. Führen Sie @code{info \"(guix.de)
+Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich den Vortrag
+auf @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/} an.")
+ (fr "Le graphe des paquets sur x86_64 et i686 prend maintenant sa
+source dans un @dfn{ensemble réduit de binaires}. L'ensemble initial des
+binaires à partir desquels les paquets sont construits pèse maintenant environ
+130 Mio, soit la moitié par rapport à l'ensemble précédent. Tu peux lancer
+@code{info \"(guix) Bootstrapping\"} pour plus de détails, ou regarder la
+présentation sur @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
+ (nl "Het netwerk van pakketten voor x86_64 en i686 is nu geworteld in
+een @dfn{verkleinde verzameling van binaire kiemen}. Die beginverzameling
+van binaire bestanden waaruit pakketten gebouwd worden is nu zo'n 130 MiB
+groot; nog maar half zo groot als voorheen. Voer @code{info \"(guix)
+Bootstrapping\"} uit voor meer details, of bekijk de presentatie op
+@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")))
+
(entry (commit "dcc90d15581189dbc30e201db2b807273d6484f0")
(title (en "New channel news mechanism")
(de "Neuer Mechanismus, um Neuigkeiten über Kanäle anzuzeigen.")
- (fr "Nouveau mécanisme d'information sur les canaux"))
+ (fr "Nouveau mécanisme d'information sur les canaux")
+ (nl "Nieuw mechanisme voor nieuwsberichten per kanaal"))
(body
(en "You are reading this message through the new channel news
mechanism, congratulations! This mechanism allows channel authors to provide
@@ -27,4 +112,9 @@ von guix pull\"} aus, um weitere Informationen zu erhalten.")
des canaux, bravo ! Ce mécanisme permet aux auteur·rice·s de canaux de
fournir des informations qu'on peut visualiser avec @command{guix pull
--news}. Tape @command{info \"(guix.fr) Invoquer guix pull\"} pour plus de
-détails."))))
+détails.")
+ (nl "U leest dit bericht door een nieuw mechanisme om per kanaal
+@dfn{nieuwsberichten} te verspreiden. Proficiat! Hiermee kunnen kanaalauteurs
+mededelingen uitzenden die hun gebruikers met @command{guix pull --news} kunnen
+lezen. Voer @command{info \"(guix) Invoking guix pull\"} uit voor meer
+informatie."))))
diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm
index c5febcde1e..9570d6dd18 100644
--- a/gnu/build/bootloader.scm
+++ b/gnu/build/bootloader.scm
@@ -18,15 +18,8 @@
;;; along with GNU Guix. If not, see .
(define-module (gnu build bootloader)
- #:use-module (srfi srfi-34)
- #:use-module (srfi srfi-35)
#:use-module (ice-9 binary-ports)
- #:use-module (ice-9 popen)
- #:use-module (ice-9 match)
- #:use-module (ice-9 rdelim)
- #:use-module (ice-9 format)
- #:export (write-file-on-device
- invoke/quiet))
+ #:export (write-file-on-device))
;;;
@@ -43,56 +36,3 @@
(seek output offset SEEK_SET)
(put-bytevector output bv))
#:binary #t)))))
-
-(define-syntax-rule (G_ str) str) ;for xgettext
-
-(define (open-pipe-with-stderr program . args)
- "Run PROGRAM with ARGS in an input pipe, but, unlike 'open-pipe*', redirect
-both its standard output and standard error to the pipe. Return two value:
-the pipe to read PROGRAM's data from, and the PID of the child process running
-PROGRAM."
- ;; 'open-pipe*' doesn't attempt to capture stderr in any way, which is why
- ;; we need to roll our own.
- (match (pipe)
- ((input . output)
- (match (primitive-fork)
- (0
- (dynamic-wind
- (const #t)
- (lambda ()
- (close-port input)
- (dup2 (fileno output) 1)
- (dup2 (fileno output) 2)
- (apply execlp program program args))
- (lambda ()
- (primitive-exit 127))))
- (pid
- (close-port output)
- (values input pid))))))
-
-;; TODO: Move to (guix build utils) on the next rebuild cycle.
-(define (invoke/quiet program . args)
- "Invoke PROGRAM with ARGS and capture PROGRAM's standard output and standard
-error. If PROGRAM succeeds, print nothing and return the unspecified value;
-otherwise, raise a '&message' error condition that includes the status code
-and the output of PROGRAM."
- (define-values (pipe pid)
- (apply open-pipe-with-stderr program args))
-
- (let loop ((lines '()))
- (match (read-line pipe)
- ((? eof-object?)
- (close-port pipe)
- (match (waitpid pid)
- ((_ . status)
- (unless (zero? status)
- (raise (condition
- (&message
- (message (format #f (G_ "'~a~{ ~a~}' exited with status ~a; \
-output follows:~%~%~{ ~a~%~}")
- program args
- (or (status:exit-val status)
- status)
- (reverse lines))))))))))
- (line
- (loop (cons line lines))))))
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm
index 7ab0a355b0..6bdbdd5411 100644
--- a/gnu/build/cross-toolchain.scm
+++ b/gnu/build/cross-toolchain.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver
;;; Copyright © 2016 Jan Nieuwenhuizen
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis
+;;; Copyright © 2019 Marius Bakke
;;; Copyright © 2019 Carl Dong
;;;
;;; This file is part of GNU Guix.
@@ -37,11 +38,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
- ;; Note: See for why not 'CPATH'.
- '("C_INCLUDE_PATH"
- "CPLUS_INCLUDE_PATH"
- "OBJC_INCLUDE_PATH"
- "OBJCPLUS_INCLUDE_PATH"))
+ ;; Note: See for why not 'C_INCLUDE_PATH' & co.
+ '("CPATH"))
(define %gcc-cross-include-paths
;; Search path for target headers when cross-compiling.
diff --git a/gnu/local.mk b/gnu/local.mk
index ffe697c2e1..39b8e009b2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -11,7 +11,7 @@
# Copyright © 2016 Ben Woodcroft
# Copyright © 2016, 2017, 2018, 2019 Alex Vong
# Copyright © 2016, 2017, 2018, 2019 Efraim Flashner
-# Copyright © 2016, 2017 Jan Nieuwenhuizen
+# Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen
# Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice
# Copyright © 2017, 2018 Clément Lassieur
# Copyright © 2017 Mathieu Othacehe
@@ -678,8 +678,6 @@ dist_patch_DATA = \
%D%/packages/patches/abcl-fix-build-xml.patch \
%D%/packages/patches/abiword-explictly-cast-bools.patch \
%D%/packages/patches/abiword-black-drawing-with-gtk322.patch \
- %D%/packages/patches/acl-fix-perl-regex.patch \
- %D%/packages/patches/acl-hurd-path-max.patch \
%D%/packages/patches/adb-add-libraries.patch \
%D%/packages/patches/aegis-constness-error.patch \
%D%/packages/patches/aegis-perl-tempdir1.patch \
@@ -696,6 +694,7 @@ dist_patch_DATA = \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
+ %D%/packages/patches/aspell-gcc-compat.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
@@ -708,17 +707,17 @@ dist_patch_DATA = \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \
- %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch \
+ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/benchmark-unbundle-googletest.patch \
%D%/packages/patches/biber-fix-encoding-write.patch \
+ %D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
- %D%/packages/patches/boost-fix-icu-build.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \
@@ -764,13 +763,13 @@ dist_patch_DATA = \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
- %D%/packages/patches/dbus-CVE-2019-12749.patch \
+ %D%/packages/patches/dbus-c++-gcc-compat.patch \
+ %D%/packages/patches/dbus-c++-threading-mutex.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
- %D%/packages/patches/diffutils-getopt.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
%D%/packages/patches/doc++-include-directives.patch \
@@ -804,9 +803,9 @@ dist_patch_DATA = \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
+ %D%/packages/patches/evolution-data-server-locales.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
- %D%/packages/patches/expat-CVE-2018-20843.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \
@@ -835,6 +834,8 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-asan-missing-include.patch \
+ %D%/packages/patches/gcc-boot-2.95.3.patch \
+ %D%/packages/patches/gcc-boot-4.7.4.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-fix-texi2pod.patch \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
@@ -853,6 +854,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
+ %D%/packages/patches/gcc-7-cross-mingw.patch \
%D%/packages/patches/gcc-8-cross-environment-variables.patch \
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
%D%/packages/patches/gcc-9-asan-fix-limits-include.patch \
@@ -863,7 +865,6 @@ dist_patch_DATA = \
%D%/packages/patches/gd-CVE-2019-6978.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
- %D%/packages/patches/gdm-CVE-2018-14424.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
@@ -873,7 +874,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/giflib-make-reallocarray-private.patch \
%D%/packages/patches/glib-tests-timer.patch \
- %D%/packages/patches/glib-networking-connection.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
%D%/packages/patches/glibc-CVE-2016-3075.patch \
@@ -884,39 +884,51 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
+ %D%/packages/patches/glibc-CVE-2019-7309.patch \
+ %D%/packages/patches/glibc-CVE-2019-9169.patch \
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
+ %D%/packages/patches/glibc-boot-2.16.0.patch \
+ %D%/packages/patches/glibc-boot-2.2.5.patch \
+ %D%/packages/patches/glibc-bootstrap-system-2.16.0.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \
%D%/packages/patches/glibc-hurd-magic-pid.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
+ %D%/packages/patches/glibc-locales-2.28.patch \
%D%/packages/patches/glibc-o-largefile.patch \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glibc-2.27-git-fixes.patch \
%D%/packages/patches/glibc-2.28-git-fixes.patch \
+ %D%/packages/patches/glibc-2.29-git-updates.patch \
+ %D%/packages/patches/glibc-2.27-supported-locales.patch \
+ %D%/packages/patches/glibc-2.28-supported-locales.patch \
+ %D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glm-restore-install-target.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
+ %D%/packages/patches/gnome-control-center-udisks.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
+ %D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpsbabel-minizip.patch \
%D%/packages/patches/gpsbabel-qstring.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
- %D%/packages/patches/groff-source-date-epoch.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
+ %D%/packages/patches/guile-2.2-skip-oom-test.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
@@ -933,11 +945,13 @@ dist_patch_DATA = \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
+ %D%/packages/patches/handbrake-opt-in-nvenc.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \
%D%/packages/patches/hdf4-reproducibility.patch \
%D%/packages/patches/hdf4-shared-fortran.patch \
+ %D%/packages/patches/hdf4-tirpc.patch \
%D%/packages/patches/hdf5-config-date.patch \
%D%/packages/patches/hdf5-mpi-deprecations.patch \
%D%/packages/patches/hdf5-1.8-mpi-deprecations.patch \
@@ -962,6 +976,7 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/ilmbase-openexr-pkg-config.patch \
+ %D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch \
@@ -1011,29 +1026,20 @@ dist_patch_DATA = \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
%D%/packages/patches/liba52-use-mtune-not-mcpu.patch \
- %D%/packages/patches/libarchive-CVE-2017-14166.patch \
- %D%/packages/patches/libarchive-CVE-2017-14502.patch \
- %D%/packages/patches/libarchive-CVE-2018-1000877.patch \
- %D%/packages/patches/libarchive-CVE-2018-1000878.patch \
- %D%/packages/patches/libarchive-CVE-2018-1000880.patch \
%D%/packages/patches/libbase-fix-includes.patch \
%D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
- %D%/packages/patches/libcroco-CVE-2017-7960.patch \
- %D%/packages/patches/libcroco-CVE-2017-7961.patch \
%D%/packages/patches/libdrm-symbol-check.patch \
%D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libexif-CVE-2018-20030.patch \
%D%/packages/patches/libextractor-exiv2.patch \
- %D%/packages/patches/libgcrypt-make-yat2m-reproducible.patch \
%D%/packages/patches/libgit2-avoid-python.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
- %D%/packages/patches/libgdata-fix-tests.patch \
- %D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \
+ %D%/packages/patches/libgpg-error-gawk-compat.patch \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
@@ -1043,6 +1049,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-length-check.patch \
%D%/packages/patches/libmad-md_size.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
+ %D%/packages/patches/libmp4v2-c++11.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-boost.patch \
@@ -1052,7 +1059,6 @@ dist_patch_DATA = \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
%D%/packages/patches/libsndfile-CVE-2017-12562.patch \
- %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtommath-fix-linkage.patch \
@@ -1072,6 +1078,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linkchecker-tests-require-network.patch \
+ %D%/packages/patches/linux-libre-active-entropy.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
@@ -1102,6 +1109,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
+ %D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
@@ -1230,8 +1238,6 @@ dist_patch_DATA = \
%D%/packages/patches/pygpgme-disable-problematic-tests.patch \
%D%/packages/patches/pyqt-configure.patch \
%D%/packages/patches/pyqt-public-sip.patch \
- %D%/packages/patches/python2-CVE-2018-14647.patch \
- %D%/packages/patches/python2-CVE-2018-1000802.patch \
%D%/packages/patches/python-2-deterministic-build-info.patch \
%D%/packages/patches/python-2.7-adjust-tests.patch \
%D%/packages/patches/python-2.7-search-paths.patch \
@@ -1244,12 +1250,13 @@ dist_patch_DATA = \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
- %D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
+ %D%/packages/patches/python-keras-integration-test.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
+ %D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
@@ -1264,8 +1271,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
- %D%/packages/patches/qemu-CVE-2018-16872.patch \
- %D%/packages/patches/qemu-CVE-2019-6778.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-old-kernel.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
@@ -1275,6 +1280,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapicorn-isnan.patch \
+ %D%/packages/patches/rapidjson-gcc-compat.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
%D%/packages/patches/ratpoison-shell.patch \
@@ -1319,15 +1325,14 @@ dist_patch_DATA = \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
- %D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/strace-ipc-tests.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
+ %D%/packages/patches/supercollider-boost-1.70-build-fix.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
%D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
- %D%/packages/patches/supertux-fix-build-with-gcc5.patch \
%D%/packages/patches/supertux-unbundle-squirrel.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
@@ -1341,12 +1346,12 @@ dist_patch_DATA = \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
%D%/packages/patches/tar-remove-wholesparse-check.patch \
%D%/packages/patches/tar-skip-unreliable-tests.patch \
+ %D%/packages/patches/tcc-boot-0.9.27.patch \
%D%/packages/patches/tclxml-3.2-install.patch \
%D%/packages/patches/tcsh-fix-autotest.patch \
%D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
- %D%/packages/patches/texinfo-perl-compat.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/texlive-bin-CVE-2018-17407.patch \
%D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \
@@ -1429,45 +1434,3 @@ dist_patch_DATA = \
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
-
-bootstrapdir = $(guilemoduledir)/%D%/packages/bootstrap
-bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
-bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
-bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux
-bootstrap_aarch64_linuxdir = $(bootstrapdir)/aarch64-linux
-bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
-
-dist_bootstrap_x86_64_linux_DATA = \
- %D%/packages/bootstrap/x86_64-linux/bash \
- %D%/packages/bootstrap/x86_64-linux/mkdir \
- %D%/packages/bootstrap/x86_64-linux/tar \
- %D%/packages/bootstrap/x86_64-linux/xz
-
-dist_bootstrap_i686_linux_DATA = \
- %D%/packages/bootstrap/i686-linux/bash \
- %D%/packages/bootstrap/i686-linux/mkdir \
- %D%/packages/bootstrap/i686-linux/tar \
- %D%/packages/bootstrap/i686-linux/xz
-
-dist_bootstrap_armhf_linux_DATA = \
- %D%/packages/bootstrap/armhf-linux/bash \
- %D%/packages/bootstrap/armhf-linux/mkdir \
- %D%/packages/bootstrap/armhf-linux/tar \
- %D%/packages/bootstrap/armhf-linux/xz
-
-dist_bootstrap_aarch64_linux_DATA = \
- %D%/packages/bootstrap/aarch64-linux/bash \
- %D%/packages/bootstrap/aarch64-linux/mkdir \
- %D%/packages/bootstrap/aarch64-linux/tar \
- %D%/packages/bootstrap/aarch64-linux/xz
-
-dist_bootstrap_mips64el_linux_DATA = \
- %D%/packages/bootstrap/mips64el-linux/bash \
- %D%/packages/bootstrap/mips64el-linux/mkdir \
- %D%/packages/bootstrap/mips64el-linux/tar \
- %D%/packages/bootstrap/mips64el-linux/xz
-
-# Those files must remain executable, so they remain executable once
-# imported into the store.
-set-bootstrap-executable-permissions:
- chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
diff --git a/gnu/packages.scm b/gnu/packages.scm
index acb247e114..6633631c1f 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -46,10 +46,8 @@
#:export (search-patch
search-patches
search-auxiliary-file
- search-bootstrap-binary
%patch-path
%auxiliary-files-path
- %bootstrap-binaries-path
%package-module-path
%default-package-module-path
@@ -75,18 +73,13 @@
;;;
;;; Code:
-;; By default, we store patches, auxiliary files and bootstrap binaries
+;; By default, we store patches and auxiliary files
;; alongside Guile modules. This is so that these extra files can be
;; found without requiring a special setup, such as a specific
;; installation directory and an extra environment variable. One
;; advantage of this setup is that everything just works in an
;; auto-compilation setting.
-(define %bootstrap-binaries-path
- (make-parameter
- (map (cut string-append <> "/gnu/packages/bootstrap")
- %load-path)))
-
(define %auxiliary-files-path
(make-parameter
(map (cut string-append <> "/gnu/packages/aux-files")
@@ -108,18 +101,6 @@
FILE-NAME found in %PATCH-PATH."
(list (search-patch file-name) ...))
-(define (search-bootstrap-binary file-name system)
- "Search the bootstrap binary FILE-NAME for SYSTEM. Raise an error if not
-found."
- (or (search-path (%bootstrap-binaries-path)
- (string-append system "/" file-name))
- (raise (condition
- (&message
- (message
- (format #f (G_ "could not find bootstrap binary '~a' \
-for system '~a'")
- file-name system)))))))
-
(define %distro-root-directory
;; Absolute file name of the module hierarchy. Since (gnu packages …) might
;; live in a directory different from (guix), try to get the best match.
@@ -412,9 +393,7 @@ reducing the memory footprint."
,(module-name module)
,symbol
,(package-outputs package)
- ,(->bool
- (member (%current-system)
- (package-supported-systems package)))
+ ,(->bool (supported-package? package))
,(->bool (package-superseded package))
,@(let ((loc (package-location package)))
(if loc
diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm
index 8d5f0117f5..0131adcac4 100644
--- a/gnu/packages/acl.scm
+++ b/gnu/packages/acl.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Andreas Enge
;;; Copyright © 2017 Efraim Flashner
;;; Copyright © 2018 Ricardo Wurmus
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,21 +35,18 @@
(define-public acl
(package
(name "acl")
- (version "2.2.52")
+ (version "2.2.53")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/acl/acl-"
- version ".src.tar.gz"))
+ version ".tar.gz"))
(sha256
(base32
- "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))
- (patches (search-patches "acl-fix-perl-regex.patch"
- "acl-hurd-path-max.patch"))))
+ "1ir6my3w74s6nfbgbqgzj6w570sn0qjf3524zx8xh67lqrjrigh6"))))
(build-system gnu-build-system)
(arguments
- `(#:test-target "tests"
- #:modules ((ice-9 ftw)
+ `(#:modules ((ice-9 ftw)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
@@ -75,13 +73,11 @@
(("\\| sed.*'") ""))
;; These tests require the existence of a user named "bin", but
;; this user does not exist within Guix's build environment.
- (for-each (lambda (file)
- (delete-file (string-append "test/" file)))
- '("setfacl-X.test" "cp.test" "misc.test"))
- #t))
- (replace 'install
- (lambda _
- (invoke "make" "install" "install-lib" "install-dev"))))))
+ (substitute* "Makefile.in"
+ ((".*test/misc\\.test.*") "")
+ ((".*test/cp\\.test.*") "")
+ ((".*test/setfacl-X\\.test.*") ""))
+ #t)))))
(inputs `(("attr" ,attr)))
(native-inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm
index 28a65667eb..541612d41a 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès
;;; Copyright © 2015, 2016, 2018 Efraim Flashner
;;; Copyright © 2018 Ricardo Wurmus
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,7 +62,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
- (version "1.14.0")
+ (version "1.15.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -69,7 +70,7 @@ scripts.")
".tar.gz"))
(sha256
(base32
- "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5"))))
+ "0lk8knip4xk6qzksdkn7085mmgm4ixfczdyyjw656c193y3rgnvc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -83,32 +84,16 @@ The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
(license (x11-style "https://c-ares.haxx.se/license.html"))))
-;; XXX: temporary package for tensorflow / grpc
-(define-public c-ares-next
- (package
- (name "c-ares")
- (version "1.15.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://c-ares.haxx.se/download/" name "-" version
- ".tar.gz"))
- (sha256
- (base32
- "0lk8knip4xk6qzksdkn7085mmgm4ixfczdyyjw656c193y3rgnvc"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; some tests seem to require Internet connection
- #:configure-flags
- (list "-DCARES_BUILD_TESTS=ON")))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://c-ares.haxx.se/")
- (synopsis "C library for asynchronous DNS requests")
- (description
- "C-ares is a C library that performs DNS requests and name resolution
-asynchronously. It is intended for applications which need to perform DNS
-queries without blocking, or need to perform multiple DNS queries in parallel.
-The primary examples of such applications are servers which communicate with
-multiple clients and programs with graphical user interfaces.")
- (license (x11-style "https://c-ares.haxx.se/license.html"))))
+;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
+;; We can not build c-ares itself with CMake because that would introduce a
+;; circular dependency through nghttp2.
+;; XXX: It would be nice if we could extract the modules somehow and make them
+;; work with the "normal" c-ares package instead of building a whole new library.
+(define-public c-ares/cmake
+ (hidden-package
+ (package
+ (inherit c-ares)
+ (build-system cmake-build-system)
+ (arguments
+ `(;; XXX: Tests require name resolution (the normal variant runs no tests).
+ #:tests? #f)))))
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 337e60a641..b312c5b2af 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docker)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
@@ -375,7 +376,7 @@ various Android core host applications.")
`(("android-libbase" ,android-libbase)
("android-libcutils" ,android-libcutils)
("android-liblog" ,android-liblog)
- ("openssl" ,openssl)))
+ ("openssl" ,openssl-1.0)))
(home-page "https://developer.android.com/studio/command-line/adb.html")
(synopsis "Android Debug Bridge")
(description
@@ -616,7 +617,8 @@ file system.")
("android-libcutils" ,android-libcutils)))
(native-inputs
`(("android-bionic-uapi" ,android-bionic-uapi)
- ("android-liblog" ,android-liblog)))
+ ("android-liblog" ,android-liblog)
+ ("gcc" ,gcc-5))) ; XXX: fails to build with GCC 7
(home-page "https://developer.android.com/")
(synopsis "Android utility library")
(description "@code{android-libutils} provides utilities for Android NDK developers.")
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index cbc9baeeb3..4f6f1a1cca 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -47,7 +47,8 @@
(sha256
(base32
"1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"))
- (patches (search-patches "aspell-default-dict-dir.patch"))))
+ (patches (search-patches "aspell-default-dict-dir.patch"
+ "aspell-gcc-compat.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 8cf5bcdaf5..527555abfc 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -48,14 +48,14 @@
(define-public nasm
(package
(name "nasm")
- (version "2.13.03")
+ (version "2.14.02")
(source (origin
(method url-fetch)
(uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32
- "0wr58pb2wnyihcl6635hlx98fnscx5yirxm8m84x8nxwvjqcybl1"))))
+ "1xg8dfr49py15vbwk1rzcjc3zpqydmr49ahlijm56wlgj8zdwjp2"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc and test target
("texinfo" ,texinfo)))
diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm
index ff0a07aa67..3237376d40 100644
--- a/gnu/packages/attr.scm
+++ b/gnu/packages/attr.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov
;;; Copyright © 2012, 2013, 2016 Ludovic Courtès
;;; Copyright © 2018 Mark H Weaver
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,28 +30,18 @@
(define-public attr
(package
(name "attr")
- (version "2.4.47")
+ (version "2.4.48")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/attr/attr-"
- version ".src.tar.gz"))
+ version ".tar.gz"))
(sha256
(base32
- "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5"))))
+ "1rr4adzwax4bzr2c00f06zcsljv5y6p9wymz1g89ww7cb2rp5bay"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'configure 'patch-makefile-SHELL
- (lambda _
- (patch-makefile-SHELL "include/buildmacros")
- #t))
- (replace 'install
- (lambda _
- (invoke "make"
- "install"
- "install-lib"
- "install-dev")))
(replace 'check
(lambda* (#:key target #:allow-other-keys)
;; Use the right shell.
@@ -80,4 +71,4 @@
(synopsis "Library and tools for manipulating extended attributes")
(description
"Portable library and tools for manipulating extended attributes.")
- (license (list gpl2+ lgpl2.1+))))
+ (license lgpl2.1+)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index afa02c1239..49ec474ffd 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2019 Leo Famulari
;;; Copyright © 2019 Rutger Helling
;;; Copyright © 2019 Arun Isaac
+;;; Copyright © 2019 Mathieu Othacehe
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
@@ -76,6 +78,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages qt)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
@@ -143,7 +146,8 @@
("qtbase" ,qtbase)
("qttools" ,qttools)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("gcc" ,gcc-5)))
(home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor")
(description
@@ -1593,15 +1597,7 @@ synchronous execution of all clients, and low latency operation.")
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
- #:python ,python-2
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'set-flags
- (lambda _
- ;; Compile with C++11, required by gtkmm.
- (setenv "CXXFLAGS" "-std=c++11")
- #t)))))
+ #:python ,python-2))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
@@ -1682,7 +1678,12 @@ to be plugged into a wide range of audio synthesis and recording packages.")
"12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(;; Glibc no longer includes Sun RPC support, so tell the build system
+ ;; to use libtirpc instead.
+ #:make-flags (list (string-append "CFLAGS=-I"
+ (assoc-ref %build-inputs "libtirpc")
+ "/include/tirpc -ltirpc"))
+ #:phases
(modify-phases %standard-phases
;; lashd embeds an ancient version of sigsegv so we just skip it
(add-after 'unpack 'skip-lashd
@@ -1695,6 +1696,7 @@ to be plugged into a wide range of audio synthesis and recording packages.")
`(("bdb" ,bdb)
("gtk" ,gtk+-2)
("jack" ,jack-1)
+ ("libtirpc" ,libtirpc)
("readline" ,readline)
("python" ,python-2)))
;; According to pkg-config, packages depending on lash also need to have
@@ -1947,22 +1949,7 @@ software.")
#:configure-flags
(list (string-append "--boost-includes="
(assoc-ref %build-inputs "boost")
- "/include"))
- #:phases (modify-phases %standard-phases
- (add-before
- 'configure 'set-flags
- (lambda* (#:key inputs #:allow-other-keys)
- ;; See e.g. https://github.com/lvtk/lvtk/issues/21
- (setenv "LDFLAGS"
- (string-append
- "-L" (assoc-ref inputs "boost") "/lib "
- "-lboost_system"))
- ;; Needed for gtkmm
- (substitute* '("src/wscript_build"
- "examples/wscript_build")
- (("cxxflags.*= \\[" line)
- (string-append line "\"-std=c++11\", ")))
- #t)))))
+ "/include"))))
(inputs
`(("boost" ,boost)
("gtkmm" ,gtkmm-2)
@@ -2010,6 +1997,13 @@ lv2-c++-tools.")
"/lib/libasound.so.2"
"\")")))
#t)))))
+ (native-inputs
+ `(;; FIXME: On i686-linux, GCC 7 hits an internal compiler error
+ ;; upon building utils/makehrtf.c:3281:
+ ;; "internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:908"
+ ;; https://ci.guix.gnu.org/log/r2fjx9m75m9rifg2yjbnn853wqy2547n-openal-1.19.1
+ ;; Remove this when the default compiler is GCC 9 or later.
+ ("gcc" ,gcc-9)))
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
@@ -2182,16 +2176,18 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
- (version "3.10.2")
+ (version "3.10.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/supercollider/supercollider"
"/releases/download/Version-" version
"/SuperCollider-" version "-Source-linux.tar.bz2"))
+ (patches
+ (search-patches "supercollider-boost-1.70-build-fix.patch"))
(sha256
(base32
- "0ynz1ydcpsd5h57h1n4a7avm6p1cif5a8rkmz4qpr46pr8z9p6iq"))))
+ "0srm6wbazidkrd4ckjy4ypyhkdwcnx2i7k9msjyngalh0mrc9zz1"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
@@ -2203,12 +2199,6 @@ background file post-processing.")
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-build-with-boost-1.68
- (lambda _
- (substitute* "server/supernova/utilities/time_tag.hpp"
- (("(time_duration offset = .+ microseconds\\().*" _ m)
- (string-append m "static_cast(get_nanoseconds()/1000));\n")))
- #t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following
diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm
index fba157344d..d995ef7e85 100644
--- a/gnu/packages/authentication.scm
+++ b/gnu/packages/authentication.scm
@@ -31,8 +31,6 @@
#:use-module (guix packages))
(define-public oath-toolkit
- ;; If gcc@7 breaks this package before its next release, try patching it:
- ;; .
(package
(name "oath-toolkit")
(version "2.6.2")
@@ -41,7 +39,18 @@
(method url-fetch)
(uri (string-append "https://download.savannah.nongnu.org/releases/"
name "/" name "-" version ".tar.gz"))
- (patches (search-patches "oath-toolkit-glibc-compat.patch"))
+ (patches
+ (append (search-patches "oath-toolkit-glibc-compat.patch")
+ (list (origin
+ ;; This huge commit updates gnulib for GCC 7 compatibility.
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/oath-toolkit/oath-toolkit/commit/"
+ "2fffce2a471f74a585939c84cce16ef3015e5d3d.diff"))
+ (file-name "oath-toolkit-update-gnulib.patch")
+ (sha256
+ (base32
+ "088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0"))))))
(sha256
(base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index eaa3c7d046..1f99f636e0 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -67,7 +67,10 @@
(files '("avr/include")))
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
- (files '("avr/lib"))))))))
+ (files '("avr/lib")))))
+ (native-inputs
+ `(("gcc" ,gcc-5)
+ ,@(package-native-inputs xgcc))))))
(define-public avr-gcc-5
(package
@@ -94,11 +97,12 @@
(modify-phases %standard-phases
(add-before 'unpack 'fix-cpath
(lambda _
- ;; C_INCLUDE_PATH poses issues for cross-building, leading to
- ;; failures when building avr-libc on 64-bit systems. Simply
- ;; unsetting it allows the build to succeed because it doesn't
- ;; try to use any of the native system's headers.
+ ;; C_INCLUDE_PATH and CPATH pose issues for cross-building,
+ ;; leading to failures when building avr-libc on 64-bit systems.
+ ;; Simply unsetting them allows the build to succeed because it
+ ;; doesn't try to use any of the native system's headers.
(unsetenv "C_INCLUDE_PATH")
+ (unsetenv "CPATH")
#t)))))
(native-inputs `(("avr-binutils" ,avr-binutils)
("avr-gcc" ,avr-gcc)))
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 47a6a9bf85..a92c8c9aca 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2018 Oleg Pykhalov
;;; Copyright © 2018, 2019 Ricardo Wurmus
;;; Copyright © 2019 Alex Vong
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -198,28 +199,30 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
- (replacement libarchive-3.3.3)
- (version "3.3.2")
+ (version "3.4.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://libarchive.org/downloads/libarchive-"
- version ".tar.gz"))
- (patches (search-patches "libarchive-CVE-2017-14166.patch"
- "libarchive-CVE-2017-14502.patch"))
+ (uri (list (string-append "https://libarchive.org/downloads/libarchive-"
+ version ".tar.gz")
+ (string-append "https://github.com/libarchive/libarchive"
+ "/releases/download/v" version "/libarchive-"
+ version ".tar.gz")))
(sha256
(base32
- "1km0mzfl6in7l5vz9kl09a88ajx562rw93ng9h2jqavrailvsbgd"))))
+ "0pl25mmz1b1cnwf35kxmygyy9g7z7hslxbx329a9yx8csh7dahw6"))))
(build-system gnu-build-system)
(inputs
- `(("zlib" ,zlib)
- ("nettle" ,nettle)
- ("lzo" ,lzo)
- ("bzip2" ,bzip2)
+ `(("bzip2" ,bzip2)
("libxml2" ,libxml2)
- ("xz" ,xz)))
+ ("lzo" ,lzo)
+ ("nettle" ,nettle)
+ ("xz" ,xz)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
(arguments
- `(#:phases
+ `(#:configure-flags '("--disable-static")
+ #:phases
(modify-phases %standard-phases
(add-before 'build 'patch-pwd
(lambda _
@@ -232,6 +235,13 @@ backups (called chunks) to allow easy burning to CD/DVD.")
;; test_write_disk_lookup tests expect user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
;;
+ ;; XXX: Adjust test that fails with zstd 1.4.1 because the default
+ ;; options compresses two bytes better than this test expects.
+ ;; https://github.com/libarchive/libarchive/issues/1226
+ (substitute* "libarchive/test/test_write_filter_zstd.c"
+ (("compression-level\", \"6\"")
+ "compression-level\", \"7\""))
+
;; The tests allow one to disable tests matching a globbing pattern.
(invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test")
;; XXX: This glob disables too much.
@@ -246,8 +256,11 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(libxml2 (assoc-ref inputs "libxml2"))
(xz (assoc-ref inputs "xz"))
(zlib (assoc-ref inputs "zlib"))
+ (zstd (assoc-ref inputs "zstd"))
(bzip2 (assoc-ref inputs "bzip2")))
- (substitute* (string-append lib "/pkgconfig/libarchive.pc")
+ ;; Embed absolute references to these inputs to avoid propagation.
+ (substitute* (list (string-append lib "/pkgconfig/libarchive.pc")
+ (string-append lib "/libarchive.la"))
(("-lnettle")
(string-append "-L" nettle "/lib -lnettle"))
(("-lxml2")
@@ -256,13 +269,11 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(string-append "-L" xz "/lib -llzma"))
(("-lz")
(string-append "-L" zlib "/lib -lz"))
+ (("-lzstd")
+ (string-append "-L" zstd "/lib -lzstd"))
(("-lbz2")
(string-append "-L" bzip2 "/lib -lbz2")))
- #t))))
-
- ;; libarchive/test/test_write_format_gnutar_filenames.c needs to be
- ;; compiled with C99 or C11 or a gnu variant.
- #:configure-flags '("CFLAGS=-O2 -g -std=c99")))
+ #t))))))
(home-page "https://libarchive.org/")
(synopsis "Multi-format archive and compression library")
(description
@@ -275,22 +286,6 @@ archive. In particular, note that there is currently no built-in support for
random access nor for in-place modification.")
(license license:bsd-2)))
-(define-public libarchive-3.3.3
- (package
- (inherit libarchive)
- (version "3.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://libarchive.org/downloads/libarchive-"
- version ".tar.gz"))
- (patches (search-patches "libarchive-CVE-2018-1000877.patch"
- "libarchive-CVE-2018-1000878.patch"
- "libarchive-CVE-2018-1000880.patch"))
- (sha256
- (base32
- "0bhfncid058p7n1n8v29l6wxm3mhdqfassscihbsxfwz3iwb2zms"))))))
-
(define-public rdup
(package
(name "rdup")
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 035551e454..4e80a2fadb 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -49,6 +49,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages hurd)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages gettext)
#:use-module (guix utils)
#:use-module (guix packages)
@@ -91,14 +92,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep
(package
(name "grep")
- (version "3.1")
+ (version "3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
- "0zm0ywmyz9g8vn1plw14mn8kj74yipx5qsljndbyfgmvndx5qqnv"))
+ "055mqp6vrd0brkygmygb2673qwz409a7kyp1mzbfy6cn94f58q5r"))
(patches (search-patches "grep-timing-sensitive-test.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;some of the tests require it
@@ -106,15 +107,6 @@ command-line arguments, multiple languages, and so on.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'disable-failing-tests
- (lambda _
- ;; These tests are expected to fail due to a glibc bug which has
- ;; been fixed in 2.28, so they are unexpectedly passing. They
- ;; should be fixed for grep versions > 3.1.
- (substitute* "tests/Makefile.in"
- (("^[[:blank:]]+backref-alt[[:blank:]]+\\\\") "\\")
- (("^[[:blank:]]+triple-backref[[:blank:]]+\\\\") "\\"))
- #t))
(add-after 'install 'fix-egrep-and-fgrep
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
;; absolute file name instead of searching for it in $PATH.
@@ -141,28 +133,16 @@ including, for example, recursive directory searching.")
(define-public sed
(package
(name "sed")
- (version "4.5")
+ (version "4.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/sed/sed-" version
".tar.xz"))
(sha256
(base32
- "0h3b2jfj57wmz680vkbyavlsrkak556qhvs7m7fdlawwhg477bbs"))))
+ "0smxcx66vx29djzb542nxcynl7qnzxqa5032ibazi7x2s267d198"))))
(build-system gnu-build-system)
(synopsis "Stream editor")
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'dont-rebuild-sed.1
- (lambda _
- ;; Make sure we do not attempt to rebuild 'doc/sed.1', which does
- ;; not work when cross-compiling because we cannot run 'sed'.
- ;; This is fixed upstream as commit a0a25e3.
- (substitute* "Makefile.in"
- (("^doc/sed\\.1:.*")
- "doc/sed.1:\n"))
- #t)))))
(native-inputs
`(("perl" ,perl))) ;for tests
(description
@@ -177,14 +157,14 @@ implementation offers several extensions over the standard utility.")
(define-public tar
(package
(name "tar")
- (version "1.30")
+ (version "1.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/tar/tar-"
version ".tar.xz"))
(sha256
(base32
- "1lyjyk8z8hdddsxw0ikchrsfg3i0x3fsh7l63a8jgaz1n7dr5gzi"))
+ "1n7xy657ii0sa42zx6944v2m4v9qrh6sqgmw17l3nch3y43sxlyh"))
(patches (search-patches "tar-skip-unreliable-tests.patch"
"tar-remove-wholesparse-check.patch"))))
(build-system gnu-build-system)
@@ -198,27 +178,7 @@ implementation offers several extensions over the standard utility.")
(substitute* "src/system.c"
(("/bin/sh")
(string-append bash "/bin/sh")))
- #t))))
-
- ;; Work around a cross-compilation bug whereby libgnu.a would provide
- ;; '__mktime_internal', which conflicts with the one in libc.a.
- ,@(if (%current-target-system)
- `(#:configure-flags '("gl_cv_func_working_mktime=yes"))
- '())
-
- ;; Test #92 "link mismatch" expects "a/z: Not linked to a/y" but gets
- ;; "a/y: Not linked to a/z" and fails, presumably due to differences in
- ;; the order in which 'diff' traverses directories. That leads to a
- ;; test failure even though conceptually the test passes. Skip it.
- ;; Test 117 and 118 are prone to race conditions too, particularly
- ;; when cross-compiling, so we skip those as well. All issues have
- ;; been fixed upstream in these commits:
- ;;
- ;;
- #:make-flags (list (string-append
- "TESTSUITEFLAGS= -k '!link mismatch,"
- "!directory removed before reading,"
- "!explicitly named directory removed before reading'"))))
+ #t))))))
;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
;; to refer to the target Bash.
@@ -270,16 +230,16 @@ differences.")
(define-public diffutils
(package
(name "diffutils")
- (version "3.6")
+ (version "3.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/diffutils/diffutils-"
version ".tar.xz"))
(sha256
(base32
- "1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn"))
- (patches (search-patches "diffutils-getopt.patch"))))
+ "09isrg0isjinv8c535nxsi1s86wfdfzml80dbw41dj9x3hiad9xk"))))
(build-system gnu-build-system)
+ (native-inputs `(("perl" ,perl)))
(synopsis "Comparing and merging files")
(description
"GNU Diffutils is a package containing tools for finding the
@@ -341,14 +301,14 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
- (version "8.30")
+ (version "8.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
- "0mxhw43d4wpqmvg0l4znk1vm10fy92biyh90lzdnqjcic2lb6cg8"))))
+ "1zg9m79x1i2nifj4kb0waf9x3i5h6ydkypkjnbsb9rnwis8rqypz"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp) ;bignums in 'expr', yay!
@@ -390,13 +350,7 @@ used to apply commands with arbitrarily long arguments.")
;; environments with long prefixes (/tmp/guix-build-...).
(substitute* "Makefile"
(("^.*tests/misc/env-S.pl.*$") ""))
- #t)))
-
- ;; Work around a cross-compilation bug whereby libcoreutils.a would
- ;; provide '__mktime_internal', which conflicts with the one in libc.a.
- ,@(if (%current-target-system)
- `(#:configure-flags '("gl_cv_func_working_mktime=yes"))
- '())))
+ #t)))))
(synopsis "Core GNU utilities (file, text, shell)")
(description
"GNU Coreutils includes all of the basic command-line tools that are
@@ -460,14 +414,14 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.31.1")
+ (version "2.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z"))
+ "0b8767nyal1bc4cyzg5h9iis8kpkln1i3wkamig75cifj1fb2f6y"))
(patches (search-patches "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
@@ -613,15 +567,13 @@ the store.")
;; version 2.28, GNU/Hurd used a different glibc branch.
(package
(name "glibc")
- ;; Note: Always use a dot after the minor version since various places rely
- ;; on "version-major+minor" to determine where locales are found.
- (version "2.28")
+ (version "2.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
(sha256
(base32
- "10iha5ynvdj5m62vgpgqbq4cwvc2yhyl2w9yyyjgfxmdmx8h145i"))
+ "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
@@ -633,11 +585,14 @@ the store.")
#t))
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
- "glibc-2.28-git-fixes.patch"
+ "glibc-CVE-2019-7309.patch"
+ "glibc-CVE-2019-9169.patch"
+ "glibc-2.29-git-updates.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
- "glibc-reinstate-prlimit64-fallback.patch"))))
+ "glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-supported-locales.patch"))))
(build-system gnu-build-system)
;; Glibc's refers to , for instance, so glibc
@@ -712,18 +667,6 @@ the store.")
#:tests? #f ; XXX
#:phases (modify-phases %standard-phases
- ,@(if (hurd-target?)
- `((add-after 'unpack 'apply-hurd-patch
- (lambda* (#:key inputs native-inputs
- #:allow-other-keys)
- ;; TODO: Move this to 'patches' field.
- (let ((patch (or (assoc-ref native-inputs
- "hurd-magic-pid-patch")
- (assoc-ref inputs
- "hurd-magic-pid-patch"))))
- (invoke "patch" "-p1" "--force" "--input"
- patch)))))
- '())
(add-before
'configure 'pre-configure
(lambda* (#:key inputs native-inputs outputs
@@ -846,12 +789,11 @@ the store.")
("perl" ,perl)
("bison" ,bison)
("gettext" ,gettext-minimal)
+ ("python" ,python-minimal)
,@(if (hurd-target?)
`(("mig" ,mig)
- ("perl" ,perl)
- ("hurd-magic-pid-patch"
- ,(search-patch "glibc-hurd-magic-pid.patch")))
+ ("perl" ,perl))
'())))
(native-search-paths
@@ -877,6 +819,25 @@ with the Linux kernel.")
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
+(define-public glibc-2.28
+ (package
+ (inherit glibc)
+ (version "2.28")
+ (source (origin
+ (inherit (package-source glibc))
+ (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "10iha5ynvdj5m62vgpgqbq4cwvc2yhyl2w9yyyjgfxmdmx8h145i"))
+ (patches (search-patches "glibc-ldd-x86_64.patch"
+ "glibc-2.28-git-fixes.patch"
+ "glibc-hidden-visibility-ldconfig.patch"
+ "glibc-versioned-locpath.patch"
+ "glibc-allow-kernel-2.6.32.patch"
+ "glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-hurd-magic-pid.patch"
+ "glibc-2.28-supported-locales.patch"))))))
+
(define-public glibc-2.27
(package
(inherit glibc)
@@ -893,6 +854,7 @@ with the Linux kernel.")
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
"glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-2.27-supported-locales.patch"
"glibc-CVE-2018-11236.patch"
"glibc-CVE-2018-11237.patch"))))
(properties `((lint-hidden-cve . ("CVE-2017-18269")))))) ; glibc-2.27-git-fixes
@@ -1037,7 +999,14 @@ with the Linux kernel.")
(inherit glibc)
(name "glibc-locales")
(source (origin (inherit (package-source glibc))
- (patches (cons (search-patch "glibc-locales.patch")
+ ;; The patch for glibc 2.28 and earlier replaces the same
+ ;; content, but the context in the patch is different
+ ;; enough to fail to merge.
+ (patches (cons (search-patch
+ (if (version>=? (package-version glibc)
+ "2.29")
+ "glibc-locales.patch"
+ "glibc-locales-2.28.patch"))
(origin-patches (package-source glibc))))))
(synopsis "All the locales supported by the GNU C Library")
(description
@@ -1157,12 +1126,19 @@ test environments.")
(define-public glibc-utf8-locales
(make-glibc-utf8-locales glibc))
-(define-public glibc-locales-2.27
- (package (inherit (make-glibc-locales glibc-2.27))
- (name "glibc-locales-2.27")))
+;; Packages provided to ease use of binaries linked against the previous libc.
+(define-public glibc-locales-2.28
+ (package (inherit (make-glibc-locales glibc-2.28))
+ (name "glibc-locales-2.28")))
+(define-public glibc-utf8-locales-2.28
+ (package (inherit (make-glibc-utf8-locales glibc-2.28))
+ (name "glibc-utf8-locales-2.28")))
+
+;; These should no longer be needed.
(define-public glibc-utf8-locales-2.27
- (package (inherit (make-glibc-utf8-locales glibc-2.27))
- (name "glibc-utf8-locales-2.27")))
+ (deprecated-package "glibc-utf8-locales-2.27" glibc-utf8-locales-2.28))
+(define-public glibc-locales-2.27
+ (deprecated-package "glibc-locales-2.27" glibc-locales-2.28))
(define-public which
(package
@@ -1291,25 +1267,7 @@ and daylight-saving rules.")
(define-public tzdata-for-tests
(hidden-package
(package
- (inherit tzdata)
- (version "2018g")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://data.iana.org/time-zones/releases/tzdata"
- version ".tar.gz"))
- (sha256
- (base32
- "05kayi3w9pvhj6ljx1hvwd0r8mxfzn436fjmwhx53xkj919xxpq2"))))
- (inputs
- `(("tzcode" ,(origin
- (method url-fetch)
- (uri (string-append
- "http://data.iana.org/time-zones/releases/tzcode"
- version ".tar.gz"))
- (sha256
- (base32
- "09y44fzcdq3c06saa8iqqa0a59cyw6ni3p31ps0j1w3hcpxz8lxa")))))))))
+ (inherit tzdata))))
(define-public libiconv
(package
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index ef93a11085..d3abeec6e6 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès
;;; Copyright © 2014, 2015, 2018 Mark H Weaver
;;; Copyright © 2015, 2017 Leo Famulari
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner
;;; Copyright © 2018 Tobias Geerinckx-Rice
;;; Copyright © 2019 Mathieu Othacehe
;;;
@@ -45,7 +45,7 @@
(define (patch-url seqno)
"Return the URL of Bash patch number SEQNO."
- (format #f "mirror://gnu/bash/bash-4.4-patches/bash44-~3,'0d" seqno))
+ (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
(define (bash-patch seqno sha256)
"Return the origin of Bash patch SEQNO, with expected hash SHA256"
@@ -58,33 +58,17 @@
(list (bash-patch seqno (base32 hash))
...))
-(define %patch-series-4.4
- ;; This is the current patches series for 4.4, generated using
+(define %patch-series-5.0
+ ;; This is the current patches series for 5.0, generated using
;; 'download-patches' below.
(patch-series
- (1 "03vzy7qwjdd5qvl3ydg99naazas2qmyd0yhnrflgjbbm64axja1y")
- (2 "0lrwq6vyqism3yqv9s7kzaf3dsl4q5w9r5svcqz279qp7qca083h")
- (3 "1chqww2rj6g42b8s60q5zlzy0jzp684jkpsbrbfy1vzxja8mmpsi")
- (4 "1cy8abf96hkrjhw921ndr0shlcnc52bg45rn6xri4v5clhq0l25d")
- (5 "0a8515kyk4zsgmvlqvlganjfr7pq0j6kzpr4d6xx02kpbdr4n7i2")
- (6 "1f24wgqngmj2mrj9yibwvc2zvlmn5xi53mnw777g3l40c4m2x3ka")
- (7 "1bzdsnqaf05gdbqpsixhan8vygjxpcxlz1dd8d9f5jdznw3wq76y") ;CVE-2017-5932
- (8 "1firw915mjm03hbbw9a70ch3cpgrgnvqjpllgdnn6csr8q04f546")
- (9 "0g1l56kvw61rpw7dqa9fcl9llkl693h73g631hrhxlm030ddssqb")
- (10 "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4")
- (11 "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx")
- (12 "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")
- (13 "1djkx0w9v62q78gz3jsvamj1jq53i6hbfrfhhsw86ihwpjnfy98v")
- (14 "0z5ikcq9zyxw79d0z36r5p0mspnb5piavbv03jmlan1wnknmrxx7")
- (15 "09n307fi1j257abhm295k6ksmnzw47ka2zhnr0i5lbdnpvn04xnk")
- (16 "1cgi1y6mifm8hsgv4avj5ih76535js3qba1sqwbfvp7si76927sh")
- (17 "0w6jpj2giakji1ir83rpkx1y7n7xqppah3j748m6dm38hywr0gvp")
- (18 "1k58h4wxbsg7r4rwhrvzx5hfbapba2nxjysbhh6qp6ki5ys99i2v")
- (19 "07n1i5610lbs672x1s8g82qn3qfj06s0ip3z80sri0g8vxp0s5r7")
- (20 "0b2jk5n1af1vh590qfc52hv65mafb4vl1xv26s8j5a3byb5y4h0q")
- (21 "1hblcd2xmqqlp0idnavw66570n7m0yv5rbbr873c2gkn982mk3xx")
- (22 "0yfbjzr79vzjs2hyi5m8iy2b38fq7vikdfa4zqdvjsp36q4iycs5")
- (23 "1dlism6qdx60nvzj0v7ndr7lfahl4a8zmzckp13hqgdx7xpj7v2g")))
+ (1 "12bjfdy6bg8nhyw27bdgxn7h4paylx8d927skfmi9pxd1wgrxzpj")
+ (2 "01w7yrzmz10mw06ys0546vhl7isv2v402ziyvfd7k67588spvs47")
+ (3 "0ny81ridp5n0j69hb8ixrc7dmxybby54jbsz5hikly8kgg1wvssf")
+ (4 "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l")
+ (5 "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
+ (6 "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
+ (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
@@ -120,7 +104,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
" -Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses")
"/lib")))
- (version "4.4"))
+ (version "5.0"))
(package
(name "bash")
(source (origin
@@ -129,11 +113,10 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
"mirror://gnu/bash/bash-" version ".tar.gz"))
(sha256
(base32
- "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq"))
+ "0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l"))
(patch-flags '("-p0"))
- (patches %patch-series-4.4)))
- (version (string-append version "."
- (number->string (length %patch-series-4.4))))
+ (patches %patch-series-5.0)))
+ (version (string-append version "." (number->string (length %patch-series-5.0))))
(build-system gnu-build-system)
(outputs '("out"
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index c7491f845f..7196ffcd32 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014 Mark H Weaver
;;; Copyright © 2016, 2018 Leo Famulari
;;; Copyright © 2017 Rene Saavedra
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,14 +31,14 @@
(define-public libgc
(package
(name "libgc")
- (version "7.6.6")
+ (version "7.6.12")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ivmai/bdwgc/releases"
"/download/v" version "/gc-" version ".tar.gz"))
(sha256
(base32
- "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79"))))
+ "10jhhi79d5brwlsyhwgpnrmc8nhlf7aan2lk9xhgihk5jc6srbvc"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -53,7 +54,19 @@
,@(if (hurd-triplet? (or (%current-system)
(%current-target-system)))
'("--disable-gcj-support")
- '()))))
+ '()))
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'adjust-pc-file
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libatomic-ops (assoc-ref inputs "libatomic-ops")))
+ ;; GC 7.6.10 and later includes -latomic_ops in the
+ ;; pkg-config file. To avoid propagation, insert an
+ ;; absolute reference so dependent programs can find it.
+ (substitute* "bdw-gc.pc.in"
+ (("@ATOMIC_OPS_LIBS@" match)
+ (string-append "-L" libatomic-ops "/lib "
+ match)))
+ #t))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libatomic-ops" ,libatomic-ops)))
(outputs '("out" "debug"))
@@ -91,7 +104,7 @@ C or C++ programs, though that is not its primary goal.")
(define-public libatomic-ops
(package
(name "libatomic-ops")
- (version "7.6.6")
+ (version "7.6.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -99,7 +112,7 @@ C or C++ programs, though that is not its primary goal.")
version "/libatomic_ops-" version ".tar.gz"))
(sha256
(base32
- "0x7071z707msvyrv9dmgahd1sghbkw8fpbagvcag6xs8yp2spzlr"))))
+ "1bwry043f62pc4mgdd37zx3fif19qyrs8f5bw7qxlmkzh5hdyzjq"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(synopsis "Accessing hardware atomic memory update operations")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f2f67f36b0..a573ef682f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1110,9 +1110,6 @@ relying on a complex dependency tree.")
(build-system cmake-build-system)
(arguments
`(#:parallel-build? #f))
- (inputs
- `(("gcc" ,gcc-5))) ; Compilation of bpp-phyl fails with GCC 4.9 so we
- ; compile all of the bpp packages with GCC 5.
(home-page "http://biopp.univ-montp2.fr")
(synopsis "C++ libraries for Bioinformatics")
(description
@@ -1148,10 +1145,7 @@ providing them a set of re-usable tools.")
#:out-of-source? #f))
(inputs
`(("bpp-core" ,bpp-core)
- ("bpp-seq" ,bpp-seq)
- ;; GCC 4.8 fails due to an 'internal compiler error', so we use a more
- ;; modern GCC.
- ("gcc" ,gcc-5)))
+ ("bpp-seq" ,bpp-seq)))
(home-page "http://biopp.univ-montp2.fr")
(synopsis "Bio++ phylogenetic Library")
(description
@@ -1183,8 +1177,7 @@ library provides phylogenetics-related modules.")
#:tests? #f)) ; There are no tests.
(inputs
`(("bpp-core" ,bpp-core)
- ("bpp-seq" ,bpp-seq)
- ("gcc" ,gcc-5)))
+ ("bpp-seq" ,bpp-seq)))
(home-page "http://biopp.univ-montp2.fr")
(synopsis "Bio++ population genetics library")
(description
@@ -1217,8 +1210,7 @@ library provides population genetics-related modules.")
;; so the tests fail.
#:out-of-source? #f))
(inputs
- `(("bpp-core" ,bpp-core)
- ("gcc" ,gcc-5))) ; Use GCC 5 as per 'bpp-core'.
+ `(("bpp-core" ,bpp-core)))
(home-page "http://biopp.univ-montp2.fr")
(synopsis "Bio++ sequence library")
(description
@@ -1256,8 +1248,7 @@ library provides sequence-related modules.")
`(("bpp-core" ,bpp-core)
("bpp-seq" ,bpp-seq)
("bpp-phyl" ,bpp-phyl)
- ("bpp-phyl" ,bpp-popgen)
- ("gcc" ,gcc-5)))
+ ("bpp-phyl" ,bpp-popgen)))
(home-page "http://biopp.univ-montp2.fr")
(synopsis "Bioinformatics tools written with the Bio++ libraries")
(description
@@ -3261,9 +3252,7 @@ comment or quality sections.")
(lambda* (#:key inputs #:allow-other-keys)
;; Ensure that Eigen headers can be found
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (getenv "CPLUS_INCLUDE_PATH")
- ":"
- (assoc-ref inputs "eigen")
+ (string-append (assoc-ref inputs "eigen")
"/include/eigen3"))
#t))
(add-before 'build 'bin-mkdir
@@ -4848,7 +4837,7 @@ generated using the PacBio Iso-Seq protocol.")
(define-public prank
(package
(name "prank")
- (version "150803")
+ (version "170427")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4856,7 +4845,7 @@ generated using the PacBio Iso-Seq protocol.")
version ".tgz"))
(sha256
(base32
- "0am4z94fs3w2n5xpfls9zda61vq7qqz4q2i7b9hlsxz5q4j3kfm4"))))
+ "0nc8g9c5rkdxcir46s0in9ci1sxwzbjibxrvkksf22ybnplvagk2"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -11721,9 +11710,7 @@ bytes of memory space, where n is the length of the string.")
;; Ensure that Eigen headers can be found
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (getenv "CPLUS_INCLUDE_PATH")
- ":"
- (assoc-ref inputs "eigen")
+ (string-append (assoc-ref inputs "eigen")
"/include/eigen3"))
#t)))))
(inputs
@@ -11902,14 +11889,11 @@ The following file formats are supported:
(("lib/libdivsufsort.a") "/lib/libdivsufsort.so"))
;; Ensure that all headers can be found
- (setenv "CPLUS_INCLUDE_PATH"
- (string-append (getenv "CPLUS_INCLUDE_PATH")
+ (setenv "CPATH"
+ (string-append (getenv "CPATH")
":"
(assoc-ref inputs "eigen")
"/include/eigen3"))
- (setenv "CPATH"
- (string-append (assoc-ref inputs "eigen")
- "/include/eigen3"))
#t))
;; CMAKE_INSTALL_PREFIX does not exist when the tests are
;; run. It only exists after the install phase.
@@ -14102,7 +14086,8 @@ choosing which reads pass the filter.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "eigen")
- "/include/eigen3"))
+ "/include/eigen3:"
+ (or (getenv "CPATH") "")))
#t))
(delete 'configure)
(replace 'install
diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm
index 71de47762d..12f19b785e 100644
--- a/gnu/packages/bison.scm
+++ b/gnu/packages/bison.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2015 Ludovic Courtès
+;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Efraim Flashner
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +31,7 @@
(define-public bison
(package
(name "bison")
- (version "3.0.5")
+ (version "3.4.1")
(source
(origin
(method url-fetch)
@@ -38,8 +39,17 @@
version ".tar.xz"))
(sha256
(base32
- "0f7kjygrckkx8vas2nm673592jif0a9mw5g8207f6hj6h4pfyp07"))))
+ "03c2pmq3bs0drdislnz6gm1rwz3n4pb2rz9navyxydppxg2rl597"))))
(build-system gnu-build-system)
+ (arguments
+ '(;; Building in parallel on many-core systems may cause an error such as
+ ;; "mv: cannot stat 'examples/c/reccalc/scan.stamp.tmp': No such file or
+ ;; directory". See .
+ #:parallel-build? #f
+ ;; Similarly, when building tests in parallel, Make may produce this error:
+ ;; "./examples/c/reccalc/scan.l:13:10: fatal error: parse.h: No such file
+ ;; or directory". Full log in .
+ #:parallel-tests? #f))
(native-inputs `(("perl" ,perl)
;; m4 is not present in PATH when cross-building.
("m4" ,m4)))
@@ -53,3 +63,16 @@ deterministic or generalized LR parser from an annotated, context-free
grammar. It is versatile enough to have many applications, from parsers for
simple tools through complex programming languages.")
(license gpl3+)))
+
+(define-public bison-3.0
+ (package
+ (inherit bison)
+ (version "3.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/bison/bison-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0f7kjygrckkx8vas2nm673592jif0a9mw5g8207f6hj6h4pfyp07"))))))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index da01848ec7..70f80398fa 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -397,8 +397,7 @@ and will take advantage of multiple processor cores where possible.")
(assoc-ref %build-inputs "boost")
"/lib")
"--enable-python-binding"
- "--enable-tests"
- "CXXFLAGS=-std=c++11") ; Use std::chrono instead of boost
+ "--enable-tests")
#:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index b83bd73a39..a2253a9efc 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -44,7 +44,7 @@
(define-public boost
(package
(name "boost")
- (version "1.69.0")
+ (version "1.70.0")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -56,8 +56,7 @@
version-with-underscores ".tar.bz2"))))
(sha256
(base32
- "01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg"))
- (patches (search-patches "boost-fix-icu-build.patch"))))
+ "0y47nc7w0arwgj4x1phadxbvl7wyfcgknbz5kv8lzpl98wsyh2j3"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
("zlib" ,zlib)))
@@ -69,7 +68,11 @@
`(#:tests? #f
#:make-flags
(list "threading=multi" "link=shared"
- "cxxflags=-std=c++14"
+
+ ;; XXX: Disable installation of Boosts modular CMake config scripts
+ ;; which conflicts in 1.70.0 with the ones provided by CMake.
+ ;; See .
+ "--no-cmake-config"
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index cd99425379..ee713db0cf 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès
-;;; Copyright © 2014, 2015, 2018 Mark H Weaver
+;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver
;;; Copyright © 2017 Efraim Flashner
+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen
;;; Copyright © 2019 Carl Dong
;;;
;;; This file is part of GNU Guix.
@@ -33,21 +34,30 @@
#:select (derivation derivation-input derivation->output-path))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
#:use-module (guix memoization)
+ #:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-34)
+ #:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:export (bootstrap-origin
package-with-bootstrap-guile
glibc-dynamic-linker
+ bootstrap-executable
bootstrap-guile-origin
%bootstrap-guile
%bootstrap-coreutils&co
+ %bootstrap-linux-libre-headers
%bootstrap-binutils
%bootstrap-gcc
%bootstrap-glibc
- %bootstrap-inputs))
+ %bootstrap-inputs
+ %bootstrap-mescc-tools
+ %bootstrap-mes
+
+ %bootstrap-inputs-for-tests))
;;; Commentary:
;;;
@@ -57,6 +67,82 @@
;;; Code:
+
+;;;
+;;; The bootstrap executables: 'bash', 'mkdir', 'tar', 'xz'. They allow us to
+;;; extract the very first tarball.
+;;;
+
+(define %bootstrap-executables
+ ;; List of bootstrap executables and their recursive hashes (as per 'guix
+ ;; hash -r'), taking their executable bit into account.
+ `(("aarch64-linux"
+ ("bash"
+ ,(base32 "13aqhqb8nydlwq1ah9974q0iadx1pb95v13wzzyf7vgv6nasrwzr"))
+ ("mkdir"
+ ,(base32 "1pxhdp7ldwavmm71xbh9wc197cb2nr66acjn26yjx3732cixh9ws"))
+ ("tar"
+ ,(base32 "1j51gv08sfg277yxj73xd564wjq3f8xwd6s9rbcg8v9gms47m4cx"))
+ ("xz"
+ ,(base32 "1d779rwsrasphg5g3r37qppcqy3p7ay1jb1y83w7x4i3qsc7zjy2")))
+ ("armhf-linux"
+ ("bash"
+ ,(base32 "0s6f1s26g4dsrrkl39zblvwpxmbzi6n9mgqf6vxsqz42gik6bgyn"))
+ ("mkdir"
+ ,(base32 "1r5rcp35niyxfkrdf00y2ba8ifrq9bi76cr63lwjf2l655j1i5p7"))
+ ("tar"
+ ,(base32 "0dksx5im3fv8ximz7368bsax9f26nn47ds74298flm5lnvpv9xly"))
+ ("xz"
+ ,(base32 "1cqqavghjfr0iwxqf61lrssv27wfigysgq2rs4rm1gkmn04yn1k3")))
+ ("i686-linux"
+ ("bash"
+ ,(base32 "0rjaxyzjdllfkf1abczvgaf3cdcc7mmahyvdbkjmjzhgz92pv23g"))
+ ("mkdir"
+ ,(base32 "133ybmfpkmsnysrzbngwvbysqnsmfi8is8zifs7i7n6n600h4s1w"))
+ ("tar"
+ ,(base32 "07830bx29ad5i0l1ykj0g0b1jayjdblf01sr3ww9wbnwdbzinqms"))
+ ("xz"
+ ,(base32 "0i9kxdi17bm5gxfi2xzm0y73p3ii0cqxli1sbljm6rh2fjgyn90k")))
+ ("mips64el-linux"
+ ("bash"
+ ,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6"))
+ ("mkdir"
+ ,(base32 "0c9j6qgyw84zxbry3ypifzll13gy8ax71w40kdk1h11jbgla3f5k"))
+ ("tar"
+ ,(base32 "06gmqdjq3rl8lr47b9fyx4ifnm5x56ymc8lyryp1ax1j2s4y5jb4"))
+ ("xz"
+ ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5")))))
+
+(define (bootstrap-executable-url program system)
+ "Return the URL where PROGRAM can be found for SYSTEM."
+ (string-append
+ "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
+ system "/" program
+ "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))
+
+(define bootstrap-executable
+ (mlambda (program system)
+ "Return an origin for PROGRAM, a statically-linked bootstrap executable
+built for SYSTEM."
+ (let ((system (if (string=? system "x86_64-linux")
+ "i686-linux"
+ system)))
+ (match (assoc-ref (assoc-ref %bootstrap-executables system)
+ program)
+ (#f
+ (raise (condition
+ (&message
+ (message
+ (format #f (G_ "could not find bootstrap binary '~a' \
+for system '~a'")
+ program system))))))
+ ((sha256)
+ (origin
+ (method url-fetch/executable)
+ (uri (bootstrap-executable-url program system))
+ (file-name program)
+ (sha256 sha256)))))))
+
;;;
;;; Helper procedures.
@@ -98,10 +184,10 @@
(define* (package-from-tarball name source program-to-test description
#:key snippet)
"Return a package that correspond to the extraction of SOURCE.
-PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to check
-whether everything is alright. If SNIPPET is provided, it is evaluated after
-extracting SOURCE. SNIPPET should raise an exception to signal an error; its
-return value is ignored."
+PROGRAM-TO-TEST is #f or a string: the program to run after extraction of
+SOURCE to check whether everything is alright. If SNIPPET is provided, it is
+evaluated after extracting SOURCE. SNIPPET should return true if successful,
+or false to signal an error."
(package
(name name)
(version "0")
@@ -110,25 +196,28 @@ return value is ignored."
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
- (let ((out (assoc-ref %outputs "out"))
- (tar (assoc-ref %build-inputs "tar"))
- (xz (assoc-ref %build-inputs "xz"))
- (tarball (assoc-ref %build-inputs "tarball")))
+ (begin
(use-modules (guix build utils))
- (mkdir out)
- (copy-file tarball "binaries.tar.xz")
- (invoke xz "-d" "binaries.tar.xz")
- (let ((builddir (getcwd)))
- (with-directory-excursion out
- (invoke tar "xvf"
- (string-append builddir "/binaries.tar"))
- ,@(if snippet (list snippet) '())
- (invoke (string-append "bin/" ,program-to-test)
- "--version"))))))
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (tarball (assoc-ref %build-inputs "tarball")))
+
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd)))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar"))
+ ,@(if snippet (list snippet) '())
+ (or (not ,program-to-test)
+ (invoke (string-append "bin/" ,program-to-test)
+ "--version"))))))))
(inputs
- `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
- ("xz" ,(search-bootstrap-binary "xz" (%current-system)))
+ `(("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
("tarball" ,(bootstrap-origin (source (%current-system))))))
(source #f)
(synopsis description)
@@ -201,7 +290,9 @@ return value is ignored."
(define %bootstrap-base-urls
;; This is where the initial binaries come from.
- '("https://alpha.gnu.org/gnu/guix/bootstrap"
+ '("https://ftp.gnu.org/gnu/guix/bootstrap"
+ "https://alpha.gnu.org/gnu/guix/bootstrap"
+ "http://ftp.gnu.org/gnu/guix/bootstrap"
"http://alpha.gnu.org/gnu/guix/bootstrap"
"ftp://alpha.gnu.org/gnu/guix/bootstrap"
"http://www.fdn.fr/~lcourtes/software/guix/packages"
@@ -253,11 +344,9 @@ return value is ignored."
#:key outputs system search-paths
#:allow-other-keys)
(define (->store file)
- (add-to-store store file #t "sha256"
- (or (search-bootstrap-binary file
- system)
- (error "bootstrap binary not found"
- file system))))
+ (run-with-store store
+ (origin->derivation (bootstrap-executable file system)
+ system)))
(let* ((tar (->store "tar"))
(xz (->store "xz"))
@@ -307,15 +396,17 @@ $out/bin/guile -c ~s $out ~a
# Sanity check.
$out/bin/guile --version~%"
- mkdir xz tar
+ (derivation->output-path mkdir)
+ (derivation->output-path xz)
+ (derivation->output-path tar)
(format #f "~s" make-guile-wrapper)
- bash)
- (list mkdir xz tar bash))))
+ (derivation->output-path bash)))))
(derivation store name
- bash `(,builder)
+ (derivation->output-path bash) `(,builder)
#:system system
- #:inputs (list (derivation-input guile))
- #:sources (list bash builder)
+ #:inputs (map derivation-input
+ (list bash mkdir tar xz guile))
+ #:sources (list builder)
#:env-vars `(("GUILE_TARBALL"
. ,(derivation->output-path guile))))))
@@ -396,6 +487,22 @@ $out/bin/guile --version~%"
(("^exec grep") (string-append (getcwd) "/bin/grep"))))
(chmod "bin" #o555))))
+(define-public %bootstrap-linux-libre-headers
+ (package-from-tarball
+ "linux-libre-headers-bootstrap"
+ (lambda (system)
+ (origin
+ (method url-fetch)
+ (uri (map (cute string-append <>
+ "/i686-linux/20190815/"
+ "linux-libre-headers-stripped-4.14.67-i686-linux.tar.xz")
+ %bootstrap-base-urls))
+ (sha256
+ (base32
+ "0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s"))))
+ #f ; no program to test
+ "Bootstrap linux-libre-headers"))
+
(define %bootstrap-binutils
(package-from-tarball "binutils-bootstrap"
(lambda (system)
@@ -441,31 +548,33 @@ $out/bin/guile --version~%"
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
- (let ((out (assoc-ref %outputs "out"))
- (tar (assoc-ref %build-inputs "tar"))
- (xz (assoc-ref %build-inputs "xz"))
- (tarball (assoc-ref %build-inputs "tarball")))
+ (begin
(use-modules (guix build utils))
- (mkdir out)
- (copy-file tarball "binaries.tar.xz")
- (invoke xz "-d" "binaries.tar.xz")
- (let ((builddir (getcwd)))
- (with-directory-excursion out
- (invoke tar "xvf"
- (string-append builddir
- "/binaries.tar"))
- (chmod "lib" #o755)
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (tarball (assoc-ref %build-inputs "tarball")))
- ;; Patch libc.so so it refers to the right path.
- (substitute* "lib/libc.so"
- (("/[^ ]+/lib/(libc|ld)" _ prefix)
- (string-append out "/lib/" prefix)))
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd)))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir
+ "/binaries.tar"))
+ (chmod "lib" #o755)
- #t)))))
+ ;; Patch libc.so so it refers to the right path.
+ (substitute* "lib/libc.so"
+ (("/[^ ]+/lib/(libc|ld)" _ prefix)
+ (string-append out "/lib/" prefix)))
+
+ #t))))))
(inputs
- `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
- ("xz" ,(search-bootstrap-binary "xz" (%current-system)))
+ `(("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
("tarball" ,(bootstrap-origin
(origin
(method url-fetch)
@@ -512,73 +621,75 @@ $out/bin/guile --version~%"
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
- (let ((out (assoc-ref %outputs "out"))
- (tar (assoc-ref %build-inputs "tar"))
- (xz (assoc-ref %build-inputs "xz"))
- (bash (assoc-ref %build-inputs "bash"))
- (libc (assoc-ref %build-inputs "libc"))
- (tarball (assoc-ref %build-inputs "tarball")))
+ (begin
(use-modules (guix build utils)
(ice-9 popen))
- (mkdir out)
- (copy-file tarball "binaries.tar.xz")
- (invoke xz "-d" "binaries.tar.xz")
- (let ((builddir (getcwd))
- (bindir (string-append out "/bin")))
- (with-directory-excursion out
- (invoke tar "xvf"
- (string-append builddir "/binaries.tar")))
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (tarball (assoc-ref %build-inputs "tarball")))
- (with-directory-excursion bindir
- (chmod "." #o755)
- (rename-file "gcc" ".gcc-wrapped")
- (call-with-output-file "gcc"
- (lambda (p)
- (format p "#!~a
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd))
+ (bindir (string-append out "/bin")))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar")))
+
+ (with-directory-excursion bindir
+ (chmod "." #o755)
+ (rename-file "gcc" ".gcc-wrapped")
+ (call-with-output-file "gcc"
+ (lambda (p)
+ (format p "#!~a
exec ~a/bin/.gcc-wrapped -B~a/lib \
-Wl,-rpath -Wl,~a/lib \
-Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
- bash
- out libc libc libc
- ,(glibc-dynamic-linker))))
+ bash
+ out libc libc libc
+ ,(glibc-dynamic-linker))))
- (chmod "gcc" #o555)
- #t)))))
+ (chmod "gcc" #o555)
+ #t))))))
(inputs
- `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
- ("xz" ,(search-bootstrap-binary "xz" (%current-system)))
- ("bash" ,(search-bootstrap-binary "bash" (%current-system)))
+ `(("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
+ ("bash" ,(bootstrap-executable "bash" (%current-system)))
("libc" ,%bootstrap-glibc)
("tarball" ,(bootstrap-origin
(origin
- (method url-fetch)
- (uri (map (cut string-append <> "/" (%current-system)
- (match (%current-system)
- ("armhf-linux"
- "/20150101/gcc-4.8.4.tar.xz")
- ("aarch64-linux"
- "/20170217/gcc-5.4.0.tar.xz")
- (_
- "/20131110/gcc-4.8.2.tar.xz")))
- %bootstrap-base-urls))
- (sha256
- (match (%current-system)
- ("x86_64-linux"
- (base32
- "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
- ("i686-linux"
- (base32
- "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
- ("armhf-linux"
- (base32
- "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
- ("aarch64-linux"
- (base32
- "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1"))
- ("mips64el-linux"
- (base32
- "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
+ (method url-fetch)
+ (uri (map (cut string-append <> "/" (%current-system)
+ (match (%current-system)
+ ("armhf-linux"
+ "/20150101/gcc-4.8.4.tar.xz")
+ ("aarch64-linux"
+ "/20170217/gcc-5.4.0.tar.xz")
+ (_
+ "/20131110/gcc-4.8.2.tar.xz")))
+ %bootstrap-base-urls))
+ (sha256
+ (match (%current-system)
+ ("x86_64-linux"
+ (base32
+ "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
+ ("i686-linux"
+ (base32
+ "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
+ ("armhf-linux"
+ (base32
+ "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
+ ("aarch64-linux"
+ (base32
+ "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1"))
+ ("mips64el-linux"
+ (base32
+ "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
@@ -591,15 +702,129 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(home-page #f)
(license gpl3+)))
-(define %bootstrap-inputs
+(define %bootstrap-mescc-tools
+ ;; The initial MesCC tools. Uses binaries from a tarball typically built by
+ ;; %MESCC-TOOLS-BOOTSTRAP-TARBALL.
+ (package
+ (name "bootstrap-mescc-tools")
+ (version "0.5.2")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 popen))
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (tarball (assoc-ref %build-inputs "tarball")))
+
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd))
+ (bindir (string-append out "/bin")))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar"))))))))
+ (inputs
+ `(("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
+ ("tarball"
+ ,(bootstrap-origin
+ (origin
+ (method url-fetch)
+ (uri (map
+ (cute string-append <>
+ "/i686-linux/20190815/"
+ "mescc-tools-static-stripped-0.5.2-i686-linux.tar.xz")
+ %bootstrap-base-urls))
+ (sha256
+ (base32
+ "0c3kklgghzh4q2dbpl6asb74cimp7hp6jscdwqwmzxbapgcl6582")))))))
+ (synopsis "Bootstrap binaries of MesCC Tools")
+ (description synopsis)
+ (home-page #f)
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (license gpl3+)))
+
+(define %bootstrap-mes
+ ;; The initial Mes. Uses binaries from a tarball typically built by
+ ;; %MES-BOOTSTRAP-TARBALL.
+ (package
+ (name "bootstrap-mes")
+ (version "0")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 popen))
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (tarball (assoc-ref %build-inputs "tarball")))
+
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd))
+ (bindir (string-append out "/bin")))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar"))))))))
+ (inputs
+ `(("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
+ ("tarball"
+ ,(bootstrap-origin
+ (origin
+ (method url-fetch)
+ (uri (map
+ (cute string-append <>
+ "/i686-linux/20190815/"
+ "mes-minimal-stripped-0.19-i686-linux.tar.xz")
+ %bootstrap-base-urls))
+ (sha256
+ (base32
+ "1q4xjpx6nbn44kxnilpgl12bhpmwy2bblzwszc2ci7xkf400jcpv")))))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (synopsis "Bootstrap binaries of Mes")
+ (description synopsis)
+ (home-page #f)
+ (license gpl3+)))
+
+(define (%bootstrap-inputs)
;; The initial, pre-built inputs. From now on, we can start building our
;; own packages.
- `(("libc" ,%bootstrap-glibc)
- ("gcc" ,%bootstrap-gcc)
- ("binutils" ,%bootstrap-binutils)
+ `(,@(match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ `(("linux-libre-headers" ,%bootstrap-linux-libre-headers)
+ ("bootstrap-mescc-tools" ,%bootstrap-mescc-tools)
+ ("mes" ,%bootstrap-mes)))
+ (_
+ `(("libc" ,%bootstrap-glibc)
+ ("gcc" ,%bootstrap-gcc)
+ ("binutils" ,%bootstrap-binutils))))
("coreutils&co" ,%bootstrap-coreutils&co)
;; In gnu-build-system.scm, we rely on the availability of Bash.
("bash" ,%bootstrap-coreutils&co)))
+(define %bootstrap-inputs-for-tests
+ ;; These are bootstrap inputs that are cheap to produce (no compilation
+ ;; needed) and that are meant to be used for testing. (These are those we
+ ;; used before the Mes-based reduced bootstrap.)
+ `(("libc" ,%bootstrap-glibc)
+ ("gcc" ,%bootstrap-gcc)
+ ("binutils" ,%bootstrap-binutils)
+ ("coreutils&co" ,%bootstrap-coreutils&co)
+ ("bash" ,%bootstrap-coreutils&co)))
+
;;; bootstrap.scm ends here
diff --git a/gnu/packages/bootstrap/aarch64-linux/bash b/gnu/packages/bootstrap/aarch64-linux/bash
deleted file mode 100755
index 0bfb9d1824..0000000000
Binary files a/gnu/packages/bootstrap/aarch64-linux/bash and /dev/null differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/mkdir b/gnu/packages/bootstrap/aarch64-linux/mkdir
deleted file mode 100755
index 35cd1815fd..0000000000
Binary files a/gnu/packages/bootstrap/aarch64-linux/mkdir and /dev/null differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/tar b/gnu/packages/bootstrap/aarch64-linux/tar
deleted file mode 100755
index 7e68edb0be..0000000000
Binary files a/gnu/packages/bootstrap/aarch64-linux/tar and /dev/null differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/xz b/gnu/packages/bootstrap/aarch64-linux/xz
deleted file mode 100755
index 5aa18c9234..0000000000
Binary files a/gnu/packages/bootstrap/aarch64-linux/xz and /dev/null differ
diff --git a/gnu/packages/bootstrap/armhf-linux/bash b/gnu/packages/bootstrap/armhf-linux/bash
deleted file mode 100755
index 212a22c8ce..0000000000
Binary files a/gnu/packages/bootstrap/armhf-linux/bash and /dev/null differ
diff --git a/gnu/packages/bootstrap/armhf-linux/mkdir b/gnu/packages/bootstrap/armhf-linux/mkdir
deleted file mode 100755
index c3e5246e92..0000000000
Binary files a/gnu/packages/bootstrap/armhf-linux/mkdir and /dev/null differ
diff --git a/gnu/packages/bootstrap/armhf-linux/tar b/gnu/packages/bootstrap/armhf-linux/tar
deleted file mode 100755
index 5a6aac8a58..0000000000
Binary files a/gnu/packages/bootstrap/armhf-linux/tar and /dev/null differ
diff --git a/gnu/packages/bootstrap/armhf-linux/xz b/gnu/packages/bootstrap/armhf-linux/xz
deleted file mode 100755
index a77aebc268..0000000000
Binary files a/gnu/packages/bootstrap/armhf-linux/xz and /dev/null differ
diff --git a/gnu/packages/bootstrap/i686-linux/bash b/gnu/packages/bootstrap/i686-linux/bash
deleted file mode 100755
index 4b99d7eb4a..0000000000
Binary files a/gnu/packages/bootstrap/i686-linux/bash and /dev/null differ
diff --git a/gnu/packages/bootstrap/i686-linux/mkdir b/gnu/packages/bootstrap/i686-linux/mkdir
deleted file mode 100755
index 6623a38404..0000000000
Binary files a/gnu/packages/bootstrap/i686-linux/mkdir and /dev/null differ
diff --git a/gnu/packages/bootstrap/i686-linux/tar b/gnu/packages/bootstrap/i686-linux/tar
deleted file mode 100755
index d33cd391f1..0000000000
Binary files a/gnu/packages/bootstrap/i686-linux/tar and /dev/null differ
diff --git a/gnu/packages/bootstrap/i686-linux/xz b/gnu/packages/bootstrap/i686-linux/xz
deleted file mode 100755
index f94dbde77c..0000000000
Binary files a/gnu/packages/bootstrap/i686-linux/xz and /dev/null differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/bash b/gnu/packages/bootstrap/mips64el-linux/bash
deleted file mode 100755
index 403671d2fa..0000000000
Binary files a/gnu/packages/bootstrap/mips64el-linux/bash and /dev/null differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/mkdir b/gnu/packages/bootstrap/mips64el-linux/mkdir
deleted file mode 100755
index c8d3285b38..0000000000
Binary files a/gnu/packages/bootstrap/mips64el-linux/mkdir and /dev/null differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/tar b/gnu/packages/bootstrap/mips64el-linux/tar
deleted file mode 100755
index 0cdf7cce2c..0000000000
Binary files a/gnu/packages/bootstrap/mips64el-linux/tar and /dev/null differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/xz b/gnu/packages/bootstrap/mips64el-linux/xz
deleted file mode 100755
index b0622ba946..0000000000
Binary files a/gnu/packages/bootstrap/mips64el-linux/xz and /dev/null differ
diff --git a/gnu/packages/bootstrap/x86_64-linux/bash b/gnu/packages/bootstrap/x86_64-linux/bash
deleted file mode 100755
index b9c410b7cf..0000000000
Binary files a/gnu/packages/bootstrap/x86_64-linux/bash and /dev/null differ
diff --git a/gnu/packages/bootstrap/x86_64-linux/mkdir b/gnu/packages/bootstrap/x86_64-linux/mkdir
deleted file mode 100755
index f8250ae693..0000000000
Binary files a/gnu/packages/bootstrap/x86_64-linux/mkdir and /dev/null differ
diff --git a/gnu/packages/bootstrap/x86_64-linux/tar b/gnu/packages/bootstrap/x86_64-linux/tar
deleted file mode 100755
index 90e492f89d..0000000000
Binary files a/gnu/packages/bootstrap/x86_64-linux/tar and /dev/null differ
diff --git a/gnu/packages/bootstrap/x86_64-linux/xz b/gnu/packages/bootstrap/x86_64-linux/xz
deleted file mode 100755
index 6bfe3c6d96..0000000000
Binary files a/gnu/packages/bootstrap/x86_64-linux/xz and /dev/null differ
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index cfe73afb64..a694a7ddad 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -162,7 +162,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.50.0")
+ (version "0.50.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -170,7 +170,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "07q2wz23wjfk8z66mli1cc9as0ycjp5f39fd4awny82qv8nw86ra"))))
+ "1k2fw5qk4mqjcb4j5dhp8xfn0caqphb11yh8zkw7v9w01kb5d3zn"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 374a4d35fa..dab0bd39c3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -134,14 +134,14 @@ with a flexible variety of user interfaces.")
(define-public cppunit
(package
(name "cppunit")
- (version "1.13.2")
+ (version "1.14.0")
(source (origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/"
name "-" version ".tar.gz"))
(sha256
(base32
- "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz"))))
+ "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))
;; Explicitly link with libdl. This is expected to be done by packages
;; relying on cppunit for their tests. However, not all of them do.
;; If we added the linker flag to such packages, we would pollute all
@@ -156,23 +156,6 @@ unit testing. Test output is in XML for automatic testing and GUI based for
supervised tests.")
(license license:lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
-;; Some packages require this newer version of cppunit. However, it needs
-;; C++11 support, which is not enabled by default in our current GCC, and
-;; updating in-place would require adding CXXFLAGS to many dependent packages.
-;; Thus, keep as a separate variable for now.
-;; TODO: Remove this when our default GCC is updated to 6 or higher.
-(define-public cppunit-1.14
- (package
- (inherit cppunit)
- (version "1.14.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dev-www.libreoffice.org/src/"
- "cppunit-" version ".tar.gz"))
- (sha256
- (base32
- "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))))
-
;; When dependent packages upgraded to use newer version of catch, this one should
;; be removed.
(define-public catch-framework
@@ -700,31 +683,28 @@ standard library.")
(define-public python-pytest
(package
(name "python-pytest")
- (version "3.8.0")
+ (version "4.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest" version))
(sha256
(base32
- "17grcfvd6ggvvqmprwv5y8g319nayam70hr43ssjwj40ws27z858"))))
+ "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'disable-invalid-tests
+ (replace 'check
(lambda _
- ;; Some tests involves the /usr directory, and fails.
- (substitute* "testing/test_argcomplete.py"
- (("def test_remove_dir_prefix\\(self\\):")
- "@pytest.mark.xfail\n def test_remove_dir_prefix(self):"))
- (substitute* "testing/test_argcomplete.py"
- (("def test_remove_dir_prefix" line)
- (string-append "@pytest.mark.skip"
- "(reason=\"Assumes that /usr exists.\")\n "
- line)))
- #t))
- (replace 'check (lambda _ (invoke "pytest" "-vv"))))))
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ ;; These tests involve the /usr directory, and fails.
+ "not test_remove_dir_prefix"
+ " and not test_argcomplete"
+ ;; This test tries to override PYTHONPATH, and
+ ;; subsequently fails to locate the test libraries.
+ " and not test_collection")))))))
(propagated-inputs
`(("python-atomicwrites" ,python-atomicwrites)
("python-attrs" ,python-attrs-bootstrap)
@@ -814,14 +794,14 @@ supports coverage of subprocesses.")
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
- (version "4.2")
+ (version "4.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-runner" version))
(sha256
(base32
- "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj"))))
+ "1x0d9n40lsiphblbs61rdc0d5r31f6vh0vcahqdv0mffakbnrb80"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest-bootstrap)
@@ -1265,14 +1245,14 @@ have failed since the last commit or what tests are currently failing.")))
(define-public python-coverage
(package
(name "python-coverage")
- (version "4.4.1")
+ (version "4.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "coverage" version))
(sha256
(base32
- "097l4s3ssxm1vncsn0nw3a1pbzah28773q36c1ab9wz01r04973s"))))
+ "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx"))))
(build-system python-build-system)
(arguments
;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors.
@@ -1535,17 +1515,16 @@ instantly.")
(define-public python-hypothesis
(package
(name "python-hypothesis")
- (version "3.70.3")
+ (version "4.18.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "hypothesis" version))
(sha256
(base32
- "1rshs1japfmwgar98yrkq4hg4z2q76hlnq7w2n3lfbjnscn1jd9b"))))
+ "0a35nwqyjnm4cphi43xracqpkws0ip61mndvqb1iqq7gkva83lb1"))))
(build-system python-build-system)
(native-inputs
- `(;; FIXME: Change to python-flake8 in the next rebuild cycle.
- ("python-flake8" ,python-flake8-3.5)
+ `(("python-flake8" ,python-flake8)
("python-pytest" ,python-pytest-bootstrap)))
(propagated-inputs
`(("python-attrs" ,python-attrs-bootstrap)
@@ -2145,33 +2124,45 @@ retried.")
(package-with-python2 python-flaky))
(define-public python-pyhamcrest
- (package
- (name "python-pyhamcrest")
- (version "1.9.0")
- (source (origin
- ;; Tests not distributed from pypi release.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hamcrest/PyHamcrest")
- (commit (string-append "V" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "01qnzj9qnzz0y78qa3ing24ssvszb0adw59xc4qqmdn5wryy606b"))))
- (native-inputs ; All native inputs are for tests
- `(("python-pytest-cov" ,python-pytest-cov)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-hypothesis" ,python-hypothesis)))
- (propagated-inputs
- `(("python-six" ,python-six)))
- (build-system python-build-system)
- (home-page "http://hamcrest.org/")
- (synopsis "Hamcrest matchers for Python")
- (description
- "PyHamcrest is a framework for writing matcher objects,
+ ;; The latest release was in 2016 and its test suite does not work with recent
+ ;; versions of Pytest. Just take the master branch for now, which seems stable.
+ (let ((commit "25fdc5f00bdf3084335353bc9247253098ec4cf2")
+ (revision "0"))
+ (package
+ (name "python-pyhamcrest")
+ (version (git-version "1.9.0" revision commit))
+ (source (origin
+ ;; Tests not distributed from pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hamcrest/PyHamcrest")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1miqmhhi68vaix8sqc1lvpvbm27bacffxh5anm5cbfsvk7g9n6f3"))))
+ (native-inputs ;all native inputs are for tests
+ `(("python-pytest-cov" ,python-pytest-cov)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-hypothesis" ,python-hypothesis)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append "build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "-vv"))))))
+ (home-page "http://hamcrest.org/")
+ (synopsis "Hamcrest matchers for Python")
+ (description
+ "PyHamcrest is a framework for writing matcher objects,
allowing you to declaratively define \"match\" rules.")
- (license license:bsd-3)))
+ (license license:bsd-3))))
(define-public python2-pyhamcrest
(package-with-python2 python-pyhamcrest))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index ebad0538d3..aad1fd9203 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -762,11 +762,7 @@ from forcing GEXP-PROMISE."
("glib" ,glib)
("gtk+" ,gtk+)
("harfbuzz" ,harfbuzz)
-
- ;; Build against ICU 64 to prevent a localization problem in version 75
- ;; and later: .
- ("icu4c" ,icu4c-64)
-
+ ("icu4c" ,icu4c)
("jsoncpp" ,jsoncpp)
("lcms" ,lcms)
("libevent" ,libevent)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 95f884b36d..64349be444 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017, 2018 Marius Bakke
;;; Copyright © 2018 Arun Isaac
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Maxim Cournoyer
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,12 +40,17 @@
#:use-module (gnu packages file)
#:use-module (gnu packages libevent)
#:use-module (gnu packages ncurses)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages xml)
+ #:use-module (srfi srfi-1))
-(define-public cmake
+;;; This minimal variant of CMake does not include the documentation. It is
+;;; used by the cmake-build-system.
+(define-public cmake-minimal
(package
- (name "cmake")
- (version "3.13.1")
+ (name "cmake-minimal")
+ (version "3.15.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.cmake.org/files/v"
@@ -52,7 +58,7 @@
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "04123d7fgnn1fs5p0nwyq397ss89r0y4wkg9a09qiwkjsvk1rzmy"))
+ "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -72,6 +78,23 @@
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
+ #:configure-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (parallel-job-count (number->string (parallel-job-count))))
+ (list "--verbose"
+ (string-append "--parallel=" parallel-job-count)
+ (string-append "--prefix=" out)
+ "--system-libs"
+ "--no-system-jsoncpp" ; FIXME: Circular dependency.
+ ;; By default, the man pages and other docs land
+ ;; in PREFIX/man and PREFIX/doc, but we want them
+ ;; in share/{man,doc}. Note that unlike
+ ;; autoconf-generated configure scripts, cmake's
+ ;; configure prepends "PREFIX/" to what we pass
+ ;; to --mandir and --docdir.
+ "--mandir=share/man"
+ ,(string-append "--docdir=share/doc/cmake-"
+ (version-major+minor version))))
#:make-flags
(let ((skipped-tests
(list "BundleUtilities" ; This test fails on Guix.
@@ -101,7 +124,6 @@
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/CPack.RuntimeScript.in"
- "Source/cmakexbuild.cxx"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
@@ -116,27 +138,13 @@
;; Help cmake's bootstrap process to find system libraries
(begin
(setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+ (setenv "CMAKE_INCLUDE_PATH" (or (getenv "CPATH")
+ (getenv "C_INCLUDE_PATH")))
#t)))
+ ;; CMake uses its own configure script.
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (invoke
- "./configure" "--verbose"
- (string-append "--parallel=" (number->string (parallel-job-count)))
- (string-append "--prefix=" out)
- "--system-libs"
- "--no-system-jsoncpp" ; FIXME: Circular dependency.
- ;; By default, the man pages and other docs land
- ;; in PREFIX/man and PREFIX/doc, but we want them
- ;; in share/{man,doc}. Note that unlike
- ;; autoconf-generated configure scripts, cmake's
- ;; configure prepends "PREFIX/" to what we pass
- ;; to --mandir and --docdir.
- "--mandir=share/man"
- ,(string-append
- "--docdir=share/doc/cmake-"
- (version-major+minor version)))))))))
+ (lambda* (#:key (configure-flags '()) #:allow-other-keys)
+ (apply invoke "./configure" configure-flags))))))
(inputs
`(("bzip2" ,bzip2)
("curl" ,curl)
@@ -158,12 +166,47 @@
CMake is used to control the software compilation process using simple platform
and compiler independent configuration files. CMake generates native makefiles
and workspaces that can be used in the compiler environment of your choice.")
- (license (list license:bsd-3 ; cmake
- license:bsd-4 ; cmcompress
- license:bsd-2 ; cmlibarchive
- license:expat ; cmjsoncpp is dual MIT/public domain
+ (properties '((hidden? . #t)))
+ (license (list license:bsd-3 ; cmake
+ license:bsd-4 ; cmcompress
+ license:bsd-2 ; cmlibarchive
+ license:expat ; cmjsoncpp is dual MIT/public domain
license:public-domain)))) ; cmlibarchive/archive_getdate.c
+(define-public cmake
+ (package
+ (inherit cmake-minimal)
+ (name "cmake")
+ (arguments
+ (substitute-keyword-arguments (package-arguments cmake-minimal)
+ ((#:configure-flags configure-flags ''())
+ `(append ,configure-flags
+ ;; Extra configure flags used to generate the documentation.
+ '("--sphinx-info"
+ "--sphinx-man"
+ "--sphinx-html")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'install 'move-html-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (html (string-append "/share/doc/cmake-"
+ ,(version-major+minor
+ (package-version cmake-minimal))
+ "/html")))
+ (copy-recursively (string-append out html)
+ (string-append doc html))
+ (delete-file-recursively (string-append out html))
+ #t)))))))
+ ;; Extra inputs required to build the documentation.
+ (native-inputs
+ `(,@(package-native-inputs cmake-minimal)
+ ("python-sphinx" ,python-sphinx)
+ ("texinfo" ,texinfo)))
+ (outputs '("out" "doc"))
+ (properties (alist-delete 'hidden? (package-properties cmake-minimal)))))
+
(define-public cmake/fixed
;; This is a variant of CMake that fixes X.509 certificate lookup:
;; .
@@ -180,6 +223,9 @@ and workspaces that can be used in the compiler environment of your choice.")
(package
(inherit cmake)
(name "emacs-cmake-mode")
+ (native-inputs '())
+ (inputs '())
+ (outputs '("out"))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -187,7 +233,8 @@ and workspaces that can be used in the compiler environment of your choice.")
(add-after 'unpack 'chdir-elisp
;; Elisp directory is not in root of the source.
(lambda _
- (chdir "Auxiliary"))))))
+ (chdir "Auxiliary")
+ #t)))))
(synopsis "Emacs major mode for editing Cmake expressions")
(description "@code{cmakeos-mode} provides an Emacs major mode for editing
Cmake files. It supports syntax highlighting, indenting and refilling of
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index c5dfa4aa7a..13e2c4ad44 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -626,13 +626,13 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
(define-public indent
(package
(name "indent")
- (version "2.2.10")
+ (version "2.2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/indent/indent-" version
".tar.gz"))
- (sha256 (base32
- "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa"))))
+ (sha256
+ (base32 "12xvcd16cwilzglv9h7sgh4h1qqjd1h8s48ji2dla58m4706hzg7"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -645,6 +645,8 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
(substitute* "doc/Makefile.in"
(("^docdir = .*$") "docdir = @docdir@\n"))
#t)))))
+ (native-inputs
+ `(("texinfo" ,texinfo)))
(synopsis "Code reformatter")
(description
"Indent is a program that makes source code easier to read by
@@ -655,19 +657,6 @@ extensions over the standard utility.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/indent/")))
-(define-public indent-2.2.12
- (package
- (inherit indent)
- (version "2.2.12")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/indent/indent-" version
- ".tar.gz"))
- (sha256
- (base32
- "12xvcd16cwilzglv9h7sgh4h1qqjd1h8s48ji2dla58m4706hzg7"))))
- (native-inputs `(("texinfo" ,texinfo)))))
-
(define-public amalgamate
(let* ((commit "c91f07eea1133aa184f652b8f1398eaf03586208")
(revision "0")
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index f00cfa7bd8..fd98c80dc3 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1,10 +1,12 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès
;;; Copyright © 2014 Andreas Enge
;;; Copyright © 2012 Nikita Karetnikov
;;; Copyright © 2014, 2015, 2017 Mark H Weaver
-;;; Copyright © 2017, 2018 Efraim Flashner
+;;; Copyright © 2017, 2018, 2019 Efraim Flashner
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,9 +30,9 @@
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages c)
#:use-module (gnu packages gcc)
#:use-module (gnu packages m4)
- #:use-module (gnu packages code)
#:use-module (gnu packages file)
#:use-module (gnu packages gawk)
#:use-module (gnu packages bison)
@@ -39,11 +41,14 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages mes)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
#:use-module (gnu packages linux)
#:use-module (gnu packages hurd)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xml)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -79,6 +84,1330 @@
;;;
;;; Code:
+(define mes-boot
+ (package-with-bootstrap-guile
+ (package
+ (inherit mes)
+ (name "mes-boot")
+ (version "0.19")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mes/"
+ "mes-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs
+ `(("mescc-tools" ,%bootstrap-mescc-tools)
+ ("nyacc-source" ,(package-source nyacc-0.86))
+
+ ("coreutils" , %bootstrap-coreutils&co)
+ ("bootstrap-mes" ,%bootstrap-mes)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-seeds
+ (lambda _
+ (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source"))
+ (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes")))
+ (with-directory-excursion ".."
+ (mkdir-p "nyacc-source")
+ (invoke "tar" "--strip=1" "-C" "nyacc-source" "-xvf" nyacc-source)
+ (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed"))
+ #t)))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref %outputs "out")))
+ (setenv "GUILE" "mes")
+ (setenv "GUILE_EFFECTIVE_VERSION" "2.2")
+ (setenv "GUILE_LOAD_PATH" "nyacc")
+ (symlink (string-append "../nyacc-source/module") "nyacc")
+ (invoke "bash" "configure.sh"
+ (string-append "--prefix=" out)))))
+ (replace 'build
+ (lambda _
+ (let ((mes (assoc-ref %build-inputs "bootstrap-mes")))
+ (setenv "MES_PREFIX" (string-append mes "/share/mes"))
+ (setenv "MES_ARENA" "100000000")
+ (setenv "MES_MAX_ARENA" "100000000")
+ (setenv "MES_STACK" "10000000")
+ (invoke "sh" "bootstrap.sh"))))
+ (replace 'check
+ (lambda _
+ (setenv "DIFF" "sh scripts/diff.scm")
+ ;; fail fast tests
+ ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t")
+ ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell")
+ (invoke "sh" "check.sh")))
+ (replace 'install
+ (lambda _
+ (invoke "sh" "install.sh"))))))
+ (native-search-paths
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("share/mes/include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("share/mes/lib"))))))))
+
+(define tcc-boot0
+ ;; Pristine tcc cannot be built by MesCC, we are keeping a delta of 11
+ ;; patches. In a very early and rough form they were presented to the
+ ;; TinyCC developers, who at the time showed no interest in supporting the
+ ;; bootstrappable effort; we will try again later. These patches have been
+ ;; ported to 0.9.27, alas the resulting tcc is buggy. Once MesCC is more
+ ;; mature, this package should use the 0.9.27 sources (or later).
+ (let ((version "0.9.26")
+ (revision "6")
+ (commit "c004e9a34fb026bb44d211ab98bb768e79900eef"))
+ (package-with-bootstrap-guile
+ (package
+ (inherit tcc)
+ (name "tcc-boot0")
+ (version (string-append version "-" revision "." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/janneke/tinycc"
+ "/-/archive/" commit
+ "/tinycc-" commit ".tar.gz"))
+ (sha256
+ (base32
+ "1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b"))))
+ (build-system gnu-build-system)
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs
+ `(("mes" ,mes-boot)
+ ("mescc-tools" ,%bootstrap-mescc-tools)
+ ("nyacc-source" ,(package-source nyacc-0.86))
+
+ ("coreutils" , %bootstrap-coreutils&co)
+ ("bootstrap-mes" ,%bootstrap-mes)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-seeds
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
+ (nyacc-source (assoc-ref %build-inputs "nyacc-source"))
+ (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes")))
+ (setenv "PATH" (string-append
+ coreutils "/bin"))
+ (format (current-error-port) "PATH=~s\n" (getenv "PATH"))
+ (with-directory-excursion ".."
+ (mkdir-p "nyacc-source")
+ (invoke "tar" "--strip=1" "-C" "nyacc-source"
+ "-xvf" nyacc-source)
+ (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed"))
+ #t)))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (dir (with-directory-excursion ".." (getcwd)))
+ (coreutils (assoc-ref %build-inputs "coreutils"))
+ (mes (assoc-ref %build-inputs "mes"))
+ (mescc-tools (assoc-ref %build-inputs "mescc-tools"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (interpreter (if libc
+ ;; also for x86_64-linux, we are still on i686-linux
+ (string-append libc ,(glibc-dynamic-linker "i686-linux"))
+ (string-append mes "/lib/mes-loader"))))
+ (setenv "PATH" (string-append
+ coreutils "/bin"
+ ":" mes "/bin"
+ ":" mescc-tools "/bin"))
+ (format (current-error-port) "PATH=~s\n" (getenv "PATH"))
+
+ (setenv "PREFIX" out)
+ (symlink (string-append mes "/share/mes") "mes")
+ (symlink (string-append "../nyacc-source/module") "nyacc")
+ (setenv "MES_PREFIX" "mes")
+ (setenv "MES_ARENA" "100000000")
+ (setenv "MES_MAX_ARENA" "100000000")
+ (setenv "MES_STACK" "10000000")
+ (setenv "MES" "mes")
+ (setenv "GUILE_LOAD_PATH" "nyacc")
+ (invoke "sh" "configure"
+ "--prefix=$PREFIX"
+ (string-append "--elfinterp=" interpreter)
+ "--crtprefix=."
+ "--tccdir=."))))
+ (replace 'build
+ (lambda _
+ (substitute* "bootstrap.sh"
+ (("^ cmp") "# cmp"))
+ (invoke "sh" "bootstrap.sh")))
+ (replace 'check
+ (lambda _
+ (setenv "DIFF" "diff.scm")
+ (setenv "OBJDUMP" "true")
+ ;; fail fast tests
+ ;; (invoke "sh" "test.sh" "mes/scaffold/tests/30-strlen")
+ ;; (invoke "sh" "-x" "test.sh" "mes/scaffold/tinycc/00_assignment")
+ (setenv "TCC" "./tcc")
+ (invoke "sh" "check.sh")))
+ (replace 'install
+ (lambda _
+ (invoke "sh" "install.sh"))))))
+ (native-search-paths
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib")))))))))
+
+(define tcc-boot
+ (package-with-bootstrap-guile
+ (package
+ (inherit tcc-boot0)
+ (name "tcc-boot")
+ (version "0.9.27")
+ (source (origin
+ (inherit (package-source tcc))
+ (patches (search-patches "tcc-boot-0.9.27.patch"))))
+ (build-system gnu-build-system)
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs
+ `(("mes" ,mes-boot)
+ ("tcc" ,tcc-boot0)
+
+ ("coreutils" , %bootstrap-coreutils&co)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2
+ ; binaries, tcc-boot also comes with
+ ; MesCC/M1/hex2-built binaries
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (coreutils (assoc-ref %build-inputs "coreutils"))
+ (mes (assoc-ref %build-inputs "mes"))
+ (tcc (assoc-ref %build-inputs "tcc"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (interpreter (if libc
+ ;; also for x86_64-linux, we are still on i686-linux
+ (string-append libc ,(glibc-dynamic-linker "i686-linux"))
+ (string-append mes "/lib/mes-loader"))))
+ ;; unpack
+ (setenv "PATH" (string-append
+ coreutils "/bin"
+ ":" tcc "/bin"))
+ (format (current-error-port) "PATH=~s\n" (getenv "PATH"))
+ (invoke "sh" "configure"
+ (string-append "--cc=tcc")
+ (string-append "--cpu=i386")
+ (string-append "--prefix=" out)
+ (string-append "--elfinterp=" interpreter)
+ (string-append "--crtprefix=" tcc "/lib")
+ (string-append "--sysincludepaths=" tcc "/include")
+ (string-append "--libpaths=" tcc "/lib")))))
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (mes (assoc-ref %build-inputs "mes"))
+ (tcc (assoc-ref %build-inputs "tcc"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (interpreter (if libc
+ ;; also for x86_64-linux, we are still on i686-linux
+ (string-append libc ,(glibc-dynamic-linker "i686-linux"))
+ (string-append mes "/lib/mes-loader"))))
+ (invoke "tcc"
+ "-vvv"
+ "-D" "BOOTSTRAP=1"
+ "-D" "ONE_SOURCE=1"
+ "-D" "TCC_TARGET_I386=1"
+ "-D" "CONFIG_TCC_STATIC=1"
+ "-D" "CONFIG_USE_LIBGCC=1"
+ "-D" (string-append "CONFIG_TCCDIR=\"" out "/lib/tcc\"")
+ "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"")
+ "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"")
+ "-D" (string-append "CONFIG_TCC_ELFINTERP=\"" interpreter "\"")
+ "-D" (string-append "CONFIG_TCC_LIBPATHS=\"" tcc "/lib:{B}/lib:.\"")
+ "-D" (string-append "CONFIG_TCC_SYSINCLUDEPATHS=\"" tcc "/include" ":/include:{B}/include\"")
+ "-D" (string-append "TCC_LIBGCC=\"" tcc "/lib/libc.a\"")
+ "-o" "tcc"
+ "tcc.c"))))
+ (replace 'check
+ (lambda _
+ ;; FIXME: add sensible check target (without depending on make)
+ ;; ./check.sh ?
+ (= 1 (status:exit-val (system* "./tcc" "--help")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref %outputs "out"))
+ (tcc (assoc-ref %build-inputs "tcc")))
+ (mkdir-p (string-append out "/bin"))
+ (copy-file "tcc" (string-append out "/bin/tcc"))
+ (mkdir-p (string-append out "/lib/tcc"))
+ (copy-recursively (string-append tcc "/include")
+ (string-append out "/include"))
+ (copy-recursively (string-append tcc "/lib")
+ (string-append out "/lib"))
+ (invoke "tcc" "-D" "TCC_TARGET_I386=1" "-c" "-o" "libtcc1.o" "lib/libtcc1.c")
+ (invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o")
+ (copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a"))
+ (delete-file (string-append out "/lib/tcc/libtcc1.a"))
+ (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a"))
+ #t)))))))))
+
+(define make-mesboot0
+ (package-with-bootstrap-guile
+ (package
+ (inherit gnu-make)
+ (name "make-mesboot0")
+ (version "3.80")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/make/make-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4"))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("tcc" ,tcc-boot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:tests? #f ; check depends on perl
+ #:guile ,%bootstrap-guile
+ #:configure-flags `("CC=tcc -DO_RDONLY=0"
+ "LD=tcc"
+ "--disable-nls")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'configure-fixup
+ (lambda _
+ (substitute* "build.sh"
+ (("^REMOTE=.*") "REMOTE=stub\n")
+ (("^extras=.*") "extras=getloadavg.c\n"))
+ (substitute* "make.h"
+ (("^extern long int lseek.*" all) (string-append "// " all)))
+ #t))
+ (delete 'patch-generated-file-shebangs) ; no perl
+ (replace 'build
+ (lambda _
+ (invoke "sh" "./build.sh")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "make" bin)
+ #t)))))))))
+
+(define diffutils-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit diffutils)
+ (name "diffutils-mesboot")
+ (version "2.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/diffutils/diffutils-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1mirn5i825bn5w7rh6mgn0r8aj9xqanav95dwcl1b8sn82f4iwnm"))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("mes" ,mes-boot)
+ ("tcc" ,tcc-boot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("make" ,make-mesboot0)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:parallel-build? #f
+ #:tests? #f ; check is naive, also checks non-built PROGRAMS
+ #:strip-binaries? #f ; no strip yet
+ #:phases
+ (modify-phases %standard-phases
+ ;; diffutils-2.7 needs more traditional configure
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash")))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "CC" "tcc")
+ (setenv "LD" "tcc")
+ (invoke "./configure" (string-append "--prefix=" out)))))
+ (add-before 'configure 'remove-diff3-sdiff
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile.in"
+ (("PROGRAMS = .*" all) "PROGRAMS = cmp diff"))
+ #t))))))))
+
+(define binutils-mesboot0
+ (package-with-bootstrap-guile
+ (package
+ (inherit binutils)
+ (name "binutils-mesboot0")
+ (version "2.20.1a")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/binutils/binutils-"
+ version ".tar.bz2"))
+ (patches (search-patches "binutils-boot-2.20.1a.patch"))
+ (sha256
+ (base32
+ "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi"))))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("tcc" ,tcc-boot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("make" ,make-mesboot0)))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:tests? #f ; runtest: command not found
+ #:parallel-build? #f
+ #:strip-binaries? #f ; no strip yet
+ #:configure-flags
+ (let ((cppflags (string-append " -D __GLIBC_MINOR__=6"
+ " -D MES_BOOTSTRAP=1"))
+ (bash (assoc-ref %build-inputs "bash")))
+ `(,(string-append "CONFIG_SHELL=" bash "/bin/sh")
+ ,(string-append "CPPFLAGS=" cppflags)
+ "AR=tcc -ar"
+ "CXX=false"
+ "RANLIB=true"
+ ,(string-append "CC=tcc" cppflags)
+ "--disable-nls"
+ "--disable-shared"
+ "--disable-werror"
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+ "--with-sysroot=/")))))))
+
+(define gcc-core-mesboot
+ ;; Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C
+ ;; Library v0.16 offers. Gcc-3.x (and 4.x) place higher demands on a C
+ ;; library, such as dir.h/struct DIR/readdir, locales, signals... Also,
+ ;; with gcc-2.95.3, binutils-boot-2.20.1a and glibc-2.2.5 we found a GNU
+ ;; toolchain triplet "that works".
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc)
+ (name "gcc-core-mesboot")
+ (version "2.95.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-"
+ version
+ ".tar.gz"))
+ (patches (search-patches "gcc-boot-2.95.3.patch"))
+ (sha256
+ (base32
+ "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an"))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("binutils" ,binutils-mesboot0)
+ ("tcc" ,tcc-boot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("make" ,make-mesboot0)))
+ (outputs '("out"))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:tests? #f
+ #:parallel-build? #f
+ #:strip-binaries? #f
+ #:configure-flags
+ (let ((out (assoc-ref %outputs "out")))
+ `("--enable-static"
+ "--disable-shared"
+ "--disable-werror"
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+ ,(string-append "--prefix=" out)))
+ #:make-flags (list
+ "CC=tcc -static -D __GLIBC_MINOR__=6"
+ "OLDCC=tcc -static -D __GLIBC_MINOR__=6"
+ "CC_FOR_BUILD=tcc -static -D __GLIBC_MINOR__=6"
+ "AR=ar"
+ "RANLIB=ranlib"
+ (string-append "LIBGCC2_INCLUDES=-I "
+ (assoc-ref %build-inputs "tcc")
+ "/include")
+ "LANGUAGES=c"
+ (string-append "BOOT_LDFLAGS="
+ " -B" (assoc-ref %build-inputs "tcc")
+ "/lib/"))
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ ;; gcc-2.95.3 needs more traditional configure
+ (add-before 'configure 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (tcc (assoc-ref %build-inputs "tcc"))
+ (cppflags " -D __GLIBC_MINOR__=6"))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "CPPFLAGS" cppflags)
+ (setenv "CC" (string-append "tcc" cppflags))
+ (setenv "CC_FOR_BUILD" (string-append "tcc" cppflags))
+ (setenv "CPP" (string-append "tcc -E" cppflags))
+ (with-output-to-file "config.cache"
+ (lambda _
+ (display "
+ac_cv_c_float_format='IEEE (little-endian)'
+")))
+ #t)))
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (format (current-error-port)
+ "running ./configure ~a\n" (string-join configure-flags))
+ (apply invoke "./configure" configure-flags)))
+ (add-after 'configure 'remove-info
+ (lambda _
+ ;; no info at this stage
+ (delete-file-recursively "texinfo")
+ (invoke "touch" "gcc/cpp.info" "gcc/gcc.info")))
+ (add-after 'install 'install2
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((tcc (assoc-ref %build-inputs "tcc"))
+ (tcc-lib (string-append tcc "/lib/x86-mes-gcc"))
+ (out (assoc-ref outputs "out"))
+ (gcc-dir (string-append
+ out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3")))
+ (mkdir-p "tmp")
+ (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a")))
+ (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o")))
+ (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a"))
+ (copy-file (string-append tcc "/lib/libtcc1.a")
+ (string-append out "/lib/libtcc1.a"))
+ (invoke "ar" "r" (string-append gcc-dir "/libc.a")
+ (string-append tcc-lib "/libc+gnu.o")
+ (string-append tcc-lib "/libtcc1.o"))
+ (invoke "ar" "r" (string-append out "/lib/libc.a")
+ (string-append tcc-lib "/libc+gnu.o")
+ (string-append tcc-lib "/libtcc1.o"))
+ (invoke "ls" "-ltrF" gcc-dir)
+ (copy-recursively (string-append tcc "/include")
+ (string-append out "/include"))
+ #t))))))
+ (native-search-paths
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("include" "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib"))))))))
+
+(define mesboot-headers
+ (package-with-bootstrap-guile
+ (package
+ (inherit mes-boot)
+ (name "mesboot-headers")
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("coreutils" ,%bootstrap-coreutils&co)
+ ("headers" ,%bootstrap-linux-libre-headers)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:tests? #f
+ #:strip-binaries? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (include (string-append out "/include"))
+ (headers (assoc-ref %build-inputs "headers" )))
+ (mkdir-p include)
+ (copy-recursively "include" out)
+ (copy-recursively headers out)
+ #t))))))
+ (native-search-paths
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("include"))))))))
+
+(define glibc-mesboot0
+ ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
+ ;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
+ ;; gcc.
+ (package-with-bootstrap-guile
+ (package
+ (inherit glibc)
+ (name "glibc-mesboot0")
+ (version "2.2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/glibc/glibc-"
+ version
+ ".tar.gz"))
+ (patches (search-patches "glibc-boot-2.2.5.patch"))
+ (sha256
+ (base32
+ "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs `(("binutils" ,binutils-mesboot0)
+ ("gcc" ,gcc-core-mesboot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("headers" ,mesboot-headers)
+ ("make" ,make-mesboot0)))
+ (outputs '("out"))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:tests? #f
+ #:strip-binaries? #f
+ #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds
+ #:make-flags (list (string-append
+ "SHELL="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
+ #:configure-flags
+ (let ((out (assoc-ref %outputs "out"))
+ (headers (assoc-ref %build-inputs "headers")))
+ (list
+ "--disable-shared"
+ "--enable-static"
+ "--disable-sanity-checks"
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+ (string-append "--with-headers=" headers "/include")
+ "--enable-static-nss"
+ "--without-__thread"
+ "--without-cvs"
+ "--without-gd"
+ "--without-tls"
+ (string-append "--prefix=" out)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (headers (assoc-ref %build-inputs "headers"))
+ (cppflags (string-append
+ ;;" -D __STDC__=1"
+ " -D MES_BOOTSTRAP=1"
+ " -D BOOTSTRAP_GLIBC=1"))
+ (cflags (string-append " -L " (getcwd))))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "SHELL" (getenv "CONFIG_SHELL"))
+ (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
+ (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags))
+ #t)))
+ ;; glibc-2.2.5 needs a more classic invocation of configure
+ ;; configure: warning: CONFIG_SHELL=/gnu/store/…-bash-minimal-4.4.12/bin/bash: invalid host type
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (format (current-error-port)
+ "running ./configure ~a\n" (string-join configure-flags))
+ (apply invoke "./configure" configure-flags))))))
+ (native-search-paths
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib"))))))))
+
+(define gcc-mesboot0
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-core-mesboot)
+ (name "gcc-mesboot0")
+ (native-inputs `(("binutils" ,binutils-mesboot0)
+ ("gcc" ,gcc-core-mesboot)
+ ("libc" ,glibc-mesboot0)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot0)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gcc-core-mesboot)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (glibc (assoc-ref %build-inputs "libc"))
+ (kernel-headers (assoc-ref %build-inputs "kernel-headers")))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
+ (setenv "C_INCLUDE_PATH" (string-append
+ gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"
+ ":" kernel-headers "/include"
+ ":" glibc "/include"))
+ (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
+ (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
+ ;; FIXME: add glibc dirs to paths manually
+ (setenv "LIBRARY_PATH" (string-join
+ (list (string-append glibc "/lib")
+ (getenv "LIBRARY_PATH"))
+ ":"))
+ (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
+ (with-output-to-file "config.cache"
+ (lambda _
+ (display "
+ac_cv_c_float_format='IEEE (little-endian)'
+")))
+ #t)))
+ (replace 'install2
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (gcc-dir (string-append
+ out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3")))
+ (mkdir-p "tmp")
+ (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a")))
+ (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o")))
+ (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a"))
+ #t)))))
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out")))
+ `("--disable-shared"
+ "--disable-werror"
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+ ,(string-append "--prefix=" out))))
+ ((#:make-flags make-flags)
+ `(let ((gcc (assoc-ref %build-inputs "gcc")))
+ `("RANLIB=true"
+ ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include")
+ "LANGUAGES=c"))))))))
+
+(define binutils-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit binutils-mesboot0)
+ (name "binutils-mesboot")
+ (native-inputs `(("binutils" ,binutils-mesboot0)
+ ("libc" ,glibc-mesboot0)
+ ("gcc" ,gcc-mesboot0)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot0)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments binutils-mesboot0)
+ ((#:configure-flags configure-flags)
+ '(list "--disable-nls"
+ "--disable-shared"
+ "--disable-werror"
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+ "--with-sysroot=/")))))))
+
+(define make-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit make-mesboot0)
+ (name "make-mesboot")
+ (version "3.82")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/make/make-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x"))))
+ (native-inputs `(("binutils" ,binutils-mesboot0)
+ ("libc" ,glibc-mesboot0)
+ ("gcc" ,gcc-mesboot0)
+ ("make" ,make-mesboot0)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments make-mesboot0)
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out")))
+ `(,(string-append "--prefix=" out))))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'configure-fixup)
+ (add-before 'configure 'setenv
+ (lambda _
+ (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv")
+ #t)))))))))
+
+(define gmp-boot
+ (package
+ (inherit gmp)
+ (version "4.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gmp/gmp-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv"))))))
+
+(define mpfr-boot
+ (package
+ (inherit mpfr)
+ (version "2.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mpfr/mpfr-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94"))))))
+
+(define mpc-boot
+ (package
+ (inherit mpc)
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnu/mpc/mpc-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1"))))))
+
+(define gcc-mesboot1
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot0)
+ (name "gcc-mesboot1")
+ (version "4.7.4")
+ (source (origin (inherit (package-source gcc-4.7))
+ (patches (search-patches "gcc-boot-4.7.4.patch"))))
+ (inputs `(("gmp-source" ,(package-source gmp-boot))
+ ("mpfr-source" ,(package-source mpfr-boot))
+ ("mpc-source" ,(package-source mpc-boot))))
+ (native-inputs `(("binutils" ,binutils-mesboot)
+ ("gcc" ,gcc-mesboot0)
+ ("libc" ,glibc-mesboot0)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gcc-core-mesboot)
+ ((#:make-flags make-flags)
+ `(let* ((libc (assoc-ref %build-inputs "libc"))
+ (ldflags (string-append
+ "-B" libc "/lib "
+ "-Wl,-dynamic-linker "
+ "-Wl," libc
+ ,(glibc-dynamic-linker "i686-linux"))))
+ (list (string-append "LDFLAGS=" ldflags)
+ (string-append "LDFLAGS_FOR_TARGET=" ldflags))))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; c&p from commencement.scm:gcc-boot0
+ (add-after 'unpack 'unpack-gmp&co
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmp (assoc-ref %build-inputs "gmp-source"))
+ (mpfr (assoc-ref %build-inputs "mpfr-source"))
+ (mpc (assoc-ref %build-inputs "mpc-source")))
+
+ ;; To reduce the set of pre-built bootstrap inputs, build
+ ;; GMP & co. from GCC.
+ (for-each (lambda (source)
+ (or (invoke "tar" "xvf" source)
+ (error "failed to unpack tarball"
+ source)))
+ (list gmp mpfr mpc))
+
+ ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
+ ,@(map (lambda (lib)
+ ;; Drop trailing letters, as gmp-6.0.0a unpacks
+ ;; into gmp-6.0.0.
+ `(symlink ,(string-trim-right
+ (package-full-name lib "-")
+ char-set:letter)
+ ,(package-name lib)))
+ (list gmp-boot mpfr-boot mpc-boot))
+ #t)))
+ (delete 'remove-info)
+ (replace 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (binutils (assoc-ref %build-inputs "binutils"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (glibc (assoc-ref %build-inputs "libc"))
+ (kernel-headers (assoc-ref %build-inputs "kernel-headers")))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "C_INCLUDE_PATH" (string-append
+ gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"
+ ":" kernel-headers "/include"
+ ":" glibc "/include"
+ ":" (getcwd) "/mpfr/src"))
+ (setenv "LIBRARY_PATH" (string-append glibc "/lib"
+ ":" gcc "/lib"))
+ (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
+ (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
+ #t)))
+ (delete 'install2)))
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out"))
+ (glibc (assoc-ref %build-inputs "libc")))
+ (list (string-append "--prefix=" out)
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+
+ (string-append "--with-native-system-header-dir=" glibc "/include")
+ (string-append "--with-build-sysroot=" glibc "/include")
+
+ "--disable-bootstrap"
+ "--disable-decimal-float"
+ "--disable-libatomic"
+ "--disable-libcilkrts"
+ "--disable-libgomp"
+ "--disable-libitm"
+ "--disable-libmudflap"
+ "--disable-libquadmath"
+ "--disable-libsanitizer"
+ "--disable-libssp"
+ "--disable-libvtv"
+ "--disable-lto"
+ "--disable-lto-plugin"
+ "--disable-multilib"
+ "--disable-plugin"
+ "--disable-threads"
+ "--enable-languages=c,c++"
+
+ "--enable-static"
+ ;; libstdc++.so: error: depends on 'libgcc_s.so.1', which cannot be found in RUNPATH ()
+ "--disable-shared"
+ "--enable-threads=single"
+
+ ;; No pre-compiled libstdc++ headers, to save space.
+ "--disable-libstdcxx-pch"
+
+ ;; for libcpp ...
+ "--disable-build-with-cxx"))))))))
+
+(define gcc-mesboot1-wrapper
+ ;; We need this so gcc-mesboot1 can be used to create shared binaries that
+ ;; have the correct interpreter, otherwise configuring gcc-mesboot using
+ ;; --enable-shared will fail.
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot1)
+ (name "gcc-mesboot1-wrapper")
+ (source #f)
+ (inputs '())
+ (native-inputs `(("bash" ,%bootstrap-coreutils&co)
+ ("libc" ,glibc-mesboot)
+ ("gcc" ,gcc-mesboot1)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'unpack)
+ (delete 'configure)
+ (delete 'install)
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (bin (string-append out "/bin")))
+ (mkdir-p bin)
+ (for-each
+ (lambda (program)
+ (let ((wrapper (string-append bin "/" program)))
+ (with-output-to-file wrapper
+ (lambda _
+ (display (string-append "#! " bash "/bin/bash
+exec " gcc "/bin/" program
+" -Wl,--dynamic-linker"
+;; also for x86_64-linux, we are still on i686-linux
+" -Wl," libc ,(glibc-dynamic-linker "i686-linux")
+" -Wl,--rpath"
+" -Wl," libc "/lib"
+" \"$@\"
+"))
+ (chmod wrapper #o555)))))
+ '(
+ "gcc"
+ "g++"
+ "i686-unknown-linux-gnu-gcc"
+ "i686-unknown-linux-gnu-g++"
+ ))
+ #t)))
+ (replace 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (program (string-append bin "/gcc")))
+ (invoke program "--help"))))))))))
+
+(define glibc-headers-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit glibc-mesboot0)
+ (name "glibc-headers-mesboot")
+ (version "2.16.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/glibc/glibc-"
+ version
+ ".tar.gz"))
+ (patches (search-patches "glibc-boot-2.16.0.patch"
+ "glibc-bootstrap-system-2.16.0.patch"))
+ (sha256
+ (base32
+ "0vlz4x6cgz7h54qq4528q526qlhnsjzbsvgc4iizn76cb0bfanx7"))))
+ (native-inputs `(("binutils" ,binutils-mesboot)
+ ("libc" ,glibc-mesboot0)
+ ("gcc" ,gcc-mesboot1)
+ ("headers" ,mesboot-headers)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot)))
+
+ (arguments
+ (substitute-keyword-arguments (package-arguments glibc-mesboot0)
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out"))
+ (headers (assoc-ref %build-inputs "headers")))
+ (list
+ (string-append "--prefix=" out)
+ "--disable-obsolete-rpc"
+ "--host=i686-unknown-linux-gnu"
+ (string-append "--with-headers=" headers "/include")
+ "--enable-static-nss"
+ "--with-pthread"
+ "--without-cvs"
+ "--without-gd"
+ "--enable-add-ons=nptl")))
+ ((#:make-flags make-flags)
+ `(let ((bash (assoc-ref %build-inputs "bash")))
+ (list (string-append "SHELL=" bash "/bin/sh")
+ "install-bootstrap-headers=yes" "install-headers")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (headers (assoc-ref %build-inputs "headers"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (coreutils (assoc-ref %build-inputs "coreutils"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (cppflags (string-append
+ " -I " (getcwd) "/nptl/sysdeps/pthread/bits"
+ " -D BOOTSTRAP_GLIBC=1"))
+ (cflags (string-append " -L " (getcwd)
+ " -L " libc "/lib")))
+ (setenv "libc_cv_friendly_stddef" "yes")
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "SHELL" (getenv "CONFIG_SHELL"))
+ (format (current-error-port) "CONFIG_SHELL=~s\n" (getenv "CONFIG_SHELL"))
+
+ (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
+ (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags))
+
+ ;; avoid -fstack-protector
+ (setenv "libc_cv_ssp" "false")
+ (substitute* "configure"
+ (("/bin/pwd") (string-append coreutils "/bin/pwd")))
+ (setenv "C_INCLUDE_PATH" (string-append libc "/include"
+ headers "/include"))
+ (setenv "LIBRARY_PATH" (string-append libc "/lib"))
+ #t)))
+ (replace 'install
+ (lambda* (#:key outputs make-flags #:allow-other-keys)
+ (let ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
+ (out (assoc-ref outputs "out")))
+ (apply invoke "make" make-flags)
+ (copy-recursively kernel-headers out)
+ #t)))
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (format (current-error-port) "running ../configure ~a\n" (string-join configure-flags))
+ (mkdir-p "build")
+ (chdir "build")
+ (apply invoke "../configure" configure-flags)))
+ (add-after 'configure 'remove-sunrpc
+ (lambda _
+ (invoke "make" (string-append (getcwd) "/sysd-sorted" )
+ (string-append "SHELL=" (getenv "CONFIG_SHELL")))
+ (substitute* "sysd-sorted"
+ ((" sunrpc") " ")
+ ((" nis") " "))
+ ;; 'rpcgen' needs native libc headers to be built.
+ (substitute* "../Makefile"
+ (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL"))))
+ (substitute* "../Makeconfig"
+ (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL"))))
+ (substitute* "../elf/Makefile"
+ (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))))))))))))
+
+(define glibc-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit glibc-headers-mesboot)
+ (name "glibc-mesboot")
+ (native-inputs `(("binutils" ,binutils-mesboot)
+ ("libc" ,glibc-mesboot0)
+ ("headers" ,glibc-headers-mesboot)
+ ("gcc" ,gcc-mesboot1)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot)))
+
+ (arguments
+ `(#:validate-runpath? #f ; fails when using --enable-shared
+ ,@(substitute-keyword-arguments (package-arguments glibc-headers-mesboot)
+ ((#:make-flags make-flags)
+ `(let ((bash (assoc-ref %build-inputs "bash")))
+ (list (string-append "SHELL=" bash "/bin/sh"))))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'install
+ (lambda* (#:key outputs make-flags #:allow-other-keys)
+ (let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
+ (out (assoc-ref outputs "out"))
+ (install-flags (cons "install" make-flags)))
+ (apply invoke "make" install-flags)
+ (copy-recursively kernel-headers out)
+ #t))))))))
+ (native-search-paths ;; FIXME: move to glibc-mesboot0
+ ;; Use the language-specific variables rather than 'CPATH' because they
+ ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+ ;; The intent is to allow headers that are in the search path to be
+ ;; treated as "system headers" (headers exempt from warnings) just like
+ ;; the typical /usr/include headers on an FHS system.
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib"))))))))
+
+(define gcc-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot1)
+ (name "gcc-mesboot")
+ (version "4.9.4")
+ (source (package-source gcc-4.9))
+ (native-inputs `(("binutils" ,binutils-mesboot)
+ ("gcc-wrapper" ,gcc-mesboot1-wrapper)
+ ("gcc" ,gcc-mesboot1)
+ ("libc" ,glibc-mesboot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot)))
+ (arguments
+ `(#:validate-runpath? #f
+ ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1)
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out"))
+ (glibc (assoc-ref %build-inputs "libc")))
+ (list (string-append "--prefix=" out)
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+
+ "--with-host-libstdcxx=-lsupc++"
+
+ (string-append "--with-native-system-header-dir=" glibc "/include")
+ (string-append "--with-build-sysroot=" glibc "/include")
+
+ "--disable-bootstrap"
+ "--disable-decimal-float"
+ "--disable-libatomic"
+ "--disable-libcilkrts"
+ "--disable-libgomp"
+ "--disable-libitm"
+ "--disable-libmudflap"
+ "--disable-libquadmath"
+ "--disable-libsanitizer"
+ "--disable-libssp"
+ "--disable-libvtv"
+ "--disable-lto"
+ "--disable-lto-plugin"
+ "--disable-multilib"
+ "--disable-plugin"
+ "--disable-threads"
+ "--enable-languages=c,c++"
+
+ "--enable-static"
+ "--enable-shared"
+ "--enable-threads=single"
+
+ ;; No pre-compiled libstdc++ headers, to save space.
+ "--disable-libstdcxx-pch"
+
+ ;; for libcpp ...
+ "--disable-build-with-cxx")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (binutils (assoc-ref %build-inputs "binutils"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (glibc (assoc-ref %build-inputs "libc"))
+ (kernel-headers (assoc-ref %build-inputs "kernel-headers")))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "C_INCLUDE_PATH" (string-append
+ gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include"
+ ":" kernel-headers "/include"
+ ":" glibc "/include"
+ ":" (getcwd) "/mpfr/src"))
+ (setenv "CPLUS_INCLUDE_PATH" (string-append
+ gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include"
+ ":" kernel-headers "/include"
+ ":" glibc "/include"
+ ":" (getcwd) "/mpfr/src"))
+ (setenv "LIBRARY_PATH" (string-append glibc "/lib"
+ ":" gcc "/lib"))
+ (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
+ (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH"))
+ (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
+ #t)))))))))))
+
+(define gcc-mesboot-wrapper
+ ;; We need this so gcc-mesboot can be used to create shared binaries that
+ ;; have the correct interpreter and runpath to libc.
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot1-wrapper)
+ (name "gcc-mesboot-wrapper")
+ (version (package-version gcc-mesboot))
+ (source #f)
+ (inputs '())
+ (native-inputs `(("bash" ,%bootstrap-coreutils&co)
+ ("libc" ,glibc-mesboot)
+ ("gcc" ,gcc-mesboot))))))
+
+(define m4-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit m4)
+ (name "m4-mesboot")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/m4/m4-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1f9bxj176kf3pvs350w2dfs8jgwhminywri5pyn01b11yc4yhsjw"))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (native-inputs `(("mes" ,mes-boot)
+ ("tcc" ,tcc-boot)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CONFIG_SHELL" (string-append
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
+ (setenv "CC" "tcc -static")
+ (setenv "CPP" "tcc -E")
+ (invoke "./configure" (string-append "--prefix=" out)))))))))))
+
+(define (%bootstrap-inputs+toolchain)
+ ;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed
+ ;; the actual reduced set with bootstrapped toolchain.
+ (match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ `(("libc" ,glibc-mesboot)
+ ("binutils" ,binutils-mesboot)
+ ("gcc-wrapper" ,gcc-mesboot-wrapper)
+ ("gcc" ,gcc-mesboot)
+ ,@(fold alist-delete (%bootstrap-inputs)
+ '("bootstrap-mescc-tools" "mes"))))
+ (_
+ (%bootstrap-inputs))))
+
(define gnu-make-boot0
(package-with-bootstrap-guile
(package (inherit gnu-make)
@@ -92,8 +1421,7 @@
`(modify-phases ,phases
(replace 'build
(lambda _
- (invoke "./build.sh")
- #t))
+ (invoke "./build.sh")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -101,16 +1429,18 @@
(install-file "make" bin)
#t))))))))
(native-inputs '()) ; no need for 'pkg-config'
- (inputs %bootstrap-inputs))))
+ (inputs (%bootstrap-inputs+toolchain)))))
(define diffutils-boot0
(package-with-bootstrap-guile
(let ((p (package-with-explicit-inputs diffutils
- `(("make" ,gnu-make-boot0)
- ,@%bootstrap-inputs)
+ (lambda _
+ `(("make" ,gnu-make-boot0)
+ ,@(%bootstrap-inputs+toolchain)))
#:guile %bootstrap-guile)))
(package (inherit p)
(name "diffutils-boot0")
+ (native-inputs `())
(arguments `(#:tests? #f ; the test suite needs diffutils
,@(package-arguments p)))))))
@@ -119,9 +1449,10 @@
(package-with-explicit-inputs (package
(inherit findutils)
(name "findutils-boot0"))
- `(("make" ,gnu-make-boot0)
- ("diffutils" ,diffutils-boot0) ; for tests
- ,@%bootstrap-inputs)
+ (lambda _
+ `(("make" ,gnu-make-boot0)
+ ("diffutils" ,diffutils-boot0) ; for tests
+ ,@(%bootstrap-inputs+toolchain)))
(current-source-location)
#:guile %bootstrap-guile)))
@@ -129,19 +1460,22 @@
(package-with-bootstrap-guile
(package-with-explicit-inputs (package
(inherit file)
- (name "file-boot0"))
- `(("make" ,gnu-make-boot0)
- ,@%bootstrap-inputs)
+ (name "file-boot0")
+ (arguments
+ '(#:strip-binaries? #f
+ #:validate-runpath? #f)))
+ (lambda _
+ `(("make" ,gnu-make-boot0)
+ ,@(%bootstrap-inputs+toolchain)))
(current-source-location)
#:guile %bootstrap-guile)))
-
-(define %boot0-inputs
+(define (%boot0-inputs)
`(("make" ,gnu-make-boot0)
("diffutils" ,diffutils-boot0)
("findutils" ,findutils-boot0)
("file" ,file-boot0)
- ,@%bootstrap-inputs))
+ ,@(%bootstrap-inputs+toolchain)))
(define* (boot-triplet #:optional (system (%current-system)))
;; Return the triplet used to create the cross toolchain needed in the
@@ -150,8 +1484,9 @@
;; Following Linux From Scratch, build a cross-toolchain in stage 0. That
;; toolchain actually targets the same OS and arch, but it has the advantage
-;; of being independent of the libc and tools in %BOOTSTRAP-INPUTS, since
-;; GCC-BOOT0 (below) is built without any reference to the target libc.
+;; of being independent of the libc and tools in
+;; (%BOOTSTRAP-INPUTS+TOOLCHAIN), since GCC-BOOT0 (below) is built without any
+;; reference to the target libc.
(define binutils-boot0
(package-with-bootstrap-guile
@@ -185,27 +1520,14 @@
((#:configure-flags cf)
`(cons ,(string-append "--target=" (boot-triplet))
,cf)))))
- (inputs %boot0-inputs))))
-
-;; Use a "fixed" package source for this early libstdc++ variant so we can
-;; update GCC 4.9 without triggering a full rebuild.
-(define gcc-for-libstdc++
- (package
- (inherit gcc-4.9)
- (source (origin
- (inherit (package-source gcc-4.9))
- (patches (search-patches "gcc-4.9-libsanitizer-fix.patch"
- "gcc-arm-bug-71399.patch"
- "gcc-asan-missing-include.patch"
- "gcc-libvtv-runpath.patch"
- "gcc-fix-texi2pod.patch"))))))
+ (inputs (%boot0-inputs)))))
(define libstdc++-boot0
;; GCC's libcc1 is always built as a shared library (the top-level
;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on
;; C++14 features missing in some of our bootstrap compilers.
- (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-for-libstdc++))))
+ (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9))))
(package
(inherit lib)
(name "libstdc++-boot0")
@@ -216,8 +1538,20 @@
;; XXX: libstdc++.so NEEDs ld.so for some reason.
#:validate-runpath? #f
- ,@(package-arguments lib)))
- (inputs %boot0-inputs)
+ ,@(match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ (substitute-keyword-arguments (package-arguments lib)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'workaround-wrapper-bug
+ ;; XXX: The crude gcc-cross-wrapper causes "g++ -v" to
+ ;; fail, which in turn confuses the configure script.
+ (lambda _
+ (substitute* "libstdc++-v3/configure"
+ (("g\\+\\+ -v") "true"))
+ #t))))))
+ (_ (package-arguments lib)))))
+ (inputs (%boot0-inputs))
(native-inputs '()))))
(define gcc-boot0
@@ -254,6 +1588,7 @@
"--disable-libsanitizer"
"--disable-libitm"
"--disable-libgomp"
+ "--disable-libmpx"
"--disable-libcilkrts"
"--disable-libvtv"
"--disable-libssp"
@@ -262,6 +1597,17 @@
(remove (cut string-match
"--(with-system-zlib|enable-languages.*)" <>)
,flags)))
+ ((#:make-flags flags)
+ `(let* ((libc (assoc-ref %build-inputs "libc"))
+ (libc-native (or (assoc-ref %build-inputs "libc-native")
+ libc)))
+ `(,(string-append "LDFLAGS="
+ "-Wl,-rpath=" libc-native "/lib "
+ "-Wl,-dynamic-linker "
+ "-Wl," libc-native ,(glibc-dynamic-linker
+ (match (%current-system)
+ ("x86_64-linux" "i686-linux")
+ (_ (%current-system))))))))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'unpack-gmp&co
@@ -286,6 +1632,22 @@
,(package-name lib)))
(list gmp-6.0 mpfr mpc))
#t)))
+ ,(match (%current-system)
+ ((or "i686-linux" "x86_64-linux")
+ '(add-before 'configure 'fix-libcc1
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; libcc1.so NEEDs libgcc_s.so, so provide one here
+ ;; to placate the 'validate-runpath' phase.
+ (substitute* "libcc1/Makefile.in"
+ (("la_LDFLAGS =")
+ (string-append "la_LDFLAGS = -Wl,-rpath="
+ (assoc-ref inputs "gcc") "/lib")))
+ ;; XXX: "g++ -v" is broken (see also libstdc++ above).
+ (substitute* "libcc1/configure"
+ (("g\\+\\+ -v") "true"))
+ #t)))
+ (_ '(add-before 'configure 'return-true
+ (lambda _ #t))))
(add-after 'install 'symlink-libgcc_eh
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib")))
@@ -308,8 +1670,8 @@
;; Call it differently so that the builder can check whether
;; the "libc" input is #f.
- ("libc-native" ,@(assoc-ref %boot0-inputs "libc"))
- ,@(alist-delete "libc" %boot0-inputs)))
+ ("libc-native" ,@(assoc-ref (%boot0-inputs) "libc"))
+ ,@(alist-delete "libc" (%boot0-inputs))))
;; No need for the native-inputs to build the documentation at this stage.
(native-inputs `()))))
@@ -320,47 +1682,72 @@
(name "perl-boot0")
(arguments
;; At the very least, this must not depend on GCC & co.
- (let ((args `(#:disallowed-references
+ (let ((args `(#:validate-runpath? #f
+ #:disallowed-references
,(list %bootstrap-binutils))))
- (substitute-keyword-arguments (package-arguments perl)
- ((#:phases phases)
- `(modify-phases ,phases
- ;; Pthread support is missing in the bootstrap compiler
- ;; (broken spec file), so disable it.
- (add-before 'configure 'disable-pthreads
- (lambda _
- (substitute* "Configure"
- (("^libswanted=(.*)pthread" _ before)
- (string-append "libswanted=" before)))
- #t))))
- ;; Do not configure with '-Dusethreads' since pthread
- ;; support is missing.
- ((#:configure-flags configure-flags)
- `(delete "-Dusethreads" ,configure-flags))))))))
+ `(,@args
+ ,@(substitute-keyword-arguments (package-arguments perl)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; Pthread support is missing in the bootstrap compiler
+ ;; (broken spec file), so disable it.
+ (add-before 'configure 'disable-pthreads
+ (lambda _
+ (substitute* "Configure"
+ (("^libswanted=(.*)pthread" _ before)
+ (string-append "libswanted=" before)))
+ #t))))
+ ;; Do not configure with '-Dusethreads' since pthread
+ ;; support is missing.
+ ((#:configure-flags configure-flags)
+ `(delete "-Dusethreads" ,configure-flags)))))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs perl
%boot0-inputs
(current-source-location)
#:guile %bootstrap-guile))))
+(define m4-boot0
+ (package-with-bootstrap-guile
+ (package
+ (inherit m4)
+ (name "m4-boot0")
+ (inputs (%boot0-inputs))
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:implicit-inputs? #f
+ ,@(package-arguments m4))))))
+
(define bison-boot0
;; This Bison is needed to build MiG so we need it early in the process.
- ;; It is also needed to rebuild Bash's parser, which is modified by
- ;; its CVE patches. Remove it when it's no longer needed.
- (let* ((m4 (package-with-bootstrap-guile
- (package-with-explicit-inputs m4 %boot0-inputs
- (current-source-location)
- #:guile %bootstrap-guile)))
- (bison (package (inherit bison)
+ ;; Recent versions of Linux-Libre headers also depend on this.
+ (let* ((bison (package (inherit bison)
(propagated-inputs `(("m4" ,m4)))
(inputs '()) ;remove Flex...
(arguments
- '(#:tests? #f ;... and thus disable tests
+ `(#:tests? #f ;... and thus disable tests
+
+ ;; XXX: These flags should be unconditional, but for now
+ ;; we just add them on x86 to avoid a full rebuild.
+ ;; TODO: On the next core-updates, use
+ ;; 'substitute-keyword-arguments' to inherit them from
+ ;; BISON.
+ ,@(if (member (%current-system)
+ '("x86_64-linux" "i686-linux"))
+ '(#:parallel-build? #f
+ #:parallel-tests? #f)
+ '())
;; Zero timestamps in liby.a; this must be done
;; explicitly here because the bootstrap Binutils don't
;; do that (default is "cru".)
- #:make-flags '("ARFLAGS=crD" "RANLIB=ranlib -D"
+ #:make-flags `("ARFLAGS=crD"
+ ,,(match (%current-system)
+ ;; ranlib: '-D': No such file
+ ((or "i686-linux" "x86_64-linux")
+ "RANLIB=ranlib")
+ (_
+ "RANLIB=ranlib -D"))
"V=1"))))))
(package
(inherit (package-with-bootstrap-guile
@@ -370,11 +1757,11 @@
(native-inputs `(("perl" ,perl-boot0))))))
(define flex-boot0
- ;; This Flex is needed to build MiG.
+ ;; This Flex is needed to build MiG as well as Linux-Libre headers.
(let* ((flex (package (inherit flex)
(native-inputs `(("bison" ,bison-boot0)))
(propagated-inputs `(("m4" ,m4)))
- (inputs `(("indent" ,indent)))
+ (inputs '())
(arguments '(#:tests? #f)))))
(package-with-bootstrap-guile
(package-with-explicit-inputs flex %boot0-inputs
@@ -395,12 +1782,16 @@
,@(package-arguments linux-libre-headers)))
(native-inputs
`(("perl" ,perl-boot0)
- ,@%boot0-inputs))))))
+
+ ;; Flex and Bison are required since version 4.16.
+ ("flex" ,flex-boot0)
+ ("bison" ,bison-boot0)
+ ,@(%boot0-inputs)))))))
(define gnumach-headers-boot0
(package-with-bootstrap-guile
(package-with-explicit-inputs gnumach-headers
- %boot0-inputs
+ (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile)))
@@ -414,7 +1805,7 @@
`(,(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %build-inputs "flex") "/lib/")))))))
(package-with-bootstrap-guile
- (package-with-explicit-inputs mig %boot0-inputs
+ (package-with-explicit-inputs mig (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
@@ -423,7 +1814,7 @@
(native-inputs `(("mig" ,mig-boot0)))
(inputs '()))))
(package-with-bootstrap-guile
- (package-with-explicit-inputs hurd-headers %boot0-inputs
+ (package-with-explicit-inputs hurd-headers (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
@@ -432,7 +1823,7 @@
(native-inputs `(("mig" ,mig-boot0)))
(inputs '()))))
(package-with-bootstrap-guile
- (package-with-explicit-inputs hurd-minimal %boot0-inputs
+ (package-with-explicit-inputs hurd-minimal (%boot0-inputs)
(current-source-location)
#:guile %bootstrap-guile))))
@@ -448,7 +1839,7 @@ the bootstrap environment."
`(("gnumach-headers" ,gnumach-headers-boot0)
("hurd-headers" ,hurd-headers-boot0)
("hurd-minimal" ,hurd-minimal-boot0)
- ,@%boot0-inputs))))))
+ ,@(%boot0-inputs)))))))
(define* (kernel-headers-boot0 #:optional (system (%current-system)))
(match system
@@ -459,7 +1850,7 @@ the bootstrap environment."
;; Texinfo used to build libc's manual.
;; We build without ncurses because it fails to build at this stage, and
;; because we don't need the stand-alone Info reader.
- ;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
+ ;; Also, use (%BOOT0-INPUTS) to avoid building Perl once more.
(let ((texinfo (package (inherit texinfo)
(native-inputs '())
(inputs `(("perl" ,perl-boot0)))
@@ -473,21 +1864,85 @@ the bootstrap environment."
(current-source-location)
#:guile %bootstrap-guile))))
-(define ld-wrapper-boot0
+(define expat-sans-tests
+ (package
+ (inherit expat)
+ (arguments
+ ;; XXX: Linking 'runtestscpp' fails with things like:
+ ;;
+ ;; ld: Dwarf Error: found dwarf version '3789', this reader only handles version 2 and 3 information.
+ ;;
+ ;; Skip tests altogether.
+ (substitute-keyword-arguments (package-arguments expat)
+ ((#:configure-flags flags ''())
+ ;; Since we're not passing the right -Wl,-rpath flags, build the
+ ;; static library to avoid RUNPATH validation failure.
+ `(cons "--disable-shared" ,flags))
+ ((#:tests? _ #f) #f)))))
+
+(define python-boot0
+ (let ((python (package
+ (inherit python-minimal)
+ ;; We cannot use Python 3.7 and later here, because they require
+ ;; pthreads, which is missing on non-x86 platforms at this stage.
+ ;; Python 3.6 technically supports being built without threading
+ ;; support, but requires additional patches.
+ (version "3.5.7")
+ (source (origin
+ (inherit (package-source python))
+ (uri (string-append "https://www.python.org/ftp/python/"
+ version "/Python-" version ".tar.xz"))
+ (patches '())
+ (sha256
+ (base32
+ "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18"))))
+ (inputs
+ `(("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
+ (native-inputs '()) ;and pkg-config
+ (arguments
+ (substitute-keyword-arguments (package-arguments
+ python-minimal)
+ ;; Disable features that cannot be built at this stage.
+ ((#:configure-flags _ ''())
+ `(list "--without-ensurepip"
+ "--without-threads"))
+ ;; Clear #:make-flags, such that changes to the regular
+ ;; Python package won't interfere with this one.
+ ((#:make-flags _ ''()) ''())
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'disable-modules
+ (lambda _
+ (substitute* "setup.py"
+ ;; Disable ctypes, since it requires libffi.
+ (("extensions\\.append\\(ctypes\\)") "")
+ ;; Prevent the 'ossaudiodev' extension from being
+ ;; built, since it requires Linux headers.
+ (("'linux', ") ""))
+ #t))
+ (delete 'set-TZDIR)))
+ ((#:tests? _ #f) #f))))))
+ (package-with-bootstrap-guile
+ (package-with-explicit-inputs python %boot0-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile))))
+
+(define (ld-wrapper-boot0)
;; We need this so binaries on Hurd will have libmachuser and libhurduser
;; in their RUNPATH, otherwise validate-runpath will fail.
(make-ld-wrapper "ld-wrapper-boot0"
#:target boot-triplet
#:binutils binutils-boot0
#:guile %bootstrap-guile
- #:bash (car (assoc-ref %boot0-inputs "bash"))))
+ #:bash (car (assoc-ref (%boot0-inputs) "bash"))
+ #:guile-for-build %bootstrap-guile))
-(define %boot1-inputs
+(define (%boot1-inputs)
;; 2nd stage inputs.
`(("gcc" ,gcc-boot0)
- ("ld-wrapper-cross" ,ld-wrapper-boot0)
+ ("ld-wrapper-cross" ,(ld-wrapper-boot0))
("binutils-cross" ,binutils-boot0)
- ,@(alist-delete "binutils" %boot0-inputs)))
+ ,@(alist-delete "binutils" (%boot0-inputs))))
(define glibc-final-with-bootstrap-bash
;; The final libc, "cross-built". If everything went well, the resulting
@@ -505,11 +1960,7 @@ the bootstrap environment."
((#:configure-flags flags)
`(append (list ,(string-append "--host=" (boot-triplet))
,(string-append "--build="
- (nix-system->gnu-triplet))
-
- ;; Build Sun/ONC RPC support. In particular,
- ;; install rpc/*.h.
- "--enable-obsolete-rpc")
+ (nix-system->gnu-triplet)))
,flags))
((#:phases phases)
`(modify-phases ,phases
@@ -539,11 +1990,12 @@ the bootstrap environment."
(native-inputs
`(("bison" ,bison-boot0)
("texinfo" ,texinfo-boot0)
- ("perl" ,perl-boot0)))
+ ("perl" ,perl-boot0)
+ ("python" ,python-boot0)))
(inputs
`(;; The boot inputs. That includes the bootstrap libc. We don't want
;; it in $CPATH, hence the 'pre-configure' phase above.
- ,@%boot1-inputs
+ ,@(%boot1-inputs)
;; A native MiG is needed to build Glibc on Hurd.
,@(if (hurd-triplet? (%current-system))
@@ -551,11 +2003,11 @@ the bootstrap environment."
'())
;; A native GCC is needed to build `cross-rpcgen'.
- ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
+ ("native-gcc" ,@(assoc-ref (%boot0-inputs) "gcc"))
;; Here, we use the bootstrap Bash, which is not satisfactory
;; because we don't want to depend on bootstrap tools.
- ("static-bash" ,@(assoc-ref %boot0-inputs "bash")))))))
+ ("static-bash" ,@(assoc-ref (%boot0-inputs) "bash")))))))
(define (cross-gcc-wrapper gcc binutils glibc bash)
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
@@ -610,65 +2062,74 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("bash" ,bash)))
(inputs '())))
+(define (gcc-boot0-intermediate-wrapped)
+ ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
+ ;; non-cross names.
+ (cross-gcc-wrapper gcc-boot0 binutils-boot0
+ glibc-final-with-bootstrap-bash
+ (car (assoc-ref (%boot1-inputs) "bash"))))
+
(define static-bash-for-glibc
;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co.
- (let* ((gcc (cross-gcc-wrapper gcc-boot0 binutils-boot0
- glibc-final-with-bootstrap-bash
- (car (assoc-ref %boot1-inputs "bash"))))
- (bash (package
- (inherit static-bash)
- (arguments
- (substitute-keyword-arguments
- (package-arguments static-bash)
- ((#:guile _ #f)
- '%bootstrap-guile)
- ((#:configure-flags flags '())
- ;; Add a '-L' flag so that the pseudo-cross-ld of
- ;; BINUTILS-BOOT0 can find libc.a.
- `(append ,flags
- (list (string-append "LDFLAGS=-static -L"
- (assoc-ref %build-inputs
- "libc:static")
- "/lib"))))))))
- (inputs `(("gcc" ,gcc)
- ("libc" ,glibc-final-with-bootstrap-bash)
- ("libc:static" ,glibc-final-with-bootstrap-bash "static")
- ,@(fold alist-delete %boot1-inputs
- '("gcc" "libc")))))
+ (let ((bash (package
+ (inherit static-bash)
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments static-bash)
+ ((#:guile _ #f)
+ '%bootstrap-guile)
+ ((#:configure-flags flags '())
+ ;; Add a '-L' flag so that the pseudo-cross-ld of
+ ;; BINUTILS-BOOT0 can find libc.a.
+ `(append ,flags
+ (list (string-append "LDFLAGS=-static -L"
+ (assoc-ref %build-inputs
+ "libc:static")
+ "/lib")))))))))
(package-with-bootstrap-guile
- (package-with-explicit-inputs bash inputs
- (current-source-location)
- #:guile %bootstrap-guile))))
+ (package-with-explicit-inputs
+ bash
+ (lambda _
+ `(("gcc" ,(gcc-boot0-intermediate-wrapped))
+ ("libc" ,glibc-final-with-bootstrap-bash)
+ ("libc:static" ,glibc-final-with-bootstrap-bash "static")
+ ,@(fold alist-delete (%boot1-inputs)
+ '("gcc" "libc"))))
+ (current-source-location)
+ #:guile %bootstrap-guile))))
(define gettext-boot0
;; A minimal gettext used during bootstrap.
(let ((gettext-minimal
(package (inherit gettext-minimal)
(name "gettext-boot0")
+ ;; Newer versions of GNU gettext depends on libxml2 and ncurses. To
+ ;; simplify the dependency chain, we stick to this version here.
+ (version "0.19.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gettext/gettext-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))))
(inputs '()) ;zero dependencies
(arguments
- (substitute-keyword-arguments
- `(#:tests? #f
- ,@(package-arguments gettext-minimal))
- ((#:phases phases)
- `(modify-phases ,phases
- ;; Build only the tools.
- (add-after 'unpack 'chdir
- (lambda _
- (chdir "gettext-tools")
- #t))
+ `(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; Build only the tools.
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "gettext-tools")
+ #t))
- ;; Some test programs require pthreads, which we don't have.
- (add-before 'configure 'no-test-programs
- (lambda _
- (substitute* "tests/Makefile.in"
- (("^PROGRAMS =.*$")
- "PROGRAMS =\n"))
- #t))
-
- ;; Don't try to link against libexpat.
- (delete 'link-expat)
- (delete 'patch-tests))))))))
+ ;; Some test programs require pthreads, which we don't have.
+ (add-before 'configure 'no-test-programs
+ (lambda _
+ (substitute* "tests/Makefile.in"
+ (("^PROGRAMS =.*$")
+ "PROGRAMS =\n"))
+ #t))))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs gettext-minimal
%boot1-inputs
@@ -704,18 +2165,18 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
,@(package-arguments glibc-final-with-bootstrap-bash))))))
-(define gcc-boot0-wrapped
+(define (gcc-boot0-wrapped)
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
;; non-cross names.
(cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final
- (car (assoc-ref %boot1-inputs "bash"))))
+ (car (assoc-ref (%boot1-inputs) "bash"))))
-(define %boot2-inputs
+(define (%boot2-inputs)
;; 3rd stage inputs.
`(("libc" ,glibc-final)
("libc:static" ,glibc-final "static")
- ("gcc" ,gcc-boot0-wrapped)
- ,@(fold alist-delete %boot1-inputs '("libc" "gcc"))))
+ ("gcc" ,(gcc-boot0-wrapped))
+ ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers"))))
(define binutils-final
(package-with-bootstrap-guile
@@ -725,7 +2186,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:implicit-inputs? #f
#:allowed-references ("out" ,glibc-final)
,@(package-arguments binutils)))
- (inputs %boot2-inputs))))
+ (inputs (%boot2-inputs)))))
(define libstdc++
;; Intermediate libstdc++ that will allow us to build the final GCC
@@ -745,13 +2206,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; except for the configure-flags.
,@(package-arguments lib)
#:configure-flags `("--disable-shared"
+ "--disable-libstdcxx-dual-abi"
"--disable-libstdcxx-threads"
"--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
"/include"))))
(outputs '("out"))
- (inputs %boot2-inputs)
+ (inputs (%boot2-inputs))
(synopsis "GNU C++ standard library (intermediate)"))))
(define zlib-final
@@ -764,14 +2226,15 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:implicit-inputs? #f
#:allowed-references ("out" ,glibc-final)
,@(package-arguments zlib)))
- (inputs %boot2-inputs))))
+ (inputs (%boot2-inputs)))))
-(define ld-wrapper-boot3
+(define (ld-wrapper-boot3)
;; A linker wrapper that uses the bootstrap Guile.
(make-ld-wrapper "ld-wrapper-boot3"
#:binutils binutils-final
#:guile %bootstrap-guile
- #:bash (car (assoc-ref %boot2-inputs "bash"))))
+ #:bash (car (assoc-ref (%boot2-inputs) "bash"))
+ #:guile-for-build %bootstrap-guile))
(define gcc-final
;; The final GCC.
@@ -795,17 +2258,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; positive, so turn it off.
#:validate-runpath? #f
- ;; Build again GMP & co. within GCC's build process, because it's hard
- ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
- ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
- ,@(substitute-keyword-arguments (package-arguments gcc-boot0)
- ((#:configure-flags boot-flags)
- (let loop ((args (package-arguments gcc)))
- (match args
- ((#:configure-flags normal-flags _ ...)
- normal-flags)
- ((_ rest ...)
- (loop rest)))))
+ ,@(substitute-keyword-arguments (package-arguments gcc)
((#:make-flags flags)
;; Since $LIBRARY_PATH is not honored, add the relevant flags.
`(let ((zlib (assoc-ref %build-inputs "zlib")))
@@ -817,8 +2270,42 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
zlib "/lib")
flag))
,flags)))
+ ;; Build again GMP & co. within GCC's build process, because it's hard
+ ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
+ ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
((#:phases phases)
- `(alist-delete 'symlink-libgcc_eh ,phases)))))
+ `(modify-phases ,phases
+ (add-after 'unpack 'unpack-gmp&co
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmp (assoc-ref %build-inputs "gmp-source"))
+ (mpfr (assoc-ref %build-inputs "mpfr-source"))
+ (mpc (assoc-ref %build-inputs "mpc-source")))
+
+ ;; To reduce the set of pre-built bootstrap inputs, build
+ ;; GMP & co. from GCC.
+ (for-each (lambda (source)
+ (invoke "tar" "xvf" source))
+ (list gmp mpfr mpc))
+
+ ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
+ ,@(map (lambda (lib)
+ ;; Drop trailing letters, as gmp-6.0.0a unpacks
+ ;; into gmp-6.0.0.
+ `(symlink ,(string-trim-right
+ (package-full-name lib "-")
+ char-set:letter)
+ ,(package-name lib)))
+ (list gmp-6.0 mpfr mpc))
+ #t)))
+ (add-before 'configure 'treat-glibc-as-system-header
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc")))
+ ;; Make sure Glibc is treated as a "system header" so
+ ;; #include_next does the right thing.
+ (for-each (lambda (var)
+ (setenv var (string-append libc "/include")))
+ '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
+ #t))))))))
;; This time we want Texinfo, so we get the manual. Add
;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of
@@ -832,17 +2319,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc))
- ("ld-wrapper" ,ld-wrapper-boot3)
+ ("ld-wrapper" ,(ld-wrapper-boot3))
("binutils" ,binutils-final)
("libstdc++" ,libstdc++)
("zlib" ,zlib-final)
- ,@%boot2-inputs))))
+ ,@(%boot2-inputs)))))
-(define %boot3-inputs
+(define (%boot3-inputs)
;; 4th stage inputs.
`(("gcc" ,gcc-final)
- ("ld-wrapper" ,ld-wrapper-boot3)
- ,@(alist-delete "gcc" %boot2-inputs)))
+ ("ld-wrapper" ,(ld-wrapper-boot3))
+ ,@(alist-delete "gcc" (%boot2-inputs))))
(define bash-final
;; Link with `-static-libgcc' to make sure we don't retain a reference
@@ -852,7 +2339,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(inherit bash-minimal)
(arguments
`(#:disallowed-references
- ,(assoc-ref %boot3-inputs "coreutils&co")
+ ,(assoc-ref (%boot3-inputs) "coreutils&co")
,@(package-arguments bash-minimal))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs (static-libgcc-package bash)
@@ -860,10 +2347,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(current-source-location)
#:guile %bootstrap-guile))))
-(define %boot4-inputs
+(define (%boot4-inputs)
;; Now use the final Bash.
`(("bash" ,bash-final)
- ,@(alist-delete "bash" %boot3-inputs)))
+ ,@(alist-delete "bash" (%boot3-inputs))))
(define-public guile-final
;; This package must be public because other modules refer to it. However,
@@ -896,19 +2383,20 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:guile guile-final
#:bash bash-final))
-(define %boot5-inputs
+(define (%boot5-inputs)
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
;; with an older libc, which cannot load the new locale format. See
;; .
`(("locales" ,glibc-utf8-locales-final)
- ,@%boot4-inputs))
+ ,@(%boot4-inputs)))
(define gnu-make-final
;; The final GNU Make, which uses the final Guile.
(package-with-bootstrap-guile
(package-with-explicit-inputs gnu-make
- `(("guile" ,guile-final)
- ,@%boot5-inputs)
+ (lambda _
+ `(("guile" ,guile-final)
+ ,@(%boot5-inputs)))
(current-source-location))))
(define coreutils-final
@@ -936,11 +2424,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(inputs (alist-delete "pcre" (package-inputs grep)))
(native-inputs `(("perl" ,perl-boot0))))))
-(define %boot6-inputs
+(define (%boot6-inputs)
;; Now use the final Coreutils.
`(("coreutils" ,coreutils-final)
("grep" ,grep-final)
- ,@%boot5-inputs))
+ ,@(%boot5-inputs)))
(define sed-final
;; The final sed.
@@ -1076,23 +2564,23 @@ an d binaries, plus debugging symbols in the @code{debug} output), and Binutils
("libc-debug" ,libc "debug")
("libc-static" ,libc "static"))))))
+(define-public gcc-toolchain
+ (make-gcc-toolchain gcc-final))
+
(define-public gcc-toolchain-4.8
(make-gcc-toolchain gcc-4.8))
(define-public gcc-toolchain-4.9
(make-gcc-toolchain gcc-4.9))
-(define-public gcc-toolchain
- (make-gcc-toolchain gcc-final))
-
(define-public gcc-toolchain-5
- gcc-toolchain)
+ (make-gcc-toolchain gcc-5))
(define-public gcc-toolchain-6
(make-gcc-toolchain gcc-6))
(define-public gcc-toolchain-7
- (make-gcc-toolchain gcc-7))
+ gcc-toolchain)
(define-public gcc-toolchain-8
(make-gcc-toolchain gcc-8))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6771de3028..c4298c1e95 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -210,14 +210,14 @@ adding and extracting files to/from a tar archive.")
(define-public gzip
(package
(name "gzip")
- (version "1.9")
+ (version "1.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gzip/gzip-"
version ".tar.xz"))
(sha256
(base32
- "16h8g4acy7fgfxcjacr3wijjsnixwsfd2jhz3zwdi2qrzi262l5f"))))
+ "1h6p374d3j8d4cdfydzls021xa2yby8myc0h8d6m8bc7k6ncq9c4"))))
(build-system gnu-build-system)
(synopsis "General file (de)compression (using lzw)")
(arguments
@@ -433,6 +433,23 @@ compressed with pbzip2 can be decompressed with bzip2).")
(base32
"0ibi2zsfaz6l756spjwc5rayf4ckgc9hwmy8qinppcyk4svz64mm"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-static-lib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (rename-file (string-append out "/lib/liblzma.a")
+ (string-append static "/lib/liblzma.a"))
+ ;; Remove reference to the static library from the .la file
+ ;; so Libtool does the right thing when both the shared and
+ ;; static library is available.
+ (substitute* (string-append out "/lib/liblzma.la")
+ (("^old_library='liblzma.a'") "old_library=''"))
+ #t))))))
+ (outputs '("out" "static"))
(synopsis "General-purpose data compression")
(description
"XZ Utils is free general-purpose data compression software with high
@@ -532,14 +549,14 @@ some compression ratio).")
(define-public lzip
(package
(name "lzip")
- (version "1.20")
+ (version "1.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
- "0319q59kb8g324wnj7xzbr7vvlx5bcs13lr34j0zb3kqlyjq2fy9"))))
+ "12qdcw5k1cx77brv9yxi1h4dzwibhfmdpigrj43nfk8nscwm12z4"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
@@ -718,7 +735,7 @@ decompression of some loosely related file formats used by Microsoft.")
(define-public lz4
(package
(name "lz4")
- (version "1.8.1.2")
+ (version "1.9.1")
(source
(origin
(method git-fetch)
@@ -726,16 +743,23 @@ decompression of some loosely related file formats used by Microsoft.")
(commit (string-append "v" version))))
(sha256
(base32
- "1jggv4lvfav53advnj0pwqgxzn868lrj8dc9zp73iwvqlj82mhmx"))
+ "1l1caxrik1hqs40vj3bpv1pikw6b74cfazv5c0v6g48zpcbmshl0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
- (native-inputs `(("valgrind" ,valgrind))) ; for tests
+ (native-inputs `(("valgrind" ,valgrind))) ;for tests
(arguments
`(#:test-target "test"
#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (delete 'configure) ;no configure script
+ (add-before 'check 'disable-broken-test
+ (lambda _
+ ;; XXX: test_install.sh fails when prefix is a subdirectory.
+ (substitute* "tests/Makefile"
+ (("^test: (.*) test-install" _ targets)
+ (string-append "test: " targets)))
+ #t)))))
(home-page "https://www.lz4.org")
(synopsis "Compression algorithm focused on speed")
(description "LZ4 is a lossless compression algorithm, providing
@@ -1578,14 +1602,27 @@ recreates the stored directory structure by default.")
(name "zziplib")
(version "0.13.69")
(home-page "https://github.com/gdraheim/zziplib")
- (source
- (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/v" version ".tar.gz"))
- (sha256
- (base32
- "0i052a7shww0fzsxrdp3rd7g4mbzx7324a8ysbc0br7frpblcql4"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'check 'make-files-writable
+ (lambda _
+ (for-each make-file-writable
+ (find-files "test" #:directories? #t))
+ #t)))
+
+ ;; XXX: The default test target attempts to download external resources and
+ ;; fails without error: .
+ ;; To prevent confusing log messages, just run a simple zip test that works.
+ #:test-target "check-readme"))
(inputs
`(("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) ; for the documentation
@@ -1785,7 +1822,18 @@ single-member files which can't be decompressed in parallel.")
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ;; No tests available.
+ `(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'glibc-is-already-a-system-library
+ (lambda _
+ ;; Prevent the build system from passing the glibc
+ ;; header files to GCC as "system headers", because
+ ;; it conflicts with the system headers already known
+ ;; to GCC, causing #include_next failures.
+ (substitute* "CMakeLists.txt"
+ (("include_directories\\(SYSTEM \\$\\{iconv")
+ "include_directories(${iconv"))
+ #t)))))
(inputs `(("boost" ,boost)
("libiconv" ,libiconv)
("xz" ,xz)))
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index dd7ead05af..1c98e381ab 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
;;; Copyright © 2018 Fis Trivial
;;; Copyright © 2018 Ludovic Courtès
+;;; Copyright © 2019 Mathieu Othacehe
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,7 +34,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages tls))
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages web))
(define-public libzen
(package
@@ -276,3 +278,34 @@ intuitive syntax and trivial integration.")
(description "xtl is a C++ header-only template library providing basic
tools (containers, algorithms) used by other QuantStack packages.")
(license license:bsd-3)))
+
+(define-public ccls
+ (package
+ (name "ccls")
+ (version "0.20190823.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MaskRay/ccls")
+ (commit version)))
+ (sha256
+ (base32 "1sx31zp6q2qc6fz3r78rx34zp2x4blrqzxwbpww71vb6lp1clmdm"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; no check target.
+ (inputs
+ `(("rapidjson" ,rapidjson)))
+ (native-inputs
+ `(("clang" ,clang)
+ ("llvm" ,llvm)))
+ (home-page "https://github.com/MaskRay/ccls")
+ (synopsis "C/C++/Objective-C language server")
+ (description
+ "@code{ccls} is a server implementing the Language Server Protocol (LSP)
+for C, C++ and Objective-C languages. It uses @code{clang} to perform static
+code analysis and supports cross references, hierarchies, completion and
+syntax highlighting. @code{ccls} is derived from @code{cquery} which is not
+maintained anymore.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index e277139f25..76d15f4c59 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès
;;; Copyright © 2014, 2015, 2018 Mark H Weaver
-;;; Copyright © 2016 Jan Nieuwenhuizen
+;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Marius Bakke
;;; Copyright © 2019 Carl Dong
;;;
;;; This file is part of GNU Guix.
@@ -53,11 +54,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
- ;; Note: See for why not 'CPATH'.
- '("C_INCLUDE_PATH"
- "CPLUS_INCLUDE_PATH"
- "OBJC_INCLUDE_PATH"
- "OBJCPLUS_INCLUDE_PATH"))
+ ;; Note: See for why not 'C_INCLUDE_PATH' & co.
+ '("CPATH"))
(define %gcc-cross-include-paths
;; Search path for target headers when cross-compiling.
@@ -124,7 +122,15 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
,@(if libc
`( ;; Disable libcilkrts because it is not
;; ported to GNU/Hurd.
- "--disable-libcilkrts")
+ "--disable-libcilkrts"
+ ;; When building a cross compiler, --with-sysroot is
+ ;; implicitly set to "$gcc_tooldir/sys-root". This does
+ ;; not work for us, because --with-native-system-header-dir
+ ;; is searched for relative to this location. Thus, we set
+ ;; it to "/" so GCC is able to find the target libc headers.
+ ;; This is safe because in practice GCC uses CROSS_CPATH
+ ;; & co to separate target and host libraries.
+ "--with-sysroot=/")
`( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static"
"--enable-languages=c,c++"
@@ -138,6 +144,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
"--disable-libatomic"
"--disable-libmudflap"
"--disable-libgomp"
+ "--disable-libmpx"
"--disable-libssp"
"--disable-libquadmath"
"--disable-decimal-float" ;would need libc
@@ -170,15 +177,30 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
,flags))
flags))
((#:phases phases)
- `(cross-gcc-build-phases ,target ,phases))))))
+ `(cross-gcc-build-phases
+ ,target
+ (modify-phases ,phases
+ (add-before 'configure 'treat-glibc-as-system-header
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc")))
+ (when libc
+ ;; For GCC6 and later, make sure Glibc is treated as a "system
+ ;; header" such that #include_next does the right thing.
+ (for-each (lambda (var)
+ (setenv var (string-append libc "/include")))
+ '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH")))
+ #t))))))))))
-(define (cross-gcc-patches target)
- "Return GCC patches needed for TARGET."
+(define (cross-gcc-patches xgcc target)
+ "Return GCC patches needed for XGCC and TARGET."
(cond ((string-prefix? "xtensa-" target)
;; Patch by Qualcomm needed to build the ath9k-htc firmware.
(search-patches "ath9k-htc-firmware-gcc.patch"))
((target-mingw? target)
- (search-patches "gcc-4.9.3-mingw-gthr-default.patch"))
+ (append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
+ (if (version>=? (package-version xgcc) "7.0")
+ (search-patches "gcc-7-cross-mingw.patch")
+ '())))
(else '())))
(define (cross-gcc-snippet target)
@@ -211,7 +233,7 @@ target that libc."
((version>=? (package-version xgcc) "8.0") (search-patch "gcc-8-cross-environment-variables.patch"))
((version>=? (package-version xgcc) "6.0") (search-patch "gcc-6-cross-environment-variables.patch"))
(else (search-patch "gcc-cross-environment-variables.patch")))
- (cross-gcc-patches target))))
+ (cross-gcc-patches xgcc target))))
(modules '((guix build utils)))
(snippet
(cross-gcc-snippet target))))
@@ -459,23 +481,6 @@ and the cross tool chain."
flags)))
((#:phases phases)
`(modify-phases ,phases
- ;; XXX: The hack below allows us to make sure the
- ;; 'apply-hurd-patch' phase gets added in the first
- ;; cross-libc, but does *not* get added twice subsequently
- ;; when cross-building another libc.
- ,@(if (and (hurd-triplet? target)
- (not (hurd-target?)))
- `((add-after 'unpack 'apply-hurd-patch
- (lambda* (#:key inputs native-inputs
- #:allow-other-keys)
- ;; TODO: Move this to 'patches' field.
- (let ((patch (or (assoc-ref native-inputs
- "hurd-magic-pid-patch")
- (assoc-ref inputs
- "hurd-magic-pid-patch"))))
- (invoke "patch" "-p1" "--force" "--input"
- patch)))))
- '())
(add-before 'configure 'set-cross-kernel-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((kernel (assoc-ref inputs "kernel-headers"))
@@ -499,9 +504,7 @@ and the cross tool chain."
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
- "cross-mig"))
- ("hurd-magic-pid-patch"
- ,(search-patch "glibc-hurd-magic-pid.patch")))
+ "cross-mig")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index b975afe6d3..9592d18011 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -683,7 +683,7 @@ BLAKE.")
(define-public rhash
(package
(name "rhash")
- (version "1.3.6")
+ (version "1.3.8")
(source
(origin
(method url-fetch)
@@ -692,7 +692,7 @@ BLAKE.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "14ngzfgmd1lfp7m78sn49x8ymf2s37nrr67c6p5vas85nrrgjkcn"))))
+ "0k60ywyhwqwqxa2q2l85vwgf884hcgy31nxir3dqgz7ymib6llxy"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -711,7 +711,7 @@ BLAKE.")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke
"make" "-C" "librhash"
- "install-headers" "install-so-link"
+ "install-lib-headers" "install-so-link"
make-flags))))))
(home-page "https://sourceforge.net/projects/rhash/")
(synopsis "Utility for computing hash sums")
@@ -816,7 +816,7 @@ security.")
("automake" ,automake)
("libtool" ,libtool)))
(inputs
- `(("openssl" ,openssl-next)))
+ `(("openssl" ,openssl)))
(home-page "https://github.com/vstakhov/asignify")
(synopsis "Cryptographic authentication and encryption tool and library")
(description "Asignify offers public cryptographic signatures and
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 5682a4a107..5e1e7eb400 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -37,41 +37,34 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages golang)
#:use-module (gnu packages groff)
- #:use-module (gnu packages gsasl)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages libidn)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
(define-public curl
(package
(name "curl")
- (replacement curl-7.65.0)
- (version "7.63.0")
+ (version "7.65.3")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
- "1i38v49233jirzlfqd8fy6jyf80assa953hk7w6qmysbg562604n"))))
+ "1sjz4fq7jg96mpmpqq82nd61njna6jp3c4m9yrbx2j1rh5a8ingj"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
(inputs `(("gnutls" ,gnutls)
- ("gss" ,gss)
("libidn" ,libidn)
- ;; TODO XXX
- ;; Curl doesn't actually use or refer to libssh2 because the build
- ;; is not configured with '--with-libssh2'. Remove this input when
- ;; a mass rebuild is appropriate (e.g. core-updates).
- ("libssh2" ,libssh2-1.8.0)
("openldap" ,openldap)
+ ("mit-krb5" ,mit-krb5)
("nghttp2" ,nghttp2 "lib")
("zlib" ,zlib)))
(native-inputs
@@ -79,7 +72,7 @@
;; to enable the --manual option and make test 1026 pass
("groff" ,groff)
("pkg-config" ,pkg-config)
- ("python" ,python-2)))
+ ("python" ,python-wrapper)))
(native-search-paths
;; Note: This search path is respected by the `curl` command-line tool only.
;; Ideally we would bake this into libcurl itself so other users can benefit,
@@ -90,8 +83,10 @@
(separator #f) ;single entry
(files '("etc/ssl/certs/ca-certificates.crt")))))
(arguments
- `(#:configure-flags '("--with-gnutls" "--with-gssapi"
- "--disable-static")
+ `(#:configure-flags (list "--with-gnutls"
+ (string-append "--with-gssapi="
+ (assoc-ref %build-inputs "mit-krb5"))
+ "--disable-static")
;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
#:phases
(modify-phases %standard-phases
@@ -147,19 +142,6 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-(define-public curl-7.65.0
- (package
- (inherit curl)
- (version "7.65.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://curl.haxx.se/download/curl-"
- version ".tar.xz"))
- (sha256
- (base32
- "1kb6p510m0n0y1c8fjxbcs6dyaqgm8i54pjvj29zc14lj9ix4rkp"))))))
-
(define-public kurly
(package
(name "kurly")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f7f5c6ffdc..bb7adf25a6 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -72,6 +72,7 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
@@ -84,6 +85,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -544,7 +546,7 @@ RDBMS systems (which are deep in functionality).")
(define-public mysql
(package
(name "mysql")
- (version "5.7.23")
+ (version "5.7.27")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -556,7 +558,7 @@ RDBMS systems (which are deep in functionality).")
name "-" version ".tar.gz")))
(sha256
(base32
- "0rbc3xsc11lq2dm0ip6gxa16c06hi74scb97x5cw7yhbabaz4c07"))))
+ "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -593,12 +595,15 @@ RDBMS systems (which are deep in functionality).")
#t))))))
(native-inputs
`(("bison" ,bison)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost-for-mysql)
("libaio" ,libaio)
+ ("libtirpc" ,libtirpc)
("ncurses" ,ncurses)
("openssl" ,openssl)
+ ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
("zlib" ,zlib)))
(home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
@@ -775,6 +780,10 @@ Language.")
#t))))))
(native-inputs
`(("bison" ,bison)
+ ;; XXX: On armhf, use GCC 5 to work around .
+ ,@(if (string-prefix? "armhf" (%current-system))
+ `(("gcc", gcc-5))
+ '())
("perl" ,perl)))
(inputs
`(("jemalloc" ,jemalloc)
@@ -786,7 +795,7 @@ Language.")
("zlib" ,zlib)))
(propagated-inputs
;; mariadb.pc says -lssl -lcrypto, so propagate it.
- `(("openssl" ,openssl)))
+ `(("openssl" ,openssl-1.0)))
;; The test suite is very resource intensive and can take more than three
;; hours on a x86_64 system. Give slow and busy machines some leeway.
(properties '((timeout . 64800))) ;18 hours
@@ -3061,7 +3070,7 @@ algorithm implementations.")
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(native-inputs
- `(("cmake" ,cmake)
+ `(("cmake" ,cmake-minimal)
("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index bf548a25f3..5191c475c2 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -33,73 +33,22 @@
;;; This module has been separated from (gnu packages databases) to reduce the
;;; number of module references for core packages.
-(define-public bdb
+(define-public bdb-4.8
(package
(name "bdb")
- (version "6.2.32")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.oracle.com/berkeley-db/db-"
- version ".tar.gz"))
- (sha256
- (base32
- "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9"))))
- (build-system gnu-build-system)
- (outputs '("out" ; programs, libraries, headers
- "doc")) ; 94 MiB of HTML docs
- (arguments
- '(#:tests? #f ; no check target available
- #:disallowed-references ("doc")
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- ;; '--docdir' is not honored, so we need to patch.
- (substitute* "dist/Makefile.in"
- (("docdir[[:blank:]]*=.*")
- (string-append "docdir = " doc "/share/doc/bdb")))
-
- (invoke "./dist/configure"
- (string-append "--prefix=" out)
- (string-append "CONFIG_SHELL=" (which "bash"))
- (string-append "SHELL=" (which "bash"))
-
- ;; Remove 7 MiB of .a files.
- "--disable-static"
-
- ;; The compatibility mode is needed by some packages,
- ;; notably iproute2.
- "--enable-compat185"
-
- ;; The following flag is needed so that the inclusion
- ;; of db_cxx.h into C++ files works; it leads to
- ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
- "--enable-cxx")))))))
- (synopsis "Berkeley database")
- (description
- "Berkeley DB is an embeddable database allowing developers the choice of
-SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
- ;; Starting with version 6, BDB is distributed under AGPL3. Many individual
- ;; files are covered by the 3-clause BSD license.
- (license (list license:agpl3+ license:bsd-3))
- (home-page
- "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
-
-(define-public bdb-5.3
- (package (inherit bdb)
- (name "bdb")
- (version "5.3.28")
+ (version "4.8.30")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))
(source (origin
- (method url-fetch)
- (uri (string-append "http://download.oracle.com/berkeley-db/db-"
- version ".tar.gz"))
- (sha256
- (base32
- "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))
+ (method url-fetch)
+ (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))))
+ (build-system gnu-build-system)
+ (outputs '("out" ; programs, libraries, headers
+ "doc")) ; 94 MiB of HTML docs
(arguments
`(#:tests? #f ; no check target available
#:disallowed-references ("doc")
@@ -114,7 +63,8 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(("docdir[[:blank:]]*=.*")
(string-append "docdir = " doc "/share/doc/bdb")))
- (invoke "./dist/configure"
+ (chdir "build_unix")
+ (invoke "../dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))
@@ -134,19 +84,56 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
;; The following flag is needed so that the inclusion
;; of db_cxx.h into C++ files works; it leads to
;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
- "--enable-cxx")))))))))
+ "--enable-cxx")))))))
+ (synopsis "Berkeley database")
+ (description
+ "Berkeley DB is an embeddable database allowing developers the choice of
+SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
+ ;; Starting with version 6, BDB is distributed under AGPL3. Many individual
+ ;; files are covered by the 3-clause BSD license.
+ (home-page
+ "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
+
+(define-public bdb-5.3
+ (package (inherit bdb-4.8)
+ (name "bdb")
+ (version "5.3.28")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))))
+
+(define-public bdb-6
+ (package (inherit bdb-4.8)
+ (name "bdb")
+ (version "6.2.32")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9"))))
+ ;; Starting with version 6, BDB is distributed under AGPL3. Many individual
+ ;; files are covered by the 3-clause BSD license.
+ (license (list license:agpl3+ license:bsd-3))))
+
+(define-public bdb bdb-6)
(define-public gdbm
(package
(name "gdbm")
- (version "1.18")
+ (version "1.18.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
- "1kimnv12bzjjhaqk4c8w2j6chdj9c6bg21lchaf7abcyfss2r0mq"))))
+ "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org.ua/software/gdbm")
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index d857b9b23c..320ffb1d75 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
;;; Copyright © 2018 Pierre-Antoine Rouby
;;; Copyright © 2018 Arun Isaac
+;;; Copyright © 2019 Pierre Langlois
;;;
;;; This file is part of GNU Guix.
;;;
@@ -245,7 +246,7 @@ and a Python library.")
(define-public translate-shell
(package
(name "translate-shell")
- (version "0.9.6.10")
+ (version "0.9.6.11")
(source
(origin
(method git-fetch)
@@ -254,7 +255,7 @@ and a Python library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dmh3flldfhnqfay3a6c5hanqcjwrmbly1bq8mlk022qfi1fv33y"))))
+ (base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 6ce7827391..19c42b00eb 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -139,9 +139,9 @@ markup) can be customized and extended by the user.")
(build-system cmake-build-system)
(native-inputs
`(("bison" ,bison)
- ("flex" ,flex-2.6.1) ; sefaults with 2.6.4
- ("libxml2" ,libxml2) ; provides xmllint for the tests
- ("python" ,python-2))) ; for creating the documentation
+ ("flex" ,flex)
+ ("libxml2" ,libxml2) ;provides xmllint for the tests
+ ("python" ,python))) ;for creating the documentation
(inputs
`(("bash" ,bash-minimal)))
(arguments
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 205dd3c8a7..4c3efbfe02 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -37,6 +37,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
@@ -295,7 +296,8 @@ designed to be used in a generic text renderer.")
("sqlite" ,sqlite)
("zlib" ,zlib)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("gcc" ,gcc-5)
+ ("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f ; No tests exist.
#:make-flags `("CC=gcc" "TARGET_ARCH=desktop" "UI_TYPE=gtk"
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
index d30d7bcfa8..c2198763ef 100644
--- a/gnu/packages/ed.scm
+++ b/gnu/packages/ed.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov
;;; Copyright © 2013, 2014 Ludovic Courtès
-;;; Copyright © 2016 Efraim Flashner
+;;; Copyright © 2016, 2019 Efraim Flashner
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,14 +28,14 @@
(define-public ed
(package
(name "ed")
- (version "1.14.2")
+ (version "1.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
- "1nqhk3n1s1p77g2bjnj55acicsrlyb2yasqxqwpx0w0djfx64ygm"))))
+ "0x6ivy5k0d7dy5z9g8q8nipr89m4qbk2ink2898qq43smp08ji5d"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(arguments
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b03b2cba2e..66e7e22f26 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -85,7 +85,8 @@
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-mixer")
- "/include/SDL"))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
#t)))))
(inputs
`(("gtk+" ,gtk+-2)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e9e20844cf..1b8ae47fc2 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3946,7 +3946,7 @@ to a key in your preferred mode.")
(inputs
`(("supercollider" ,supercollider)))
(native-inputs
- `(("cmake" ,cmake)))
+ `(("cmake" ,cmake-minimal)))
(home-page "https://github.com/supercollider/scel")
(synopsis "SuperCollider Emacs interface")
(description "@code{emacs-scel} is an Emacs interface to SuperCollider.
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index ab2174a273..429eac37c5 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus
+;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus
;;; Copyright © 2016, 2017 Theodoros Foradis
;;; Copyright © 2016 David Craven
;;; Copyright © 2017 Efraim Flashner
@@ -85,6 +85,7 @@
(origin-patches (package-source xgcc))))))
(native-inputs
`(("flex" ,flex)
+ ("gcc" ,gcc-5)
,@(package-native-inputs xgcc)))
(arguments
(substitute-keyword-arguments (package-arguments xgcc)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 38468cfc8d..f6da7f2d25 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -152,11 +152,6 @@
'(#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'fixgcc7
- (lambda _
- (unsetenv "C_INCLUDE_PATH")
- (unsetenv "CPLUS_INCLUDE_PATH")
- #t))
(add-before 'configure 'generate-fonts&hardcore-libvulkan-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((fontfile
@@ -194,7 +189,6 @@
"-DX11_FOUND=1")))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gcc" ,gcc-7) ; Building with gcc@5 doesn't work anymore.
("gettext" ,gnu-gettext)))
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7c2e5fb326..169d912c35 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Federico Beffa
;;; Copyright © 2016, 2018 Efraim Flashner
;;; Copyright © 2016 David Thompson
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis
;;; Copyright © 2017 Julien Lepiller
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
@@ -1550,7 +1550,7 @@ unique design feature of Trilinos is its focus on packages.")
(string-append "ARCHDIR="
(assoc-ref %build-inputs "trilinos")))))
(native-inputs
- `(("bison" ,bison)
+ `(("bison" ,bison-3.0) ;'configure' fails with Bison 3.4
("flex" ,flex)
("fortran" ,gfortran)))
(inputs
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index d04357023d..9ba51d1b74 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -31,11 +31,11 @@
(package
(name "file")
(version "5.33")
- (replacement file/fixed)
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
+ (patches (search-patches "file-CVE-2018-10360.patch"))
(sha256
(base32
"1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw"))))
@@ -55,10 +55,3 @@ extensions to tell you the type of a file, but looks at the actual contents
of the file. This package provides the libmagic library.")
(license bsd-2)
(home-page "https://www.darwinsys.com/file/")))
-
-(define file/fixed
- (package
- (inherit file)
- (source
- (origin (inherit (package-source file))
- (patches (search-patches "file-CVE-2018-10360.patch"))))))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 2388839524..960e3adeb3 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -86,7 +86,7 @@
(define-public bitcoin-core
(package
(name "bitcoin-core")
- (version "0.17.1")
+ (version "0.18.0")
(source (origin
(method url-fetch)
(uri
@@ -94,7 +94,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
- "0am4pnaf2cisv172jqx6jdpzx770agm8777163lkjbw3ryslymiy"))))
+ "0ps0vw9iknz1b1sx74rabd1yhlxvwbd0aimjzn9hlqkvw286hkjy"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -102,7 +102,7 @@
("util-linux" ,util-linux) ; provides the hexdump command for tests
("qttools" ,qttools)))
(inputs
- `(("bdb" ,bdb-5.3) ; with 6.2.23, there is an error: ambiguous overload
+ `(("bdb" ,bdb-4.8) ; Bitcoin Core requires bdb 4.8 for compatibility
("boost" ,boost)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
@@ -112,8 +112,6 @@
(arguments
`(#:configure-flags
(list
- ;; We use a bdb version newer than 4.8.
- "--with-incompatible-bdb"
;; Boost is not found unless specified manually.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost"))
@@ -136,6 +134,11 @@
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")) ; Tests write to $HOME.
+ #t))
+ (add-after 'check 'check-functional
+ (lambda _
+ (invoke "python3" "./test/functional/test_runner.py"
+ (string-append "--jobs=" (number->string (parallel-job-count))))
#t)))))
(home-page "https://bitcoin.org/en/")
(synopsis "Bitcoin peer-to-peer client")
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 90cb8845cf..c473ccd920 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -84,7 +84,7 @@
;; Use our own tool chain for that.
(native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-elf"))
("cross-binutils" ,(cross-binutils "xtensa-elf"))
- ("cmake" ,cmake)
+ ("cmake" ,cmake-minimal)
("perl" ,perl)))
(home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc")
(synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
@@ -249,6 +249,7 @@ coreboot.")
(build-system gnu-build-system)
(native-inputs
`(("acpica" ,acpica)
+ ("gcc" ,gcc-5)
("nasm" ,nasm)
("python-2" ,python-2)
("util-linux" ,util-linux)))
diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm
index e08b0c13db..f9a21204d9 100644
--- a/gnu/packages/flex.scm
+++ b/gnu/packages/flex.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès
+;;; Copyright © 2012, 2013, 2014, 2019 Ludovic Courtès
;;; Copyright © 2016 Efraim Flashner
;;;
;;; This file is part of GNU Guix.
@@ -22,11 +22,11 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages bison)
- #:use-module (gnu packages code)
#:use-module (srfi srfi-1))
(define-public flex
@@ -47,11 +47,12 @@
(let ((bison-for-tests
(package
(inherit bison)
- ;; Disable tests, since they require flex.
- (arguments '(#:tests? #f))
+ (arguments
+ ;; Disable tests, since they require flex.
+ (substitute-keyword-arguments (package-arguments bison)
+ ((#:tests? _ #f) #f)))
(inputs (alist-delete "flex" (package-inputs bison))))))
- `(("bison" ,bison-for-tests)
- ("indent" ,indent))))
+ `(("bison" ,bison-for-tests))))
;; m4 is not present in PATH when cross-building
(native-inputs
`(("help2man" ,help2man)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 1e28191ae1..03bfa43014 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -52,10 +52,13 @@
#:use-module (guix git-download)
#:use-module (guix build-system font)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -183,7 +186,7 @@ itself."))))
(define-public font-cantarell
(package
(name "font-abattis-cantarell")
- (version "0.0.25")
+ (version "0.111")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/cantarell-fonts/"
@@ -191,8 +194,11 @@ itself."))))
"/cantarell-fonts-" version ".tar.xz"))
(sha256
(base32
- "0zvkd8cm1cg2919v1js9qmzwa02sjl7qajj3gcvgqvai1fm2i8hl"))))
- (build-system gnu-build-system)
+ "05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("appstream-glib" ,appstream-glib)
+ ("gettext" ,gettext-minimal))) ;for msgfmt
(home-page "https://wiki.gnome.org/Projects/CantarellFonts")
(synopsis "Cantarell sans-serif typeface")
(description "The Cantarell font family is a contemporary Humanist
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e64f3b099e..e355f7bb89 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -8,7 +8,8 @@
;;; Copyright © 2017 ng0
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice
;;; Copyright © 2018 Ricardo Wurmus
-;;; Copyright © 2018 Ludovic Courtès
+;;; Copyright © 2018, 2019 Ludovic Courtès
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,13 +58,13 @@
(define-public freetype
(package
(name "freetype")
- (version "2.9.1")
+ (version "2.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/freetype/freetype-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256 (base32
- "0kg8w6qyiizlyzh4a8lpzslipcbv96hcg3rqqpnxba8ffbm8g3fv"))))
+ "0vx2dg1jh5kq34dd6ifpjywkpapp8a7p1bvyq9yq5zi1i94gmnqn"))))
(build-system gnu-build-system)
(arguments
;; The use of "freetype-config" is deprecated, but other packages still
@@ -428,7 +429,7 @@ applications should be.")
(define-public graphite2
(package
(name "graphite2")
- (version "1.3.12")
+ (version "1.3.13")
(source
(origin
(method url-fetch)
@@ -436,11 +437,22 @@ applications should be.")
"download/" version "/" name "-" version ".tgz"))
(sha256
(base32
- "1l1940d8fz67jm6a0x8cjb5p2dv48cvz3wcskwa83hamd70k15fd"))))
+ "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx"))))
(build-system cmake-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'adjust-test-PYTHONPATH
+ (lambda _
+ ;; Tell the build system not to override PYTHONPATH
+ ;; while running the Python tests.
+ (substitute* "Graphite.cmake"
+ (("ENVIRONMENT PYTHONPATH=")
+ (string-append "ENVIRONMENT PYTHONPATH="
+ (getenv "PYTHONPATH") ":")))
+ #t)))))
(native-inputs
- `(("python" ,python-2) ; because of "import imap" in tests
- ("python-fonttools" ,python2-fonttools)))
+ `(("python" ,python)
+ ("python-fonttools" ,python-fonttools)))
(inputs
`(("freetype" ,freetype)))
(synopsis "Reimplementation of the SIL Graphite text processing engine")
@@ -529,7 +541,7 @@ smooth contours with constant curvature at the spline joins.")
(define-public libuninameslist
(package
(name "libuninameslist")
- (version "20190305")
+ (version "20190701")
(home-page "https://github.com/fontforge/libuninameslist")
(source
(origin
@@ -538,7 +550,7 @@ smooth contours with constant curvature at the spline joins.")
"/libuninameslist-dist-" version ".tar.gz"))
(sha256
(base32
- "1rwd2bgcyvign9agyjsr3v2fr9j1cg2wi6g0z2wwg1az32scknwq"))))
+ "18c9pcz81wm26q2m7npmvh9j3ibjs2hycxfh5xic2xgjfw40v2qn"))))
(build-system gnu-build-system)
(synopsis "Unicode names and annotation list")
(description
@@ -555,14 +567,14 @@ definitions.")
(define-public fontforge
(package
(name "fontforge")
- (version "20190317")
+ (version "20190801")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fontforge/fontforge/releases/download/"
version "/fontforge-" version ".tar.gz"))
- (sha256 (base32
- "1ddqbpc32cgbccdnv0lfw0qhj59hcqzb7616ph5lkvm91pnas4dp"))))
+ (sha256
+ (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -570,7 +582,6 @@ definitions.")
("fontconfig" ,fontconfig) ;dlopen'd
("freetype" ,freetype)
("gettext" ,gettext-minimal)
- ("glib" ,glib) ;needed for pango detection
("libICE" ,libice)
("libSM" ,libsm)
("libX11" ,libx11)
@@ -586,10 +597,7 @@ definitions.")
("libxml2" ,libxml2)
("pango" ,pango)
("potrace" ,potrace)
- ;; FIXME: We use Python 2 here because there is a bug in Python
- ;; 3.7 that is triggered when Py_Main is called after Py_Init, as
- ;; is done by fontforge. This will be fixed in Python 3.7.1.
- ("python" ,python-2)
+ ("python" ,python)
("zlib" ,zlib)))
(arguments
'(#:phases
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 401f54bb14..8a302ba5bc 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -162,7 +162,12 @@ freedesktop.org project.")
"07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-Ddocumentation=false")))
+ `(#:configure-flags '("-Ddocumentation=false")
+
+ ;; XXX: Using 'debug' or 'debugoptimized' pulls in an additional test that
+ ;; hangs, and the comments around it suggests that we should be using this
+ ;; Meson target anyway.
+ #:build-type "release"))
(native-inputs
`(("check" ,check)
("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3489c90644..d68f6aa451 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -900,7 +900,8 @@ Chess). It is similar to standard chess but this variant is far more complicate
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
- "/include/SDL"))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
#t)))))
(inputs
`(("sdl-union" ,(sdl-union (list sdl sdl-mixer)))))
@@ -1112,7 +1113,8 @@ Every puzzle has a complete solution, although there may be more than one.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
- "/include/SDL"))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
#t)))))
(inputs
`(("fluidsynth" ,fluidsynth)
@@ -1344,7 +1346,8 @@ can be explored and changed freely.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
- "/include/SDL"))))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))))
(add-after 'patch-source-shebangs 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
;; Replace /usr with package output directory.
@@ -2925,16 +2928,12 @@ Transport Tycoon Deluxe.")
(copy-recursively
(string-append objects "/share/openrct2/objects")
"data/object"))))
- (add-before 'configure 'fixgcc7
- (lambda _
- (unsetenv "C_INCLUDE_PATH")
- (unsetenv "CPLUS_INCLUDE_PATH")
- #t))
- (add-after 'fixgcc7 'get-rid-of-errors
+ (add-before 'configure 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
- (("-Werror") "")))))))
+ (("-Werror") ""))
+ #t)))))
(inputs `(("curl" ,curl)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
@@ -2950,8 +2949,7 @@ Transport Tycoon Deluxe.")
("speexdsp" ,speexdsp)
("zlib" ,zlib)))
(native-inputs
- `(("gcc" ,gcc-7)
- ("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
(description "OpenRCT2 is a free software re-implementation of
@@ -3200,7 +3198,8 @@ http://lavachat.symlynx.com/unix/")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
- "/include/SDL2"))
+ "/include/SDL2:"
+ (or (getenv "CPATH") "")))
#t))
(add-after 'install 'copy-data
(lambda* (#:key outputs #:allow-other-keys)
@@ -3716,12 +3715,10 @@ with the \"Stamp\" tool within Tux Paint.")
(base32
"1h1s4abirkdv4ag22zvyk6zkk64skqbjmcnnba67ps4hdzxfbhy4"))
(patches
- (search-patches "supertux-fix-build-with-gcc5.patch"
- "supertux-unbundle-squirrel.patch"))))
+ (search-patches "supertux-unbundle-squirrel.patch"))))
(arguments
'(#:tests? #f
#:configure-flags '("-DINSTALL_SUBDIR_BIN=bin"
- "-DENABLE_BOOST_STATIC_LIBS=OFF"
"-DUSE_SYSTEM_PHYSFS=ON")
#:phases
(modify-phases %standard-phases
@@ -3977,7 +3974,8 @@ throwing people around in pseudo-randomly generated buildings.")
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
- (string-append (assoc-ref inputs "sdl-union")
+ (string-append (getenv "CPATH") ":"
+ (assoc-ref inputs "sdl-union")
"/include/SDL"))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4384,8 +4382,7 @@ over 100 user-created campaigns.")
(string-append (assoc-ref inputs "sdl-union")
"/include/SDL:"
(assoc-ref inputs "python")
- "/include/python2.7:"
- (getenv "CPLUS_INCLUDE_PATH")))
+ "/include/python2.7"))
(substitute* "src/main/main.cpp"
(("#include " line)
(string-append line "
@@ -4990,7 +4987,7 @@ fight against their plot and save his fellow rabbits from slavery.")
("zlib" ,zlib)))
(native-inputs
`(("boost" ,boost)
- ("cmake" ,cmake)
+ ("cmake" ,cmake-minimal)
("mesa" ,mesa)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
@@ -5194,7 +5191,8 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
- "/include/SDL2"))
+ "/include/SDL2:"
+ (getenv "CPATH")))
#t))
(delete 'check)
;; premake doesn't provide install target
@@ -5487,7 +5485,7 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
`(("qtbase" ,qtbase)
("qtsvg" ,qtsvg)))
(native-inputs
- `(("cmake" ,cmake)
+ `(("cmake" ,cmake-minimal)
("gettext-minimal" ,gettext-minimal)
("qttools" ,qttools)))
(synopsis "Realistic physics puzzle game")
@@ -6611,7 +6609,8 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl")
- "/include/SDL"))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
#t))
(add-after 'unpack 'fix-compilation-errors
(lambda _
@@ -6730,7 +6729,8 @@ affected by the gravity of the planets.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl")
- "/include/SDL"))
+ "/include/SDL:"
+ (or (getenv "CPATH") "")))
#t)))))
(inputs
`(("fontconfig" ,fontconfig)
@@ -6849,7 +6849,8 @@ the desired spell.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl2-union")
- "/include/SDL2"))
+ "/include/SDL2:"
+ (or (getenv "CPATH") "")))
#t)))))
(inputs
`(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 487020ad3b..d8494e9c1c 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -30,13 +30,13 @@
(define-public gawk
(package
(name "gawk")
- (version "4.2.1")
+ (version "5.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
- (base32 "0lam2zf3n7ak4pig8w46lhx9hzx50kj2v2yj1616mm26wy2rf4fi"))))
+ (base32 "15570p7g2x54asvr2fsc56sxzmm08fbk4mzpcs5n92fp9vq8cklf"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c8e993c329..41d66fc130 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -538,7 +538,7 @@ It also includes runtime support libraries for these languages.")))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
;; accordingly.
-(define-public gcc gcc-5)
+(define-public gcc gcc-7)
(define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when
@@ -677,7 +677,7 @@ as the 'native-search-paths' field."
;; (custom-gcc gcc "fortran" …) because that would lead to a package object
;; that is not 'eq?' with GFORTRAN-5, and thus 'fold-packages' would
;; report two gfortran@5 that are in fact identical.
- gfortran-5)
+ gfortran-7)
(define-public gccgo-4.9
(custom-gcc gcc-4.9 "gccgo" '("go")
@@ -741,7 +741,7 @@ as the 'native-search-paths' field."
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
-(define-public gcc-objc gcc-objc-5)
+(define-public gcc-objc gcc-objc-7)
(define-public gcc-objc++-4.8
(custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++")
@@ -797,7 +797,7 @@ as the 'native-search-paths' field."
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
-(define-public gcc-objc++ gcc-objc++-5)
+(define-public gcc-objc++ gcc-objc++-7)
(define (make-libstdc++-doc gcc)
"Return a package with the libstdc++ documentation for GCC."
@@ -860,7 +860,7 @@ as the 'native-search-paths' field."
(define-public isl
(package
(name "isl")
- (version "0.19")
+ (version "0.21")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -868,10 +868,10 @@ as the 'native-search-paths' field."
version
".tar.bz2")
(string-append %gcc-infrastructure
- name "-" version ".tar.gz")))
+ name "-" version ".tar.bz2")))
(sha256
(base32
- "1n4yz9rj24mv226hqbpw210ifvqkn8dgvpnkzf0s0lkq9zrjd5ym"))))
+ "0ng8l3q1px9lkzb44nxnzhh6fhdbclrwng9xs2v9m8yii8gs336i"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)))
(home-page "http://isl.gforge.inria.fr/")
@@ -898,7 +898,7 @@ dependence analysis and bounds on piecewise step-polynomials.")
(uri (list (string-append "http://isl.gforge.inria.fr/isl-"
version ".tar.bz2")
(string-append %gcc-infrastructure
- "isl-" version ".tar.gz")))
+ "isl-" version ".tar.bz2")))
(sha256
(base32
"06ybml6llhi4i56q90jnimbcgk1lpcdwhy9nxdxra2hxz3bhz2vb"))))))
@@ -915,7 +915,7 @@ dependence analysis and bounds on piecewise step-polynomials.")
version
".tar.bz2")
(string-append %gcc-infrastructure
- name "-" version ".tar.gz")))
+ name "-" version ".tar.bz2")))
(sha256
(base32
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index a1593827a0..5b3f8509f8 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -39,7 +39,6 @@
(define-public gd
(package
(name "gd")
- (replacement gd/fixed)
;; Note: With libgd.org now pointing to github.com, genuine old
;; tarballs are no longer available. Notably, versions 2.0.x are
;; missing.
@@ -55,6 +54,8 @@
(patches (search-patches "gd-CVE-2018-5711.patch"
"gd-CVE-2018-1000222.patch"
+ "gd-CVE-2019-6977.patch"
+ "gd-CVE-2019-6978.patch"
"gd-fix-tests-on-i686.patch"
"gd-freetype-test-failure.patch"))))
(build-system gnu-build-system)
@@ -95,16 +96,6 @@ most common applications of GD involve website development.")
"See COPYING file in the distribution."))
(properties '((cpe-name . "libgd")))))
-(define-public gd/fixed
- (hidden-package
- (package
- (inherit gd)
- (source (origin
- (inherit (package-source gd))
- (patches (append (origin-patches (package-source gd))
- (search-patches "gd-CVE-2019-6977.patch"
- "gd-CVE-2019-6978.patch"))))))))
-
(define-public perl-gd
(package
(name "perl-gd")
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 5e1f7e39d7..bb9f897e51 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -30,6 +30,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system r)
@@ -107,7 +108,7 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
- (version "3.28.2")
+ (version "3.30.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -115,28 +116,25 @@ topology functions.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1yzi08a9316jplgsl2z0qzlqxhghyqcjhv0m6i94wcain4mxk1z7"))))
- (build-system glib-or-gtk-build-system)
+ "0xqk3yrds0w8bjmpf4jw0370phvm65av82nqrx7fp1648h9nq7xi"))))
+ (build-system meson-build-system)
(arguments
- `(#:configure-flags ;; Ensure that geoclue is referred to by output.
- (list (string-append "LDFLAGS=-L"
- (assoc-ref %build-inputs "geoclue") "/lib")
- (string-append "CFLAGS=-I"
- (assoc-ref %build-inputs "geoclue") "/include"))
+ `(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (goa-path (string-append
- (assoc-ref inputs "gnome-online-accounts")
- "/lib:"
- (assoc-ref inputs "gnome-online-accounts:lib")
- "/lib"))
(geocode-glib-path (string-append
(assoc-ref inputs "geocode-glib")
"/lib"))
+ (goa-path (string-append
+ (assoc-ref inputs "gnome-online-accounts:lib")
+ "/lib"))
+ (gdk-pixbuf-path (string-append
+ (assoc-ref inputs "gdk-pixbuf")
+ "/lib"))
(webkitgtk-path (string-append
(assoc-ref inputs "webkitgtk")
"/lib")))
@@ -144,13 +142,17 @@ topology functions.")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
;; There seems to be no way to embed the path of
- ;; libgoa-1.0.so.0, libwebkit2gtk-4.0.so.37 and
- ;; libjavascriptcoregtk-4.0.so.18.
- `("LD_LIBRARY_PATH" ":" prefix
- (,goa-path ,webkitgtk-path ,geocode-glib-path)))
+ ;; libgoa-1.0.so.0, libwebkit2gtk-4.0.so.37,
+ ;; libgdk_pixbuf-2.0.so, libjavascriptcoregtk-4.0.so.18, and
+ ;; libgeocode-glib.so.0
+ `("LD_LIBRARY_PATH" ":" prefix (,goa-path
+ ,webkitgtk-path
+ ,gdk-pixbuf-path
+ ,geocode-glib-path)))
#t))))))
(native-inputs
- `(("gobject-introspection" ,gobject-introspection)
+ `(("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
+ ("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
@@ -161,14 +163,13 @@ topology functions.")
("libsoup" ,libsoup)
("libgweather" ,libgweather)
("libxml2" ,libxml2)
- ("gdk-pixbuf" ,gdk-pixbuf)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
("glib-networking" ,glib-networking)
("geoclue" ,geoclue)
("geocode-glib" ,geocode-glib)
("gfbgraph" ,gfbgraph)
("gjs" ,gjs)
("glib" ,glib)
- ("gnome-online-accounts" ,gnome-online-accounts)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("rest" ,rest)
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index ef80af42ea..245fdc9ec0 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -4,10 +4,11 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus
;;; Copyright © 2016, 2019 Efraim Flashner
;;; Copyright © 2016 Alex Kost
-;;; Copyright © 2017 Marius Bakke
+;;; Copyright © 2017, 2019 Marius Bakke
;;; Copyright © 2017 Mathieu Othacehe
;;; Copyright © 2017 Eric Bavier
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Miguel
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,8 @@
#:use-module (guix build-system perl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages libunistring)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages tex)
#:use-module (gnu packages xml)
@@ -41,34 +44,42 @@
(define-public gettext-minimal
(package
(name "gettext-minimal")
- (version "0.19.8.1")
+ (version "0.20.1")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gettext/gettext-"
- version ".tar.gz"))
- (sha256
- (base32
- "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; The gnulib test-lock test is prone to writer starvation
- ;; with our glibc@2.25, which prefers readers, so disable it.
- ;; The gnulib commit b20e8afb0b2 should fix this once
- ;; incorporated here.
- (substitute* "gettext-runtime/tests/Makefile.in"
- (("TESTS = test-lock\\$\\(EXEEXT\\)") "TESTS ="))
- (substitute* "gettext-tools/gnulib-tests/Makefile.in"
- (("test-lock\\$\\(EXEEXT\\) ") ""))
- #t))))
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gettext/gettext-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
(build-system gnu-build-system)
(outputs '("out"
- "doc")) ;8 MiB of HTML
+ "doc")) ;9 MiB of HTML
(inputs
- `(("expat" ,expat)))
+ `(("libunistring" ,libunistring)
+ ("libxml2" ,libxml2)
+
+ ;; TODO: ncurses is only needed for the 'libtextstyle' library.
+ ;; The next version of gettext can use a separate libtextstyle,
+ ;; but for now we include it here in 'gettext-minimal'.
+ ("ncurses" ,ncurses)))
(arguments
- `(#:phases
+ `(#:configure-flags '("--with-included-libunistring=no"
+ "--with-included-libxml=no")
+ #:phases
(modify-phases %standard-phases
+ (add-before 'patch-source-shebangs 'patch-fixed-paths
+ (lambda _
+ (substitute* '("gettext-tools/config.h.in"
+ "gettext-tools/gnulib-tests/init.sh"
+ "gettext-tools/tests/init.sh"
+ "gettext-tools/system-tests/run-test")
+ (("/bin/sh") "sh"))
+ (substitute* '("gettext-tools/src/project-id"
+ "gettext-tools/projects/KDE/trigger"
+ "gettext-tools/projects/GNOME/trigger")
+ (("/bin/pwd") "pwd"))
+ #t))
(add-before 'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bash (which "sh")))
@@ -92,15 +103,7 @@
(("/bin/pwd")
"pwd"))
- #t))))
- (add-before 'configure 'link-expat
- (lambda _
- ;; Gettext defaults to opening expat via dlopen on
- ;; "Linux". Change to link directly.
- (substitute* "gettext-tools/configure"
- (("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
- (("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\""))
- #t)))
+ #t)))))
;; When tests fail, we want to know the details.
#:make-flags '("VERBOSE=yes")))
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index f9c3ee94bf..3b74a96966 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -47,12 +47,13 @@
(define-public lcms
(package
(name "lcms")
- (replacement lcms/fixed)
(version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/" version
"/lcms2-" version ".tar.gz"))
+
+ (patches (search-patches "lcms-CVE-2018-16435.patch"))
(sha256 (base32
"083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8"))))
(build-system gnu-build-system)
@@ -68,14 +69,6 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(home-page "http://www.littlecms.com/")
(properties '((cpe-name . "little_cms_color_engine")))))
-(define lcms/fixed
- (package
- (inherit lcms)
- (source
- (origin
- (inherit (package-source lcms))
- (patches (search-patches "lcms-CVE-2018-16435.patch"))))))
-
(define-public libpaper
(package
(name "libpaper")
@@ -144,7 +137,7 @@ printing, and psresize, for adjusting page sizes.")
(define-public ghostscript
(package
(name "ghostscript")
- (version "9.26")
+ (version "9.27")
;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related,
;; but they have a significant impact on usability, hence this graft.
@@ -160,7 +153,7 @@ printing, and psresize, for adjusting page sizes.")
"/ghostscript-" version ".tar.xz"))
(sha256
(base32
- "1645f47all5w27bfhiq15vycdm954lmr6agqkrp68ksq6xglgvch"))
+ "06dnj0mxyaryfbwlsjwaqf847w91w2h8f108kxxcc41nrnx1y3zw"))
(patches (search-patches "ghostscript-no-header-creationdate.patch"
"ghostscript-no-header-id.patch"
"ghostscript-no-header-uuid.patch"))
@@ -178,6 +171,13 @@ printing, and psresize, for adjusting page sizes.")
(outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples
(arguments
`(#:disallowed-references ("doc")
+ ;; XXX: Starting with version 9.27, building the tests in parallel
+ ;; occasionally fails like this:
+ ;; In file included from ./base/memory_.h:23:0,
+ ;; from ./obj/gsmd5.h:1,
+ ;; from ./obj/gsmd5.c:56:
+ ;; ./base/std.h:25:10: fatal error: arch.h: No such file or directory
+ #:parallel-tests? #f
#:configure-flags
(list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index ec3a5d8cee..06e7bb5ae9 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -151,15 +151,16 @@ the X-Consortium license.")
(define-public ftgl
(package
(name "ftgl")
- (version "2.1.3-rc5")
+ (version "2.4.0")
+ (home-page "https://github.com/frankheckenbach/ftgl")
(source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/ftgl/FTGL%20Source/2.1.3~rc5/"
- "ftgl-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l"))))
+ "0zjs1h9w30gajq9lndzvjsa26rsmr1081lb1fbpbj10yhcdcsc79"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@@ -169,8 +170,10 @@ the X-Consortium license.")
("mesa" ,mesa)
("glu" ,glu)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "http://ftgl.sourceforge.net")
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(synopsis "Font rendering library for OpenGL applications")
(description
"FTGL is a font rendering library for OpenGL applications. Supported
@@ -330,6 +333,11 @@ also known as DXTn or DXTC) for Mesa.")
"-Dllvm=true")) ; default is x86/x86_64 only
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
+
+ ;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The
+ ;; documentation recommends using 'release' for performance anyway.
+ #:build-type "release"
+
#:modules ((ice-9 match)
(srfi srfi-1)
(guix build utils)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index a02cf3b7f3..3c2f346837 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -5,10 +5,11 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver
;;; Copyright © 2016 Efraim Flashner
;;; Copyright © 2016 Lukas Gradl
-;;; Copyright © 2017, 2018 Ricardo Wurmus
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus
;;; Copyright © 2017 Petter
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
;;; Copyright © 2018 Alex Vong
+;;; Copyright © 2019 Maxim Cournoyer
;;; Copyright © 2019 Giacomo Leidi
;;; Copyright © 2019 Marius Bakke
;;;
@@ -31,11 +32,11 @@
#:use-module (gnu packages)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
- #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@@ -53,6 +54,7 @@
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages selinux)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -64,6 +66,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (srfi srfi-1)
;; Export variables up-front to allow circular dependency with the 'xorg'
;; module.
@@ -82,8 +85,7 @@
(define dbus
(package
(name "dbus")
- (version "1.12.12")
- (replacement dbus/fixed)
+ (version "1.12.16")
(source (origin
(method url-fetch)
(uri (string-append
@@ -91,7 +93,7 @@
version ".tar.gz"))
(sha256
(base32
- "1y7mxhkw2shd9mi9s62k81lz8npjkrafapr4fyfms7hs04kg4ilm"))
+ "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
@@ -122,14 +124,21 @@
"sysconfdir=/tmp/dummy"
"install"))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; Dependencies to generate the doc.
+ ("docbook-xml" ,docbook-xml-4.4)
+ ("docbook-xsl" ,docbook-xsl)
+ ("doxygen" ,doxygen)
+ ("xmlto" ,xmlto)
+ ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
+ ("libxslt" ,libxslt)
+ ("yelp-tools" ,yelp-tools)))
(inputs
`(("expat" ,expat)
-
;; Add a dependency on libx11 so that 'dbus-launch' has support for
;; '--autolaunch'.
("libx11" ,libx11)))
-
+ (outputs '("out" "doc")) ;22 MiB of HTML doc
(home-page "https://www.freedesktop.org/wiki/Software/dbus/")
(synopsis "Message bus for inter-process communication (IPC)")
(description
@@ -150,18 +159,10 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1
-(define dbus/fixed
- (package
- (inherit dbus)
- (source (origin
- (inherit (package-source dbus))
- (patches (append (search-patches "dbus-CVE-2019-12749.patch")
- (origin-patches (package-source dbus))))))))
-
(define glib
(package
(name "glib")
- (version "2.56.3")
+ (version "2.60.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@@ -169,30 +170,36 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1cjcqz77m62zrx7224vl3f2cxwqf28r5xpqb2jy7av0vr2scb959"))
- (patches (search-patches "glib-tests-timer.patch"))))
- (build-system gnu-build-system)
+ "0v7vpx2md1gn0wwiirn7g4bhf2csfvcr03y96q2zv97ain6sp3zz"))
+ (patches (search-patches "glib-tests-timer.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "tests/spawn-test.c"
+ (("/bin/sh") "sh"))
+ #t))))
+ (build-system meson-build-system)
(outputs '("out" ; everything
- "bin" ; glib-mkenums, gtester, etc.; depends on Python
- "doc")) ; 20 MiB of GTK-Doc reference
+ "bin")) ; glib-mkenums, gtester, etc.; depends on Python
(propagated-inputs
- `(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc
- (inputs
- `(("coreutils" ,coreutils)
+ `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
+ ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+ ;; These are in the Requires.private field of gio-2.0.pc
("util-linux" ,util-linux) ; for libmount
- ("libffi" ,libffi)
+ ("libselinux" ,libselinux)
("zlib" ,zlib)))
+ (inputs
+ `(("coreutils" ,coreutils)))
(native-inputs
`(("gettext" ,gettext-minimal)
+ ("m4" ,m4) ; for installing m4 macros
("dbus" ,dbus) ; for GDBus tests
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("perl" ,perl) ; needed by GIO tests
- ("bash" ,bash)
("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
(arguments
- `(#:disallowed-references (,tzdata-for-tests)
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -204,14 +211,8 @@ shared NFS home directories.")
;; Some tests want write access there.
(setenv "HOME" (getcwd))
(setenv "XDG_CACHE_HOME" (getcwd))
-
- (substitute* '("glib/gspawn.c"
- "glib/tests/utils.c"
- "tests/spawn-test.c")
- (("/bin/sh")
- (string-append (assoc-ref inputs "bash") "/bin/sh")))
#t))
- (add-before 'check 'disable-failing-tests
+ (add-after 'unpack 'disable-failing-tests
(lambda _
(let ((disable
(lambda (test-file test-paths)
@@ -230,6 +231,15 @@ shared NFS home directories.")
;; recognize it.
"/thread/thread4"))
+ ;; This tries to find programs in FHS directories.
+ ("glib/tests/utils.c"
+ ("/utils/find-program"))
+
+ ;; This fails because "glib/tests/echo-script" cannot be
+ ;; found.
+ ("glib/tests/spawn-singlethread.c"
+ ("/gthread/spawn-script"))
+
("glib/tests/timer.c"
(;; fails if compiler optimizations are enabled, which they
;; are by default.
@@ -273,18 +283,45 @@ shared NFS home directories.")
("gio/tests/gdbus-unix-addresses.c"
(;; Requires /etc/machine-id.
- "/gdbus/x11-autolaunch")))))
+ "/gdbus/x11-autolaunch"))
+
+ ("gio/tests/gsocketclient-slow.c"
+ (;; These tests tries to resolve "localhost", and fails.
+ "/socket-client/happy-eyeballs/slow"
+ "/socket-client/happy-eyeballs/cancellation/delayed"))
+
+ )))
(for-each (lambda (x) (apply disable x)) failing-tests)
- #t))))
-
- ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
- #:configure-flags (list (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
-
- ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a
- ;; file that gets compiled possibly before it has been fully generated.
- #:parallel-tests? #f))
+ #t)))
+ (replace 'check
+ (lambda _
+ (setenv "MESON_TESTTHREADS"
+ (number->string (parallel-job-count)))
+ ;; Do not run tests marked as "flaky".
+ (invoke "meson" "test" "--no-suite" "flaky")))
+ ;; TODO: meson does not permit the bindir to be outside of prefix.
+ ;; See https://github.com/mesonbuild/meson/issues/2561
+ ;; We can remove this once meson is patched.
+ (add-after 'install 'move-executables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bin (assoc-ref outputs "bin")))
+ (mkdir-p bin)
+ (rename-file (string-append out "/bin")
+ (string-append bin "/bin"))
+ ;; Do not refer to "bindir", which points to "${prefix}/bin".
+ ;; We don't patch "bindir" to point to "$bin/bin", because that
+ ;; would create a reference cycle between the "out" and "bin"
+ ;; outputs.
+ (substitute* (list (string-append out "/lib/pkgconfig/gio-2.0.pc")
+ (string-append out "/lib/pkgconfig/glib-2.0.pc"))
+ (("bindir=\\$\\{prefix\\}/bin") "")
+ (("=\\$\\{bindir\\}/") "="))
+ #t))))))
+ ;; TODO: see above for explanation.
+ ;; #:configure-flags (list (string-append "--bindir="
+ ;; (assoc-ref %outputs "bin")
+ ;; "/bin"))
(native-search-paths
;; This variable is not really "owned" by GLib, but several related
@@ -311,30 +348,34 @@ dynamic loading, and an object system.")
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.56.1")
+ (version "1.60.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "0jx2kryjd7l0vl5gb3qp1qjfy3cjiizvcd1snsm7pzwrzz67aa2v"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "tools/g-ir-tool-template.in"
- (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@"))
- #t))
+ (base32 "172ymc1vbg2rclq1rszx4y32vm900nn1mc4qg1a4mqxjiwvf5pzz"))
(patches (search-patches
"gobject-introspection-cc.patch"
"gobject-introspection-girepository.patch"
"gobject-introspection-absolute-shlib-path.patch"))))
- (build-system gnu-build-system)
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'do-not-use-/usr/bin/env
+ (lambda _
+ (substitute* "tools/g-ir-tool-template.in"
+ (("#!@PYTHON_CMD@")
+ (string-append "#!" (which "python3"))))
+ #t)))))
(inputs
`(("bison" ,bison)
("flex" ,flex)
("glib" ,glib)
- ("python-2" ,python-2)))
+ ("python" ,python-wrapper)
+ ("zlib" ,zlib)))
(native-inputs
`(("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
@@ -347,13 +388,6 @@ dynamic loading, and an object system.")
(variable "GI_TYPELIB_PATH")
(files '("lib/girepository-1.0")))))
(search-paths native-search-paths)
- (arguments
- `(;; The build system has at least one race condition involving Gio-2.0.gir
- ;; which causes intermittent failures, as of 1.56.0.
- #:parallel-build? #f
- ;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes
- ;; some tests to fail.
- #:tests? #f))
(home-page "https://wiki.gnome.org/GObjectIntrospection")
(synopsis "Generate interface introspection data for GObject libraries")
(description
@@ -418,19 +452,19 @@ The intltool collection can be used to do these things:
(define itstool
(package
(name "itstool")
- (version "2.0.2")
+ (version "2.0.6")
(source (origin
(method url-fetch)
(uri (string-append "http://files.itstool.org/itstool/itstool-"
version ".tar.bz2"))
(sha256
(base32
- "0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z"))))
+ "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)
- ("python2-libxml2" ,python2-libxml2)
- ("python-2" ,python-2)))
+ ("python-libxml2" ,python-libxml2)
+ ("python" ,python)))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -463,6 +497,16 @@ information in their documents, such as whether a particular element should be
translated.")
(license license:gpl3+)))
+(define-public itstool/fixed
+ ;; This variant fixes a python-libxml2 crash when processing UTF-8
+ ;; sequences: . Since the issue is quite rare,
+ ;; create this variant here to avoid a full rebuild.
+ (package/inherit
+ itstool
+ (inputs
+ `(("python-libxml2" ,python-libxml2/fixed)
+ ,@(alist-delete "python-libxml2" (package-inputs itstool))))))
+
(define dbus-glib
(package
(name "dbus-glib")
@@ -521,7 +565,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
- (version "2.56.0")
+ (version "2.60.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -529,13 +573,10 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "1abrkqhca5p8n6ly3vp1232rny03s7lrd8f8iz2m2m141nxgqx3f"))))
+ "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3"))))
(build-system gnu-build-system)
(arguments
- `(;; XXX: Some tests uses C++14 features. Remove this when the default
- ;; compiler is >= GCC6.
- #:configure-flags '("CXXFLAGS=-std=gnu++14")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
@@ -670,7 +711,7 @@ useful for C++.")
(define-public perl-glib
(package
(name "perl-glib")
- (version "1.329")
+ (version "1.3291")
(source (origin
(method url-fetch)
(uri (string-append
@@ -678,7 +719,7 @@ useful for C++.")
version ".tar.gz"))
(sha256
(base32
- "0d9ak0zknz81lv3cqkzr2mxdic6g5rrbb87skqc4jj48rz4f2k3v"))))
+ "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)
@@ -763,6 +804,8 @@ This package provides the library for GLib applications.")
"mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/"
version "/libdbus-c%2B%2B-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
+ (patches (search-patches "dbus-c++-gcc-compat.patch"
+ "dbus-c++-threading-mutex.patch"))
(sha256
(base32
"0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"))))
@@ -784,7 +827,8 @@ This package provides the library for GLib applications.")
(lambda _
(substitute* "include/dbus-c++/eventloop-integration.h"
(("#include ")
- "#include \n#include ")))))))
+ "#include \n#include "))
+ #t)))))
(synopsis "D-Bus API for C++")
(description "This package provides D-Bus client API bindings for the C++
programming language. It also contains the utility
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0a5f0c84a0..d8b73e25d9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -86,10 +86,10 @@
#:use-module (gnu packages enchant)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
+ #:use-module (gnu packages file-systems)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -227,7 +227,6 @@
("libnotify" ,libnotify)
("libsm" ,libsm)
("libxml2" ,libxml2)
- ("nettle" ,nettle)
("totem-pl-parser" ,totem-pl-parser)))
(home-page "https://projects.gnome.org/brasero/")
(synopsis "CD/DVD burning tool for Gnome")
@@ -304,7 +303,7 @@ features to enable users to create their discs easily and quickly.")
("gettext" ,gettext-minimal)
("itstool" ,itstool)
("intltool" ,intltool)
- ("cmake" ,cmake)))
+ ("cmake" ,cmake-minimal)))
(home-page "https://launchpad.net/deja-dup")
(synopsis "Simple backup tool, for regular encrypted backups")
(description
@@ -362,10 +361,12 @@ relationship modeling, and network diagrams. The program supports various file
formats like PNG, SVG, PDF and EPS.")
(license license:gpl2+))))
+;; This is the unstable release, but it is required for the current stable
+;; release of gvfs (1.38.1).
(define-public libgdata
(package
(name "libgdata")
- (version "0.16.1")
+ (version "0.17.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -373,10 +374,7 @@ formats like PNG, SVG, PDF and EPS.")
name "-" version ".tar.xz"))
(sha256
(base32
- "09q8h1129xjpw33rvzz7856drygxwlm0s64z9cm0vbmjxiqy0h47"))
- (patches
- (search-patches "libgdata-fix-tests.patch"
- "libgdata-glib-duplicate-tests.patch"))))
+ "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -396,14 +394,14 @@ formats like PNG, SVG, PDF and EPS.")
("uhttpmock" ,uhttpmock)))
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
- ("glib" ,glib)
- ("glib-networking" ,glib-networking)
- ("json-glib" ,json-glib)
- ("libsoup" ,libsoup)))
+ ("glib-networking" ,glib-networking)))
(propagated-inputs
`(("gcr" ,gcr)
+ ("glib" ,glib)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
+ ("json-glib" ,json-glib)
("liboauth" ,liboauth)
+ ("libsoup" ,libsoup)
("libxml2" ,libxml2)))
(home-page "https://wiki.gnome.org/Projects/libgdata")
(synopsis "Library for accessing online service APIs")
@@ -433,8 +431,7 @@ access the common Google services, and has full asynchronous support.")
`(("gtk+" ,gtk+)
("libjpeg" ,libjpeg-turbo)
("lcms" ,lcms)
- ("libtiff" ,libtiff)
- ("nettle" ,nettle)))
+ ("libtiff" ,libtiff)))
(propagated-inputs
;; In Requires of libgxps.pc.
`(("cairo" ,cairo)
@@ -473,7 +470,7 @@ commonly used macros.")
(define-public gnome-desktop
(package
(name "gnome-desktop")
- (version "3.28.2")
+ (version "3.30.2")
(source
(origin
(method url-fetch)
@@ -482,7 +479,7 @@ commonly used macros.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0c439hhpfd9axmv4af6fzhibksh69pnn2nnbghbbqqbwy6zqfl30"))))
+ "0k6iccfj9naw42dl2mgljfvk12dmvg06plg86qd81nksrf9ycxal"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -561,7 +558,7 @@ and keep up to date translations of documentation.")
(define-public gnome-disk-utility
(package
(name "gnome-disk-utility")
- (version "3.28.3")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -569,7 +566,7 @@ and keep up to date translations of documentation.")
name "-" version ".tar.xz"))
(sha256
(base32
- "11ajz4cbsdns81kihd6242b6pwxbw8bkr9qqkf4qnb4kp363a38m"))))
+ "1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin")
@@ -599,7 +596,7 @@ and keep up to date translations of documentation.")
(define-public gcr
(package
(name "gcr")
- (version "3.28.0")
+ (version "3.28.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -607,7 +604,20 @@ and keep up to date translations of documentation.")
name "-" version ".tar.xz"))
(sha256
(base32
- "02xgky22xgvhgd525khqh64l5i21ca839fj9jzaqdi3yvb8pbq8m"))))
+ "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
+ (patches
+ (list
+ ;; This patch solves an ordering issue that showed up when
+ ;; running the test suite against newer Glib 2.60. See
+ ;; .
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
+ "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
+ (file-name "gcr-hashtable-ordering.patch")
+ (sha256
+ (base32
+ "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -636,6 +646,7 @@ and keep up to date translations of documentation.")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("libxml2" ,libxml2)
+ ("vala" ,vala)
("xsltproc" ,libxslt)))
;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
(propagated-inputs
@@ -710,25 +721,24 @@ GNOME Desktop.")
(substitute* "po/Makefile.in.in"
(("/bin/sh") (which "sh")))
#t))
- (add-before
- 'configure 'fix-docbook
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "docs/Makefile.am"
- (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/manpages/docbook.xsl")))
- (setenv "XML_CATALOG_FILES"
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/catalog.xml"))
- ;; Rerun the whole thing to avoid version mismatch ("This is
- ;; Automake 1.15.1, but the definition used by this
- ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
- ;; use 'autoreconf' because it insists on running 'libtoolize'.
- (invoke "autoconf")
- (invoke "aclocal")
- (invoke "automake" "-ac"))))))
+ (add-after 'unpack 'fix-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "docs/Makefile.am"
+ (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/manpages/docbook.xsl")))
+ (setenv "XML_CATALOG_FILES"
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/catalog.xml"))
+ ;; Rerun the whole thing to avoid version mismatch ("This is
+ ;; Automake 1.15.1, but the definition used by this
+ ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
+ ;; use 'autoreconf' because it insists on running 'libtoolize'.
+ (invoke "autoconf")
+ (invoke "aclocal")
+ (invoke "automake" "-ac"))))))
(inputs
`(("libgcrypt" ,libgcrypt)
("linux-pam" ,linux-pam)
@@ -738,6 +748,7 @@ GNOME Desktop.")
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
+ ("glib" ,glib) ; for m4 macros
("python" ,python-2) ;for tests
("intltool" ,intltool)
("autoconf" ,autoconf)
@@ -760,7 +771,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
- (version "3.28.2")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -768,7 +779,7 @@ forgotten when the session ends.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1qbk1x2c7iacmmfwjzh136v2sdacrkqn9d6bnqid7xn9hlnx4m89"))))
+ "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
@@ -793,6 +804,7 @@ forgotten when the session ends.")
;; ("libkpathsea" ,texlive-bin)
("gnome-desktop" ,gnome-desktop)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gspell" ,gspell)
("libgnome-keyring" ,libgnome-keyring)
("adwaita-icon-theme" ,adwaita-icon-theme)
("gdk-pixbuf" ,gdk-pixbuf)
@@ -808,10 +820,6 @@ forgotten when the session ends.")
("libcanberra" ,libcanberra)
("libsecret" ,libsecret)
- ;; XXX: 'libarchive.pc' adds '-lnettle' so Nettle should really be
- ;; propagated from there.
- ("nettle" ,nettle)
-
;; For tests.
("dogtail" ,python2-dogtail)))
(native-inputs
@@ -833,7 +841,7 @@ on the GNOME Desktop with a single simple application.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
- (version "3.28.0")
+ (version "3.28.1")
(source
(origin
(method url-fetch)
@@ -842,7 +850,7 @@ on the GNOME Desktop with a single simple application.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0rwidacwrxlc54x90h9g3wx2zlisc4vm49vmxi15azmpj1vwvd2c"))))
+ "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
@@ -931,7 +939,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
(define-public adwaita-icon-theme
(package (inherit gnome-icon-theme)
(name "adwaita-icon-theme")
- (version "3.28.0")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -939,7 +947,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0l114ildlb3lz3xymfxxi0wpr2x21rd3cg8slb8jyxynzwfqrbks"))))
+ "1kp1lis3dr16jmlgycz1b29jsr6ir8wmqj6laqwlhs663cmjlxbd"))))
(native-inputs
`(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
@@ -969,14 +977,14 @@ guidelines.")
(define-public shared-mime-info
(package
(name "shared-mime-info")
- (version "1.9")
+ (version "1.10")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/~hadess/"
"shared-mime-info-" version ".tar.xz"))
(sha256
(base32
- "10ywzhzg8v1xmb9sz5xbqaci90id38knswigynyl33i29vn360aw"))))
+ "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
(build-system gnu-build-system)
(arguments
;; The build system appears not to be parallel-safe.
@@ -1260,18 +1268,15 @@ the GNOME desktop environment.")
(define-public libcroco
(package
(name "libcroco")
- (version "0.6.12")
+ (version "0.6.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
- (patches
- (search-patches "libcroco-CVE-2017-7960.patch"
- "libcroco-CVE-2017-7961.patch"))
(sha256
(base32
- "0q7qhi7z64i26zabg9dbs5706fa8pmzp1qhpa052id4zdiabbi6x"))))
+ "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1828,8 +1833,6 @@ creating interactive structured graphics.")
(base32
"0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
(build-system gnu-build-system)
- (arguments
- '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
(propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
(native-inputs
`(("gtkmm-2" ,gtkmm-2)
@@ -1906,7 +1909,7 @@ widgets built in the loading process.")
;; .
(package
(name "libgnomeprint")
- (version "2.8.2")
+ (version "2.18.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1914,7 +1917,7 @@ widgets built in the loading process.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
+ "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
(build-system gnu-build-system)
(inputs
`(("popt" ,popt)
@@ -1937,7 +1940,7 @@ since ca. 2006, when GTK+ itself incorporated printing support.")
;; Deprecated; see libgnomeprint.
(package
(name "libgnomeprintui")
- (version "2.8.2")
+ (version "2.18.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1945,7 +1948,7 @@ since ca. 2006, when GTK+ itself incorporated printing support.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
+ "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
(build-system gnu-build-system)
;; Mentioned as Required in the .pc file
(propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
@@ -2010,7 +2013,7 @@ controls using the Bonobo component framework.")
(define-public libwnck
(package
(name "libwnck")
- (version "3.24.1")
+ (version "3.30.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2018,7 +2021,7 @@ controls using the Bonobo component framework.")
name "-" version ".tar.xz"))
(sha256
(base32
- "010zk9zvydggxqnxfml3scml5yxmpjy90irpqcayrzw26lldr9mg"))))
+ "0f9lvhm3w25046dqq8xyg7nzggxpmdriwrb661nng05a8qk0svdc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -2164,7 +2167,7 @@ Hints specification (EWMH).")
`(("bison" ,bison)
("docbook-xml" ,docbook-xml)
("intltool" ,intltool)
- ("itstool" ,itstool)
+ ("itstool" ,itstool/fixed) ;see
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "http://www.gnumeric.org")
@@ -2218,7 +2221,7 @@ engineering.")
(define-public seahorse
(package
(name "seahorse")
- (version "3.20.0")
+ (version "3.30")
(source
(origin
(method url-fetch)
@@ -2227,7 +2230,7 @@ engineering.")
version ".tar.xz"))
(sha256
(base32
- "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
+ "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))))
(build-system glib-or-gtk-build-system)
(inputs
`(("gtk+" ,gtk+)
@@ -2254,7 +2257,7 @@ passwords in the GNOME keyring.")
(define-public vala
(package
(name "vala")
- (version "0.40.9")
+ (version "0.44.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2262,7 +2265,7 @@ passwords in the GNOME keyring.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0yvaijkpahzz26sa37cyzbj75a9vbcbgvxbqzzb7hbcvfy009zy7"))))
+ "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -2281,8 +2284,6 @@ passwords in the GNOME keyring.")
("flex" ,flex)
("bison" ,bison)
("xsltproc" ,libxslt)
- ("grep" ,grep)
- ("sed" ,sed)
("dbus" ,dbus) ; for dbus tests
("gobject-introspection" ,gobject-introspection))) ; for gir tests
(inputs
@@ -2301,7 +2302,7 @@ libraries written in C.")
(define-public vte
(package
(name "vte")
- (version "0.52.2")
+ (version "0.56.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2309,7 +2310,7 @@ libraries written in C.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1br6kg0wzf1wmww1hadihhcpqbamalqmbppfdzjvzk1ayp75f9hg"))))
+ "0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -2348,7 +2349,6 @@ editors, IDEs, etc.")
(native-inputs
`(("gtk-doc" ,gtk-doc)
("gperf" ,gperf)
- ("gcc" ,gcc-7)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
@@ -2357,9 +2357,6 @@ editors, IDEs, etc.")
`(#:phases (modify-phases %standard-phases
(replace 'bootstrap
(lambda _
- ;; Work around GCC7 problem: .
- (for-each unsetenv '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
-
(setenv "NOCONFIGURE" "true")
(invoke "sh" "autogen.sh"))))))
(synopsis "Enhanced VTE terminal widget")
@@ -2627,7 +2624,7 @@ library.")
(define-public glib-networking
(package
(name "glib-networking")
- (version "2.58.0")
+ (version "2.60.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/"
@@ -2635,26 +2632,17 @@ library.")
"glib-networking-" version ".tar.xz"))
(sha256
(base32
- "0s006gs9nsq6mg31spqha1jffzmp6qjh10y27h0fxf1iw1ah5ymx"))
- (patches (search-patches "glib-networking-connection.patch"))))
+ "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-Dlibproxy_support=false")
- #:phases (modify-phases %standard-phases
- (add-before 'check 'disable-TLSv1.3
- (lambda _
- ;; XXX: One test fails when TLS 1.3 is enabled, fixed in 2.60.0:
- ;; .
- (setenv "G_TLS_GNUTLS_PRIORITY" "NORMAL:-VERS-TLS1.3")
- #t)))))
+ `(#:configure-flags '("-Dlibproxy_support=false")))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("glib" ,glib)
("gnutls" ,gnutls)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("p11-kit" ,p11-kit)))
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(home-page "https://www.gnome.org")
(synopsis "Network-related GIO modules")
(description
@@ -2858,7 +2846,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public five-or-more
(package
(name "five-or-more")
- (version "3.28.0")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -2867,7 +2855,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1fy4a7qdjqvabm0cl45d6xlx6hy4paxvm0b2paifff73bl250d5c"))))
+ "00d729p251kh96624i7qg2370r5mxwafs016i6hy01vsr71jzb9x"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -2889,7 +2877,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public gnome-mines
(package
(name "gnome-mines")
- (version "3.28.0")
+ (version "3.30.1.1")
(source
(origin
(method url-fetch)
@@ -2898,7 +2886,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "16w55hqaxipcv870n9gpn6qiywbqbyg7bjshaa02r75ias8dfxvf"))))
+ "08ddk400sg1g3q26gnm5mgv81vdqyix0yl7pd47p50vkc1w6f33z"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -2927,7 +2915,7 @@ floating in an ocean using only your brain and a little bit of luck.")
(define-public gnome-sudoku
(package
(name "gnome-sudoku")
- (version "3.28.0")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -2936,7 +2924,7 @@ floating in an ocean using only your brain and a little bit of luck.")
name "-" version ".tar.xz"))
(sha256
(base32
- "07b4lzniaf3gjsss6zl1lslv18smwc4nrijykvn2z90f423q2xav"))))
+ "1xy986s51jnrcqwan2hy4bjdg6797yr9s7gxx2z2q4j4gkx3qa1f"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -2962,7 +2950,7 @@ more fun.")
(define-public gnome-terminal
(package
(name "gnome-terminal")
- (version "3.28.2")
+ (version "3.30.3")
(source
(origin
(method url-fetch)
@@ -2971,7 +2959,7 @@ more fun.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ybjansg6lr279191w8z8r45gy4rxwzw1ajm98cgkv0fk2jdr0x2"))))
+ "0bar8qazk39acsif31h8i408nl82mzdcdg6p7ymak4l9pxyscxf8"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -3012,7 +3000,7 @@ keyboard shortcuts.")
(define-public colord
(package
(name "colord")
- (version "1.1.8")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
@@ -3020,38 +3008,42 @@ keyboard shortcuts.")
name "-" version ".tar.xz"))
(sha256
(base32
- "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
- (build-system glib-or-gtk-build-system)
+ "1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))
+ (build-system meson-build-system)
(arguments
- '(;; The tests want to run valgrind. Punt for now.
+ '(;; FIXME: One test fails:
+ ;; /colord/icc-store (in lib/colord/colord-self-test-private):
+ ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
+ ;; application/x-zerosize
#:tests? #f
- #:configure-flags (list "--localstatedir=/var"
- ;; GUSB not packaged yet.
- "--disable-gusb"
+ #:glib-or-gtk? #t
+ #:configure-flags (list "-Dlocalstatedir=/var"
;; No dep on systemd.
- "--disable-systemd-login"
+ "-Dsystemd=false"
;; Wants to install to global completion dir;
;; punt.
- "--disable-bash-completion"
+ "-Dbash_completion=false"
;; colord-gtk not packaged yet.
- "--disable-session-example"
- "--with-daemon-user=colord"
- "--enable-sane"
- (string-append "--with-udevrulesdir="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d"))
+ "-Dsession_example=false"
+ "-Ddaemon_user=colord"
+ "-Dsane=true"
+ ;; Requires spotread
+ "-Dargyllcms_sensor=false"
+ ;; TODO: Requires docbook2x
+ "-Dman=false")
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'patch-/bin/true
- (lambda _
- (substitute* "configure"
- (("/bin/true") (which "true")))
- (substitute* "src/Makefile.in"
- (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
- "if test -w $(DESTDIR)$(localstatedir);")))))))
+ (add-before 'configure 'patch-build-system
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "rules/meson.build"
+ (("udev.get_pkgconfig_variable\\('udevdir'\\)")
+ (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
+ #t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
("libtool" ,libtool)
("intltool" ,intltool)))
(propagated-inputs
@@ -3061,10 +3053,12 @@ keyboard shortcuts.")
("lcms" ,lcms)))
(inputs
`(("dbus-glib" ,dbus-glib)
+ ("gusb" ,gusb)
("libgudev" ,libgudev)
("libusb" ,libusb)
("sqlite" ,sqlite)
("polkit" ,polkit)
+ ("python" ,python-wrapper)
("sane-backends" ,sane-backends)))
(home-page "https://www.freedesktop.org/software/colord/")
(synopsis "Color management service")
@@ -3218,7 +3212,7 @@ service via the system message bus.")
(define-public libgweather
(package
(name "libgweather")
- (version "3.28.2")
+ (version "3.28.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3226,7 +3220,7 @@ service via the system message bus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0xfy5ghwvnz2g9074dy6512m4z2pv66pmja14vhi9imgacbfh708"))))
+ "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ; one of two tests requires network access
@@ -3260,7 +3254,7 @@ services for numerous locations.")
(define-public gnome-settings-daemon
(package
(name "gnome-settings-daemon")
- (version "3.28.1")
+ (version "3.30.2")
(source
(origin
(method url-fetch)
@@ -3269,7 +3263,7 @@ services for numerous locations.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0z9dip9p0iav646cmxisii5sbkdr9hmaklc5fzvschpbjkhphksr"))))
+ "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -3327,7 +3321,7 @@ settings, themes, mouse settings, and startup of other daemons.")
(define-public totem-pl-parser
(package
(name "totem-pl-parser")
- (version "3.26.1")
+ (version "3.26.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/totem-pl-parser/"
@@ -3335,7 +3329,7 @@ settings, themes, mouse settings, and startup of other daemons.")
"totem-pl-parser-" version ".tar.xz"))
(sha256
(base32
- "0k5pnka907invgds48d73c1xx1a366v5dcld3gr2l1dgmjwc9qka"))))
+ "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
(build-system meson-build-system)
(arguments
;; FIXME: Tests require gvfs.
@@ -3352,8 +3346,7 @@ settings, themes, mouse settings, and startup of other daemons.")
("libgcrypt" ,libgcrypt)
("libxml2" ,libxml2)))
(inputs
- `(("nettle" ,nettle)
- ("libsoup" ,libsoup)))
+ `(("libsoup" ,libsoup)))
(home-page "https://projects.gnome.org/totem")
(synopsis "Library to parse and save media playlists for GNOME")
(description "Totem-pl-parser is a GObjects-based library to parse and save
@@ -3396,10 +3389,10 @@ playlists in a variety of formats.")
which are easy to play with the aid of a mouse.")
(license license:gpl3+)))
-(define-public devhelp
+(define-public amtk
(package
- (name "devhelp")
- (version "3.28.1")
+ (name "amtk")
+ (version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3407,14 +3400,49 @@ which are easy to play with the aid of a mouse.")
name "-" version ".tar.xz"))
(sha256
(base32
- "08a8xizjqz68k30zd37r7g516azhan9bbrjsvv10hjd5dg3f476s"))))
- (build-system glib-or-gtk-build-system)
+ "1zriix7bdwcg0868mfc7jy6zbwjwdmjwbh0ah6dbddrhiabrda8j"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-gtk-doc")))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)))
+ (home-page "https://wiki.gnome.org/Projects/Amtk")
+ (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
+ (description
+ "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
+It is a basic GtkUIManager replacement based on GAction. It is suitable for
+both a traditional UI or a modern UI with a GtkHeaderBar.")
+ (license license:lgpl2.1+)))
+
+(define-public devhelp
+ (package
+ (name "devhelp")
+ (version "3.30.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "036sddvhs0blqpc2ixmjdl9vxynvkn5jpgn0jxr1fxcm4rh3q07a"))))
+ (build-system meson-build-system)
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
+ ("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin") ; for glib-mkmenus
+ ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("pkg-config" ,pkg-config)))
(inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ `(("amtk" ,amtk)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk)))
(home-page "https://wiki.gnome.org/Apps/Devhelp")
(synopsis "API documentation browser for GNOME")
@@ -3772,7 +3800,6 @@ as possible!")
("libxml2" ,libxml2)
("liboauth" ,liboauth)
("libsoup" ,libsoup)
- ("nettle" ,nettle)
("totem-pl-parser" ,totem-pl-parser)))
(arguments
`(#:phases
@@ -3821,7 +3848,6 @@ for application developers.")
("pkg-config" ,pkg-config)))
(inputs
`(("grilo" ,grilo)
- ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
("glib" ,glib)
("libxml2" ,libxml2)
("sqlite" ,sqlite)
@@ -3856,7 +3882,7 @@ for application developers.")
(define-public totem
(package
(name "totem")
- (version "3.26.2")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -3865,7 +3891,7 @@ for application developers.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1llyisls3pzf5bwkpxyfyxc2d3gpa09n5pjy7qsjdqrp3ya4k36g"))
+ "0rahkybxbmxhlmrrgrzxny1xm7wycx7ib4blxp1i2l1q3i8s84b0"))
(patches (search-patches "totem-meson-easy-codec.patch"
"totem-meson-compat.patch"))))
(build-system meson-build-system)
@@ -3904,15 +3930,12 @@ for application developers.")
("gst-plugins-good" ,gst-plugins-good)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("adwaita-icon-theme" ,adwaita-icon-theme)
- ;; XXX We use python-2 because libxml2 because itstool (which needs
- ;; libxml) currently uses python-2.
- ("python" ,python-2)
+ ("python" ,python)
("python-pygobject" ,python2-pygobject)
;; XXX TODO pylint needed for python support
("totem-pl-parser" ,totem-pl-parser)
("grilo" ,grilo)
("grilo-plugins" ,grilo-plugins)
- ("nettle" ,nettle)
("vala" ,vala)))
(arguments
`(#:glib-or-gtk? #t
@@ -4014,7 +4037,6 @@ which can read a large number of file formats.")
("python-pygobject" ,python2-pygobject)
("vala" ,vala)
("gmime" ,gmime)
- ("nettle" ,nettle)
("adwaita-icon-theme" ,adwaita-icon-theme)
("grilo" ,grilo)
("grilo-plugins" ,grilo-plugins)
@@ -4050,7 +4072,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(define-public eog
(package
(name "eog")
- (version "3.28.2")
+ (version "3.28.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4058,7 +4080,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1gasrfqi7qrzdq1idh29r0n6ikkqjb6pbp7a8k5krfz5hkhyfin0"))))
+ "1wrq3l3z0x6q0hnc1vqr2hnyb1b14qw6aqvc5dldfgbs0yys6p55"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@@ -4181,7 +4203,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(define-public gvfs
(package
(name "gvfs")
- (version "1.36.2")
+ (version "1.40.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gvfs/"
@@ -4189,21 +4211,20 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
"gvfs-" version ".tar.xz"))
(sha256
(base32
- "1xq105596sk9yram5a143b369wpaiiwc9gz86n0j1kfr7nipkqn4"))))
- (build-system gnu-build-system)
+ "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
+ (build-system meson-build-system)
(arguments
- '(#:tests? #f ; XXX: requiring `pidof'
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-broken-autogen-script
- (lambda _ (delete-file "autogen.sh") #t)))))
+ '(#:glib-or-gtk? #t
+ #:configure-flags
+ (list "-Dsystemduserunitdir=no"
+ "-Dtmpfilesdir=no"
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib/gvfs"))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
- ("autoconf" ,autoconf)
- ("automake" ,automake)
("gettext" ,gettext-minimal)
("gtk-doc" ,gtk-doc)
- ("libtool" ,libtool)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
(inputs
@@ -4211,23 +4232,27 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("dbus" ,dbus)
+ ("elogind" ,elogind)
("fuse" ,fuse)
("gcr" ,gcr)
("glib" ,glib)
+ ("gnome-online-accounts" ,gnome-online-accounts)
("libarchive" ,libarchive)
("libbluray" ,libbluray)
("libcap" ,libcap)
("libcdio-paranoia" ,libcdio-paranoia)
("libgcrypt" ,libgcrypt)
+ ("libgdata" ,libgdata)
("libgphoto2" ,libgphoto2)
("libgudev" ,libgudev)
("libimobiledevice" ,libimobiledevice)
("libmtp" ,libmtp)
+ ("libnfs" ,libnfs)
("libsecret" ,libsecret)
("libsmbclient" ,samba)
("libsoup" ,libsoup)
("libxml2" ,libxml2)
- ("nettle" ,nettle) ; XXX: required by libarchive.pc
+ ("openssh" ,openssh)
("polkit" ,polkit)
("udisks" ,udisks)))
(home-page "https://wiki.gnome.org/gvfs/")
@@ -4350,7 +4375,6 @@ work and the interface is well tested.")
;; These libraries must be on LD_LIBRARY_PATH.
(libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
"atk" "gtk+" "gsettings-desktop-schemas"
- "gcc:lib" ; needed b/c webkitgtk is built with gcc-7
"gobject-introspection"))
(path (string-join
(map (lambda (lib)
@@ -4363,8 +4387,7 @@ work and the interface is well tested.")
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
#t)))))
(native-inputs
- `(("gcc:lib" ,gcc-7 "lib") ; needed because webkitgtk is built with gcc-7
- ("intltool" ,intltool)
+ `(("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("python" ,python)
@@ -4385,7 +4408,7 @@ work and the interface is well tested.")
("libsecret" ,libsecret)
("gtkspell3" ,gtkspell3)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("webkitgtk" ,webkitgtk-2.26)))
+ ("webkitgtk" ,webkitgtk)))
(home-page "https://wiki.gnome.org/Apps/Eolie")
(synopsis "Web browser for GNOME")
(description
@@ -4396,7 +4419,7 @@ a secret password store, an adblocker, and a modern UI.")
(define-public epiphany
(package
(name "epiphany")
- (version "3.28.3.1")
+ (version "3.30.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/epiphany/"
@@ -4404,7 +4427,7 @@ a secret password store, an adblocker, and a modern UI.")
"epiphany-" version ".tar.xz"))
(sha256
(base32
- "1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9"))))
+ "0nk0krzrfck6hhfs52f4sjmj93yjyvabm72bq8i8f9l1pass5vgd"))))
(build-system meson-build-system)
(arguments
@@ -4423,7 +4446,6 @@ a secret password store, an adblocker, and a modern UI.")
`(("dconf" ,dconf)))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("gcc" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
("glib:bin" ,glib "bin") ; for glib-mkenums
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("intltool" ,intltool)
@@ -4439,12 +4461,13 @@ a secret password store, an adblocker, and a modern UI.")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("json-glib" ,json-glib)
("iso-codes" ,iso-codes)
+ ("libdazzle" ,libdazzle)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
("libxslt" ,libxslt)
("nettle" ,nettle) ; for hogweed
("sqlite" ,sqlite)
- ("webkitgtk" ,webkitgtk-2.26)))
+ ("webkitgtk" ,webkitgtk)))
(home-page "https://wiki.gnome.org/Apps/Web")
(synopsis "GNOME web browser")
(description
@@ -4514,7 +4537,7 @@ of running programs and invoke methods on those interfaces.")
(define-public yelp-xsl
(package
(name "yelp-xsl")
- (version "3.28.0")
+ (version "3.32.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4522,7 +4545,7 @@ of running programs and invoke methods on those interfaces.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14rznm1qpsnmkwksnkd5j7zplakl01kvrcw0fdmd5gdc65xz9kcc"))))
+ "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -4538,7 +4561,7 @@ to format Docbook and Mallard documents.")
(define-public yelp
(package
(name "yelp")
- (version "3.28.1")
+ (version "3.30.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4546,7 +4569,7 @@ to format Docbook and Mallard documents.")
name "-" version ".tar.xz"))
(sha256
(base32
- "033w5qnhm495pnvscnb3k2dagzgq4fsnzcrh0k2rgr10mw2mv2p8"))))
+ "060a902j15k76fyhk8xfl38ipvrrcc0qd7nm2mcck4ifb45b0zv4"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
@@ -4640,7 +4663,7 @@ classes for commonly used data structures.")
(define-public gexiv2
(package
(name "gexiv2")
- (version "0.10.10")
+ (version "0.12.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4648,19 +4671,13 @@ classes for commonly used data structures.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx"))))
+ "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
(build-system meson-build-system)
- (arguments
- ;; On 32-bit platforms, the test fails with a rounding error:
- ;; . Just skip it for
- ;; now.
- (if (and (not (%current-target-system))
- (member (%current-system) '("i686-linux" "armhf-linux")))
- '(#:tests? #f)
- '()))
(native-inputs
- `(("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
+ `(("gcr" ,gcr)
+ ("glib" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
(propagated-inputs
;; Listed in "Requires" section of gexiv2.pc
`(("exiv2" ,exiv2)))
@@ -4678,7 +4695,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
- (version "0.28.4")
+ (version "0.30.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4686,16 +4703,18 @@ metadata in photo and video files of various formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03k7n2kmzqn11kf3733w7m6xjh2b5q9xr84za2hli11fjymzaxm9"))))
- (build-system glib-or-gtk-build-system)
+ "1yiz3j0y2yg6985y3alb3hpkfbv68n8ibys5gpwcjdhmhf3czg5p"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t))
(propagated-inputs
`(("dconf" ,dconf)))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("itstool" ,itstool)
+ `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gettext" ,gettext-minimal)
("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
`(("glib:bin" ,glib "bin")
@@ -4725,7 +4744,7 @@ share them with others via social networking and more.")
(define-public file-roller
(package
(name "file-roller")
- (version "3.28.0")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4733,7 +4752,7 @@ share them with others via social networking and more.")
name "-" version ".tar.xz"))
(sha256
(base32
- "15pn2m80x45bzibig4zrqybnbr0n1f9wpqx7f2p6difldns3jwf1"))))
+ "0kiragsqyixyx15747b71qc4nw8y4jx9d55wgg612xb0hp5l9pj1"))))
(build-system meson-build-system)
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
@@ -4748,7 +4767,6 @@ share them with others via social networking and more.")
("json-glib" ,json-glib)
("libarchive" ,libarchive)
("libnotify" ,libnotify)
- ("nettle" ,nettle)
("itstool" ,itstool)
("libxml2" ,libxml2)))
(synopsis "Graphical archive manager for GNOME")
@@ -4761,7 +4779,7 @@ such as gzip tarballs.")
(define-public gnome-session
(package
(name "gnome-session")
- (version "3.28.1")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4769,7 +4787,7 @@ such as gzip tarballs.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14nmbirgrp2nm16khbz109saqdlinlbrlhjnbjydpnrlimfgg4xq"))))
+ "0fbpq103md4g9gi67rxnwvha21629nxx7qazddy6q6494sbqbzpa"))))
(arguments
'(#:glib-or-gtk? #t
#:phases
@@ -4794,14 +4812,6 @@ such as gzip tarballs.")
(out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/gnome-session")
`("PATH" ":" prefix (,(string-append glib "/bin"))))
- #t)))
- (add-after 'install 'add-absolute-paths-to-desktop-files
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- (substitute* (map (lambda (x)
- (string-append out "/share/xsessions/" x))
- '("gnome.desktop" "gnome-xorg.desktop"))
- (("gnome-session") (string-append out "/bin/gnome-session")))
#t))))
#:configure-flags
@@ -4840,7 +4850,7 @@ configuration program to choose applications starting on login.")
(define-public gjs
(package
(name "gjs")
- (version "1.52.3")
+ (version "1.56.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4848,7 +4858,7 @@ configuration program to choose applications starting on login.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1z4n15wdz6pbqd2hfzrqc8mmprhv50v4jk43p08v0xv07yldh8ff"))))
+ "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -4868,6 +4878,9 @@ configuration program to choose applications starting on login.")
(substitute* "installed-tests/js/testLocale.js"
((".*toBeDefined.*") "")
((".*expect\\(datestr\\).*") ""))
+ (substitute* "installed-tests/scripts/testCommandLine.sh"
+ (("Valentín") "")
+ (("☭") ""))
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-resources
@@ -4881,7 +4894,7 @@ configuration program to choose applications starting on login.")
;; These are all in the Requires.private field of gjs-1.0.pc.
`(("cairo" ,cairo)
("gobject-introspection" ,gobject-introspection)
- ("mozjs" ,mozjs-52)))
+ ("mozjs" ,mozjs-60)))
(inputs
`(("gtk+" ,gtk+)
("readline" ,readline)))
@@ -4895,7 +4908,7 @@ javascript engine and the GObject introspection framework.")
(define-public gedit
(package
(name "gedit")
- (version "3.28.1")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4903,7 +4916,7 @@ javascript engine and the GObject introspection framework.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0791r07d3ixmmfk68lvhp3d5i4vnlrnx10csxwgpfqyfb04vwx7i"))))
+ "0qwig35hzvjaqic9x92jcpmycnvcybsbnbiw6rppryx0arwb3wza"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@@ -4955,7 +4968,7 @@ powerful general purpose text editor.")
(define-public zenity
(package
(name "zenity")
- (version "3.28.1")
+ (version "3.30.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4963,7 +4976,7 @@ powerful general purpose text editor.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0swavrkc5ps3fwzy6h6l5mmim0wwy10xrq0qqkay5d0zf9a965yv"))))
+ "1wipnp46pd238z9ck5rsckbaw7yla6c936fswq5w94k4c6bgcplr"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -4982,7 +4995,7 @@ to display dialog boxes from the commandline and shell scripts.")
(define-public mutter
(package
(name "mutter")
- (version "3.28.2")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4990,7 +5003,7 @@ to display dialog boxes from the commandline and shell scripts.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ighs1zvlssgq16v1h3vg280za7y448snq65gc5m1zmqqawqkymg"))))
+ "0qr3w480p31nbiad49213rj9rk6p9fl82a68pzznpz36p30dq96z"))))
;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
;; versions of cogl and clutter. As a result, many of the inputs,
;; propagated-inputs, and configure flags used in cogl and clutter are
@@ -5085,7 +5098,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
- (version "3.28.0")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5093,7 +5106,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
- "035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47"))))
+ "1p1gdgryziklrgngn6m13xnvfx4gb01h723nndfi9944r24fbiq5"))))
(outputs '("out" "lib"))
(build-system glib-or-gtk-build-system)
(arguments
@@ -5110,6 +5123,9 @@ window manager.")
(("@libdir@") (string-append lib "/lib"))
(("@includedir@") (string-append lib "/include"))
(("@datadir@") (string-append lib "/share")))
+ ;; Make sure gobject-introspection knows about the output
+ ;; too (see ).
+ (setenv "outputs" "out lib")
#t))))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
@@ -5138,25 +5154,22 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(define-public evolution-data-server
(package
(name "evolution-data-server")
- (version "3.28.3")
+ (version "3.30.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "evolution-data-server-locales.patch"))
(sha256
(base32
- "11sq795115vrcgxl9svscm6wg8isjj784c3d84qzb6z47zq92zj3"))))
- (outputs '("out" "libedataserverui"))
+ "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"))))
(build-system cmake-build-system)
(arguments
- '(;; XXX FIXME: 11/85 tests are failing.
- #:tests? #f
- #:configure-flags
- (let* ((lib (string-append (assoc-ref %outputs "out")
- "/lib"))
- (runpaths (map (lambda (s) (string-append
- lib "/evolution-data-server/" s))
+ '(#:configure-flags
+ (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
+ (runpaths (map (lambda (s)
+ (string-append lib "/evolution-data-server/" s))
'("addressbook-backends" "calendar-backends"
"camel-providers" "credential-modules"
"registry-modules"))))
@@ -5164,22 +5177,31 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
"-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
"-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
"-DENABLE_VALA_BINDINGS=ON"
- ;; FIXME: Building against ICU 60 requires C++11 or higher. Remove
- ;; "-std=gnu++11" when our default compiler is >= GCC6.
- ;; FIXME: Temporarily use "-DU_USING_ICU_NAMESPACE=1" until
- ;; evolution-data-server has been updated to qualify ICU types
- ;; explicitly, as required by ICU 61 and later. See:
- ;;
- "-DCMAKE_CXX_FLAGS=-std=gnu++11 -DU_USING_ICU_NAMESPACE=1"
(string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
(string-append lib "/evolution-data-server;")
(string-join runpaths ";"))
"-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
+ ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
+ (delete-file-recursively "tests/book-migration")
+ (substitute* "tests/CMakeLists.txt"
+ (("add_subdirectory\\(book-migration\\)") ""))
+ ;; tests/libedata-cal/test-cal-meta-backend.c:1328:test_get_attachment_uris:
+ ;; assertion failed (uris->data == expected_uri):
+ ;; ("" == "file:///tests/libedata-cal/components/event-1.ics")
+ (substitute* "tests/libedata-cal/CMakeLists.txt"
+ (("test-cal-meta-backend") ""))
+ #t))
(add-after 'unpack 'patch-paths
(lambda _
- (substitute* "tests/test-server-utils/e-test-server-utils.c"
+ (substitute* '("tests/test-server-utils/e-test-server-utils.c"
+ "tests/libedata-book/data-test-utils.c"
+ "tests/libedata-book/test-book-cache-utils.c"
+ "tests/libedata-cal/test-cal-cache-utils.c")
(("/bin/rm") (which "rm")))
#t))
(add-before 'configure 'dont-override-rpath
@@ -5188,28 +5210,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
;; CMakeLists.txt hard-codes runpath to just the libdir.
;; Remove it so the configure flag is respected.
(("SET\\(CMAKE_INSTALL_RPATH .*") ""))
- #t))
- (add-after 'install 'split
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (libedsui (assoc-ref outputs "libedataserverui")))
- (for-each (lambda (file)
- (mkdir-p (dirname (string-append libedsui file)))
- (rename-file (string-append out file)
- (string-append libedsui file)))
- '("/lib/pkgconfig/libedataserverui-1.2.pc"
- "/lib/libedataserverui-1.2.so"
- "/lib/libedataserverui-1.2.so.2"
- "/lib/libedataserverui-1.2.so.2.0.0"
- "/lib/girepository-1.0/EDataServerUI-1.2.typelib"
- "/include/evolution-data-server/libedataserverui"
- "/share/gir-1.0/EDataServerUI-1.2.gir"
- "/share/vala/vapi/libedataserverui-1.2.vapi"
- "/share/vala/vapi/libedataserverui-1.2.deps"))
- (substitute* (string-append libedsui "/lib/pkgconfig/"
- "libedataserverui-1.2.pc")
- ((out) libedsui))
- #t))))))
+ #t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection)
@@ -5231,6 +5232,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
("gcr" ,gcr)
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("json-glib" ,json-glib)
+ ("libcanberra" ,libcanberra)
("libgweather" ,libgweather)
("mit-krb5" ,mit-krb5)
("openldap" ,openldap)
@@ -5311,7 +5313,7 @@ users.")
(define-public network-manager
(package
(name "network-manager")
- (version "1.10.10")
+ (version "1.14.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/NetworkManager/"
@@ -5320,20 +5322,13 @@ users.")
(patches (search-patches "nm-plugin-path.patch"))
(sha256
(base32
- "1jn3g0f2x1irc88awqp8m3gnpdx1whqqqbdgkbgr4x55s702jki4"))
+ "064cgj9za0kzarks0lrv0qw2ysdphb5l97iw0c964bfiqzjfv8rm"))
+ (modules '((guix build utils)))
(snippet
- '(begin
- (use-modules (guix build utils))
- (substitute* "configure"
- ;; Replace libsystemd-login with libelogind.
- (("libsystemd-login") "libelogind"))
- (substitute* "src/devices/wwan/nm-modem-manager.c"
- (("systemd") "elogind"))
- (substitute* "src/nm-session-monitor.c"
- (("systemd") "elogind"))
- (substitute* "./src/nm-logging.c"
- (("systemd") "elogind"))
- #t))))
+ '(begin
+ (substitute* "src/devices/wwan/nm-modem-manager.c"
+ (("systemd") "elogind"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 8 MiB of gtk-doc HTML
@@ -5343,7 +5338,10 @@ users.")
(doc (assoc-ref %outputs "doc"))
(dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
"/sbin/dhclient")))
- (list "--with-systemd-logind=yes" ;In Guix System, this is provided by elogind.
+ (list "--with-libnm-glib" ; needed by network-manager-applet
+ "--with-systemd-journal=no"
+ "--with-session-tracking=elogind"
+ "--with-suspend-resume=elogind"
"--with-consolekit=no"
"--with-crypto=gnutls"
"--disable-config-plugin-ibft"
@@ -5358,6 +5356,13 @@ users.")
(string-append "--with-dhclient=" dhclient)))
#:phases
(modify-phases %standard-phases
+ ;; This bare "ls" invocation breaks some tests.
+ (add-after 'unpack 'patch-ls-invocation
+ (lambda _
+ (substitute* "build-aux/ltmain.sh"
+ (("`ls -")
+ (string-append "`" (which "ls") " -")))
+ #t))
(add-before 'configure 'pre-configure
(lambda _
;; These tests try to test aspects of network-manager's
@@ -5370,26 +5375,24 @@ users.")
(("src/platform/tests/test-cleanup-linux") " ")
(("src/platform/tests/test-link-linux") " ")
(("src/platform/tests/test-route-linux") " ")
+ (("src/devices/tests/test-acd") "")
(("src/devices/tests/test-arping") " ")
(("src/devices/tests/test-lldp") " ")
(("src/tests/test-route-manager-linux") " "))
#t))
(add-after 'unpack 'delete-failing-tests
(lambda _
- ;; FIXME: These four tests fail for unknown reasons.
+ ;; FIXME: These three tests fail for unknown reasons.
;; ERROR:libnm-core/tests/test-general.c:5842:
;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
;; ERROR:libnm-core/tests/test-keyfile.c:647:
;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
;; ERROR:libnm-core/tests/test-setting.c:907:
;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
- ;; NetworkManager:ERROR:src/platform/tests/test-nmp-object.c:397:
- ;; test_cache_link: assertion failed: (nmp_object_is_visible (obj_new))
(substitute* "Makefile.in"
(("libnm-core/tests/test-general") " ")
(("libnm-core/tests/test-keyfile") " ")
- (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " ")
- (("src/platform/tests/test-nmp-object") " "))
+ (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
#t))
(add-before 'check 'pre-check
(lambda _
@@ -5420,7 +5423,8 @@ users.")
("python-dbus" ,python-dbus)
("python-pygobject" ,python-pygobject)))
(inputs
- `(("curl" ,curl)
+ `(("coreutils" ,coreutils) ; for ls
+ ("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("dbus-glib" ,dbus-glib)
("dnsmasq" ,dnsmasq)
@@ -5628,7 +5632,7 @@ Cisco's AnyConnect SSL VPN.")
(define-public network-manager-applet
(package
(name "network-manager-applet")
- (version "1.8.14")
+ (version "1.8.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5636,29 +5640,15 @@ Cisco's AnyConnect SSL VPN.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1js0i2kwfklahsn77qgxzdscy33drrlym3mrj1qhlw0zf8ri56ya"))))
- (build-system glib-or-gtk-build-system)
- (arguments '(#:configure-flags '("--disable-migration")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((mbpi (assoc-ref inputs
- "mobile-broadband-provider-info"))
- (iso-codes (assoc-ref inputs "iso-codes")))
- (substitute* "src/libnma/nma-mobile-providers.c"
- (("(g_build_filename \\()dirs\\[i\\].*,\
- (MOBILE_BROADBAND_PROVIDER_INFO.*)" all start end)
- (string-append start "\"" mbpi "/share\", " end)))
- (substitute* "src/libnma/nma-mobile-providers.c"
- (("(g_build_filename \\()dirs\\[i\\].*,\
- (ISO_3166_COUNTRY_CODES.*)" all start end)
- (string-append start "\"" iso-codes
- "/share\", " end)))
- #t))))))
+ "0y31g0lxr93370xi74hbpvcy9m81n5wdkdhq8xy2nqp0y4219p13"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t))
(native-inputs
`(("intltool" ,intltool)
+ ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
("pkg-config" ,pkg-config)))
(propagated-inputs
;; libnm-gtk.pc refers to all these.
@@ -5666,7 +5656,8 @@ Cisco's AnyConnect SSL VPN.")
("gtk+" ,gtk+)
("network-manager" ,network-manager)))
(inputs
- `(("iso-codes" ,iso-codes)
+ `(("gcr" ,gcr)
+ ("iso-codes" ,iso-codes)
("libgudev" ,libgudev)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
@@ -5725,16 +5716,15 @@ libxml2.")
(define-public gdm
(package
(name "gdm")
- (version "3.28.2")
+ (version "3.30.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
- (patches (search-patches "gdm-CVE-2018-14424.patch"))
(sha256
(base32
- "0wdm1503x66n1crdlmzmincbd2hccpxsdgjsl5anx3yjpdzs0hb0"))))
+ "15f7lz7z75krgbq8vb800afj96h8mw2fpy1s28za2911x5vgq0ak"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -5750,6 +5740,9 @@ libxml2.")
;; systemd-specific '/etc/locale.conf'.
"--with-lang-file=/etc/environment"
+ ,(string-append "--with-udevdir="
+ (assoc-ref %outputs "out") "/lib/udev")
+
"--localstatedir=/var"
,(string-append "--with-default-path="
(string-join '("/run/setuid-programs"
@@ -5972,7 +5965,7 @@ devices using the GNOME desktop.")
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "3.28.2")
+ (version "3.30.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5980,7 +5973,9 @@ devices using the GNOME desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0d6pjdbsra16nav8201kaadja5yma92bhziki9601ilk2ry3v7pz"))))
+ "0gih1cmqbv803kp30704sllghb0impa0mmv3j8pndfg4zr2mnq9r"))
+ (patches
+ (search-patches "gnome-control-center-udisks.patch"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -6001,7 +5996,7 @@ devices using the GNOME desktop.")
(substitute* "panels/datetime/tz.h"
(("/usr/share/zoneinfo/zone.tab")
(string-append tzdata "/share/zoneinfo/zone.tab")))
- (substitute* "panels/datetime/test-endianess.c"
+ (substitute* "tests/datetime/test-endianess.c"
(("/usr/share/locale")
(string-append libc "/share/locale")))
(substitute* "panels/region/cc-region-panel.c"
@@ -6049,6 +6044,7 @@ devices using the GNOME desktop.")
("libgudev" ,libgudev)
("libgtop" ,libgtop)
("libpwquality" ,libpwquality)
+ ("libsecret" ,libsecret)
("libsoup" ,libsoup)
("libxml2" ,libxml2)
("libwacom" ,libwacom)
@@ -6060,6 +6056,7 @@ devices using the GNOME desktop.")
("pulseaudio" ,pulseaudio)
("smbclient" ,samba)
("tzdata" ,tzdata)
+ ("udisks" ,udisks)
("upower" ,upower)))
(synopsis "Utilities to configure the GNOME desktop")
(home-page "https://www.gnome.org/")
@@ -6073,7 +6070,7 @@ properties, screen resolution, and other GNOME parameters.")
(define-public gnome-shell
(package
(name "gnome-shell")
- (version "3.28.2")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6081,7 +6078,7 @@ properties, screen resolution, and other GNOME parameters.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1b9n89ij2g5nqaqp7a13jnqcd8qa2v9p55rbi71al3xvqk091ri7"))
+ "0kacd4w9lc5finsvs170i7827qkxwd1ddj0g2giizwffpjdjqqr2"))
(patches (search-patches "gnome-shell-theme.patch"))
(modules '((guix build utils)))
(snippet
@@ -6286,8 +6283,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
(propagated-inputs
`(("libarchive" ,libarchive))) ; XXX document why
(inputs
- `(("gtk+" ,gtk+)
- ("nettle" ,nettle))) ; XXX: required by libarchive.pc
+ `(("gtk+" ,gtk+)))
(synopsis "Archives integration support for GNOME")
(home-page "https://git.gnome.org/browse/gnome-autoar/")
(description
@@ -6355,7 +6351,6 @@ easy, safe, and automatic.")
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("sqlite" ,sqlite)
- ("nettle" ,nettle) ; XXX why is this needed?
("python" ,python)
("poppler" ,poppler)
("libgsf" ,libgsf)
@@ -6393,7 +6388,7 @@ shared object databases, search tools and indexing.")
(define-public nautilus
(package
(name "nautilus")
- (version "3.28.1")
+ (version "3.30.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6401,7 +6396,7 @@ shared object databases, search tools and indexing.")
name "-" version ".tar.xz"))
(sha256
(base32
- "19dhpa2ylrg8d5274lahy7xqr2p9z3jnq1h4qmsh95czkpy7is4w"))))
+ "144r4py9b8w9ycsg6fggjg05kwvymh003qsb3h6apgpch5y3zgnv"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -6422,8 +6417,8 @@ shared object databases, search tools and indexing.")
("exempi" ,exempi)
("gnome-desktop" ,gnome-desktop)
("gnome-autoar" ,gnome-autoar)
+ ("libseccomp" ,libseccomp)
("libselinux" ,libselinux)
- ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
("tracker" ,tracker)
;; XXX: gtk+ is required by libnautilus-extension.pc
;;
@@ -6444,7 +6439,7 @@ files.")
(define-public baobab
(package
(name "baobab")
- (version "3.28.0")
+ (version "3.30.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -6453,7 +6448,7 @@ files.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk"))))
+ "0kx721s1hhw1g0nvbqhb93g8iq6f852imyhfhl02zcqy4ipx0kay"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t))
@@ -6480,7 +6475,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds
(package
(name "gnome-backgrounds")
- (version "3.28.0")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -6489,7 +6484,7 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj"))))
+ "1179jrl16bp9gqabqhw7nnfp8qzf5y1vf9fi45bni6rfmwm3mrpc"))))
(build-system meson-build-system)
(native-inputs
`(("intltool" ,intltool)))
@@ -6508,7 +6503,7 @@ can add your own files to the collection.")
(define-public gnome-screenshot
(package
(name "gnome-screenshot")
- (version "3.26.0")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -6517,7 +6512,7 @@ can add your own files to the collection.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1fy8fjl29i3xhj8caik03d3za06x96xgkk8r4fwz88iqbmci3g0v"))))
+ "06dx3svxq6sar4913mrz5lzb7hmc66wck138vmyxj8x8iv1iw0w8"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
@@ -6531,7 +6526,7 @@ can add your own files to the collection.")
("libcanberra" ,libcanberra)
("libx11" ,libx11)
("libxext" ,libxext)))
- (home-page "https://git.gnome.org/browse/gnome-screenshot")
+ (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
(synopsis "Take pictures of your screen")
(description
"GNOME Screenshot is a utility used for taking screenshots of the entire
@@ -6542,7 +6537,7 @@ beautifying border effects.")
(define-public dconf-editor
(package
(name "dconf-editor")
- (version "3.28.0")
+ (version "3.30.2")
(source
(origin
(method url-fetch)
@@ -6551,8 +6546,19 @@ beautifying border effects.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0nhcpwqrkmpxbhaf0cafvy6dlp6s7vhm5vknl4lgs3l24zc56ns5"))))
+ "06f736spn20s7qjsz00xw44v8r8bjhyrz1v3bix6v416jc5jp6ia"))))
(build-system meson-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-glib-minimum-version
+ (lambda _
+ ;; Change the minimum required GLib version so that
+ ;; 'valac' is passed '--target-glib 2.60.0'; failing to
+ ;; do that, it complains that "55" is not an even
+ ;; number. See .
+ (substitute* "editor/meson.build"
+ (("2\\.55\\.1") "2.60.0"))
+ #t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
@@ -6778,7 +6784,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
(define-public gnome-clocks
(package
(name "gnome-clocks")
- (version "3.28.0")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6786,7 +6792,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1dd739vchb592mck1dia2hkywn4213cpramyqzgmlmwv8z80p3nl"))))
+ "009fr6zwv37wryi0c0syi4i7pxpdbn3gliws68l99cjsbn2qd6pc"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t))
@@ -6816,7 +6822,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
(define-public gnome-calendar
(package
(name "gnome-calendar")
- (version "3.28.2")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6824,7 +6830,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0x6wxngf8fkwgbl6x7rzp0srrb43rm55klpb2vfjk2hahpbjvxyw"))))
+ "1avi7a29y8d8kzwslp51nwy6s692alms7917454j0xpfc6hnw62s"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -6841,7 +6847,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("libdazzle" ,libdazzle)
- ("libedataserverui" ,evolution-data-server "libedataserverui")
+ ("libedataserverui" ,evolution-data-server)
("libgweather" ,libgweather)
("geoclue" ,geoclue)))
(home-page "https://wiki.gnome.org/Apps/Calendar")
@@ -6889,7 +6895,7 @@ desktop. It supports multiple calendars, month, week and year view.")
(inputs
`(("rest" ,rest) ; For Todoist plugin
("json-glib" ,json-glib) ; For Todoist plugin
- ("libedataserverui" ,evolution-data-server "libedataserverui")
+ ("libedataserverui" ,evolution-data-server)
("libical" ,libical)
("libpeas" ,libpeas)
("python-pygobject" ,python-pygobject)
@@ -6946,7 +6952,7 @@ existing databases over the internet.")
(define-public gnome-tweaks
(package
(name "gnome-tweaks")
- (version "3.28.1")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnome-tweaks/"
@@ -6956,7 +6962,7 @@ existing databases over the internet.")
(list (search-patch "gnome-tweaks-search-paths.patch")))
(sha256
(base32
- "1p5xydr0haz4389h6dvvbna6i1mipdzvmlfksnv0jqfvfs9sy6fp"))))
+ "0j63siy1i5pl2g6di1r9vjn54m9ahh42wj20j6689pza2lamay1z"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -7005,7 +7011,7 @@ GNOME Shell appearance and extension, etc.")
(define-public gnome-shell-extensions
(package
(name "gnome-shell-extensions")
- (version "3.28.1")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -7013,7 +7019,7 @@ GNOME Shell appearance and extension, etc.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0n4h8rdnq3knrvlg6inrl62a73h20dbhfgniwy18572jicrh5ip9"))))
+ "1grxn4f5x754r172wmnf0h0xpy69afmj359zsj1rwgqlzw4i4c5p"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dextension_set=all")))
@@ -7329,7 +7335,7 @@ handling the startup notification side.")
(define-public gnome-calculator
(package
(name "gnome-calculator")
- (version "3.28.2")
+ (version "3.32.2")
(source
(origin
(method url-fetch)
@@ -7338,16 +7344,19 @@ handling the startup notification side.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0izsrqc9fm2lh25jr3nzi94p5hh2d3cklxqczbq16by85wr1xm5s"))))
- (build-system glib-or-gtk-build-system)
+ "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
+ (build-system meson-build-system)
+ (arguments '(#:glib-or-gtk? #t))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
+ ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("intltool" ,intltool)
("itstool" ,itstool)
+ ("vala" ,vala)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
- ("gtksourceview" ,gtksourceview-3)
+ ("gtksourceview" ,gtksourceview)
("libsoup" ,libsoup)
("libxml2" ,libxml2)
("mpc" ,mpc)
@@ -7393,20 +7402,20 @@ basically a text box in which notes can be written.")
(define-public gucharmap
(let ((unicode-files
'(("Blocks.txt"
- "19zf2kd198mcv1paa194c1zf36hay1irbxssi35yi2pd8ad69qas")
+ "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
("DerivedAge.txt"
- "1h9p1g0wnh686l6cqar7cmky465vwc6vjzzn1s7v0i9zcjaqkr4h")
+ "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
("NamesList.txt"
- "0gvpcyq852rnlqmx4y5i1by7bavvcw6rj40i54w48yc7xr3zmgd1")
+ "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
("Scripts.txt"
- "0b9prz2hs6w61afqaplcxnv115f8yk4d5hn9dc5hks8nqpj28bnh")
+ "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
("UnicodeData.txt"
- "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj")
+ "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
("Unihan.zip"
- "199kz6laypkvc0ykms6d7bkb571jmpds39sv2p7kd5jjm1ij08q1"))))
+ "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
(package
(name "gucharmap")
- (version "10.0.4")
+ (version "12.0.1")
(source
(origin
(method url-fetch)
@@ -7415,7 +7424,7 @@ basically a text box in which notes can be written.")
name "-" version ".tar.xz"))
(sha256
(base32
- "00gh3lll6wykd2qg1lrj05a4wvscsypmrx7rpb6jsbvb4scnh9mv"))))
+ "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:modules ((ice-9 match)
@@ -7447,7 +7456,7 @@ basically a text box in which notes can be written.")
,(origin
(method url-fetch)
(uri (string-append
- "http://www.unicode.org/Public/10.0.0/ucd/"
+ "http://www.unicode.org/Public/12.0.0/ucd/"
file))
(sha256 (base32 hash))))))
unicode-files)
@@ -7498,7 +7507,7 @@ Bluefish supports many programming and markup languages.")
(define-public gnome-system-monitor
(package
(name "gnome-system-monitor")
- (version "3.28.2")
+ (version "3.30.0")
(source
(origin
(method url-fetch)
@@ -7507,10 +7516,14 @@ Bluefish supports many programming and markup languages.")
name "-" version ".tar.xz"))
(sha256
(base32
- "164in885dyfvna5yjzgdyrbrsskvh5wzxdmkjgb4mbh54lzqd1zb"))))
- (build-system glib-or-gtk-build-system)
+ "0g0y565bjs6bdszrnxsz1f7hcm1x59i3mfvplysirh7nz3hpz888"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t
+ #:configure-flags '("-Dsystemd=false")))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums.
+ ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
("intltool" ,intltool)
("itstool" ,itstool)
("libgtop" ,libgtop)
@@ -7577,7 +7590,7 @@ accessibility infrastructure.")
(define-public orca
(package
(name "orca")
- (version "3.28.1")
+ (version "3.30.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -7586,7 +7599,7 @@ accessibility infrastructure.")
name "-" version ".tar.xz"))
(sha256
(base32
- "04l5ccn7wf175gyq3blfpx0yh70ny06n161297jwc9idf951852g"))))
+ "17asibc46i5gr2fw04jvvdi85zzmxwlnhyq7r6cr3m5prrdr8a53"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -7834,7 +7847,7 @@ photo-booth-like software, such as Cheese.")
(define-public cheese
(package
(name "cheese")
- (version "3.28.0")
+ (version "3.30.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -7842,7 +7855,7 @@ photo-booth-like software, such as Cheese.")
version ".tar.xz"))
(sha256
(base32
- "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw"))))
+ "0zz2bgjaf2lsmfs3zn24925vbjb0rycr39i288brlbzixrpcyljr"))))
(arguments
;; Tests require GDK.
`(#:tests? #f
@@ -8110,7 +8123,7 @@ generic enough to work for everyone.")
(define-public evolution
(package
(name "evolution")
- (version "3.28.1")
+ (version "3.30.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/evolution/"
@@ -8118,23 +8131,34 @@ generic enough to work for everyone.")
"evolution-" version ".tar.xz"))
(sha256
(base32
- "0sdv5lg2vlz5f4raymz9d8a5jq4j18vbqyigaip6508p3bjnfj8l"))))
+ "1hhxj3rh921pp3l3c5k33bdypcas1p66krzs65k1qn82c5fpgl2h"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
- "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
- ; in four years and cannot be built
+ `(#:imported-modules (,@%cmake-build-system-modules
+ (guix build glib-or-gtk-build-system))
+ #:modules ((guix build cmake-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:configure-flags
+ (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
+ "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
+ ; in four years and cannot be built.
#:phases
(modify-phases %standard-phases
- (add-after 'install 'wrap-program
+ ;; The build system attempts to install user interface modules to the
+ ;; output directory of the "evolution-data-server" package. This
+ ;; change redirects that change.
+ (add-after 'unpack 'patch-ui-module-dir
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/evolution")
- `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS")))
- `("GSETTINGS_SCHEMA_DIR" =
- (,(string-append out "/share/glib-2.0/schemas")))))
- #t)))))
+ (substitute* "src/modules/alarm-notify/CMakeLists.txt"
+ (("\\$\\{edsuimoduledir\\}")
+ (string-append (assoc-ref outputs "out")
+ "/lib/evolution-data-server/ui-modules")))
+ #t))
+ (add-after 'install 'glib-or-gtk-compile-schemas
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+ (add-after 'install 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs
`(("glib" ,glib "bin") ; glib-mkenums
("pkg-config" ,pkg-config)
@@ -8150,7 +8174,7 @@ generic enough to work for everyone.")
("gtkspell3" ,gtkspell3)
("highlight" ,highlight)
("libcanberra" ,libcanberra)
- ("libedataserverui" ,evolution-data-server "libedataserverui")
+ ("libedataserverui" ,evolution-data-server)
("libgweather" ,libgweather)
("libnotify" ,libnotify)
("libsoup" ,libsoup)
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 2ed1a890f7..de916a8829 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -54,7 +54,7 @@
;; directory.
(package
(name "gnucash")
- (version "3.5")
+ (version "3.7")
(source
(origin
(method url-fetch)
@@ -62,7 +62,7 @@
version "/gnucash-" version ".tar.bz2"))
(sha256
(base32
- "0ibp7g6aknvnkwkin97kv04ipksy3l18dsz9qysjb7h2nr8hnvbp"))))
+ "1d2qi3ny0bxa16ifh3465z1jgn1l0fmqk9dkph4ialw076gv13kb"))))
(build-system cmake-build-system)
(inputs
`(("guile" ,guile-2.2)
@@ -125,13 +125,6 @@
(substitute* "libgnucash/scm/price-quotes.scm"
(("\"perl\" \"-w\" ") ""))
#t))
- ;; The test-stress-options unit test is known to fail, so we disable
- ;; it (see: https://bugs.gnucash.org/show_bug.cgi?id=796877).
- (add-after 'unpack 'disable-stress-options-test
- (lambda _
- (substitute* "gnucash/report/standard-reports/test/CMakeLists.txt"
- (("test-stress-options.scm") ""))
- #t))
;; The qof test requires the en_US, en_GB, and fr_FR locales.
(add-before 'check 'install-locales
(lambda _
@@ -207,7 +200,7 @@ installed as well as Yelp, the Gnome help browser.")
version "/gnucash-docs-" version revision ".tar.gz"))
(sha256
(base32
- "0gjndyms413vilf5nqh39frs1691sxib8l7y9mbvcyirj1f8285k"))))
+ "1h4hm58ikffbhplx4gm8pzm9blfwqa1sz8yc2fqi21vs5v0ijf9r"))))
(build-system gnu-build-system)
;; These are native-inputs because they are only required for building the
;; documentation.
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 58def3d76a..4ee7ed6634 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2017 Petter
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
;;; Copyright © 2018 Marius Bakke
+;;; Copyright © 2018 Björn Höfling
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,7 +77,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
- (version "1.32")
+ (version "1.36")
(source
(origin
(method url-fetch)
@@ -84,7 +85,16 @@
version ".tar.bz2"))
(sha256
(base32
- "1jj08ns4sh1hmafqp1giskvdicdz18la516va26jycy27kkwaif3"))))
+ "0z696dmhfxm2n6pmr8b857wwljq9h633yi99bhbn7h88f91rigds"))
+ (patches (search-patches "libgpg-error-gawk-compat.patch"))
+ ;; XXX: Remove this snippet with the gawk patch above. It avoids having
+ ;; to call autoreconf for the Makefile.am change to take effect.
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "src/Makefile.in"
+ (("namespace=errnos") "pkg_namespace=errnos"))
+ #t))))
(build-system gnu-build-system)
(home-page "https://gnupg.org")
(synopsis "Library of error values for GnuPG components")
@@ -100,16 +110,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.3")
+ (version "1.8.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "0z5gs1khzyknyfjr19k8gk4q148s6q987ya85cpn0iv70fz91v36"))
- (patches
- (search-patches "libgcrypt-make-yat2m-reproducible.patch"))))
+ "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 0ffeb44d7a..9ee9ca2f03 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -865,8 +865,7 @@ from forcing GEXP-PROMISE."
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-append gcc "/include/c++" ":"
- gcc "/include/c++/" build ":"
- (getenv "CPLUS_INCLUDE_PATH"))))
+ gcc "/include/c++/" build)))
#t))
(replace 'configure
;; configure does not work followed by both "SHELL=..." and
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 819cc6229e..51be20b066 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner
;;; Copyright © 2016 Matthew Jordan
;;; Copyright © 2016 Andy Wingo
-;;; Copyright © 2016 Ludovic Courtès
+;;; Copyright © 2016, 2019 Ludovic Courtès
;;; Copyright © 2016, 2017 Petter
;;; Copyright © 2016, 2017, 2019 Leo Famulari
;;; Copyright © 2017 Sergei Trofimovich
@@ -41,6 +41,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
+ #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
@@ -198,11 +199,7 @@
(inputs
`(("tzdata" ,tzdata)
("pcre" ,pcre)
- ;; Building Go 1.10 with the Go 1.4 bootstrap, Thread Sanitizer from GCC
- ;; 5 finds a data race during the the test suite of Go 1.10. With GCC 6,
- ;; the race doesn't seem to be present:
- ;; https://github.com/golang/go/issues/24046
- ("gcc:lib" ,gcc-6 "lib")))
+ ("gcc:lib" ,gcc "lib")))
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)
@@ -427,6 +424,12 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
(output (assoc-ref outputs "out")))
+ ;; Having the patch in the 'patches' field of breaks
+ ;; the 'TestServeContent' test due to the fact that
+ ;; timestamps are reset. Thus, apply it from here.
+ (invoke "patch" "-p2" "--force" "-i"
+ (assoc-ref inputs "go-skip-gc-test.patch"))
+
;; A side effect of these test scripts is testing
;; cgo. Attempts at using cgo flags and directives with these
;; scripts as specified here (https://golang.org/cmd/cgo/)
@@ -578,6 +581,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#t)))))))
(native-inputs
`(("go" ,go-1.4)
+ ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch"))
,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
`(("gold" ,binutils-gold)))
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index a0cab4fc62..d2481cf25b 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -66,11 +66,7 @@
;; TODO: "make doc" requires Docbook & co.
(arguments
`(#:configure-flags
- '("--with-zlib=system"
- ;; XXX Use -fPIC to work around build problems with Qt, GCC 5, and
- ;; recent binutils:
- ;; https://codereview.qt-project.org/#/c/111787/
- "CXXFLAGS=-std=gnu++11 -fPIC")
+ '("--with-zlib=system")
;; On i686, 'raymarine.test' fails because of a rounding error:
;; . As a workaround, disable tests
;; on these platforms.
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index caaf6c660b..c57d90f5ac 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -480,7 +480,8 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.")
;; FIXME: To run all tests successfully, test image sets from multiple
;; third party sources have to be present. For details see
;; https://github.com/OpenImageIO/oiio/blob/master/INSTALL
- (arguments `(#:tests? #f))
+ (arguments
+ `(#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index cf392f5468..98f17914bf 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -3,6 +3,8 @@
;;; Copyright © 2014 Mark H Weaver
;;; Copyright © 2016 Ricardo Wurmus
;;; Copyright © 2017 Ludovic Courtès
+;;; Copyright © 2019 Efraim Flashner
+;;; Copyright © 2019 Eric Bavier
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,14 +38,13 @@
(define-public groff
(package
(name "groff")
- (version "1.22.3")
+ (version "1.22.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/groff/groff-" version
".tar.gz"))
(sha256 (base32
- "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s"))
- (patches (search-patches "groff-source-date-epoch.patch"))))
+ "14q2mldnr1vx0l9lqp9v2f6iww24gj28iyh4j2211hyynx67p3p7"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;12MiB of PS, PDF, HTML, and examples
@@ -62,9 +63,37 @@
`(#:parallel-build? #f ; parallel build fails
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-relocatability
+ (lambda _
+ ;; Groff contains a Rube Goldberg-esque relocator for the file
+ ;; "charset.alias". It tries to find the current executable
+ ;; using realpath, a do-it-yourself search in $PATH and so on.
+ ;; Furthermore, the routine that does the search is buggy
+ ;; in that it doesn't handle error cases when they arise.
+ ;; This causes preconv to segfault when trying to look up
+ ;; the file "charset.alias" in the NULL location.
+ ;; The "charset.alias" parser is a copy of gnulib's, and a
+ ;; non-broken version of gnulib's "charset.alias" parser is
+ ;; part of glibc's libcharset.
+ ;; However, groff unconditionally uses their own
+ ;; "charset.alias" parser, but then DOES NOT INSTALL the
+ ;; file "charset.alias" when glibc is too new.
+ ;; In Guix, our file "charset.alias" only contains an obscure
+ ;; alias for ASCII and nothing else. So just disable relocation
+ ;; and make the entire "charset.alias" lookup fail.
+ ;; See for
+ ;; details.
+ (substitute* "Makefile.in"
+ (("-DENABLE_RELOCATABLE=1") ""))
+ #t))
(add-after 'unpack 'setenv
(lambda _
(setenv "GS_GENERATE_UUIDS" "0")
+ #t))
+ (add-after 'unpack 'fix-docdir
+ (lambda _ ;see https://savannah.gnu.org/bugs/index.php?55461
+ (substitute* "Makefile.in"
+ (("^docdir =.*") "docdir = @docdir@\n"))
#t)))))
(synopsis "Typesetting from plain text mixed with formatting commands")
(description
@@ -91,41 +120,11 @@ is usually the formatter of \"man\" documentation pages.")
(arguments
`(#:disallowed-references (,perl)
- #:configure-flags '("--docdir=/tmp/trash/doc")
+ #:configure-flags '("--with-doc=no")
,@(substitute-keyword-arguments (package-arguments groff)
((#:phases phases)
`(modify-phases ,phases
- (add-after 'unpack 'disable-relocatability
- (lambda _
- ;; Groff contains a Rube Goldberg-esque relocator for the
- ;; file "charset.alias".
- ;; It tries to find the current executable using realpath,
- ;; a do-it-yourself search in $PATH and so on.
- ;; Furthermore, the routine that does the search is buggy
- ;; in that it doesn't handle error cases when they arise.
- ;; This causes preconv to segfault when trying to look up
- ;; the file "charset.alias" in the NULL location.
- ;; The "charset.alias" parser is a copy of gnulib's, and a
- ;; non-broken version of gnulib's "charset.alias" parser
- ;; is part of glibc's libcharset.
- ;; However, groff unconditionally uses their own
- ;; "charset.alias" parser, but then DOES NOT INSTALL the
- ;; file "charset.alias" when glibc is too new.
- ;; In Guix, our file "charset.alias" only contains an
- ;; obscure alias for ASCII and nothing else.
- ;; So just disable relocation and make the entire
- ;; "charset.alias" lookup fail.
- ;; See
- ;; for details.
- (substitute* "src/libs/libgroff/Makefile.sub"
- (("-DENABLE_RELOCATABLE=1") ""))
- ;; That file contains a crash bug--so make sure that
- ;; its contents are not there.
- (call-with-output-file "src/libs/libgroff/relocate.cpp"
- (lambda (port)
- #t))
- #t))
(add-after 'install 'remove-non-essential-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Keep only the programs that man-db needs at run time,
diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm
index 6cdc395ec5..c1a0360b0e 100644
--- a/gnu/packages/gsasl.scm
+++ b/gnu/packages/gsasl.scm
@@ -95,9 +95,11 @@ the underlying security implementation.")
(("test-lock\\$\\(EXEEXT\\) ") ""))
#t))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--with-gssapi-impl=mit")))
(inputs `(("libidn" ,libidn)
("libntlm" ,libntlm)
- ("gss" ,gss)
+ ("mit-krb5" ,mit-krb5)
("zlib" ,zlib)))
(propagated-inputs
;; Propagate GnuTLS because libgnutls.la reads `-lnettle', and Nettle is a
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 8b81cc91a0..1ec161a599 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -436,19 +436,14 @@ compression formats through the use of the libav library.")
"0f1d9rvy2qxlymmfzyknnfr5rz1vx69jv17gp7wnamc5s6p7mp2m"))))
(build-system gnu-build-system)
(arguments
- ;; XXX: Factorize python-sitedir with python-build-system.
- `(#:imported-modules (,@%gnu-build-system-modules
+ `(#:modules ((guix build gnu-build-system)
+ ((guix build python-build-system) #:prefix python:))
+ #:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system))
#:configure-flags
- (let* ((python (assoc-ref %build-inputs "python"))
- (python-version ((@@ (guix build python-build-system)
- get-python-version)
- python))
- (python-sitedir (string-append
- "lib/python" python-version "/site-packages")))
- (list (string-append
- "--with-pygi-overrides-dir=" %output "/" python-sitedir
- "/gi/overrides")))))
+ (list (string-append
+ "--with-pygi-overrides-dir="
+ (python:site-packages %build-inputs %outputs) "gi/overrides"))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 12972b75df..34f9ca3844 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -180,15 +180,15 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "2.2.0")
+ (version "2.5.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
"harfbuzz/release/harfbuzz-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "047q63jr513azf3g1y7f5xn60b4jdjs9zsmrx04sfw5rasyzrk5p"))))
+ "0p45xk5bblsw8lfs7y7z80b4rvda9f2hlpr28flkrfmpjz3hvl7y"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -200,7 +200,8 @@ affine transformation (scale, rotation, shear, etc.).")
("graphite2" ,graphite2)
("icu4c" ,icu4c)))
(native-inputs
- `(("gobject-introspection" ,gobject-introspection)
+ `(("glib:bin" ,glib "bin") ;for glib-mkenums
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("which" ,which)))
@@ -298,8 +299,6 @@ functions which were removed.")
(modify-phases %standard-phases
(add-before 'configure 'set-flags
(lambda* (#:key outputs #:allow-other-keys)
- ;; Compile with C++11, required by gtkmm.
- (setenv "CXXFLAGS" "-std=c++11")
;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
@@ -400,7 +399,7 @@ printing and other features typical of a source code editor.")
(define-public gtksourceview
(package
(name "gtksourceview")
- (version "4.0.2")
+ (version "4.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gtksourceview/"
@@ -408,7 +407,7 @@ printing and other features typical of a source code editor.")
"gtksourceview-" version ".tar.xz"))
(sha256
(base32
- "1b2z9c0skxrgw2vh08hv6qxky8jbvamc4rgww82j0kpp533rz0hm"))))
+ "0xgnjj7jd56wbl99s76sa1vjq9bkz4mdsxwgwlcphg689liyncf4"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1045,7 +1044,7 @@ library.")
(define-public pangomm
(package
(name "pangomm")
- (version "2.40.1")
+ (version "2.42.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1053,7 +1052,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1bz3gciff23bpw9bqc4v2l3lkq9w7394v3a4jxkvx0ap5lmfwqlp"))))
+ "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -1071,7 +1070,7 @@ library.")
(define-public atkmm
(package
(name "atkmm")
- (version "2.24.2")
+ (version "2.28.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1079,7 +1078,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1gaqwhviadsmy0fsr47686yglv1p4mpkamj0in127bz2b5bki5gz"))))
+ "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -1094,7 +1093,7 @@ toolkit.")
(define-public gtkmm
(package
(name "gtkmm")
- (version "3.22.2")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1102,7 +1101,7 @@ toolkit.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1400535lhyya462pfx8bp11k3mg3jsbdghlpygskd5ai665dkbwi"))))
+ "0hxaq4x9jqj8vvnv3sb6nwapz83v8lclbm887qqci0g50llcjpyg"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources'
@@ -1114,10 +1113,7 @@ toolkit.")
("gtk+" ,gtk+)
("glibmm" ,glibmm)))
(arguments
- `(;; XXX: Tests require C++14 or later. Remove this when the default
- ;; compiler is >= GCC6.
- #:configure-flags '("CXXFLAGS=-std=gnu++14")
- #:disallowed-references (,xorg-server-for-tests)
+ `(#:disallowed-references (,xorg-server-for-tests)
#:phases (modify-phases %standard-phases
(add-before 'check 'run-xvfb
(lambda* (#:key inputs #:allow-other-keys)
@@ -1153,8 +1149,7 @@ extensive documentation, including API reference and a tutorial.")
(sha256
(base32
"0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
- (arguments
- '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++
+ (arguments '())
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("pangomm" ,pangomm)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index ce6c57cd12..49a6e964a3 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -216,7 +216,7 @@ without requiring the source code to be rewritten.")
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
- (version "2.2.4")
+ (version "2.2.6")
(source (origin
(method url-fetch)
@@ -226,8 +226,10 @@ without requiring the source code to be rewritten.")
".tar.xz"))
(sha256
(base32
- "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))
+ "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"))
(modules '((guix build utils)))
+ (patches (search-patches
+ "guile-2.2-skip-oom-test.patch"))
;; Remove the pre-built object files. Instead, build everything
;; from source, at the expense of significantly longer build
@@ -245,36 +247,7 @@ without requiring the source code to be rewritten.")
(files '("share/guile/site/2.2")))
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
- (files '("lib/guile/2.2/site-ccache")))))
-
- (arguments
- (if (%current-target-system)
- (substitute-keyword-arguments (package-arguments guile-2.0)
- ((#:phases phases '%standard-phases)
- `(modify-phases ,phases
- (add-after 'unpack 'sacrifice-elisp-support
- (lambda _
- ;; Cross-compiling language/elisp/boot.el fails, so
- ;; sacrifice it. See
- ;;
- ;; for the upstream fix.
- (substitute* "module/Makefile.in"
- (("language/elisp/boot\\.el")
- "\n"))
- #t))
- ,@(if (hurd-target?)
- `((add-after 'unpack 'allow-madvise-ENOSYS
- (lambda _
- ;; Do not warn about ENOSYS on 'madvise'. This is
- ;; what Guile commit
- ;; 45e4ace6603e00b297e6542362273041aebe7305 does.
- ;; TODO: Remove for Guile >= 2.2.5.
- (substitute* "libguile/vm.c"
- (("perror \\(\"madvise failed\"\\)")
- "if (errno != ENOSYS) perror (\"madvised failed\");"))
- #t)))
- '()))))
- (package-arguments guile-2.0)))))
+ (files '("lib/guile/2.2/site-ccache")))))))
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
@@ -285,18 +258,17 @@ without requiring the source code to be rewritten.")
(timeout . 72000) ;20 hours
(max-silent-time . 36000))))) ;10 hours (needed on ARM
; when heavily loaded)
-
-(define-public guile-2.2.6
- (package
- (inherit guile-2.2)
- (version "2.2.6")
- (source (origin
- (inherit (package-source guile-2.2))
- (uri (string-append "mirror://gnu/guile/guile-" version
- ".tar.xz"))
- (sha256
- (base32
- "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"))))))
+(define-public guile-2.2.4
+ (package/inherit
+ guile-2.2
+ (version "2.2.4")
+ (source (origin
+ (inherit (package-source guile-2.2))
+ (uri (string-append "mirror://gnu/guile/guile-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
(define-public guile-next
;; This is the upcoming Guile 3.0, with JIT support.
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index f652cca1c2..96fded0f4e 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -305,7 +305,7 @@ Japanese language input in most graphical applications.")
(define-public librime
(package
(name "librime")
- (version "1.4.0")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -315,7 +315,7 @@ Japanese language input in most graphical applications.")
(file-name (git-file-name name version))
(sha256
(base32
- "1zkx1wfbd94v55gfycyd2b94jxclfyk2zl7yw35pyjx63qdlb6sd"))
+ "0xskhdhk7dgpc71r39pfzxi5vrlzy90aqj1gzv8nnapq91p2awhv"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -677,7 +677,7 @@ Method Engine.")
("librime" ,librime)
("rime-data" ,rime-data)))
(native-inputs
- `(("cmake" ,cmake)
+ `(("cmake" ,cmake-minimal)
("pkg-config" ,pkg-config)))
(home-page "https://rime.im/")
(synopsis "Rime Input Method Engine for IBus")
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 512967a305..922dfbd348 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -31,10 +31,32 @@
#:use-module (guix build-system ant)
#:use-module (guix build-system gnu))
+;; These patches are taken from ICUs 'maint-64' branch and will be included in
+;; 64.3. The latter patch is needed because many packages use "invalid"
+;; locales which misbehave with ICU 64.2. See discussion at
+;; .
+(define %icu4c-patches
+ (list (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/unicode-org/icu/commit/"
+ "7788f04eb9be0d7ecade6af46cf7b9825447763d.patch"))
+ (file-name "icu4c-datetime-regression.patch")
+ (sha256
+ (base32
+ "0gs2sbdfpzwwdjqcqr0c16fw3g7wy3gb1gbgvzs9k1ciw0bhpv4w")))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/unicode-org/icu/commit/"
+ "cfb20862909ff105d4f2c43923c97561bc5a5815.patch"))
+ (file-name "icu4c-locale-mapping.patch")
+ (sha256
+ (base32
+ "0s5psb60aisj6icziblvlp9dqcz56n3887i8ib0yidbjnnrw5b97")))))
+
(define-public icu4c
(package
(name "icu4c")
- (version "63.1")
+ (version "64.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -43,30 +65,30 @@
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
+ (patches %icu4c-patches)
+ (patch-flags '("-p2"))
(sha256
- (base32 "17fbk0lm2clsxbmjzvyp245ayx0n4chji3ky1f3fbz2ljjv91i05"))))
+ (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("python" ,python-minimal)))
(inputs
`(("perl" ,perl)))
(arguments
`(#:configure-flags
- '("--enable-rpath"
- ,@(if (let ((s (or (%current-target-system)
- (%current-system))))
- (or (string-prefix? "arm" s)
- (string-prefix? "mips" s)))
- '("--with-data-packaging=archive")
- '()))
- ,@(if (string-prefix? "i686" (or (%current-target-system)
- (%current-system)))
- ;; FIXME: Some tests are failing on i686:
- ;; .
- '(#:tests? #f)
- '())
+ '("--enable-rpath")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-source
(lambda _ (chdir "source") #t))
+ (add-after 'chdir-to-source 'update-LDFLAGS
+ (lambda _
+ ;; Do not create a "data-only" libicudata.so because it causes
+ ;; problems on some architectures (notably armhf and MIPS).
+ (substitute* "config/mh-linux"
+ (("LDFLAGSICUDT=-nodefaultlibs -nostdlib")
+ "LDFLAGSICUDT="))
+ #t))
(add-after 'install 'avoid-coreutils-reference
;; Don't keep a reference to the build tools.
(lambda* (#:key outputs #:allow-other-keys)
@@ -83,22 +105,6 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/")))
-(define-public icu4c-64
- (package
- (inherit icu4c)
- (version "64.2")
- (source (origin
- (inherit (package-source icu4c))
- (uri (string-append
- "http://download.icu-project.org/files/icu4c/" version "/icu4c-"
- (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
- "-src.tgz"))
- (sha256
- (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2"))))
- (native-inputs
- `(;; For tests.
- ("python" ,python)))))
-
(define-public java-icu4j
(package
(name "java-icu4j")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index d03f4548c5..0026e99f59 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -87,8 +87,7 @@
(define-public libpng
(package
(name "libpng")
- (version "1.6.34")
- (replacement libpng-1.6.37)
+ (version "1.6.37")
(source (origin
(method url-fetch)
(uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
@@ -101,8 +100,10 @@
"/libpng16/libpng-" version ".tar.xz")))
(sha256
(base32
- "1xjr0v34fyjgnhvaa1zixcpx5yvxcg4zwvfh0fyklfyfj86rc7ig"))))
+ "1jl8in381z0128vgxnvn33nln6hzckl7l7j9nqvkaf1m9n1p0pjh"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-static")))
;; libpng.la says "-lz", so propagate it.
(propagated-inputs `(("zlib" ,zlib)))
@@ -114,25 +115,6 @@ library. It supports almost all PNG features and is extensible.")
(license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html")))
-;; This graft exists to fix CVE-2018-14048, CVE-2018-14550, and CVE-2019-7317.
-(define-public libpng-1.6.37
- (package
- (inherit libpng)
- (version "1.6.37")
- (source (origin
- (method url-fetch)
- (uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
- version "/libpng-" version ".tar.xz")
- (string-append
- "ftp://ftp.simplesystems.org/pub/libpng/png/src"
- "/libpng16/libpng-" version ".tar.xz")
- (string-append
- "ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
- "/libpng16/libpng-" version ".tar.xz")))
- (sha256
- (base32
- "1jl8in381z0128vgxnvn33nln6hzckl7l7j9nqvkaf1m9n1p0pjh"))))))
-
;; libpng-apng should be updated when the APNG patch is released:
;;
(define-public libpng-apng
@@ -647,15 +629,15 @@ arithmetic ops.")
(define-public jbig2dec
(package
(name "jbig2dec")
- (version "0.15")
+ (version "0.16")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ArtifexSoftware"
"/ghostpdl-downloads/releases/download"
- "/gs924/" name "-" version ".tar.gz"))
+ "/gs927/" name "-" version ".tar.gz"))
(sha256
(base32
- "0m1qwpbjbirgw2fqznbajdhdhh35d6xa2csr64lpjz735pvimykb"))
+ "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4"))
(patches (search-patches "jbig2dec-ignore-testtest.patch"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--disable-static")))
@@ -751,22 +733,20 @@ images of initially unknown height.")
(define-public openjpeg
(package
(name "openjpeg")
- (version "2.3.0")
- (replacement openjpeg-2.3.1)
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/uclouvain/openjpeg/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "06npqzkg20avnygdwaqpap91r7qpdqgrn39adj2bl8v0pg0qgirx"))))
+ (version "2.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uclouvain/openjpeg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "openjpeg" version))
+ (sha256
+ (base32
+ "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
(build-system cmake-build-system)
(arguments
- ;; Trying to run `$ make check' results in a no rule fault.
- '(#:tests? #f))
+ '(#:tests? #f ;TODO: requires a 1.1 GiB data repository
+ #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
(inputs
`(("lcms" ,lcms)
("libpng" ,libpng)
@@ -786,20 +766,6 @@ error-resilience, a Java-viewer for j2k-images, ...")
(home-page "https://github.com/uclouvain/openjpeg")
(license license:bsd-2)))
-(define-public openjpeg-2.3.1
- (package
- (inherit openjpeg)
- (version "2.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/uclouvain/openjpeg")
- (commit (string-append "v" version))))
- (file-name (git-file-name "openjpeg" version))
- (sha256
- (base32
- "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))))
-
(define-public openjpeg-1
(package (inherit openjpeg)
(name "openjpeg")
@@ -1528,15 +1494,14 @@ is hereby granted."))))
(define-public libjpeg-turbo
(package
(name "libjpeg-turbo")
- (version "2.0.1")
- (replacement libjpeg-turbo-2.0.2)
+ (version "2.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libjpeg-turbo/"
version "/libjpeg-turbo-" version ".tar.gz"))
(sha256
(base32
- "1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75"))))
+ "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c"))))
(build-system cmake-build-system)
(native-inputs
`(("nasm" ,nasm)))
@@ -1559,18 +1524,6 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).")
license:ijg ;the libjpeg library and associated tools
license:zlib)))) ;the libjpeg-turbo SIMD extensions
-(define-public libjpeg-turbo-2.0.2
- (package
- (inherit libjpeg-turbo)
- (version "2.0.2")
- (source (origin
- (inherit (package-source libjpeg-turbo))
- (uri (string-append "mirror://sourceforge/libjpeg-turbo/"
- version "/libjpeg-turbo-" version ".tar.gz"))
- (sha256
- (base32
- "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c"))))))
-
(define-public niftilib
(package
(name "niftilib")
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index 7b17ebae40..1ad23a92d4 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -52,6 +52,7 @@
(uri (string-append "https://media.inkscape.org/dl/"
"resources/file/"
"inkscape-" version ".tar.bz2"))
+ (patches (search-patches "inkscape-poppler-0.76.patch"))
(sha256
(base32
"0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p"))))
@@ -86,6 +87,13 @@
(lambda _
(substitute* "share/icons/application/CMakeLists.txt"
(("gtk-update-icon-cache") "true"))
+ #t))
+ (add-before 'configure 'dont-use-system-includes
+ (lambda _
+ ;; Don't add redundant -isystem includes which confuses GCC7.
+ (substitute* "CMakeScripts/DefineDependsandFlags.cmake"
+ (("include_directories\\(SYSTEM")
+ "include_directories("))
#t)))))
(home-page "https://inkscape.org/")
(synopsis "Vector graphics editor")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1f5e39d9c6..d9ea5526b8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -152,6 +152,17 @@ and binary format defined in The Java Virtual Machine Specification.")
"--disable-gjdoc")
#:phases
(modify-phases %standard-phases
+ ;; XXX: This introduces a memory leak as we remove a call to free up
+ ;; memory for the file name string. This was necessary because of a
+ ;; runtime error that would have prevented us from building
+ ;; ant-bootstrap later. See https://issues.guix.gnu.org/issue/36685
+ ;; for the gnarly details.
+ (add-after 'unpack 'remove-call-to-free
+ (lambda _
+ (substitute* "native/jni/java-io/java_io_VMFile.c"
+ (("result = cpio_isFileExists.*" m)
+ (string-append m "\n//")))
+ #t))
(add-after 'install 'install-data
(lambda _ (invoke "make" "install-data"))))))
(native-inputs
@@ -195,6 +206,11 @@ language.")
("jikes" ,jikes)
("libffi" ,libffi)
("zlib" ,zlib)))
+ ;; When built with a recent GCC and glibc the configure step of icedtea-6
+ ;; fails with an invalid instruction error.
+ (native-inputs
+ `(("gcc" ,gcc-5)
+ ("libc" ,glibc-2.28)))
(home-page "http://jamvm.sourceforge.net/")
(synopsis "Small Java Virtual Machine")
(description "JamVM is a Java Virtual Machine conforming to the JVM
@@ -744,6 +760,9 @@ machine.")))
(with-directory-excursion "openjdk"
(invoke "tar" "xvf" (assoc-ref inputs "hotspot-src"))
(rename-file "hg-checkout" "hotspot"))
+ (substitute* "patches/freetypeversion.patch"
+ (("REQUIRED_FREETYPE_VERSION = 2.2.1")
+ "REQUIRED_FREETYPE_VERSION = 2.10.1"))
(substitute* "Makefile.in"
(("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
"echo \"trust me\";")
@@ -911,7 +930,6 @@ machine.")))
("fastjar" ,fastjar)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
- ("gcc" ,gcc-4.9) ; there's a segmentation fault when compiling with gcc-5 or gcc-7
("gtk" ,gtk+-2)
("gawk" ,gawk)
("giflib" ,giflib)
@@ -1111,6 +1129,18 @@ bootstrapping purposes.")
((name . _) name))
inputs))))
#t)))
+ (add-after 'unpack 'patch-bitrot
+ (lambda _
+ (substitute* '("patches/boot/revert-6973616.patch"
+ "openjdk.src/jdk/make/common/shared/Defs-versions.gmk")
+ (("REQUIRED_FREETYPE_VERSION = 2.2.1")
+ "REQUIRED_FREETYPE_VERSION = 2.10.1"))
+ ;; As of attr 2.4.48 this header is no longer
+ ;; included. It is provided by the libc instead.
+ (substitute* '("configure"
+ "openjdk.src/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c")
+ (("attr/xattr.h") "sys/xattr.h"))
+ #t))
(add-after 'unpack 'fix-x11-extension-include-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
@@ -1604,6 +1634,7 @@ IcedTea build harness.")
(delete 'patch-paths)
(delete 'set-additional-paths)
(delete 'patch-patches)
+ (delete 'patch-bitrot)
;; Prevent the keytool from recording the current time when
;; adding certificates at build time.
(add-after 'unpack 'patch-keystore
diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm
index cb870208e4..aa8493fd1d 100644
--- a/gnu/packages/jemalloc.scm
+++ b/gnu/packages/jemalloc.scm
@@ -32,7 +32,7 @@
(define-public jemalloc
(package
(name "jemalloc")
- (version "5.1.0")
+ (version "5.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -40,7 +40,7 @@
version "/jemalloc-" version ".tar.bz2"))
(sha256
(base32
- "0s3jpcyhzia8d4k0xyc67is78kg416p9yc3c2f9w6fhhqqffd5jk"))))
+ "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 9010bd71ba..2d72c39436 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -477,15 +477,15 @@ used in KDE development tools Kompare and KDevelop.")
(define-public qca
(package
(name "qca")
- (version "2.1.3")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/qca/" version
- "/src/qca-" version ".tar.xz"))
+ "/qca-" version ".tar.xz"))
(sha256
(base32
- "0lz3n652z208daxypdcxiybl0a9fnn6ida0q7fh5f42269mdhgq0"))))
+ "00kv1vsrc8fp556hm8s6yw3240vx3l4067q6vfxrb3gdwgcd45np"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 873f5d8a37..1253a58546 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -49,7 +49,7 @@
(define-public mit-krb5
(package
(name "mit-krb5")
- (version "1.16.2")
+ (version "1.17")
(source (origin
(method url-fetch)
(uri (list
@@ -61,7 +61,7 @@
"/krb5-" version ".tar.gz")))
(sha256
(base32
- "09zhhzj19bmjjxsvxdrysabql8n72kjivis08wbikhlkwlgiwwlz"))))
+ "1xc1ly09697b7g2vngvx76szjqy9769kpgn27lnp1r9xln224vjs"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@@ -116,9 +116,19 @@ cryptography.")
(build-system gnu-build-system)
(arguments
'(;; This is required since we patch some of the build scripts.
- ;; Remove for the next Shishi release after 1.0.2 or when
- ;; removing 'shishi-fix-libgcrypt-detection.patch'.
- #:configure-flags '("ac_cv_libgcrypt=yes" "--disable-static")))
+ ;; Remove first two items for the next Shishi release after 1.0.2 or
+ ;; when removing 'shishi-fix-libgcrypt-detection.patch'.
+ #:configure-flags
+ '("ac_cv_libgcrypt=yes" "--disable-static"
+ "--with-key-dir=/etc/shishi" "--with-db-dir=/var/shishi")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'disable-automatic-key-generation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("^install-data-hook:")
+ "install-data-hook:\nx:\n"))
+ #t)))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("gnutls" ,gnutls)
@@ -132,7 +142,10 @@ cryptography.")
(description
"GNU Shishi is a free implementation of the Kerberos 5 network security
system. It is used to allow non-secure network nodes to communicate in a
-secure manner through client-server mutual authentication via tickets.")
+secure manner through client-server mutual authentication via tickets.
+
+After installation, the system administrator should generate keys using
+@code{shisa -a /etc/shishi/shishi.keys}.")
(license license:gpl3+)))
(define-public heimdal
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 3d00b3843e..465ed95eb2 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -43,19 +43,19 @@
(name "libevent")
(version "2.1.11")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/libevent/libevent/releases/download/release-"
- version "-stable/libevent-" version "-stable.tar.gz"))
- (sha256
- (base32
- "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6"))))
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/libevent/libevent/releases/download/release-"
+ version "-stable/libevent-" version "-stable.tar.gz"))
+ (sha256
+ (base32
+ "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6"))))
(build-system gnu-build-system)
(arguments
- ;; This skips some of the tests which fail on armhf and aarch64.
+ ;; This skips some of the tests which fail on armhf and aarch64.
'(#:configure-flags '("--disable-libevent-regress")))
(inputs
- `(("python" ,python-2))) ; for 'event_rpcgen.py'
+ `(("python" ,python-wrapper))) ;for 'event_rpcgen.py'
(native-inputs
`(("which" ,which)))
(home-page "https://libevent.org/")
@@ -75,7 +75,7 @@ loop.")
(define-public libev
(package
(name "libev")
- (version "4.24")
+ (version "4.25")
(source (origin
(method url-fetch)
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
@@ -83,7 +83,7 @@ loop.")
".tar.gz"))
(sha256
(base32
- "08gqsza1czx0nf62nkk183jb0946yzjsymaacxbzdgcs8z9r6dcp"))))
+ "1295q0lkkbrlpd5dl5i48bh1rm8mjzh9y795jlvjz3bp4wf7wxbq"))))
(build-system gnu-build-system)
(home-page "http://software.schmorp.de/pkg/libev.html")
(synopsis "Event loop loosely modelled after libevent")
@@ -99,14 +99,14 @@ limited support for fork events.")
(define-public libuv
(package
(name "libuv")
- (version "1.24.0")
+ (version "1.30.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
- "01pg0zsfr8mxlpipkbpw0dpsl26x5s966f5br7dx9ac29abk419q"))))
+ "12s7ifwgbfxblhv46inqa8c2lsnl8cgmvd37y4a4248xhkx1d0s6"))))
(build-system gnu-build-system)
(arguments
'(;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index c1d50ec314..b61dbc8657 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Ben Woodcroft
;;; Copyright © 2017, 2019 Marius Bakke
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Maxim Cournoyer
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,6 +128,30 @@ conversions for values passed between the two languages.")
(("'cc testownlib") "'gcc testownlib"))
(invoke "py.test" "-v" "c/" "testing/")
#t))
+ (add-before 'check 'patch-paths-of-dynamically-loaded-libraries
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Shared libraries should be referred by their absolute path as
+ ;; using find_library or the like with their name fail when the
+ ;; resolved .so object is a linker script rather than an ELF
+ ;; binary (this is a limitation of the ctype library of Python).
+ (let* ((glibc (assoc-ref inputs "libc"))
+ (libm (string-append glibc "/lib/libm.so.6"))
+ (libc (string-append glibc "/lib/libc.so.6")))
+ (substitute* '("testing/cffi0/test_function.py"
+ "testing/cffi0/test_parsing.py"
+ "testing/cffi0/test_unicode_literals.py"
+ "testing/cffi0/test_zdistutils.py"
+ "testing/cffi1/test_recompiler.py")
+ (("lib_m = ['\"]{1}m['\"]{1}")
+ (format #f "lib_m = '~a'" libm)))
+ (substitute* '("testing/cffi0/test_verify.py"
+ "testing/cffi1/test_verify1.py")
+ (("lib_m = \\[['\"]{1}m['\"]{1}\\]")
+ (format #f "lib_m = ['~a']" libm)))
+ (substitute* "c/test_c.py"
+ (("find_and_load_library\\(['\"]{1}c['\"]{1}")
+ (format #f "find_and_load_library('~a'" libc)))
+ #t)))
(add-before 'check 'disable-failing-test
;; This is assumed to be a libffi issue:
;; https://bitbucket.org/cffi/cffi/issues/312/tests-failed-with-armv8
@@ -134,10 +159,9 @@ conversions for values passed between the two languages.")
(substitute* "testing/cffi0/test_ownlib.py"
(("ret.left") "ownlib.left"))
#t)))))
- (home-page "https://cffi.readthedocs.org")
+ (home-page "https://cffi.readthedocs.io/")
(synopsis "Foreign function interface for Python")
- (description
- "Foreign Function Interface for Python calling C code.")
+ (description "Foreign Function Interface for Python calling C code.")
(license expat)))
(define-public python2-cffi
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index 719a0f0b4b..ea9ce70dfb 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -59,14 +59,14 @@ Java libraries.")
(define-public libidn2
(package
(name "libidn2")
- (version "2.0.5")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libidn/" name "-" version
".tar.lz"))
(sha256
(base32
- "0s4nkazy1xbs6bbq4farby1xhmhzk5bdclbil5gqdwyzxsgabxqg"))))
+ "1a5cv79q6b719jv4fpwjl3r0mmx9qcpla98v9dk64cgxn8f8di10"))))
(native-inputs
`(("lzip" ,lzip)))
(inputs
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index ce9ae40524..f8b1433aa3 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -183,6 +183,8 @@ spreadsheets and presentations.")
(sha256 (base32
"0436gnidx45a9vx114hhh216jrh57mqb9zyssyjfadagmyz6hgrj"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-werror")))
(native-inputs
`(("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
@@ -317,6 +319,8 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
;; FIXME: Man pages generation requires docbook-to-man; reenable
;; it once this is available.
"--without-man"
+ ;; XXX: A configure test fails with GCC7 when including Boost headers.
+ "--disable-werror"
;; During configure, the boost headers are found, but linking
;; fails without the following flag.
(string-append "--with-boost="
@@ -558,6 +562,8 @@ Java.")
(sha256 (base32
"17ai8ajffr0ixxmmcv3k5vgjlcsix38ldb4fw2arild70pbsrbb6"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-werror")))
(native-inputs
`(("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
@@ -974,7 +980,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(build-system glib-or-gtk-build-system)
(native-inputs
`(("bison" ,bison)
- ("cppunit" ,cppunit-1.14)
+ ("cppunit" ,cppunit)
("flex" ,flex)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 2018f1b3f4..e6016d1049 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -372,7 +372,7 @@ connections from and to iOS devices by connecting to a socket provided by a
,(version-major+minor (package-version python))
"m"))))
(propagated-inputs
- `(("openssl" ,openssl)
+ `(("openssl" ,openssl-1.0)
("libplist" ,libplist)
("libusbmuxd" ,libusbmuxd)))
(inputs
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d77e136a0f..6f7ec1bb15 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -91,7 +91,6 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
- #:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss)
@@ -441,7 +440,8 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(define-public linux-libre-5.2-source
(source-with-patches linux-libre-5.2-pristine-source
- (list %boot-logo-patch
+ (list (search-patch "linux-libre-active-entropy.patch")
+ %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-4.19-source
@@ -560,11 +560,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The following package is used in the early bootstrap, and thus must be kept
;; stable and with minimal build requirements.
-(define-public linux-libre-headers-4.14.67
- (make-linux-libre-headers "4.14.67"
- "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg"))
+(define-public linux-libre-headers-4.19.56
+ (make-linux-libre-headers "4.19.56"
+ "1zqiic55viy065lhnkmhn33sz3bbbr2ykbm5f92yzd8lpc9zl7yx"))
-(define-public linux-libre-headers linux-libre-headers-4.14.67)
+(define-public linux-libre-headers linux-libre-headers-4.19.56)
;;;
@@ -672,10 +672,6 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("flex" ,flex)
("bison" ,bison)
- ;; Build with GCC-7 for full retpoline support.
- ;; FIXME: Remove this when our default compiler has retpoline support.
- ("gcc" ,gcc-7)
-
;; These are needed to compile the GCC plugins.
("gmp" ,gmp)
("mpfr" ,mpfr)
@@ -694,6 +690,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
+ (srfi srfi-26)
(ice-9 match))
#:phases
(modify-phases %standard-phases
@@ -710,6 +707,18 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
,@(if (%current-target-system)
'((unsetenv "CROSS_CPATH"))
'())
+
+ ;; On AArch64 (at least), we need to remove glibc headers from CPATH
+ ;; (they are still available as "system headers"), so that the kernel
+ ;; can override uint64_t. See .
+ (setenv "CPATH"
+ (string-join
+ (remove (cut string-prefix? (assoc-ref inputs "libc") <>)
+ (string-split (getenv "CPATH") #\:))
+ ":"))
+ (format #t "environment variable `CPATH' changed to `~a'~%"
+ (getenv "CPATH"))
+
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -1058,7 +1067,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
- (version "2.32.1")
+ (version "2.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
@@ -1066,7 +1075,7 @@ providing the system administrator with some help in common tasks.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1ck7d8srw5szpjq7v0gpmjahnjs6wgqzm311ki4gazww6xx71rl6"))
+ "1db2kydkwjmvgd1glkcba3adhidxw0f1x735dcjdpdjjf869sgvl"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
@@ -1883,7 +1892,7 @@ configuration (iptunnel, ipmaddr).")
(define-public libcap
(package
(name "libcap")
- (version "2.25")
+ (version "2.27")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1891,7 +1900,7 @@ configuration (iptunnel, ipmaddr).")
"libcap2/libcap-" version ".tar.xz"))
(sha256
(base32
- "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39"))))
+ "0sj8kidl7qgf2qwxcbw1vadnlb30y4zvjzxswsmfdghq04npkhfs"))))
(build-system gnu-build-system)
(arguments '(#:phases
(modify-phases %standard-phases
@@ -3134,6 +3143,11 @@ in a digital read-out.")
#t)))
#:make-flags (list (string-append "prefix="
(assoc-ref %outputs "out"))
+ ;; Make sure the kernel headers are treated as system
+ ;; headers to suppress warnings from those.
+ (string-append "C_INCLUDE_PATH="
+ (assoc-ref %build-inputs "kernel-headers")
+ "/include")
"WERROR=0"
;; By default, 'config/Makefile' uses lib64 on
@@ -3244,7 +3258,6 @@ thanks to the use of namespaces.")
(inputs
`(("libarchive" ,libarchive)
("python" ,python-wrapper)
- ("nettle" ,nettle)
("zlib" ,zlib)
("squashfs-tools" ,squashfs-tools)))
(home-page "https://singularity.lbl.gov/")
@@ -3617,6 +3630,12 @@ arrays when needed.")
(string-append "DESTDIR="
(assoc-ref %outputs "out"))
"SYSTEMDPATH=lib"
+ ;; Add the libaio headers to GCCs system header
+ ;; search path to suppress -Werror=cast-qual on
+ ;; the included headers.
+ (string-append "C_INCLUDE_PATH="
+ (assoc-ref %build-inputs "libaio")
+ "/include")
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
@@ -4285,7 +4304,7 @@ The package provides additional NTFS tools.")
(define-public rdma-core
(package
(name "rdma-core")
- (version "14")
+ (version "22.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -4293,7 +4312,7 @@ The package provides additional NTFS tools.")
version ".tar.gz"))
(sha256
(base32
- "0w03zd49k96bmly44qc8l0s9l671sd26k4wrilsp13xaspy048kd"))))
+ "0jgp1xh328x0kr6lkn4vq71cc627zd05wczr74b3j3151flhj828"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no tests
@@ -4838,7 +4857,14 @@ under OpenGL graphics workloads.")
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure)
+ (add-before 'build 'kernel-headers-are-system-headers
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((kernel-headers (assoc-ref inputs "kernel-headers")))
+ ;; Make sure the kernel headers are treated as system headers
+ ;; to suppress a conflict between "util.h" and .
+ (setenv "C_INCLUDE_PATH" (string-append kernel-headers "/include"))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -4871,7 +4897,12 @@ interface to the variable facility of UEFI boot firmware.")
;; installed (known as OS_VENDOR in the code).
;; GRUB overrides this, as such it's only used if
;; nothing else is specified on the command line.
- "EFIDIR=gnu")
+ "EFIDIR=gnu"
+ ;; Treat kernel headers as system headers to prevent
+ ;; warnings about conflicting types.
+ (string-append "C_INCLUDE_PATH="
+ (assoc-ref %build-inputs "kernel-headers")
+ "/include"))
#:phases (modify-phases %standard-phases (delete 'configure))))
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 8d6e4dc0b6..b1fd2a451c 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -213,8 +213,7 @@ classification.")
(assoc-ref %standard-phases 'check))
(add-before 'check 'fix-PYTHONPATH
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((python-version ((@@ (guix build python-build-system)
- get-python-version)
+ (let ((python-version (python-version
(assoc-ref inputs "python"))))
(setenv "PYTHONPATH"
(string-append (getenv "PYTHONPATH")
@@ -1146,16 +1145,16 @@ written in C++.")
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((glib (assoc-ref inputs "glib")))
- (setenv "CXXFLAGS" "-std=c++11 -fPIC")
+ (setenv "CXXFLAGS" "-fPIC")
(setenv "CPLUS_INCLUDE_PATH"
(string-append glib "/include/glib-2.0:"
glib "/lib/glib-2.0/include:"
(assoc-ref inputs "gstreamer")
- "/include/gstreamer-1.0:"
- (getenv "CPLUS_INCLUDE_PATH"))))
+ "/include/gstreamer-1.0")))
(substitute* "Makefile"
(("include \\$\\(KALDI_ROOT\\)/src/kaldi.mk") "")
- (("\\$\\(error Cannot find") "#"))))
+ (("\\$\\(error Cannot find") "#"))
+ #t))
(add-before 'build 'build-depend
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "depend" make-flags)))
@@ -1299,7 +1298,7 @@ Python.")
"-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package")))
(inputs
- `(("c-ares" ,c-ares-next)
+ `(("c-ares" ,c-ares/cmake)
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
@@ -1611,6 +1610,9 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
("protobuf:native" ,protobuf-next) ; protoc
("protobuf:src" ,(package-source protobuf-next))
("eigen:src" ,(package-source eigen-for-tensorflow))
+ ;; install_pip_packages.sh wants setuptools 39.1.0 specifically.
+ ("python-setuptools" ,python-setuptools-for-tensorflow)
+
;; The commit hashes and URLs for third-party source code are taken
;; from "tensorflow/workspace.bzl".
("boringssl-src"
@@ -1738,7 +1740,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
("python-termcolo" ,python-termcolor)
("python-wheel" ,python-wheel)))
(inputs
- `(("c-ares" ,c-ares-next)
+ `(("c-ares" ,c-ares)
("eigen" ,eigen-for-tensorflow)
("gemmlowp" ,gemmlowp-for-tensorflow)
("lmdb" ,lmdb)
@@ -1857,6 +1859,7 @@ with image data, text data, and sequence data.")
(origin
(method url-fetch)
(uri (pypi-uri "Keras" version))
+ (patches (search-patches "python-keras-integration-test.patch"))
(sha256
(base32
"1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh"))))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2f2e7fd4eb..9f25356192 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1441,7 +1441,7 @@ hashing schemes plugin for @code{Dovecot}.")
(inputs
`(("bdb" ,bdb)
("cyrus-sasl" ,cyrus-sasl)
- ("openssl" ,openssl)
+ ("openssl" ,openssl-1.0)
("zlib" ,zlib)))
(home-page "http://isync.sourceforge.net/")
(synopsis "Mailbox synchronization program")
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 37bf4e9744..3a664fd94f 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -3,7 +3,8 @@
;;; Copyright © 2017 Efraim Flashner
;;; Copyright © 2018 Tobias Geerinckx-Rice
;;; Copyright © 2018, 2019 Mark H Weaver
-;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen
+;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -105,20 +106,52 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(define (native-inputs)
(if (%current-target-system)
- (let ((target (%current-target-system)))
- `(("cross-gcc" ,(cross-gcc target
- #:xbinutils (cross-binutils target)
- #:libc (cross-bootstrap-libc)))
+ (let* ((target (%current-target-system))
+ (xgcc (cross-gcc
+ target
+ #:xbinutils (cross-binutils target)
+ #:libc (cross-bootstrap-libc))))
+ `(("cross-gcc" ,(package
+ (inherit xgcc)
+ (search-paths
+ ;; Ensure the cross libc headers appears on the
+ ;; C++ system header search path.
+ (cons (search-path-specification
+ (variable "CROSS_CPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (package-search-paths gcc)))))
("cross-binutils" ,(cross-binutils target))
,@(%final-inputs)))
`(("libc" ,(glibc-for-bootstrap))
("libc:static" ,(glibc-for-bootstrap) "static")
("gcc" ,(package (inherit gcc)
- (outputs '("out")) ; all in one so libgcc_s is easily found
+ (outputs '("out")) ;all in one so libgcc_s is easily found
+ (native-search-paths
+ ;; Set CPLUS_INCLUDE_PATH so GCC is able to find the libc
+ ;; C++ headers.
+ (cons (search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (package-native-search-paths gcc)))
(inputs
- `(("libc" ,(glibc-for-bootstrap))
+ `(;; Distinguish the name so we can refer to it below.
+ ("bootstrap-libc" ,(glibc-for-bootstrap))
("libc:static" ,(glibc-for-bootstrap) "static")
- ,@(package-inputs gcc)))))
+ ,@(package-inputs gcc)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gcc)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'treat-glibc-as-system-header
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "bootstrap-libc")))
+ ;; GCCs build processes requires that the libc
+ ;; we're building against is on the system header
+ ;; search path.
+ (for-each (lambda (var)
+ (setenv var (string-append libc "/include")))
+ '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
+ #t)))))))))
,@(fold alist-delete (%final-inputs) '("libc" "gcc")))))
(package-with-explicit-inputs p inputs
@@ -131,7 +164,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(source (origin
(inherit (package-source static-bash))
(patches
- (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch")
+ (cons (search-patch "bash-reproducible-linux-pgrp-pipe.patch")
(origin-patches (package-source static-bash))))))))
(define %static-inputs
@@ -143,7 +176,15 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
"--disable-silent-rules"
"--enable-no-install-program=stdbuf,libstdbuf.so"
"CFLAGS=-Os -g0" ; smaller, please
- "LDFLAGS=-static -pthread")
+ "LDFLAGS=-static -pthread"
+
+ ;; Work around a cross-compilation bug whereby libcoreutils.a
+ ;; would provide '__mktime_internal', which conflicts with the
+ ;; one in libc.a.
+ ,@(if (%current-target-system)
+ `("gl_cv_func_working_mktime=yes")
+ '()))
+
#:tests? #f ; signal-related Gnulib tests fail
,@(package-arguments coreutils)))
@@ -168,6 +209,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
"LDFLAGS = -static"))
#t))))))))
(xz (package (inherit xz)
+ (outputs '("out"))
(arguments
`(#:strip-flags '("--strip-all")
#:phases (modify-phases %standard-phases
@@ -205,17 +247,22 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
'()))))
(tar (package (inherit tar)
(arguments
- (substitute-keyword-arguments (package-arguments tar)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'set-shell-file-name
- (lambda _
- ;; Do not use "/bin/sh" to run programs; see
- ;; .
- (substitute* "src/system.c"
- (("/bin/sh") "sh")
- (("execv ") "execvp "))
- #t))))))))
+ `(;; Work around a cross-compilation bug whereby libgnu.a would provide
+ ;; '__mktime_internal', which conflicts with the one in libc.a.
+ ,@(if (%current-target-system)
+ `(#:configure-flags '("gl_cv_func_working_mktime=yes"))
+ '())
+ ,@(substitute-keyword-arguments (package-arguments tar)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'set-shell-file-name
+ (lambda _
+ ;; Do not use "/bin/sh" to run programs; see
+ ;; .
+ (substitute* "src/system.c"
+ (("/bin/sh") "sh")
+ (("execv ") "execvp "))
+ #t)))))))))
;; We don't want to retain a reference to /gnu/store in the bootstrap
;; versions of egrep/fgrep, so we remove the custom phase added since
;; grep@2.25. The effect is 'egrep' and 'fgrep' look for 'grep' in
@@ -547,34 +594,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t))))
(inputs `(("gcc" ,%gcc-static)))))
-;; One package: build + remove store references
-;; (define %mescc-tools-static-stripped
-;; ;; A statically linked Mescc Tools with store references removed, for
-;; ;; bootstrap.
-;; (package
-;; (inherit mescc-tools)
-;; (name "mescc-tools-static-stripped")
-;; (arguments
-;; `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
-;; "CC=gcc -static")
-;; #:test-target "test"
-;; #:phases (modify-phases %standard-phases
-;; (delete 'configure)
-;; (add-after 'install 'strip-store-references
-;; (lambda _
-;; (let* ((out (assoc-ref %outputs "out"))
-;; (bin (string-append out "/bin")))
-;; (for-each (lambda (file)
-;; (let ((target (string-append bin "/" file)))
-;; (format #t "strippingg `~a'...~%" target)
-;; (remove-store-references target)))
-;; '( "M1" "blood-elf" "hex2"))))))))))
-
;; Two packages: first build static, bare minimum content.
(define %mescc-tools-static
;; A statically linked MesCC Tools.
(package
- (inherit mescc-tools)
+ (inherit mescc-tools-0.5.2)
(name "mescc-tools-static")
(arguments
`(#:system "i686-linux"
@@ -609,45 +633,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t))))
(inputs `(("mescc-tools" ,%mescc-tools-static)))))
-;; (define-public %mes-minimal-stripped
-;; ;; A minimal Mes without documentation dependencies, for bootstrap.
-;; (let ((triplet "i686-unknown-linux-gnu"))
-;; (package
-;; (inherit mes)
-;; (name "mes-minimal-stripped")
-;; (native-inputs
-;; `(("guile" ,guile-2.2)))
-;; (arguments
-;; `(#:system "i686-linux"
-;; #:strip-binaries? #f
-;; #:configure-flags '("--mes")
-;; #:phases
-;; (modify-phases %standard-phases
-;; (delete 'patch-shebangs)
-;; (add-after 'install 'strip-install
-;; (lambda _
-;; (let* ((out (assoc-ref %outputs "out"))
-;; (share (string-append out "/share")))
-;; (delete-file-recursively (string-append out "/lib/guile"))
-;; (delete-file-recursively (string-append share "/guile"))
-;; (delete-file-recursively (string-append share "/mes/scaffold"))
-
-;; (for-each delete-file
-;; (find-files
-;; (string-append share "/mes/lib") "\\.(h|c)"))
-
-;; (for-each (lambda (dir)
-;; (for-each remove-store-references
-;; (find-files (string-append out "/" dir)
-;; ".*")))
-;; '("bin" "share/mes")))))))))))
-
;; Two packages: first build static, bare minimum content.
(define-public %mes-minimal
;; A minimal Mes without documentation.
(let ((triplet "i686-unknown-linux-gnu"))
(package
- (inherit mes)
+ (inherit mes-0.19)
(name "mes-minimal")
(native-inputs
`(("guile" ,guile-2.2)))
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index e0e15355dd..42e1918597 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -198,7 +198,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
(define-public help2man
(package
(name "help2man")
- (version "1.47.6")
+ (version "1.47.10")
(source
(origin
(method url-fetch)
@@ -206,7 +206,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
- "0vz4dlrvy4vc6l7w0a7n668pfa0rdm73wr2gar58wqranyah46yr"))))
+ "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 9e9fda0929..ba90ccec73 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -56,7 +56,6 @@
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages messaging)
- #:use-module (gnu packages nettle)
#:use-module (gnu packages nss)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pdf)
@@ -819,7 +818,6 @@ infamous 'Wanda the Fish'.")
("libgnome-keyring" ,libgnome-keyring)
("libarchive" ,libarchive)
("marco" ,marco)
- ("nettle" ,nettle)
("openjpeg" ,openjpeg-1)
("pango" ,pango)
;;("texlive" ,texlive)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e46c740e57..fe9d59b69a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -101,6 +101,7 @@
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
@@ -685,7 +686,8 @@ computations.")
(base32 "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l"))
(patches (search-patches "hdf4-architectures.patch"
"hdf4-reproducibility.patch"
- "hdf4-shared-fortran.patch"))))
+ "hdf4-shared-fortran.patch"
+ "hdf4-tirpc.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gfortran" ,gfortran)
@@ -693,10 +695,14 @@ computations.")
("flex" ,flex)))
(inputs
`(("zlib" ,zlib)
- ("libjpeg" ,libjpeg)))
+ ("libjpeg" ,libjpeg)
+ ("libtirpc" ,libtirpc)))
(arguments
`(#:parallel-tests? #f
- #:configure-flags '("--enable-shared")
+ #:configure-flags (list "--enable-shared"
+ (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "libtirpc")
+ "/include/tirpc"))
#:phases
(modify-phases %standard-phases
;; This is inspired by two of Debian's patches.
@@ -1045,8 +1051,11 @@ implemented in C.")
`(("gfortran" ,gfortran)))
(inputs
`(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API
+ ;; XXX: These inputs are really dependencies of hdf4.
("zlib" ,zlib)
("libjpeg" ,libjpeg)
+ ("libtirpc" ,libtirpc)
+
("gctp" ,gctp)))
(arguments
`( #:configure-flags '("--enable-install-include" "--enable-shared"
@@ -3102,7 +3111,7 @@ parts of it.")
(replacement openblas/fixed-num-threads)
(name "openblas")
- (version "0.3.5")
+ (version "0.3.6")
(source
(origin
(method url-fetch)
@@ -3111,7 +3120,7 @@ parts of it.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "062kg4ny1ywz7k5grpb4pbf0hba0w6manbajwkmv4f477a31sxpl"))))
+ "1r2g9zzwq5dm8vjd19pxwggfvfzy56cvkmpmp5d014qr3svgmsap"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -4867,8 +4876,7 @@ assemble global function spaces on finite-element grids.")
(add-after 'build 'build-tests
(lambda* (#:key inputs make-flags #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "dune-grid") "/share:"
- (getenv "CPLUS_INCLUDE_PATH")))
+ (string-append (assoc-ref inputs "dune-grid") "/share"))
(apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 49224a7ba5..1b5bb331f5 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -21,7 +21,6 @@
(define-module (gnu packages mes)
#:use-module (gnu packages)
#:use-module (gnu packages base)
- #:use-module (gnu packages commencement)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
@@ -35,9 +34,11 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix licenses)
- #:use-module (guix packages))
+ #:use-module (guix packages)
+ #:use-module (guix utils))
(define-public nyacc-0.86
+ ;; Nyacc used for bootstrap.
(package
(name "nyacc")
(version "0.86.0")
@@ -91,22 +92,23 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(inputs
`(("guile" ,guile-2.2)))))
-(define-public mes
+(define-public mes-0.19
+ ;; Mes used for bootstrap.
(package
(name "mes")
- (version "0.20")
+ (version "0.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
- "04pajp8v31na34ls4730ig5f6miiplhdvkmsb9ls1b8bbmw2vb4n"))))
+ "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
- `(("mescc-tools" ,mescc-tools)
- ("nyacc" ,nyacc)))
+ `(("mescc-tools" ,mescc-tools-0.5.2)
+ ("nyacc" ,nyacc-0.86)))
(native-inputs
`(("guile" ,guile-2.2)
,@(let ((target-system (or (%current-target-system)
@@ -135,8 +137,57 @@ Guile.")
(home-page "https://gnu.org/software/mes")
(license gpl3+)))
+(define-public mes
+ (package
+ (inherit mes-0.19)
+ (version "0.20")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mes/"
+ "mes-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04pajp8v31na34ls4730ig5f6miiplhdvkmsb9ls1b8bbmw2vb4n"))))
+ (propagated-inputs
+ `(("mescc-tools" ,mescc-tools)
+ ("nyacc" ,nyacc)))))
+
+(define-public mescc-tools-0.5.2
+ ;; Mescc-tools used for bootstrap.
+ (let ((commit "bb062b0da7bf2724ca40f9002b121579898d4ef7")
+ (revision "0")
+ (version "0.5.2"))
+ (package
+ (name "mescc-tools")
+ (version (string-append version "-" revision "." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/"
+ name "-" commit
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1h6j57wyf91i42b26f8msbv6451cw3nm4nmpl1fckp9c7vi8mwkh"))))
+ (build-system gnu-build-system)
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (arguments
+ `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:test-target "test"
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))))
+ (synopsis "Tools for the full source bootstrapping process")
+ (description
+ "Mescc-tools is a collection of tools for use in a full source
+bootstrapping process. It consists of the M1 macro assembler, the hex2
+linker, the blood-elf symbol table generator, the kaem shell, exec_enable and
+get_machine.")
+ (home-page "https://savannah.nongnu.org/projects/mescc-tools")
+ (license gpl3+))))
+
(define-public mescc-tools
(package
+ (inherit mescc-tools-0.5.2)
(name "mescc-tools")
(version "0.6.1")
(source (origin
@@ -149,19 +200,8 @@ Guile.")
(sha256
(base32
"06jpvq6xfjzn2al6b4rdwd3zv3h4cvilc4n9gqcnjr9cr6wjpw2n"))))
- (build-system gnu-build-system)
- (supported-systems '("i686-linux" "x86_64-linux"))
(arguments
- `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
- "CC=gcc")
- #:test-target "test"
- #:phases (modify-phases %standard-phases
- (delete 'configure))))
- (synopsis "Tools for the full source bootstrapping process")
- (description
- "Mescc-tools is a collection of tools for use in a full source
-bootstrapping process. It consists of the M1 macro assembler, the hex2
-linker, the blood-elf symbol table generator, the kaem shell, exec_enable and
-get_machine.")
- (home-page "https://savannah.nongnu.org/projects/mescc-tools")
- (license gpl3+)))
+ (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2)
+ ((#:make-flags _)
+ `(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc"))))))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 89979db15b..57ecef4913 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -33,7 +33,6 @@
#:use-module (guix build-system python)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
@@ -103,17 +102,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"0iknnm9xvwfgk8h82hjwrmbijpk9l0dgap0794c2nyg8i66qlb0y"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-Ddocumentation=true") ; the default is 'false'...
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'expand-C++-include-path
- ;; Make /include/c++/ext/string_conversions.h find .
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((path "CPLUS_INCLUDE_PATH")
- (gcc (assoc-ref inputs "gcc"))
- (c++ (string-append gcc "/include/c++")))
- (setenv path (string-append c++ ":" (getenv path)))
- #t))))))
+ `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'...
(inputs `(("ao" ,ao)
("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
@@ -135,10 +124,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
("zlib" ,zlib)))
- ;; MPD > 0.21 requires > GCC 6
- (native-inputs `(("gcc" ,gcc-8)
- ("gcc-lib" ,gcc-8 "lib")
- ("pkg-config" ,pkg-config)
+ (native-inputs `(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)))
;; Missing optional inputs:
;; libyajl
@@ -207,18 +193,12 @@ player daemon.")
"0hfjvm1p0z7x6gfn5xhl5c0jsmidvz0qfl04pq45x4chh9iiwkxx"))))
(build-system meson-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'expand-C++-include-path
- ;; Make /include/c++/ext/string_conversions.h find .
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((path "CPLUS_INCLUDE_PATH")
- (gcc (assoc-ref inputs "gcc"))
- (c++ (string-append gcc "/include/c++")))
- (setenv path (string-append c++ ":" (getenv path)))
- #t))))))
- (inputs `(("gcc" ,gcc-8) ; for its C++14 support
- ("boost" ,boost)
+ `(#:configure-flags
+ ;; Otherwise, they are installed incorrectly, in
+ ;; '$out/share/man/man/man1'.
+ (list (string-append "-Dmandir=" (assoc-ref %outputs "out")
+ "/share"))))
+ (inputs `(("boost" ,boost)
("pcre" ,pcre)
("libmpdclient" ,libmpdclient)
("ncurses" ,ncurses)))
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index c9cd7b1382..c02e1d2e2b 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -217,12 +217,10 @@ bind processes, and much more.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "C_INCLUDE_PATH"
(string-append (assoc-ref inputs "opensm")
- "/include/infiniband/:"
- (getenv "C_INCLUDE_PATH")))
+ "/include/infiniband"))
(setenv "CPLUS_INCLUDE_PATH"
(string-append (assoc-ref inputs "opensm")
- "/include/infiniband/:"
- (getenv "CPLUS_INCLUDE_PATH")))
+ "/include/infiniband"))
#t))
(add-before 'build 'remove-absolute
(lambda _
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 3d899941be..8e89836595 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -92,13 +92,13 @@ It is aimed at use in, for example, cryptography and computational algebra.")
(define-public mpfr
(package
(name "mpfr")
- (version "4.0.1")
+ (version "4.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
".tar.xz"))
(sha256 (base32
- "0vp1lrc08gcmwdaqck6bpzllkrykvp06vz5gnqpyw0v3h9h4m1v7"))))
+ "12m3amcavhpqygc499s3fzqlb8f2j2rr7fkqsm10xbjfc04fffqx"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(propagated-inputs `(("gmp" ,gmp))) ; refers to
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index ce333e8240..ac4333168c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2018 nee
;;; Copyright © 2018 Stefan Reichör
;;; Copyright © 2018 Pierre Neidhardt
-;;; Copyright © 2018 Ludovic Courtès
+;;; Copyright © 2018, 2019 Ludovic Courtès
;;; Copyright © 2018 Björn Höfling
;;; Copyright © 2019 Gabriel Hondet
;;; Copyright © 2019 Timotej Lazar
@@ -777,6 +777,11 @@ audio and video).")
#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'be-permissive
+ (lambda _
+ (substitute* "SConstruct"
+ (("'-Wall'") "'-Wall', '-fpermissive'"))
+ #t))
(add-after 'unpack 'replace-removed-scons-syntax
(lambda _
(substitute* "SConstruct"
@@ -1024,14 +1029,6 @@ Guile.")
(%current-system))))
'("--disable-sse")
'()))
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'set-flags
- (lambda _
- ;; Compile with C++11, required by libsigc++.
- (setenv "CXXFLAGS" "-std=c++11")
- #t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
@@ -2797,7 +2794,7 @@ websites such as Libre.fm.")
(add-before 'build 'change-directory
(lambda _
(chdir "instantmusic-0.1") #t))
- (add-before 'check 'fix-file-permissions
+ (add-before 'install 'fix-file-permissions
(lambda _
;; Fix some read-only files that would cause a build failure
(for-each (cut chmod <> #o644)
@@ -2991,8 +2988,7 @@ with a number of bugfixes and changes to improve IT playback.")
(patches (search-patches "sooperlooper-build-with-wx-30.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CXXFLAGS=-std=gnu++11")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-sigc++-includes
(lambda* (#:key inputs #:allow-other-keys)
@@ -3004,7 +3000,8 @@ with a number of bugfixes and changes to improve IT playback.")
sig "/lib/sigc++-2.0/include:"
xml "/include/libxml2/:"
cwd "/libs/pbd:"
- cwd "/libs/midi++")))
+ cwd "/libs/midi++:"
+ (or (getenv "CPATH") ""))))
(substitute* '("src/control_osc.hpp"
"src/gui/app_frame.hpp"
"src/gui/config_panel.hpp"
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index a35ff9b400..78e9ba1377 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016 ng0
;;; Copyright © 2016 Efraim Flashner
;;; Copyright © 2016 Jan Nieuwenhuizen
-;;; Copyright © 2017 Marius Bakke
+;;; Copyright © 2017, 2019 Marius Bakke
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice
;;;
;;; This file is part of GNU Guix.
@@ -40,7 +40,7 @@
(define-public ncurses
(package
(name "ncurses")
- (version "6.1")
+ (version "6.1-20190609")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ncurses/ncurses-"
@@ -84,8 +84,7 @@
(copy-file (assoc-ref (or native-inputs inputs) "rollup-patch")
(string-append (getcwd) "/rollup-patch.sh.bz2"))
(invoke "bzip2" "-d" "rollup-patch.sh.bz2")
- (invoke "sh" "rollup-patch.sh")
- #t))
+ (invoke "sh" "rollup-patch.sh")))
(remove-shebang-phase
'(lambda _
;; To avoid retaining a reference to the bootstrap Bash via the
@@ -189,17 +188,31 @@
,@(if (target-mingw?) '("--enable-term-driver") '()))))
#:tests? #f ; no "check" target
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'apply-rollup-patch
+ ,apply-rollup-patch-phase)
(replace 'configure ,configure-phase)
(add-after 'install 'post-install
,post-install-phase)
(add-before 'configure 'patch-makefile-SHELL
,patch-makefile-phase)
- (add-after 'unpack 'remove-unneeded-shebang
+ (add-before 'patch-source-shebangs 'remove-unneeded-shebang
,remove-shebang-phase)))))
(native-inputs
`(,@(if (%current-target-system)
`(("self" ,this-package)) ;for `tic'
'())
+
+ ("rollup-patch"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://invisible-mirror.net/archives/ncurses/"
+ (car (string-split version #\-))
+ "/ncurses-" version "-patch.sh.bz2"))
+ (sha256
+ (base32
+ "0hqlqdqmh7lfs6dwj763qksb4j9nk0pv6crzx5gnp6n4caz3i46g"))))
+
("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm
index 1f91b74d8b..f5e7188ff0 100644
--- a/gnu/packages/nettle.scm
+++ b/gnu/packages/nettle.scm
@@ -75,14 +75,14 @@ themselves.")
;; This version is not API-compatible with version 2. In particular, lsh
;; cannot use it yet. So keep it separate.
(package (inherit nettle-2)
- (version "3.4.1")
+ (version "3.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/nettle/nettle-"
version ".tar.gz"))
(sha256
(base32
- "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr"))))
+ "06clvkdfxhlbagn4afssylmn5vrak59dlmnvy8b2xc31hycs3k3m"))))
(arguments
(substitute-keyword-arguments (package-arguments nettle-2)
((#:configure-flags flags)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index c750f691cc..753e73d9d1 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -277,13 +277,13 @@ transparently check connection attempts against an access control list.")
(package
(name "zeromq")
(version "4.3.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/zeromq/libzmq/releases/"
- "download/v" version "/zeromq-" version ".tar.gz"))
- (sha256
- (base32 "0qzp80ky4y2k7k1ya09v9gkivvfbz2km813snrb8jhnn634bbmzb"))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/zeromq/libzmq/releases"
+ "/download/v" version "/zeromq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qzp80ky4y2k7k1ya09v9gkivvfbz2km813snrb8jhnn634bbmzb"))))
(build-system gnu-build-system)
(home-page "https://zeromq.org")
(synopsis "Library for message-based applications")
@@ -299,7 +299,7 @@ more.")
(define-public czmq
(package
(name "czmq")
- (version "4.1.1")
+ (version "4.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -308,21 +308,19 @@ more.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "1h5hrcsc30fcwb032vy5gxkq4j4vv1y4dj460rfs1hhxi0cz83zh"))))
+ "1szciz62sk3fm4ga9qjpxz0n0lazvphm32km95bq92ncng12kayg"))))
(build-system gnu-build-system)
(arguments
- '(;; TODO Tests fail for some reason:
- ;; * zauth: OK
- ;; * zbeacon: OK (skipping test, no UDP broadcasting)
- ;; E: (czmq_selftest) 18-02-24 16:25:52 No broadcast interface found, (ZSYS_INTERFACE=lo)
- ;; make[2]: *** [Makefile:2245: check-local] Segmentation fault
- ;; make[2]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0'
- ;; make[1]: *** [Makefile:2032: check-am] Error 2
- ;; make[1]: Leaving directory '/tmp/guix-build-czmq-4.1.0.drv-0/czmq-4.1.0'
- ;; make: *** [Makefile:1588: check-recursive] Error 1
- ;; phase `check' failed after 19.4 seconds
- #:tests? #f
- #:configure-flags '("--enable-drafts")))
+ '(#:configure-flags '("--enable-drafts")
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'patch-tests
+ (lambda _
+ ;; XXX FIXME: Disable the zproc test, which fails on some
+ ;; hardware: .
+ (substitute* "src/czmq_selftest.c"
+ (("\\{ \"zproc\", zproc_test.*")
+ ""))
+ #t)))))
(inputs
`(("zeromq" ,zeromq)))
(home-page "http://zeromq.org")
@@ -1727,7 +1725,7 @@ enabled due to license conflicts between the BSD advertising clause and the GPL.
(arguments
`(#:tests? #f)) ; No tests are included
(inputs
- `(("openssl" ,openssl))) ; For the DES library
+ `(("openssl" ,openssl-1.0))) ;for the DES library
(home-page "https://www.lysator.liu.se/~pen/pidentd/")
(synopsis "Small Ident Daemon")
(description
@@ -2119,6 +2117,12 @@ remotely.")
(base32
"0qz2730bng1gs9xbqxhkw88qbsmszgmmrl2g9k6xrg6r3bqvsdc7"))))
(build-system gnu-build-system)
+ (arguments
+ `(;; Ensure the kernel headers are treated as system headers to suppress
+ ;; harmless -Werror=pedantic warnings.
+ #:make-flags (list (string-append "C_INCLUDE_PATH="
+ (assoc-ref %build-inputs "kernel-headers")
+ "/include"))))
(inputs `(("zeromq" ,zeromq)
("czmq" ,czmq)
("libsodium" ,libsodium)))
@@ -2390,8 +2394,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(string-append (assoc-ref inputs "curl") "/include:"
(assoc-ref inputs "libpcap") "/include:"
(assoc-ref inputs "openssl") "/include:"
- (assoc-ref inputs "zlib") "/include:"
- (getenv "C_INCLUDE_PATH")))
+ (assoc-ref inputs "zlib") "/include"))
#t)))))
(home-page "https://github.com/ZerBea/hcxtools")
(synopsis "Capture wlan traffic to hashcat and John the Ripper")
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index 0791abe764..a8ad6430ba 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -40,7 +40,7 @@
(base32
"1ffmzj5s9h98qhl94d9i23zcv057rsqbac9g1hdgvlzq51ccfzjx"))))
(build-system gnu-build-system)
- (native-inputs `(("python" ,python-2)))
+ (inputs `(("python" ,python-wrapper)))
(arguments
'(#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index bf585a9686..83427d935f 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -45,15 +45,14 @@
(define-public node
(package
(name "node")
- ;; XXX When updating, check if tests below (e.g. crypto) can be reënabled.
- (version "10.15.3")
+ (version "10.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.xz"))
(sha256
(base32
- "1mcijznh481s44i59p571a38bfvcxm9f8x2l0l1005aly0kdj8jf"))
+ "0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -91,17 +90,12 @@
(modify-phases %standard-phases
(add-before 'configure 'patch-files
(lambda* (#:key inputs #:allow-other-keys)
-
- ;; FIXME: These tests fail with openssl@1.1.1d.
- (for-each delete-file
- '("test/parallel/test-crypto-binary-default.js"
- "test/parallel/test-crypto-dh.js"))
-
;; Fix hardcoded /bin/sh references.
(substitute* '("lib/child_process.js"
"lib/internal/v8_prof_polyfill.js"
"test/parallel/test-child-process-spawnsync-shell.js"
- "test/parallel/test-stdio-closed.js")
+ "test/parallel/test-stdio-closed.js"
+ "test/sequential/test-child-process-emfile.js")
(("'/bin/sh'")
(string-append "'" (which "sh") "'")))
@@ -115,18 +109,13 @@
;; FIXME: These tests fail in the build container, but they don't
;; seem to be indicative of real problems in practice.
(for-each delete-file
- '("test/async-hooks/test-ttywrap.readstream.js"
- "test/parallel/test-util-inspect.js"
- "test/parallel/test-v8-serdes.js"
- "test/parallel/test-dgram-membership.js"
- "test/parallel/test-dns-cancel-reverse-lookup.js"
- "test/parallel/test-dns-resolveany.js"
- "test/parallel/test-cluster-master-error.js"
+ '("test/parallel/test-cluster-master-error.js"
"test/parallel/test-cluster-master-kill.js"
- "test/parallel/test-net-listen-after-destroying-stdin.js"
- "test/parallel/test-npm-install.js"
- "test/sequential/test-child-process-emfile.js"
- "test/sequential/test-http-regr-gh-2928.js"))
+ ;; See also .
+ "test/sequential/test-performance.js"))
+
+ ;; This requires a DNS resolver.
+ (delete-file "test/parallel/test-dns.js")
;; These tests have an expiry date: they depend on the validity of
;; TLS certificates that are bundled with the source. We want this
@@ -179,7 +168,7 @@
("icu4c" ,icu4c)
("libuv" ,libuv)
("nghttp2" ,nghttp2 "lib")
- ("openssl" ,openssl-next)
+ ("openssl" ,openssl)
("zlib" ,zlib)))
(synopsis "Evented I/O for V8 JavaScript")
(description "Node.js is a platform built on Chrome's JavaScript runtime
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index 6942ecec2f..9429778776 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -169,7 +169,7 @@ minimalist than ntpd.")
;; received from servers.
(setenv "COMPILE_DATE" (number->string 1530144000))
(invoke "sh" "autogen.sh"))))))
- (inputs `(("openssl" ,openssl)
+ (inputs `(("openssl" ,openssl-1.0)
("libevent" ,libevent)))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm
index 8f66b07527..7e424dd185 100644
--- a/gnu/packages/onc-rpc.scm
+++ b/gnu/packages/onc-rpc.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 John Darrington
;;; Copyright © 2017, 2018 Leo Famulari
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2019 Marius Bakke
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,7 +46,8 @@
"07anqypf7c719x9y683qz65cxllmzlgmlab2hlahrqcj4bq2k99c"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags '("--disable-static")
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'remote-dangling-symlink
(lambda _
@@ -100,6 +102,26 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
universal addresses.")
(license bsd-3)))
+(define-public rpcsvc-proto
+ (package
+ (name "rpcsvc-proto")
+ (version "1.4")
+ (home-page "https://github.com/thkukuk/rpcsvc-proto")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "/releases/download/v" version
+ "/rpcsvc-proto-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0i93wbpw5dk2gf5v4a5hq6frh814wzgjydh7saj28wlgbpqdaja1"))))
+ (build-system gnu-build-system)
+ (synopsis "RPCSVC protocol definitions")
+ (description
+ "This package provides @code{rpcsvc} @file{protocol.x} files and headers
+that are not included with the @code{libtirpc} package. Additionally it
+contains @command{rpcgen}, which is used to produce header files and sources
+from the protocol files.")
+ (license bsd-3)))
(define-public libnsl
(package
@@ -115,6 +137,15 @@ universal addresses.")
(base32
"1chzqhcgh0yia9js8mh92cmhyka7rh32ql6b3mgdk26n94dqzs8b"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-static")
+ #:phases (modify-phases %standard-phases
+ (add-before 'bootstrap 'gettextize
+ (lambda _
+ ;; Regenerate the bundled Makefile.in.in to avoid a
+ ;; "gettext infrastructure mismatch" because the
+ ;; existing version was generated by an older gettext.
+ (invoke "gettextize" "-f"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index b355665da0..7abe9ab6f0 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -57,7 +57,7 @@
(define-public openldap
(package
(name "openldap")
- (version "2.4.46")
+ (version "2.4.47")
(source (origin
(method url-fetch)
@@ -74,7 +74,7 @@
"openldap-release/openldap-" version ".tgz")))
(sha256
(base32
- "0bab1km8f2nan1x0zgwliknbxg0zlf2pafxrr867kblrdfwdr44s"))))
+ "02sj0p1pq12hqq29b22m3f5zs2rykgvc0q3wlynxjcsjhrvmhk7m"))))
(build-system gnu-build-system)
(inputs `(("bdb" ,bdb-5.3)
("cyrus-sasl" ,cyrus-sasl)
@@ -211,7 +211,11 @@ servers from Python programs.")
(arguments
`(#:modules ((srfi srfi-1)
(guix build gnu-build-system)
+ ((guix build python-build-system)
+ #:select (python-version))
(guix build utils))
+ #:imported-modules ((guix build python-build-system)
+ ,@%gnu-build-system-modules)
#:configure-flags
(list (string-append "--with-db="
(assoc-ref %build-inputs "bdb"))
@@ -263,16 +267,9 @@ servers from Python programs.")
(add-after 'unpack 'fix-install-location-of-python-tools
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (get-python-version
- ;; FIXME: copied from python-build-system
- (lambda (python)
- (let* ((version (last (string-split python #\-)))
- (components (string-split version #\.))
- (major+minor (take components 2)))
- (string-join major+minor "."))))
(pythondir (string-append
out "/lib/python"
- (get-python-version (assoc-ref inputs "python"))
+ (python-version (assoc-ref inputs "python"))
"/site-packages/")))
;; Install directory must be on PYTHONPATH.
(setenv "PYTHONPATH"
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ee9efb6eb1..c72950e2b0 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -527,7 +527,6 @@ symlinks to the files in a common directory such as /usr/local.")
("nss" ,nss)
("nspr" ,nspr)
("libarchive" ,libarchive)
- ("nettle" ,nettle) ;XXX: actually a dependency of libarchive
("file" ,file)
("bzip2" ,bzip2)
("zlib" ,zlib)
@@ -711,8 +710,7 @@ This package provides Conda as a library.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(target (string-append out "/lib/python"
- ((@@ (guix build python-build-system)
- get-python-version)
+ (python-version
(assoc-ref inputs "python"))
"/site-packages/")))
;; The installer aborts if the target directory is not on
@@ -879,7 +877,6 @@ for packaging and deployment of cross-compiled Windows applications.")
("gpgme" ,gpgme)
("libarchive" ,libarchive)
("libsoup" ,libsoup)
- ("nettle" ,nettle) ; required by 'libarchive.la'
("util-linux" ,util-linux)))
(home-page "https://ostree.readthedocs.io/en/latest/")
(synopsis "Operating system and container binary deployment and upgrades")
@@ -939,7 +936,6 @@ the boot loader configuration.")
("libsoup" ,libsoup)
("libxau" ,libxau)
("libxml2" ,libxml2)
- ("nettle" ,nettle)
("util-linux" ,util-linux)))
(home-page "https://flatpak.org")
(synopsis "System for building, distributing, and running sandboxed desktop
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 6ca16025ef..ff13be24db 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -766,7 +766,7 @@ between hosts and entries in the password store.")
("krb5" ,mit-krb5)
("libpcap" ,libpcap)
("nss" ,nss)
- ("openssl" ,openssl)
+ ("openssl" ,openssl-1.0)
("zlib" ,zlib)))
(arguments
`(#:configure-flags
diff --git a/gnu/packages/patches/acl-fix-perl-regex.patch b/gnu/packages/patches/acl-fix-perl-regex.patch
deleted file mode 100644
index f682abc058..0000000000
--- a/gnu/packages/patches/acl-fix-perl-regex.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This can be removed with the next acl release
-
----
- test/run | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/run b/test/run
-index 2cf52e8..4627cd2 100755
---- a/test/run
-+++ b/test/run
-@@ -70,7 +70,7 @@ for (;;) {
- if (defined $line) {
- # Substitute %VAR and %{VAR} with environment variables.
- $line =~ s[%(\w+)][$ENV{$1}]eg;
-- $line =~ s[%{(\w+)}][$ENV{$1}]eg;
-+ $line =~ s[%\{(\w+)\}][$ENV{$1}]eg;
- }
- if (defined $line) {
- if ($line =~ s/^\s*< ?//) {
---
-2.15.0
-
diff --git a/gnu/packages/patches/acl-hurd-path-max.patch b/gnu/packages/patches/acl-hurd-path-max.patch
deleted file mode 100644
index 89cb3a38d7..0000000000
--- a/gnu/packages/patches/acl-hurd-path-max.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636512
-
-From: Svante Signell
-Subject: acl: Fix FTBFS on hurd-i386
-Date: Wed, 03 Aug 2011 19:36:27 +0200
-
-Currently acl does not compile on hurd-i386. The problem is a PATH_MAX
-definition which is not supported on GNU/Hurd.
-
-Index: acl-2.2.52/setfacl/parse.c
-===================================================================
---- acl-2.2.52/setfacl/parse.c
-+++ acl-2.2.52/setfacl/parse.c
-@@ -419,7 +419,13 @@ read_acl_comments(
- bytes for "# file: ". Not a good solution but for now it is the
- best I can do without too much impact on the code. [tw]
- */
-+
-+#ifdef __GNU__
-+ char *linebuf;
-+ size_t dummy = 0;
-+#else
- char linebuf[(4*PATH_MAX)+9];
-+#endif
- char *cp;
- char *p;
- int comments_read = 0;
-@@ -449,9 +455,13 @@ read_acl_comments(
- if (line)
- (*line)++;
-
-+#ifdef __GNU__
-+ if (getline(&linebuf, &dummy, file) == -1)
-+ break;
-+#else
- if (fgets(linebuf, sizeof(linebuf), file) == NULL)
- break;
--
-+#endif
- comments_read = 1;
-
- p = strrchr(linebuf, '\0');
-@@ -473,7 +483,12 @@ read_acl_comments(
- goto fail;
- *path_p = (char*)malloc(strlen(cp)+1);
- if (!*path_p)
-+ {
-+#ifdef __GNU__
-+ free (linebuf);
-+#endif
- return -1;
-+ }
- strcpy(*path_p, cp);
- }
- } else if (strncmp(cp, "owner:", 6) == 0) {
-@@ -522,13 +537,24 @@ read_acl_comments(
- }
- }
- if (ferror(file))
-+ {
-+#ifdef __GNU__
-+ free (linebuf);
-+#endif
- return -1;
-+ }
-+#ifdef __GNU__
-+ free (linebuf);
-+#endif
- return comments_read;
- fail:
- if (path_p && *path_p) {
- free(*path_p);
- *path_p = NULL;
- }
-+#ifdef __GNU__
-+ free (linebuf);
-+#endif
- return -EINVAL;
- }
-
diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch
new file mode 100644
index 0000000000..94c44f8fb6
--- /dev/null
+++ b/gnu/packages/patches/aspell-gcc-compat.patch
@@ -0,0 +1,31 @@
+Fix GCC7 warnings.
+
+Taken from upstream:
+https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384
+
+diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp
+index a979539..19ab63c 100644
+--- a/modules/filter/tex.cpp
++++ b/modules/filter/tex.cpp
+@@ -174,7 +174,7 @@ namespace {
+
+ if (c == '{') {
+
+- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
++ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
+ push_command(Parm);
+
+ top.in_what = Parm;
+diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp
+index db54f3d..89ee09d 100644
+--- a/prog/check_funs.cpp
++++ b/prog/check_funs.cpp
+@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) {
+ }
+ }
+ if (i == width-1) {
+- if (word == '\0')
++ if (*word == '\0')
+ put(out,' ');
+ else if (word[len] == '\0')
+ put(out, word, len);
diff --git a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
deleted file mode 100644
index 0d03d7ce37..0000000000
--- a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
-the kernel version in use on the build machine.
-
---- configure.ac.orig 1969-12-31 19:00:00.000000000 -0500
-+++ configure.ac 2019-08-11 22:28:26.038841961 -0400
-@@ -1092,9 +1092,7 @@
- solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
- lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
- linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
-- case "`uname -r`" in
-- 2.[[456789]]*|[[34]]*) AC_DEFINE(PGRP_PIPE) ;;
-- esac ;;
-+ AC_DEFINE(PGRP_PIPE) ;;
- *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
- *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
- powerux*) LOCAL_LIBS="-lgen" ;;
---- configure.orig 1969-12-31 19:00:00.000000000 -0500
-+++ configure 2019-08-11 22:28:10.166763255 -0400
-@@ -16064,10 +16064,7 @@
- solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
- lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
- linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
-- case "`uname -r`" in
-- 2.[456789]*|[34]*) $as_echo "#define PGRP_PIPE 1" >>confdefs.h
-- ;;
-- esac ;;
-+ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
- *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
- *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
- powerux*) LOCAL_LIBS="-lgen" ;;
diff --git a/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch
new file mode 100644
index 0000000000..8a03c4d982
--- /dev/null
+++ b/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch
@@ -0,0 +1,34 @@
+Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
+the kernel version in use on the build machine.
+
+diff -purN bash-5.0-orig/configure bash-5.0/configure
+--- configure 1970-01-01 01:00:00.000000000 +0100
++++ configure 2019-09-29 11:51:42.664518665 +0200
+@@ -16312,11 +16312,7 @@ solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+ solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+- case "`uname -r`" in
+- 1.*|2.[0123]*) : ;;
+- *) $as_echo "#define PGRP_PIPE 1" >>confdefs.h
+- ;;
+- esac ;;
++ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
+ netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[67]*) LOCAL_LIBS="-lncurses" ;;
+ *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+diff -purN bash-5.0-orig/configure.ac bash-5.0/configure.ac
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2019-09-29 11:51:10.692026225 +0200
+@@ -1108,10 +1108,7 @@ solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+ solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+- case "`uname -r`" in
+- 1.*|2.[[0123]]*) : ;;
+- *) AC_DEFINE(PGRP_PIPE) ;;
+- esac ;;
++ AC_DEFINE(PGRP_PIPE) ;;
+ netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
+ *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
diff --git a/gnu/packages/patches/binutils-boot-2.20.1a.patch b/gnu/packages/patches/binutils-boot-2.20.1a.patch
new file mode 100644
index 0000000000..7e5762ceb4
--- /dev/null
+++ b/gnu/packages/patches/binutils-boot-2.20.1a.patch
@@ -0,0 +1,157 @@
+This patch enables building binutils using TCC and Mes C Library
+
+ * disable building DOC
+ * remove signed int trickery that does not work with TCC
+ * fixe the malloc prototype to use size_t
+ * add missing includes
+ * remove C99'isms to avoid of mixing code and variable declaration
+ * [MES_BOOTSTRAP]: remove strncmp to avoid duplicat symbol
+
+Upstream status: Not presented upstream.
+
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/bfd/elf32-i386.c binutils-2.20.1a/bfd/elf32-i386.c
+--- ../binutils-2.20.1a/bfd/elf32-i386.c 2009-09-10 13:47:12.000000000 +0200
++++ binutils-2.20.1a/bfd/elf32-i386.c 2018-06-23 19:33:20.068134411 +0200
+@@ -4254,6 +4254,7 @@ elf_i386_finish_dynamic_symbol (bfd *out
+ if (!h->pointer_equality_needed)
+ abort ();
+
++ {
+ /* For non-shared object, we can't use .got.plt, which
+ contains the real function addres if we need pointer
+ equality. We load the GOT entry with the PLT entry. */
+@@ -4262,6 +4263,7 @@ elf_i386_finish_dynamic_symbol (bfd *out
+ (plt->output_section->vma
+ + plt->output_offset + h->plt.offset),
+ htab->elf.sgot->contents + h->got.offset);
++ }
+ return TRUE;
+ }
+ }
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/bfd/elfcode.h binutils-2.20.1a/bfd/elfcode.h
+--- ../binutils-2.20.1a/bfd/elfcode.h 2009-09-10 13:47:12.000000000 +0200
++++ binutils-2.20.1a/bfd/elfcode.h 2018-06-19 19:07:16.647627075 +0200
+@@ -73,6 +73,7 @@
+ #include "bfdlink.h"
+ #include "libbfd.h"
+ #include "elf-bfd.h"
++#include
+
+ /* Renaming structures, typedefs, macros and functions to be size-specific. */
+ #define Elf_External_Ehdr NAME(Elf,External_Ehdr)
+@@ -706,8 +707,8 @@ elf_object_p (bfd *abfd)
+ if (i_ehdrp->e_shnum != 1)
+ {
+ /* Check that we don't have a totally silly number of sections. */
+- if (i_ehdrp->e_shnum > (unsigned int) -1 / sizeof (x_shdr)
+- || i_ehdrp->e_shnum > (unsigned int) -1 / sizeof (i_shdr))
++ if (i_ehdrp->e_shnum > INT_MAX / sizeof (x_shdr)
++ || i_ehdrp->e_shnum > INT_MAX / sizeof (i_shdr))
+ goto got_wrong_format_error;
+
+ where += (i_ehdrp->e_shnum - 1) * sizeof (x_shdr);
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/bfd/Makefile.in binutils-2.20.1a/bfd/Makefile.in
+--- ../binutils-2.20.1a/bfd/Makefile.in 2010-03-03 14:59:15.000000000 +0100
++++ binutils-2.20.1a/bfd/Makefile.in 2018-06-16 14:00:46.297724081 +0200
+@@ -320,7 +320,7 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../confi
+ # RELEASE=y
+ INCDIR = $(srcdir)/../include
+ CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
+-SUBDIRS = doc po
++SUBDIRS = # these fail to build: doc po
+ bfddocdir = doc
+ libbfd_la_LDFLAGS = $(am__append_1) -release `cat libtool-soversion` \
+ @SHARED_LDFLAGS@ $(am__empty)
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/binutils/arparse.c binutils-2.20.1a/binutils/arparse.c
+--- ../binutils-2.20.1a/binutils/arparse.c 2009-10-16 13:52:16.000000000 +0200
++++ binutils-2.20.1a/binutils/arparse.c 2018-06-19 01:30:00.576219981 +0200
+@@ -330,7 +330,7 @@ YYID (i)
+ # define YYMALLOC malloc
+ # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++void *malloc (size_t); /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifndef YYFREE
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/binutils/dwarf.c binutils-2.20.1a/binutils/dwarf.c
+--- ../binutils-2.20.1a/binutils/dwarf.c 2009-09-14 13:43:26.000000000 +0200
++++ binutils-2.20.1a/binutils/dwarf.c 2018-06-16 14:01:45.162684662 +0200
+@@ -27,6 +27,10 @@
+ #include "dwarf2.h"
+ #include "dwarf.h"
+
++#if MES_BOOTSTRAP
++#include "getopt.h"
++#endif
++
+ static int have_frame_base;
+ static int need_base_address;
+
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/binutils/sysinfo.c binutils-2.20.1a/binutils/sysinfo.c
+--- ../binutils-2.20.1a/binutils/sysinfo.c 2009-10-16 13:52:17.000000000 +0200
++++ binutils-2.20.1a/binutils/sysinfo.c 2018-06-19 01:29:23.823612807 +0200
+@@ -286,7 +286,7 @@ YYID (i)
+ # define YYMALLOC malloc
+ # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++void *malloc (size_t); /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifndef YYFREE
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/gas/config/tc-i386.c binutils-2.20.1a/gas/config/tc-i386.c
+--- ../binutils-2.20.1a/gas/config/tc-i386.c 2009-09-14 13:43:27.000000000 +0200
++++ binutils-2.20.1a/gas/config/tc-i386.c 2018-06-23 19:39:37.546254752 +0200
+@@ -4869,6 +4869,7 @@ build_modrm_byte (void)
+ if (vex_3_sources)
+ {
+ unsigned int nds, reg;
++ expressionS *exp;
+
+ if (i.tm.opcode_modifier.veximmext
+ && i.tm.opcode_modifier.immext)
+@@ -4892,7 +4893,7 @@ build_modrm_byte (void)
+
+ /* Generate an 8bit immediate operand to encode the register
+ operand. */
+- expressionS *exp = &im_expressions[i.imm_operands++];
++ exp = &im_expressions[i.imm_operands++];
+ i.op[i.operands].imms = exp;
+ i.types[i.operands] = imm8;
+ i.operands++;
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/ld/ldgram.c binutils-2.20.1a/ld/ldgram.c
+--- ../binutils-2.20.1a/ld/ldgram.c 2009-10-16 13:52:15.000000000 +0200
++++ binutils-2.20.1a/ld/ldgram.c 2018-06-19 01:30:57.809165437 +0200
+@@ -561,7 +561,7 @@ YYID (i)
+ # define YYMALLOC malloc
+ # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++void *malloc (size_t); /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifndef YYFREE
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.20.1a/libiberty/strncmp.c binutils-2.20.1a/libiberty/strncmp.c
+--- ../binutils-2.20.1a/libiberty/strncmp.c 2005-03-28 04:09:01.000000000 +0200
++++ binutils-2.20.1a/libiberty/strncmp.c 2018-06-23 19:19:50.038992482 +0200
+@@ -15,6 +15,13 @@ Compares the first @var{n} bytes of two
+ #include
+ #include
+
++#if !MES_BOOTSTRAP
++
++/*
++ libtool: link: /gnu/store/rgwjixk5zl7s2d3xsb2ws2z2q3m0xjm4-tcc-boot-0.9.26-0.97196ce/bin/tcc -D __GLIBC_MINOR__=6 -D MES_BOOTSTRAP=1 -g -o size size.o bucomm.o version.o filemode.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a
++ /gnu/store/rgwjixk5zl7s2d3xsb2ws2z2q3m0xjm4-tcc-boot-0.9.26-0.97196ce/lib/libc.a: error: 'strncmp' defined twice
++*/
++
+ int
+ strncmp(const char *s1, const char *s2, register size_t n)
+ {
+@@ -31,3 +38,5 @@ strncmp(const char *s1, const char *s2,
+ }
+ return 0;
+ }
++
++#endif // !MES_BOOTSTRAP
diff --git a/gnu/packages/patches/boost-fix-icu-build.patch b/gnu/packages/patches/boost-fix-icu-build.patch
deleted file mode 100644
index 556f91b8f7..0000000000
--- a/gnu/packages/patches/boost-fix-icu-build.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Pass -std=c++11 when compiling files that include the ICU headers. Without
-this flag, compilation fails and causes Boost's build system to remove ICU
-support. Note that $(pkg-config --variable=CXXFLAGS icu-uc) includes
-"-std=c++11", but Boost's build system does not use 'pkg-config'.
-
---- boost_1_66_0/libs/locale/build/Jamfile.v2.orig 2017-12-13 18:56:44.000000000 -0500
-+++ boost_1_66_0/libs/locale/build/Jamfile.v2 2018-04-08 15:18:58.673025760 -0400
-@@ -65,8 +65,8 @@
-
- if $(ICU_LINK)
- {
-- ICU_OPTS = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin shared ;
-- ICU64_OPTS = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin64 shared ;
-+ ICU_OPTS = $(ICU_PATH)/include -std=c++11 $(ICU_LINK) $(ICU_PATH)/bin shared ;
-+ ICU64_OPTS = $(ICU_PATH)/include -std=c++11 $(ICU_LINK) $(ICU_PATH)/bin64 shared ;
- }
- else
- {
-@@ -121,6 +121,7 @@
- explicit icuuc icudt icuin ;
-
- ICU_OPTS = $(ICU_PATH)/include
-+ -std=c++11
-