* gnu/packages/gtk.scm (gtk): New variable.
* gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/vulkan.scm (vulkan-loader)[arguments]<#:configure-flags>: Point
to the vulkan-headers package that contains the include files.
[native-inputs]: Move vulkan-headers from here ...
[inputs]: ... to here.
* gnu/packages/patches/gdb-9.2-sim-ppc-fno-common.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gdb.scm (gdb-9.2)[source]: Use it.
* gnu/packages/openldap.scm (389-ds-base)[arguments]: Import python-version
from (guix build python-build-system); define pythondir before using it in
fix-install-location-of-python-tools.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped)[inputs]:
Remove.
[arguments]: Turn #:builder into a gexp.
(%mes-minimal-stripped)[inputs]: Remove.
[arguments]: Turn #:builder into a gexp.
(make-guile-static-stripped): Likewise.
* gnu/packages/patches/guile-email-fix-tests.patch: New file.
* gnu/local.mk (DIST_PATCH_DATA): Add it.
* gnu/packages/guile-xyz.scm (guile-email): Use it.
The tests were disabled because gawk’s extension mechanism doesn’t work
when it’s built statically, and some tests fail because of that.
Another alternative is to disable the extension mechanism during
configuration time, which causes the testsuite to pass again.
* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]<#:tests?>: Remove.
<#:configure-flags>: Add.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Previously, linking would fail due to the '-fno-common' default in GCC 10:
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal_r':
(.text+0x6e0): multiple definition of `_getopt_internal_r'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:404: first defined here
ld: /gnu/store/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal':
Reported by Thiago Jung Bauermann <bauermann@kolabnow.com>.
* gnu/packages/make-bootstrap.scm (%static-inputs) <gawk>: Remove
getopt.o from libsupport.a.
Adapt to the postgresql default socket directory set to /var/run/postgresql.
* gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]: Set
to /var/run/postgresql.
(<postgresql-role-configuration>): Ditto.
* gnu/tests/databases.scm (run-postgresql-test): Adapt it.
This fixes a configure error when cross-compiling and doesn't
cause any rebuilds.
* gnu/packages/gnome.scm (gusb)[arguments]<#:configure-flags>:
Set 'introspection' and 'vapi' to false.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This fixes a configure error when cross-compiling and doesn't
cause any rebuilds.
* gnu/packages/xorg.scm (libxvmc)[arguments]<#:configure-flags>:
Add malloc0flags.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This fixes a configure error when cross-compiling and doesn't
cause any rebuilds.
* gnu/packages/xorg.scm (libxv)[arguments]<#:configure-flags>:
Add malloc0flags.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This fixes a configure error when cross-compiling and doesn't
cause any rebuilds.
* gnu/packages/xorg.scm (xev)[arguments]<#:configure-flags>:
Add malloc0flags.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
The derivation when compiling natively remains the same,
so this doesn't cause any rebuilds.
* gnu/packages/llvm.scm (llvm-12)[arguments]<#:configure-flags>: Set
LLVM_TABLEGEN, LLVM_DEFAULT_TARGET_TRIPLE, LLVM_TARGET_ARCH and
LLVM_TARGETS_TO_BUILD when cross-compiling.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
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.
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.
* 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>
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'.
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.
* 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.
* 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.
* gnu/packages/avahi.scm (avahi)[arguments]<#:phases>{patch-more-shebangs}:
Replace the bash in the shebangs in "/etc/avahi" with a cross-compiled bash.
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.
* 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.
* 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.
* gnu/packages/gnome.scm (json-glib)[arguments]<#:phases>{patch-docbook}:
Look up "docbook-xml" in 'native-inputs', not 'inputs', when
cross-compiling.
* 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.
* gnu/packages/iso-codes.scm
(iso-codes)[inputs]: Move "gettext", "perl" and "python" to ...
(iso-codes)[native-inputs]: ... here when cross-compiling.
* gnu/packages/glib.scm
(python-extension-suffix, correct-library-name-phase): New procedures.
(gobject-introspection)[arguments]<#:phases>{rename-library}:
New phase, correct the name of the python extension when cross-compiling.
* gnu/packages/glib.scm
(gobject-introspection)[native-inputs]: Add 'bison' and 'flex'
when cross-compiling.
(gobject-introspection)[inputs]: Use 'python' instead of 'python-wrapper'
when cross-compiling. Remove 'bison', 'flex' when cross-compiling.
* gnu/packages/glib.scm
(gobject-introspection)[arguments]<#:configure-flags>: Set
gi_cross_use_prebuilt_gi to 'true'.
(gobject-introspection)[arguments]<#:phases>{set-typelibs}: New phase,
avoid undefined variable in "meson.build".
Alternative ‘os types’ include RedHat and Gentoo, which
don't seem applicable.
* gnu/packages/polkit.scm (polkit)[arguments]<#:configure-flags>:
Set "--with-os-type" to "unknown".
If absent, this causes the 'glib-or-gtk-wrap' phase to fail.
* gnu/packages/glib.scm
(cairo)[inputs]: Add "bash-minimal", but only when cross-compiling
to avoid a world-rebuild.
Presumably the other versions of mozjs need some changes
as well, but for now only fix mozjs@60, which is a dependency
of polkit.
* gnu/packages/gnuzilla.scm
(mozjs-60)[arguments]<#:configure-flags>: Set --with-nspr-prefix
and set --host and --target inappropriately when cross-compiling.
(mozjs-60)[arguments]<#:phases>{set-PKG_CONFIG}: New phase
when cross-compiling.
* gnu/packages/nss.scm
(nspr)[inputs]: Add 'perl' and 'bash-minimal' when cross-compiling.
(nspr)[arguments]{#:disallowed-references}: Add native 'perl' when
cross-compiling.
* gnu/packages/perl.scm
(perl)[arguments]<#:phases>{unpack-cross}: Search for "bash" with
'search-input-file' instead of 'assoc-ref'.
(perl)[arguments]<#:phases>{configure}: Search for "bash-minimal"
instead of "bash".
* gnu/packages/linux.scm
(libcap)[arguments]<#:phases>{configure}: Don't use non-existent
'%output' when cross-compiling.
(libcap)[arguments]<#:make-flags>: Set "CROSS_COMPILE" and "BUILD_CC"
when cross-compiling.
%build-inputs and friends don't exist when cross-compiling,
so use some G-expology instead.
* gnu/packages/freedesktop.scm (elogind)[arguments]<#:configure-flags>:
Don't use '%outputs' or '%build-inputs' when cross-compiling.
This allows cross-compilation to succeed when not using
QEMU's transparent emulation, and the cross-compilation
is not a pointless cross-compilation like x86_64 -> i686.
* gnu/packages/glib.scm (dbus-glib)[arguments]: Set --with-dbus-binding-tool
to a native version of "dbus-binding-tool" when cross-compiling.
This is a follow-up of 71aa29911c. Grub does not
support modules stripped with --strip-unneeded but supports the --strip-debug
option.
* gnu/packages/bootloaders.scm (grub)[arguments]<#:strip-binaries>: Set to
true and use ...
<#:strip-flags>: ... to pass --strip-debug instead of --strip-unneeded.
On non-x86_64 platforms, gtk+ is linked with a gdk-pixbuf version that
doesn’t support SVG. This causes the ‘icontheme’ test to fail because it
tries to fetch SVG icons in some of the tests.
Therefore, we need to disable the test when SVG support isn’t available.
* gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Use the ‘target-x86-64?’
convenience function.
[arguments]<#:phases>{disable-failing-tests}: Disable ‘icontheme’ test on
non-x86_64 platforms.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>