Bug#1094710: stella FTCBFS: uses the build architecture pkg-config

Helmut Grohne helmut at subdivi.de
Thu Jan 30 11:04:40 GMT 2025


Source: stella
Version: 7.0+dfsg-1
Tags: patch upstream
User: debian-cross at lists.debian.org
Usertags: ftcbfs

stella fails to cross build from source, because ./configure hard codes
the build architecture pkg-config and thus fails finding libraries. It
already has a bit of knowledge about cross compilation and actually
considers a _host_prefix for some tools. Unfortunately, _host_prefix is
not yet generally initialized (and we earlier worked around that by
export CXX) and it also does not prepend _host_prefix to pkg-config. I'm
attaching a patch that fixes these. As a result, we no longer need to
include dpkg's buildtools.mk as configure now correctly determines CXX
by itself. Consider applying and forwarding the attached patch.

Helmut
-------------- next part --------------
diff --minimal -Nru stella-7.0+dfsg/debian/changelog stella-7.0+dfsg/debian/changelog
--- stella-7.0+dfsg/debian/changelog	2024-10-06 15:48:32.000000000 +0200
+++ stella-7.0+dfsg/debian/changelog	2025-01-30 09:37:16.000000000 +0100
@@ -1,3 +1,11 @@
+stella (7.0+dfsg-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: Add cross.patch prepending _host_prefix to pkg-config.
+    (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de>  Thu, 30 Jan 2025 09:37:16 +0100
+
 stella (7.0+dfsg-1) unstable; urgency=medium
 
   * New upstream release.
diff --minimal -Nru stella-7.0+dfsg/debian/patches/cross.patch stella-7.0+dfsg/debian/patches/cross.patch
--- stella-7.0+dfsg/debian/patches/cross.patch	1970-01-01 01:00:00.000000000 +0100
+++ stella-7.0+dfsg/debian/patches/cross.patch	2025-01-30 09:37:16.000000000 +0100
@@ -0,0 +1,93 @@
+--- stella-7.0+dfsg.orig/configure
++++ stella-7.0+dfsg/configure
+@@ -45,6 +45,7 @@
+ _install=install
+ _ar="ar cru"
+ _strip=strip
++_pkg_config=pkg-config
+ _mkdir="mkdir -p"
+ _echo=printf
+ _cat=cat
+@@ -343,12 +344,17 @@
+ 	_host_cpu=i386
+ 	_host_prefix=i386-mingw32msvc
+ 	;;
+-*)
++"")
+ 	guessed_host=`$_srcdir/config.guess`
+ 	_host_cpu=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ 	_host_os=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ 	_host_vendor=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ 	;;
++*)
++	_host_cpu=`echo "$_host" | sed 's/^\([^-]*\)-.*/\1/'`
++	_host_os=`echo "$_host" | sed 's/-\([^-]*\)-[^-]*$/\1/'`
++	_host_prefix="$_host"
++	;;
+ esac
+ 
+ #
+@@ -626,6 +632,9 @@
+ # Cross-compilers use their own commands for the following functions
+ if test -n "$_host_prefix"; then
+ 	_strip="$_host_prefix-$_strip"
++	if command -v "$_host_prefix-$_pkg_config" >/dev/null 2>&1; then
++		_pkg_config="$_host_prefix-$_pkg_config"
++	fi
+ fi
+ 
+ #
+@@ -639,7 +648,7 @@
+ #include <zlib.h>
+ int main(void) { return strcmp(ZLIB_VERSION, zlibVersion()); }
+ EOF
+-	cc_check $LDFLAGS $CXXFLAGS $ZLIB_CFLAGS $ZLIB_LIBS `pkg-config --libs zlib` && _zlib=yes
++	cc_check $LDFLAGS $CXXFLAGS $ZLIB_CFLAGS $ZLIB_LIBS `$_pkg_config --libs zlib` && _zlib=yes
+ 
+   if test "$_zlib" = yes ; then
+     echo "$_zlib"
+@@ -665,7 +674,7 @@
+ #include <png.h>
+ int main(void) { return printf("%s\n", PNG_HEADER_VERSION_STRING); }
+ EOF
+-  cc_check $LDFLAGS $CXXFLAGS $LIBPNG_CFLAGS $LIBPNG_LIBS `pkg-config --libs libpng` && _libpng=yes
++  cc_check $LDFLAGS $CXXFLAGS $LIBPNG_CFLAGS $LIBPNG_LIBS `$_pkg_config --libs libpng` && _libpng=yes
+ 
+   if test "$_libpng" = yes ; then
+     echo "$_libpng"
+@@ -689,7 +698,7 @@
+ #include <sqlite3.h>
+ int main(void) { return printf("%s\n", SQLITE_VERSION); }
+ EOF
+-  cc_check $LDFLAGS $CXXFLAGS `pkg-config --libs sqlite3` && _libsqlite3=yes
++  cc_check $LDFLAGS $CXXFLAGS `$_pkg_config --libs sqlite3` && _libsqlite3=yes
+ 
+   if test "$_libsqlite3" = yes ; then
+     echo "$_libsqlite3"
+@@ -922,7 +931,7 @@
+ 	INCLUDES="$INCLUDES -I$LIBJPG -I$LIBJPGEXIF"
+ 	MODULES="$MODULES $LIBJPGEXIF"
+   if test "$_libpng" = yes ; then
+-    LIBS="$LIBS `pkg-config --libs libpng`"
++    LIBS="$LIBS `$_pkg_config --libs libpng`"
+   else
+     MODULES="$MODULES $LIBPNG"
+     INCLUDES="$INCLUDES -I$LIBPNG"
+@@ -930,7 +939,7 @@
+ fi
+ 
+ if test "$_libsqlite3" = yes ; then
+-  LIBS="$LIBS `pkg-config --libs sqlite3`"
++  LIBS="$LIBS `$_pkg_config --libs sqlite3`"
+ else
+   MODULES="$MODULES $SQLITE_LIB"
+   INCLUDES="$INCLUDES -I$SQLITE_LIB"
+@@ -939,7 +948,7 @@
+ if test "$_build_zip" = yes ; then
+ 	DEFINES="$DEFINES -DZIP_SUPPORT"
+   if test "$_zlib" = yes ; then
+-    LIBS="$LIBS `pkg-config --libs zlib`"
++    LIBS="$LIBS `$_pkg_config --libs zlib`"
+   else
+     MODULES="$MODULES $ZLIB"
+     INCLUDES="$INCLUDES -I$ZLIB"
diff --minimal -Nru stella-7.0+dfsg/debian/patches/series stella-7.0+dfsg/debian/patches/series
--- stella-7.0+dfsg/debian/patches/series	2024-10-06 15:45:52.000000000 +0200
+++ stella-7.0+dfsg/debian/patches/series	2025-01-30 09:33:20.000000000 +0100
@@ -1 +1,2 @@
 remove-update-check.patch
+cross.patch
diff --minimal -Nru stella-7.0+dfsg/debian/rules stella-7.0+dfsg/debian/rules
--- stella-7.0+dfsg/debian/rules	2024-10-06 15:04:51.000000000 +0200
+++ stella-7.0+dfsg/debian/rules	2025-01-30 09:37:16.000000000 +0100
@@ -12,8 +12,6 @@
 export DEB_LDFLAGS_MAINT_APPEND = -flto=$(CPUS)
 
 include /usr/share/dpkg/architecture.mk
-DPKG_EXPORT_BUILDTOOLS=1
--include /usr/share/dpkg/buildtools.mk
 
 %:
 	dh $@


More information about the Pkg-games-devel mailing list