[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: