me
/
guix
Archived
1
0
Fork 0

Merge branch 'core-updates'

master
Ludovic Courtès 2019-10-08 11:23:22 +02:00
commit cf3d1763ed
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
287 changed files with 9617 additions and 5702 deletions

1
.gitignore vendored
View File

@ -150,3 +150,4 @@ tmp
/etc/indent-code.el
/.version
/doc/stamp-[0-9]
/gnu/packages/bootstrap

View File

@ -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 ; \

View File

@ -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

View File

@ -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];
}

View File

@ -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

View File

@ -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."))))

View File

@ -18,15 +18,8 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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))))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;;
;;; This file is part of GNU Guix.
@ -37,11 +38,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
'("C_INCLUDE_PATH"
"CPLUS_INCLUDE_PATH"
"OBJC_INCLUDE_PATH"
"OBJCPLUS_INCLUDE_PATH"))
;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
'("CPATH"))
(define %gcc-cross-include-paths
;; Search path for target headers when cross-compiling.

View File

@ -11,7 +11,7 @@
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -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}

View File

@ -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

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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)

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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)))))

View File

@ -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.")

View File

@ -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

View File

@ -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)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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+)))

View File

@ -22,6 +22,7 @@
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; 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<long>(get_nanoseconds()/1000));\n")))
#t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following

View File

@ -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:
;; <https://gitlab.com/oath-toolkit/oath-toolkit/issues/2#note_52958748>.
(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)

View File

@ -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)))

View File

@ -13,6 +13,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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")

View File

@ -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:
;; <https://git.savannah.gnu.org/cgit/tar.git/commit/?id=847a36f>
;; <https://git.savannah.gnu.org/cgit/tar.git/commit/?id=64b43fd>
#: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 <limits.h> refers to <linux/limit.h>, 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

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@ -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"

View File

@ -3,6 +3,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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")

View File

@ -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

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 <https://bugs.gnu.org/36238>.
#: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 <https://bugs.gnu.org/36238>.
#: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"))))))

View File

@ -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"))

View File

@ -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 <https://bugs.gnu.org/36721>.
"--no-cmake-config"
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="

View File

@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;;
;;; 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

Binary file not shown.

View File

@ -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

View File

@ -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))

View File

@ -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: <https://github.com/Eloston/ungoogled-chromium/issues/778>.
("icu4c" ,icu4c-64)
("icu4c" ,icu4c)
("jsoncpp" ,jsoncpp)
("lcms" ,lcms)
("libevent" ,libevent)

View File

@ -8,6 +8,7 @@
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; 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:
;; <https://issues.guix.gnu.org/issue/37371>.
@ -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

View File

@ -626,13 +626,13 @@ the C, C++, C++/CLI, ObjectiveC, 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, ObjectiveC, 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")

File diff suppressed because it is too large Load Diff

View File

@ -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: <https://github.com/gdraheim/zziplib/issues/53>.
;; 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)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; 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)))

View File

@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;;
;;; This file is part of GNU Guix.
@ -53,11 +54,8 @@
(define %gcc-include-paths
;; Environment variables for header search paths.
;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
'("C_INCLUDE_PATH"
"CPLUS_INCLUDE_PATH"
"OBJC_INCLUDE_PATH"
"OBJCPLUS_INCLUDE_PATH"))
;; Note: See <http://bugs.gnu.org/30756> 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)))))))

View File

@ -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

View File

@ -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 <https://bugs.gnu.org/34927>
;; 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")

View File

@ -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 <https://bugs.gnu.org/37605>.
,@(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)

View File

@ -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")

View File

@ -6,6 +6,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; 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

View File

@ -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

View File

@ -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"

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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

View File

@ -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)

View File

@ -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.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@ -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)

View File

@ -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)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -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

View File

@ -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"))))))

View File

@ -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")

View File

@ -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)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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)

View File

@ -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

View File

@ -8,7 +8,8 @@
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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

View File

@ -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)))

View File

@ -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 <SDL.h>" 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)))

View File

@ -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

View File

@ -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"))

View File

@ -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")

View File

@ -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)

View File

@ -4,10 +4,11 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
;;;
;;; 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")))

View File

@ -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")

View File

@ -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)

View File

@ -5,10 +5,11 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
@ -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: <https://bugs.gnu.org/37468>. 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 <errno.h>")
"#include <errno.h>\n#include <unistd.h>")))))))
"#include <errno.h>\n#include <unistd.h>"))
#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

File diff suppressed because it is too large Load Diff

View File

@ -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.

View File

@ -15,6 +15,7 @@
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;;
;;; 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)))

View File

@ -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

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
@ -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 <origin> 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)))

View File

@ -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:
;; <http://hydra.gnu.org/build/133040>. As a workaround, disable tests
;; on these platforms.

View File

@ -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

View File

@ -3,6 +3,8 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;;
;;; 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 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30785> 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 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30785>
;; 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,

View File

@ -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

View File

@ -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)))

View File

@ -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)

View File

@ -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
;; <https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=988aa29238fca862c7e2cb55f15762a69b4c16ce>
;; 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.

View File

@ -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")

View File

@ -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
;; <https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00343.html>.
(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:
;; <https://unicode-org.atlassian.net/browse/ICU-20080>.
'(#: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")

Some files were not shown because too many files have changed in this diff Show More