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.
* guix/build-system/glib-or-gtk.scm
(lower): Add 'implicit-cross-inputs?' argument. Generate a bag
when cross-compiling.
(glib-or-gtk-cross-build): New procedure.
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>
* gnu/packages/syndication.scm (newsboat)[arguments]: Move the prefix
declaration to the 'patch-source phase. Adjust other phases so they
actually build.