Bug#1116553: valac: not Multi-Arch co-installable due to inclusion of unprefixed vala-gen-introspect
Package: valac
Version: 0.56.18-2
Severity: wishlist
X-Debbugs-Cc: debian-cross@lists.debian.org
It is not possible to install (for example) valac:amd64 and valac:i386
at the same time, because both packages contain the vala-gen-introspect
script, with different contents. This is undesirable when trying to make
cross-compiling work, because it means all experiments have to be done
in a chroot/container that has valac:${host} but not valac:${build}.
Specifically, amd64 vala-gen-introspect contains the path
libdir=${prefix}/lib/x86_64-linux-gnu, while other architectures'
vala-gen-introspect scripts will have the equivalent for their
architecture.
vala-gen-introspect also hard-codes the unprefixed pkg-config, rather
than using the appropriate ${DEB_HOST_GNU_TYPE}-pkg-config for the
architecture.
As documented in https://wiki.gnome.org/Projects/Vala/Bindings,
vala-gen-introspect is deprecated: it generates a Vala-specific file
format which has been superseded by the non-Vala-specific
GObject-Introspection.
https://codesearch.debian.net/search?q=gen-introspect&literal=1 suggests
that no Debian packages actually use it any more (libdmapsharing only
mentions it in the changelog, and does not run it).
Perhaps we could have a Debian-specific patch to make
vala-gen-introspect Multi-Arch co-installable, by teaching it to run
${PKG_CONFIG-pkg-config} instead of pkg-config, and setting:
libdir=$(${PKG_CONFIG-pkg-config} --variable=libdir glib-2.0)
since valac already Depends on libglib2.0-dev?
This is not perfect, since it assumes that $PKG_CONFIG is set whenever
cross-compiling, but that seems adequate for a component that is already
deprecated.
smcv
Reply to: