Source: libical3 Version: 3.0.20-1 Tags: patch User: [email protected] Usertags: ftcbfs
libical3 fails to cross build from source. Quite recently, vapigen was updated (#1061107) to better support cross compilation by adding a triplet-prefixed wrapper. Using this wrapper (and the valac wrapper) is a key ingredient to making libical3 cross buildable. As the upstream CMakeLists.txt uses find_program directly, I propose supplying those wrappers explicitly. In a more distant future as the wrappers become more widely accepted, we might update the upstream build system to prefer them over bare tools. The other aspect is running gtk-doc, which is something that never works in cross builds. Fortunately, we can just disable it in arch-only builds as the documentation is cleanly separated. I verified that turning off gtk-doc does not change binary artifacts by comparing builds for reproducibility. I'm attaching a combined patch for your convenience. Helmut
diff -Nru libical3-3.0.20/debian/changelog libical3-3.0.20/debian/changelog --- libical3-3.0.20/debian/changelog 2025-03-11 01:54:05.000000000 +0100 +++ libical3-3.0.20/debian/changelog 2025-10-07 21:37:25.000000000 +0200 @@ -1,3 +1,12 @@ +libical3 (3.0.20-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Explicitly supply triplet-prefixed vapigen and valac. + + Skip gtk-doc in arch-only build. + + -- Helmut Grohne <[email protected]> Tue, 07 Oct 2025 21:37:25 +0200 + libical3 (3.0.20-1) unstable; urgency=medium * New upstream release diff -Nru libical3-3.0.20/debian/rules libical3-3.0.20/debian/rules --- libical3-3.0.20/debian/rules 2024-04-25 16:04:06.000000000 +0200 +++ libical3-3.0.20/debian/rules 2025-10-07 21:37:25.000000000 +0200 @@ -7,16 +7,26 @@ %: dh $@ --with gir --buildsystem=cmake --no-parallel -CONFIGURE_FLAGS = -DGOBJECT_INTROSPECTION=true -DICAL_GLIB_VAPI=true +CONFIGURE_FLAGS = \ + -DGOBJECT_INTROSPECTION=true \ + -DICAL_GLIB_VAPI=true \ + -DICAL_BUILD_DOCS=$(if $(filter libical-doc,$(shell dh_listpackages)),ON,OFF) override_dh_auto_configure: ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) dh_auto_configure -- $(CONFIGURE_FLAGS) else - dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_configure --reload-all-buildenv-variables - dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_build --reload-all-buildenv-variables - dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_install --reload-all-buildenv-variables --destdir=debian/nativetmp - dh_auto_configure -- $(CONFIGURE_FLAGS) -DIMPORT_ICAL_GLIB_SRC_GENERATOR=$(CURDIR)/debian/nativetmp/usr/lib/$(DEB_BUILD_MULTIARCH)/cmake/LibIcal/IcalGlibSrcGenerator.cmake + dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c \ + dh_auto_configure --reload-all-buildenv-variables -- -DICAL_BUILD_DOCS=OFF + dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c \ + dh_auto_build --reload-all-buildenv-variables + dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c \ + dh_auto_install --reload-all-buildenv-variables --destdir=debian/nativetmp + dh_auto_configure -- \ + $(CONFIGURE_FLAGS) \ + -DIMPORT_ICAL_GLIB_SRC_GENERATOR=$(CURDIR)/debian/nativetmp/usr/lib/$(DEB_BUILD_MULTIARCH)/cmake/LibIcal/IcalGlibSrcGenerator.cmake \ + -DVAPIGEN=/usr/bin/$(DEB_HOST_GNU_TYPE)-vapigen \ + -DVALAC=/usr/bin/$(DEB_HOST_GNU_TYPE)-valac endif override_dh_missing:

