Commit graph

75575 commits

Author SHA1 Message Date
Chris Marusich
e8b83e7579
tests: guix-environment.sh: Use C_INCLUDE_PATH, not CPATH.
* tests/guix-environment.sh: In tests that verify that the search paths are
set up correctly, check C_INCLUDE_PATH instead of CPATH.  This fixes a test
failure, which was likely introduced in commit
2073b55e6b.  That commit switched gcc back to
using C_INCLUDE_PATH instead of CPATH, but it did not update this test.
2021-03-10 23:02:03 -08:00
Léo Le Bouter
7b528a0333
gnu: openjpeg: Disable failing tests group.
Conformance tests fail on powerpc64le-linux, they may also fail on other
architectures, untested. Disabling unconditionally for now.

* gnu/packages/image.scm (openjpeg)[arguments]: Modify 'disable-failing-tests
phase to also ignore tests in the "conformance" subdirectory.
2021-03-10 23:02:03 -08:00
Léo Le Bouter
1f3c436ce7
gnu: gcc: Set gcc-8 as default.
This is a requirement for Glibc 2.32 and later on powerpc64le-linux.

* gnu/packages/commencement.scm (gcc-toolchain-8): Use gcc-toolchain directly
as it's the new default.
(gcc-toolchain-7): No longer the default, make the toolchain from gcc-7.
* gnu/packages/gcc.scm (gcc): Set to gcc-8.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:03 -08:00
Chris Marusich
f4cbd18d0e
gnu: commencement: Fix findutils-boot0 on some systems.
This fixes an issue where findutils-boot0 would fail to build ("XPASS:
test-fnmatch") on some systems, in particular powerpc64le-linux.

* gnu/packages/commencement.scm (findutils-boot0): Delete the
skip-fnmatch-test phase on any system that does not build this package using
glibc-mesboot, i.e. any system that is not x86_64-linux or i686-linux.
2021-03-10 23:02:02 -08:00
Chris Marusich
e5fec0cdae
tests: pack: Fix %gzip-compressor and a failing test.
* tests/pack.scm (%gzip-compressor): Fix the compressor's G-Expression by
adding the symbol "list" as the first element of the gexp'd list.  Previously,
%gzip-compressor caused the "self-contained-tarball" test to fail because it
would cause the builder to incorrectly attempt to apply a string like
"test-tmp/store/qgfnpsjc8q40fw5jyfxi4hjrppspvs4z-bootstrap-binaries-0/bin/gzip"
as if it were a procedure.  This test code regression was likely introduced
accidentally in commit 5a0997ef7f ("packages,
scripts, utils: Enable multi-threaded xz compression.").
2021-03-10 23:02:02 -08:00
Chris Marusich
78faf0f608
tests: gremlin: Skip file-needed/recursive if DT_NEEDED is empty.
* tests/gremlin.scm (file-needed/recursive): Skip the test when (file-runpath
%guile-executable) evaluates to the empty list.  This fixes the test, which
previously failed incorrectly in the case where Guix has been built using a
foreign distro's toolchain and libraries.
2021-03-10 23:02:02 -08:00
Chris Marusich
4d63ba31c9
utils: Fix target-64bit? on powerpc64le-linux.
* guix/utils.scm (target-64bit?): Change the string from "ppc64" to
"powerpc64", which matches Guix system names like "powerpc64le-linux".
2021-03-10 23:02:02 -08:00
Chris Marusich
ee3f541433
ci: %cross-targets: Add powerpc64le-linux-gnu.
* gnu/ci.scm (%cross-targets): Add an entry for powerpc64le-linux-gnu.
2021-03-10 23:02:01 -08:00
Chris Marusich
01ce33d9f3
syscalls: Fix RNDADDTOENTCNT on powerpc64le-linux.
This fixes the failing test add-to-entropy-count in tests/syscalls.scm on
powerpc64le-linux.

* guix/build/syscalls.scm (RNDADDTOENTCNT): When %host-type starts with
"powerpc64le", set this to #x80045201.  Otherwise, set it to #x40045201 as
before.
2021-03-10 23:02:01 -08:00
Chris Marusich
c9113fc1d3
syscalls: Fix clone on powerpc64le-linux.
This makes the clone procedure work correctly and fixes some test failures on
powerpc64le-linux, including tests/containers.scm.

* guix/build/syscalls.scm (clone): Add an entry for ppc64le.
2021-03-10 23:02:01 -08:00
Chris Marusich
5fcd674c1c
Add powerpc64le-linux as a supported Guix architecture.
This makes powerpc64le-linux a supported architecture for Guix, but not for
Guix System.

* Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux.
* etc/guix-install.sh (chk_sys_arch): Same.
* guix/packages.scm (%supported-systems): Same.
* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same.
* tests/guix-build.sh (all_systems): Same.
2021-03-10 23:02:01 -08:00
Leo Le Bouter
b13ba3eed4
gnu: libelf: Fix compilation for powerpc64le-linux.
* gnu/packages/elf.scm (libelf)[arguments]: Modify replacement 'configure phase
to invoke "./configure" with "--host=powerpc64le-unknown-linux-gnu" on
powerpc64le-linux.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:01 -08:00
Leo Le Bouter
3403218bfb
gnu: texlive-latex-base: Fix compilation on powerpc64le*.
* gnu/packages/tex.scm (texlive-latex-base)[arguments]: LuaJIT is not ported to
powerpc64le* yet. Update replacement 'build phase to add "luajittex" within the
"disabled-formats" list on powerpc64le*.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:00 -08:00
Leo Le Bouter
6117a0967b
gnu: texlive-bin: Fix compilation on powerpc64le*.
* gnu/packages/tex.scm (texlive-bin)[arguments]: Append "--disable-luajittex"
and "--disable-mfluajit" to keyword argument "#:configure-flags" on
powerpc64le* because LuaJIT is not ported to powerpc64le* yet. Also set
"#:tests?" to "#f" on powerpc64le*.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:00 -08:00
Leo Le Bouter
70265b0bb4
gnu: guile-avahi: Fix compilation on powerpc64le-linux.
* gnu/packages/guile-xyz.scm (guile-avahi)[arguments]: Parallel builds fail on
powerpc64le-linux. Set "#:parallel-build?" to "#f".

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:00 -08:00
Leo Le Bouter
6ce82781c0
gnu: bdb-4.8: Fix configure on powerpc64le-linux.
* gnu/packages/dbm.scm (bdb-4.8)[arguments]: Modify 'configure phase to append
"--build=powerpc64le-unknown-linux-gnu" to configure's flags when compiling for
powerpc64le-linux.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:02:00 -08:00
Leo Le Bouter
638bfff853
gnu: glibc: Fix ldd path on powerpc*.
This should avoid some problems, such as "not a dynamic executable" errors.

* gnu/packages/patches/glibc-ldd-powerpc.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/base.scm:
(glibc)[patches]: Add it.
(glibc-2.30)[patches]: Add it.
(glibc-2.29)[patches]: Add it.
(glibc-2.28)[patches]: Add it.
(glibc-2.27)[patches]: Add it.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2021-03-10 23:01:59 -08:00
Chris Marusich
458022fb69
gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
Fixes: <https://bugs.gnu.org/46253>.

* gnu/packages/gcc.scm (gcc-4.7)[#:phases][pre-configure]: When the
gcc/config/rs6000 directory exists, replace "/lib64" with "/lib" in all files
within it.  Note that this fix will be picked up by any package that re-uses
the pre-configure phase from gcc-4.7 (e.g., all the usual gcc packages).
(make-libstdc++)[#:phases][fix-rs6000-libdir]: New phase, which does the same
as above.  It was necessary to duplicate the fix here because make-libstdc++
does not re-use the pre-configure phase from gcc-4.7.
2021-03-10 23:01:59 -08:00
Chris Marusich
c1c15ef355
gnu: binutils-final: Support more Power architectures.
* gnu/packages/commencement.scm (binutils-final)[arguments]: When checking if
the system is a Power architecture, instead of hard-coding "powerpc-linux",
use the target-powerpc? procedure so it works on more Power architectures.
[inputs]: Likewise.
2021-03-10 23:01:59 -08:00
Efraim Flashner
3d43a7c048
gnu: binutils-final: Provide bash for binary on powerpc-linux.
* gnu/packages/commencement.scm (binutils-final)[arguments]: On
powerpc-linux allow a reference to static-bash-for-glibc.
[inputs]: On powerpc-linux add static-bash-for-glibc.
2021-03-10 23:01:59 -08:00
Chris Marusich
4bd672cb41
utils: Add target-powerpc? procedure.
* guix/utils.scm (target-powerpc?): New exported procedure.
2021-03-10 23:01:58 -08:00
Chris Marusich
680b20f24c
gnu: gcc-boot0: Enable 128-bit long double for POWER9.
* gnu/packages/commencement.scm (gcc-boot0) [#:configure-flags]: Add
--with-long-double-128 when the boot triplet is "powerpc64le-guix-linux-gnu",
instead of "powerpc64le-linux-gnu", which is incorrect.  The actual triplet
used during bootstrapping is "powerpc64le-guix-linux-gnu".
2021-03-10 23:01:58 -08:00
Chris Marusich
c069f8e433
gnu: bootstrap: Add support for powerpc64le-linux.
The bootstrap tarballs used by these bootstrap packages were created via the
following steps:

- Create a new x86_64 VM using QEMU.
- Use
  https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.x86_64-linux.iso.xz
  to install Guix System 1.2.0 in the VM.
- Run: guix pull --no-substitutes --commit=662e7e28d576ada91fc9dec7d27c100666114f03
- Run: guix build --no-substitutes --target=powerpc64le-linux-gnu bootstrap-tarballs

With the exception of gcc-static, all bootstrap binaries contained in these
tarballs can be built reproducibly.  Unfortunately, gcc-static is not always
reproducible when everything is built from source on separate machines.
Despite investigation efforts, the cause remains unclear, so we have decided
to move forward with these binaries to unblock further bootstrapping work.
For details, see <https://bugs.gnu.org/41669>.

* gnu/packages/bootstrap.scm (%bootstrap-executables)
(bootstrap-executable-file-name, bootstrap-guile-url-path)
(bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils)
(%bootstrap-glibc, %bootstrap-gcc): Add entries for powerpc64le-linux.
(%bootstrap-executable-base-urls): Add an entry for alpha.gnu.org.
2021-03-10 23:01:58 -08:00
Chris Marusich
001fc29b43
gnu: rust: Make it "supported" on all systems but i686-linux.
* gnu/packages/rust.scm (rust-1.30)[supported-systems]: Instead of hard-coding
this to just "x86_64-linux", calculate the supported systems by deleting
"i686-linux" from %supported-systems.
2021-03-10 22:59:26 -08:00
Chris Marusich
5d2863dfe4
gnu: Restore emacs' supported systems.
Recently, librsvg was updated to depend upon rust.  That change inadvertently
restricted the "supported" systems of emacs (among other packages) to
x86_64-linux only, since that is the only system declared in the rust
package's list of supported systems.  This unintentionally made emacs
unavailable on all other systems.

This change fixes that by removing the rust dependency from some packages.
The packages remain unchanged from the perspective of an x86_64-linux system,
but from the perspective of other systems, the packages are now supported
again (albeit without certain optional SVG features).

* gnu/packages/gtk.scm (gtk+, gtk+-2)[propagated-inputs]: If compiling for
x86_64, use gdk-pixbuf+svg as the "gdk-pixbuf" input, as usual.  Otherwise,
use gdk-pixbuf, which avoids adding librsvg (thus rust) to the closure of
inputs.  Note that both gtk+ and gtk+-2 are in the transitive closure of
inputs of emacs, so these two changes are necessary.
* gnu/packages/emacs (emacs)[inputs]: If compiling for x86_64, add librsvg to
the inputs, as usual.  Otherwise, do not add it, which avoids adding rust to
the closure of inputs.
2021-03-10 22:59:13 -08:00
Efraim Flashner
d4d132bc84
gnu: glibc-final-with-bootstrap-bash-boot0: Don't include debug output.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash-boot0)
[outputs]: Remove debug from inherited outputs.
2021-03-10 21:51:39 +02:00
Efraim Flashner
282a159a4b
gnu: gcc-boot0: Don't include debug output.
* gnu/packages/commencement.scm (gcc-boot0)[outputs]: Remove debug
from inherited outputs.
2021-03-10 21:51:39 +02:00
Efraim Flashner
870cca7260
gnu: coreutils-boot0: Don't include debug output.
* gnu/packages/commencement.scm (coreutils-boot0)[outputs]: Remove debug
from inherited outputs.
2021-03-10 21:51:36 +02:00
Efraim Flashner
21ec74fc14
gnu: gnu-make-boot0: Don't include debug output.
* gnu/packages/commencement.scm (gnu-make-boot0)[outputs]: Remove debug
from inherited outputs.
2021-03-10 21:43:25 +02:00
Mathieu Othacehe
33bb89c939
ci: Remove hydra support.
This removes hydra support to use Cuirass as the only continuous integration
system.

* build-aux/hydra/gnu-system.scm: Remove it.
* build-aux/hydra/guix-modular.scm: Ditto.
* build-aux/hydra/guix.scm: Ditto.
* build-aux/cuirass/hydra-to-cuirass.scm: Ditto.
* Makefile.am (EXTRA_DIST): Update it.
(hydra-jobs.scm): Remove it.
(cuirass-jobs.scm): Update it.
* build-aux/hydra/evaluate.scm: Move it to ...
* build-aux/cuirass/evaluate.scm: ... here.
* build-aux/cuirass/guix-modular.scm: Remove it.
* build-aux/cuirass/gnu-system.scm: Ditto.
* guix/packages.scm (%hydra-supported-systems): Rename it to ...
(%cuirass-supported-systems): ... this variable.
* build-aux/check-final-inputs-self-contained: Adapt it.
* etc/release-manifest.scm: Ditto.
* gnu/ci.scm (package->alist): Remove it.
(derivation->job): New procedure.
(package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs,
tarball-jobs): Use it.
(guix-jobs): New procedure.
(hydra-jobs): Rename it to ...
(cuirass-jobs): ... this procedure.
2021-03-10 19:41:15 +01:00
Léo Le Bouter
cab3b57543
gnu: zstd: Update to 1.4.9.
* gnu/packages/compression.scm (zstd): Update to 1.4.9.
2021-03-06 02:30:40 +01:00
Christopher Baines
a8448da0f4
Merge branch 'master' into core-updates 2021-03-06 00:18:30 +00:00
Christopher Baines
a714af38d5
gnu: guix: Update to 112692c.
* gnu/packages/package-management.scm (guix): Update to 112692c.
2021-03-05 21:55:47 +00:00
Julien Lepiller
c6ada4914d
gnu: camlboot: Fix typo in properties.
* gnu/packages/ocaml.scm (camlboot)[properties]: Add missing pair of
parenthesis.
2021-03-05 22:38:19 +01:00
Christopher Baines
112692c0d5
guix: Split (guix substitutes) from (guix scripts substitute).
This means there's a module for working with substitutes, rather than all the
code sitting in the script. The need for this can be seen with the weather and
challenge scripts, that now don't have to use code from the substitute script,
but can instead use the substitute module.

The separation here between the actual functionality of the substitute script
and the underlying functionality used both there and elsewhere should make
maintenance easier moving forward.

This commit just moves code, none of the code should have been changed
significantly.

* guix/scripts/substitute.scm (%narinfo-cache-directory, %narinfo-ttl,
%narinfo-negative-ttl, %narinfo-transient-error-ttl, %unreachable-hosts): Move
variables to guix/substitutes.scm.
(narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request,
read-to-eof, call-with-connection-error-handling, fetch-narinfos,
lookup-narinfos, lookup-narinfos/diverse): Move procedures to
guix/substitutes.scm.
* guix/substitutes.scm: New file.
* Makefile.am: Add it.
* guix/narinfo.scm: Remove redundant module.
* guix/scripts/challenge.scm: Change (guix scripts substitute) to (guix
substitutes).
* guix/scripts/weather.scm: Change (guix scripts substitute) to (guix
substitutes).
2021-03-05 21:06:03 +00:00
Brice Waegeneire
23c6be1d3d
gnu: network-manager-applet: Update to 1.20.0.
* gnu/packages/gnome.scm (network-manager-applet): Update to 1.20.0.
2021-03-05 21:44:51 +01:00
Sébastien Lerique
0055f6a8a3
gnu: network-manager-applet: Activate support for libappindicator.
* gnu/packages/gnome.scm (network-manager-applet): Activate support for
libappindicator.
[arguments]: Add #:configure-flags.
[inputs]: Add "libappindicator".

Signed-off-by: Brice Waegeneire <brice@waegenei.re>
2021-03-05 21:44:32 +01:00
Leo Famulari
fa7f4781ca
gnu: Audacity: Fix a crash on foreign distros.
Without the wrap phase, Audacity crashes like this when trying to use the "Open
file" dialog:

(audacity:28276): GLib-GIO-ERROR **: 14:14:55.211: Settings schema 'org.gtk.Settings.FileChooser' is not installed

* gnu/packages/audio.scm (audacity)[arguments]: Add (guix build
glib-or-gtk-build-system) to #:imported-modules. Adjust #:modules accordingly.
Add phases 'glib-or-gtk-wrap'.
2021-03-05 14:54:54 -05:00
Tobias Geerinckx-Rice
41b984ccfc
gnu: pencil2d: Update to 0.6.6.
* gnu/packages/animation.scm (pencil2d): Update to 0.6.6.
2021-03-05 19:07:31 +01:00
Tobias Geerinckx-Rice
b9610b2420
gnu: libburn: Update to 1.5.4.
* gnu/packages/cdrom.scm (libburn): Update to 1.5.4.
2021-03-05 19:07:31 +01:00
Tobias Geerinckx-Rice
d0f4283c44
pull: Expand help text for --{url,commit,branch}.
* guix/scripts/pull.scm (show-help): Document that ‘--url’, ‘--commit’,
and ‘--branch’ affect only the ‘guix’ channel (for now?).
2021-03-05 19:07:31 +01:00
Nicolas Goaziou
e539449397
gnu: denemo: Update to 2.5.0.
* gnu/packages/music.scm (denemo): Update to 2.5.0.
2021-03-05 17:44:07 +01:00
Daniel Brooks
3aa65ce266
gnu: youtube-dl: Update to 2021-03-03.
gnu/packages/video.scm (youtube-dl): Update to 2021-03-03.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:27:24 +01:00
Xinglu Chen
be2b2e884b
gnu: Add emacs-envrc.
* gnu/packages/emacs-xyz.scm (emacs-envrc): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:26:19 +01:00
Stefan Reichör
e693927a74
gnu: Add lr.
* gnu/packages/admin.scm (lr): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:23:18 +01:00
Stefan Reichör
697a4c464d
gnu: Add emacs-springboard.
* gnu/packages/emacs-xyz.scm (emacs-springboard): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:20:01 +01:00
Stefan Reichör
1fe75f8397
gnu: Add emacs-multifiles.
* gnu/packages/emacs-xyz.scm (emacs-multifiles): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:15:39 +01:00
John Soo
92894e64a0
gnu: emacs-eglot: Add missing dependency.
* gnu/packages/emacs-xyz.scm (emacs-eglot):[arguments] Add dependency.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:03:10 +01:00
John Soo
ad0c8f7eaa
gnu: Add emacs-eldoc.
* gnu/packages/emacs-xyz.scm (emacs-eldoc): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-03-05 17:02:47 +01:00
Tobias Geerinckx-Rice
81aa2fa4ae
gnu: php: Update to 7.4.16 [security fixes].
* gnu/packages/php.scm (php): Update to 7.4.16.
[arguments]: Patch failing new test.
2021-03-05 16:12:31 +01:00