Commit graph

84343 commits

Author SHA1 Message Date
Ludovic Courtès
89b0544293
tests: Reduce boilerplate for users of 'system-test-runner'.
* gnu/tests/audio.scm, gnu/tests/base.scm, gnu/tests/ci.scm,
gnu/tests/cups.scm, gnu/tests/databases.scm, gnu/tests/desktop.scm,
gnu/tests/dict.scm, gnu/tests/docker.scm, gnu/tests/file-sharing.scm,
gnu/tests/ganeti.scm, gnu/tests/guix.scm, gnu/tests/ldap.scm,
gnu/tests/linux-modules.scm,
gnu/tests/mail.scm, gnu/tests/messaging.scm, gnu/tests/monitoring.scm,
gnu/tests/networking.scm, gnu/tests/nfs.scm,
gnu/tests/package-management.scm, gnu/tests/reconfigure.scm,
gnu/tests/rsync.scm, gnu/tests/security-token.scm,
gnu/tests/singularity.scm, gnu/tests/ssh.scm, gnu/tests/telephony.scm,
gnu/tests/version-control.scm, gnu/tests/virtualization.scm,
gnu/tests/web.scm: Remove (mkdir #$output) (chdir #$output) and
pass #$output as argument to 'system-test-runner'.
2021-09-26 23:20:56 +02:00
Ludovic Courtès
7d72829448
marionette: 'system-test-runner' can create output directory.
* gnu/build/marionette.scm (system-test-runner): Take optional
'log-directory' parameter.  Add 'test-begin' handler and honor
LOG-DIRECTORY.
2021-09-26 23:10:29 +02:00
Ludovic Courtès
9b9bfc7ac2
marionette: 'system-test-runner' dumps test log upon failure.
* gnu/build/marionette.scm (system-test-runner): In 'test-end' handler,
when SUCCESS? is false, dump log content to the current error port.
2021-09-26 23:09:23 +02:00
Ludovic Courtès
c6a8d6db77
gnu: texlive: Remove remaining uses of deprecated packages.
This is a followup to b949f34f31 and
7269f0c1b2.

* gnu/packages/tex.scm (texlive-hyperref)[propagated-inputs]: Use
TEXLIVE-URL instead of TEXLIVE-LATEX-URL.
(texlive-pdftex)[propagated-inputs]: Use TEXLIVE-KNUTH-LIB instead of
TEXLIVE-FONTS-KNUTH-LIB.
(texlive-context)[propagated-inputs]: Use TEXLIVE-STMARYRD instead of
TEXLIVE-FONTS-STMARYRD.
2021-09-25 18:52:05 +02:00
Ludovic Courtès
afe8c67ac1
union: Do not warn about "ld.so.cache" collisions.
This is a followup to f85efa86e7.

* guix/build/union.scm (%harmless-collisions): Add "ld.so.cache".
2021-09-25 18:52:05 +02:00
Ludovic Courtès
1fb75128a5
tests: Adjust to SRFI-64 as found in Guile 3.0.7.
In Guile 3.0.7, 'test-runner-current' is set to #f upon 'test-end'.
Consequently, the previous strategy, where we'd call
'test-runner-current' after 'test-end', no longer works.  Instead, set
the test runner in each test right before 'test-begin'.

* gnu/build/marionette.scm (system-test-runner): New procedure.
* gnu/tests/audio.scm (run-mpd-test): Replace (exit (= ...)) idiom
by (test-runner-current (system-test-runner)).
* gnu/tests/base.scm (run-basic-test)
(run-cleanup-test, run-mcron-test, run-nss-mdns-test): Likewise.
* gnu/tests/ci.scm (run-laminar-test): Likewise.
* gnu/tests/cups.scm (run-cups-test): Likewise.
* gnu/tests/databases.scm (run-memcached-test)
(run-postgresql-test, run-mysql-test): Likewise.
* gnu/tests/desktop.scm (run-elogind-test): Likewise.
* gnu/tests/dict.scm (run-dicod-test): Likewise.
* gnu/tests/docker.scm (run-docker-test): Likewise.
(run-docker-system-test): Likewise.
* gnu/tests/file-sharing.scm (run-transmission-daemon-test): Likewise.
* gnu/tests/ganeti.scm (run-ganeti-test): Likewise.
* gnu/tests/guix.scm (run-guix-build-coordinator-test): Likewise.
(run-guix-data-service-test): Likewise.
* gnu/tests/ldap.scm (run-ldap-test): Likewise.
* gnu/tests/linux-modules.scm (run-loadable-kernel-modules-test-base): Likewise.
* gnu/tests/mail.scm (run-opensmtpd-test)
(run-exim-test, run-dovecot-test, run-getmail-test): Likewise.
* gnu/tests/messaging.scm (run-xmpp-test)
(run-bitlbee-test, run-quassel-test): Likewise.
* gnu/tests/monitoring.scm (run-prometheus-node-exporter-server-test)
(run-zabbix-server-test): Likewise.
* gnu/tests/networking.scm (run-inetd-test, run-openvswitch-test)
(run-dhcpd-test, run-tor-test, run-iptables-test, run-ipfs-test): Likewise.
* gnu/tests/nfs.scm (run-nfs-test)
(run-nfs-server-test, run-nfs-root-fs-test): Likewise.
* gnu/tests/package-management.scm (run-nix-test): Likewise.
* gnu/tests/reconfigure.scm (run-switch-to-system-test)
(run-upgrade-services-test, run-install-bootloader-test): Likewise.
* gnu/tests/rsync.scm (run-rsync-test): Likewise.
* gnu/tests/security-token.scm (run-pcscd-test): Likewise.
* gnu/tests/singularity.scm (run-singularity-test): Likewise.
* gnu/tests/ssh.scm (run-ssh-test): Likewise.
* gnu/tests/telephony.scm (run-jami-test): Likewise.
* gnu/tests/version-control.scm (run-cgit-test): Likewise.
(run-git-http-test, run-gitolite-test, run-gitile-test): Likewise.
* gnu/tests/virtualization.scm (run-libvirt-test, run-childhurd-test): Likewise.
* gnu/tests/web.scm (run-webserver-test, run-php-fpm-test)
(run-hpcguix-web-server-test, run-tailon-test, run-patchwork-test): Likewise.
2021-09-25 18:52:05 +02:00
Ludovic Courtès
df46bef48e
gexp: Leave grafting as is when lowering allowed/disallowed references.
Fixes <https://issues.guix.gnu.org/50676>.
Reported by Mathieu Othacehe <othacehe@gnu.org>.

Commit a779363b6a was partially incorrect:
references passed to #:allowed-references or #:references-graphs *can*
be lowered as references to grafted elements.  This is for example the
case when doing:

  (computed-file "partition.img" exp
                  #:options `(#:references-graphs ,inputs))

Here INPUTS must be lowered as a reference to suitably grafted elements.
Failing to do that, the reference graph will not match the actual
INPUTS.

However, when building a package, those references must indeed refer
only to ungrafted packages.  This commit preserves that by having build
systems pass #:graft? #f.

* guix/gexp.scm (lower-reference-graphs, lower-references): Remove uses
of 'without-grafting'.  This reverts
a779363b6a.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build):
Pass #:graft? #f.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build)
(glib-or-gtk-cross-build): Likewise.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise.
* guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise.
* guix/build-system/trivial.scm (trivial-build, trivial-cross-build):
Likewise.
* tests/gexp.scm ("lower-object, computed-file + grafts"): New test.
* tests/packages.scm ("trivial with #:allowed-references + grafts"): New
test.
2021-09-25 00:41:32 +02:00
Ludovic Courtès
9fbe4b88c2
gnu: emacs-geiser-guile: Depend on Guile 3.0.
* gnu/packages/emacs-xyz.scm (emacs-geiser-guile)[inputs]: Depend on GUILE-3.0.
2021-09-24 16:59:00 +02:00
Ludovic Courtès
9b09a753a9
gnu: guile@2.2: Build with '-fexcess-precision=standard' on i686.
* gnu/packages/guile.scm (guile-2.2)[arguments]: New field.
(guile-3.0)[arguments]: Inherit arguments from GUILE-2.0 instead of GUILE-2.2
2021-09-24 16:57:31 +02:00
Ludovic Courtès
5b674fe5c3
gnu: glib: Actually skip tests that fail on i686.
* gnu/packages/glib.scm (glib)[arguments]: In 'disable-failing-tests'
phase, when 'target-x86-32?' returns true, skip several tests in
timer.c.
2021-09-22 16:37:04 +02:00
Mathieu Othacehe
d58e52b071
installer: keymap: Fix optional fields handling.
Fixes: <https://issues.guix.gnu.org/50723>.

The keymap xml contains optional shortDescription and description fields. The
assoc-ref call on those fields can return false, handle it correctly.

* gnu/installer/keymap.scm (xkb-rules->models+layouts): Introduce a new
"maybe-empty" helper to deal with optional fields. Use it for shortDescription
and description fields.
2021-09-21 20:35:49 +00:00
Felix Gruber
a3324e5753
gnu: 4dtris: Fix build.
* gnu/packages/games.scm (4dtris)[attributes]: Add -fcommon to CFLAGS
  and use search-input-directory to find SDL include path.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-09-21 13:50:53 +00:00
Ludovic Courtès
f762d63ec0
gnu: cmake: Skip CPack TXZ test on i686.
Fixes <https://issues.guix.gnu.org/50617>.

* gnu/packages/cmake.scm (%common-build-phases): Turn into a procedure
and adjust users.  When 'target-x86-32?' returns true, add
'skip-cpack-txz-test'.
2021-09-21 10:08:35 +02:00
Ludovic Courtès
68933659cb
base32: Work around (ash x N) miscompilation at '-O1' and below.
Fixes <https://issues.guix.gnu.org/50696>.
Reported by Marius Bakke <marius@gnu.org>.

* guix/base32.scm (bit-field): Introduce 'minus-start' syntax and use it.
2021-09-21 09:45:21 +02:00
Mathieu Othacehe
baf8272d23
gnu: icedtea-7: Use pem certificates.
This is a follow-up of: 287a8c9048.

* gnu/packages/java.scm (icedtea-7)[arguments]{install-keystore}: Use pem
certificates.
2021-09-21 07:41:13 +00:00
Mathieu Othacehe
287a8c9048
gnu: nss-certs: Copy pem files.
* gnu/packages/certs.scm (nss-certs)[arguments]<#:phases>{install}: Copy pem
files instead of crt files.
2021-09-21 07:41:07 +00:00
Mathieu Othacehe
f87b987248
gnu: certdata2pem: Produce pem files.
Create files with pem extension instead of crt.

* gnu/packages/certs.scm (certdata2pem)[arguments]<#:phases>{fix-extension}:
New phase.
2021-09-21 07:41:07 +00:00
Maxime Devos
aacaa222d1
gnu: at-spi2-atk: Don't compile tests when cross-compiling.
* gnu/packages/gtk.scm
  (at-spi2-atk)[arguments]<#:configure-flags>: Set tests=false when
  cross-compiling.
2021-09-20 11:15:10 +00:00
Maxime Devos
d1737d44e6
gnu: pango: Add bash-minimal input when cross-compiling.
* gnu/packages/gtk.scm
  (pango)[inputs]: Add "bash-minimal" when cross-compiling.
2021-09-20 11:15:10 +00:00
Maxime Devos
99eff8138b
gnu: gdk-pixbuf: Add bash-minimal input when cross-compiling.
* gnu/packages/gtk.scm
  (gdk-pixbuf)[inputs]: Add "bash-minimal" when cross-compiling.
2021-09-20 11:15:09 +00:00
Maxime Devos
26a336c20b
gnu: gdk-pixbuf: Find docbook when cross-compiling.
* gnu/packages/gtk.scm
  (gdk-pixbuf)[arguments]<#:phases>{patch-docbook}: Look for docbook
  in 'native-inputs' instead of 'inputs' when cross-compiling.
2021-09-20 11:15:09 +00:00
Maxime Devos
bce0a7d3d8
gnu: libproxy: Don't run tests when cross-compiling.
* gnu/packages/networking.scm
  (libproxy)[arguments]]<#:phases>{check}: Respect #:tests? when
  cross-compiling.
2021-09-20 11:15:09 +00:00
Maxime Devos
be58507d5d
gnu: wayland: Find docbook-xml when cross-compiling.
* gnu/packages/freedesktop.scm
  (wayland)[arguments]<#:phases>{patchdocbook-xml}: Look in 'native-inputs'
  instead of 'inputs' when cross-compiling.
2021-09-20 11:15:09 +00:00
Maxime Devos
d979c916e8
gnu: wayland: Find wayland-scanner when cross-compiling.
* gnu/packages/freedesktop.scm (wayland)[native-inputs]: Add
  pkg-config-for-build and 'this-package' when cross-compiling.
2021-09-20 11:15:09 +00:00
Maxime Devos
d169b5a84d
gnu: Add pkg-config-for-build.
* gnu/packages/pkg-config.scm (pkg-config-for-build): New variable.
2021-09-20 11:15:09 +00:00
Maxime Devos
175705b971
gnu: libxxf85vm: Add --disable-malloc0-returnsnull when necessary.
* gnu/packages/xorg.scm
  (libxxf86vm)[arguments]<#:configure-flags>: Add malloc0-flags.
2021-09-20 11:15:09 +00:00
Maxime Devos
ddd4ceeeb3
gnu: libxrandr: Add --disable-malloc0-returnsnull when necessary.
* gnu/packages/xorg.scm
  (libxrandr)[arguments]<#:configure-flags>: Add malloc0-flags.
2021-09-20 11:15:09 +00:00
Maxime Devos
1485d531a7
gnu: libxi: Add --disable-malloc0-returnsnull when necessary.
* gnu/packages/xorg.scm
  (libxi)[arguments]<#:configure-flags>: Add malloc0-flags.
2021-09-20 11:15:09 +00:00
Maxime Devos
2505055c02
gnu: libxinerama: Add --disable-malloc0-returnsnull when necessary.
* gnu/packages/xorg.scm
  (libxinerama)[arguments]<#:configure-flags>: Add malloc0-flags.
2021-09-20 11:15:08 +00:00
Maxime Devos
76362337b9
gnu: xorg: Unify --disable-malloc0-returnsnull code.
The idea is to keep the comments in one place, instead of copying
them over and over.  It's also documented more now.

* gnu/packages/xorg.scm
  (malloc0-flags): New procedure.
  (libxext,libxrender,libx11,libxt): Use new procedures.
2021-09-20 11:15:08 +00:00
Maxime Devos
4823adb26b
gnu: at-spi2-core: Add missing "bash-minimal" input.
* gnu/packages/gtk.scm
  (at-spi2-core)[inputs]: Add "bash-minimal" when cross-compiling.
2021-09-20 11:15:08 +00:00
Maxime Devos
b9ae6181df
gnu: at-spi2-core: Find docbook when cross-compiling.
* gnu/packages/gtk.scm
  (at-spi2-core)[arguments]<#:phases>{patch-docbook-sgml}: Look up
  "docbook-sxml" in 'native-inputs' instead of 'inputs' when cross-compiling.
2021-09-20 11:15:08 +00:00
Maxime Devos
b79bf535e4
gnu: at-spi2-core: Don't cross-compile documentation.
* gnu/packages/gtk.scm
  (at-spi2-core)[arguments]<#:configure-flags>: Set docs=false when
  cross-compiling.
  (at-spi2-core)[arguments]<#:phases>{move-documentation}: Remove when
  cross-compiling.
2021-09-20 11:15:08 +00:00
Maxime Devos
0636f02b0e
gnu: avahi: Use the cross-compiled bash.
* gnu/packages/avahi.scm (avahi)[arguments]<#:phases>{patch-more-shebangs}:
  Replace the bash in the shebangs in "/etc/avahi" with a cross-compiled bash.
2021-09-20 11:15:08 +00:00
Maxime Devos
0515ebb0d1
gnu: avahi: Find 'TARGET-pkg-config' when cross-compiling.
The configure script first tests whether "pkg-config" is in PATH,
and then uses "TARGET-pkg-config".  Pretend "pkg-config" exists.

* gnu/packages/avahi.scm (avah)[arguments]<#:configure-flags>: Set
  ac_cv_prog_have_pkg_config=yes when cross-compiling.
2021-09-20 11:15:08 +00:00
Maxime Devos
35e1a572f6
gnu: libdaemon: Support cross-compilation to aarch64-linux-gnu.
* gnu/packages/libdaemon.scm
  (libdaemon)[native-inputs]: Add "config" when cross-compiling for
  aarch64.
  (libdaemon)[arguments]<#:phases>{update-config.sub}: When cross-compiling
  for aarch64, update the "config.sub" script.
2021-09-20 11:15:08 +00:00
Maxime Devos
2b16755f99
gnu: libthai: Add datrie as native-input when cross-compiling.
This allows the cross-build to succeed.

* gnu/packages/gnome.scm
  (libthai)[native-inputs]: Add "datrie" when cross-compiling.
2021-09-20 11:15:08 +00:00
Maxime Devos
1bd0dcf228
gnu: json-glib: Don't build introspection data when cross-compiling.
* gnu/packages/gnome.scm
  (json-glib)[arguments]<#:configure-flags>: Set introspection=false when
  cross-compiling.
2021-09-20 11:15:07 +00:00
Maxime Devos
b67ea49e2c
gnu: json-glib: Don't build gtk documentation when cross-compiling.
* gnu/packages/gnome.scm
  (json-glib)[arguments]<#:configue-flags>: Set gtk_doc=disables when
  cross-compiling.
  (json-glib)[arguments]<#:phases>{move-docs}: Don't run when cross-compiling
  ...
  (json-glib)[arguments]<#:phases>{stub-docs}: ... instead, create an empty
  directory where the documentation would be.
2021-09-20 11:15:07 +00:00
Maxime Devos
d0cf033661
gnu: json-glib: Find docbook inputs when cross-compiling.
* gnu/packages/gnome.scm (json-glib)[arguments]<#:phases>{patch-docbook}:
  Look up "docbook-xml" in 'native-inputs', not 'inputs', when
  cross-compiling.
2021-09-20 11:15:07 +00:00
Maxime Devos
bb4293469b
gnu: json-glib: Add missing 'bash-minimal' input.
* gnu/packages/gnome.scm (json-glib)[inputs]: Add "bash-minimal" when
  cross-compiling (for wrapper scripts).
2021-09-20 11:15:07 +00:00
Maxime Devos
8bf0c60086
gnu: heimdal: Use libcom_err from input when cross-compiling.
* gnu/packages/kerberos.scm
  (heimdal)[arguments]<#:phases>{pre-configure}: Consider ${krb_cv_com_err}
  to be 'yes' when cross-compiling.
2021-09-20 11:15:07 +00:00
Maxime Devos
784865adfe
gnu: heimdal: Find tools when cross-compiling.
* gnu/packages/kerberos.scm
  (heimdal)[arguments]<#:configure-flags>: Set --with-cross-tools.
  (heimdal)[arguments]<#:phases>{pre-configure}: Override
  ac_cv_PROG_COMPILE_ET.
2021-09-20 11:15:07 +00:00
Maxime Devos
0bff68e44d
gnu: heimdal: Use the cross-compiled bash in "su".
* gnu/packages/kerberos.scm
  (heimdal)[arguments]<#:phases>{pre-configure}: Replace _PATH_BSHELL
  with the cross-compiled bin/sh when cross-compiling.
2021-09-20 11:15:07 +00:00
Maxime Devos
527455be35
gnu: heimdal: Refer to cross-compiled bash.
* gnu/packages/kerberos.scm
  (heimdal)[arguments]<#:phases>{pre-configure}: Let "appl/afsutil/pagsh.c"
  refer to the cross-compiled bash instead of the native bash when
  cross-compiling.
2021-09-20 11:15:07 +00:00
Maxime Devos
f706689a8d
gnu: heimdal: Fix linking error when cross-compiling.
* gnu/packages/kerberos.scm (heimdal)[arguments]<#:configure-flags>:
  Set ac_cv_func_getpwnam_r_posix=yes when cross-compiling.
2021-09-20 11:15:06 +00:00
Maxime Devos
de8ea8e827
gnu: heimdal: Fix inputs when cross-compiling.
* gnu/packages/kerberos.scm
  (heimdal)[inputs]: Add "bash-minimal" when cross-compiling.
  (heimdal)[native-inputs]: Add 'perl' when cross-compiling.
2021-09-20 11:15:06 +00:00
Maxime Devos
c170e9b75f
gnu: iso-codes: Move inputs to native-inputs when cross-compiling.
* gnu/packages/iso-codes.scm
  (iso-codes)[inputs]: Move "gettext", "perl" and "python" to ...
  (iso-codes)[native-inputs]: ... here when cross-compiling.
2021-09-20 11:15:06 +00:00
Maxime Devos
3a8d342cdf
gnu: gamin: Fix 'configure' script when cross-compiling.
* gnu/packages/gnome.scm
  (gamin)[arguments]<#:phases>{set-have-abstract-sockets}: Override
  test for ‘abstract sockets’ when cross-compiling.
2021-09-20 11:15:06 +00:00
Maxime Devos
c3a3a4a761
gnu: gamin: Recognise aarch64 as architecture when cross-compiling.
* gnu/packages/gnome.scm
  (gamin)[arguments]<#:phases>{replace-config.sub}: Update 'config.sub'
  when cross-compiling.
  (gamin)[native-inputs]: Add "config" when cross-compiling.
2021-09-20 11:15:06 +00:00