Source: vdr-plugin-xineliboutput Version: 2.2.0+git20211212-2 Tags: patch User: [email protected] Usertags: ftcbfs
vdr-plugin-xineliboutput fails to cross build from source for a number of reasons. It has a hand-written configure script that doesn't accept the standard autotools flags at all. Instead, one is supposed to pass build tools via flags like --cc=$(CC). Unfortunately, this isn't being done. Worse, it doesn't cover all the relevant tools and it has no provisions to select the host architecture pkg-config. Finally, it runs a tool mpg2c during build. This tool must not be built with the cross toolchain. The attached patch fixes all of these aspects and makes vdr-plugin-xineliboutput cross buildable. Please consider applying it. Helmut
diff --minimal -Nru vdr-plugin-xineliboutput-2.2.0+git20211212/debian/changelog vdr-plugin-xineliboutput-2.2.0+git20211212/debian/changelog --- vdr-plugin-xineliboutput-2.2.0+git20211212/debian/changelog +++ vdr-plugin-xineliboutput-2.2.0+git20211212/debian/changelog @@ -1,3 +1,13 @@ +vdr-plugin-xineliboutput (2.2.0+git20211212-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Add --pkg-config flag to configure. + + Pass all build tools to configure. + + Build mpg2c.c with the build architecture compiler. + + -- Helmut Grohne <[email protected]> Thu, 15 Jan 2022 06:20:04 +0100 + vdr-plugin-xineliboutput (2.2.0+git20211212-2) unstable; urgency=medium [ Tobias Grimm ] diff --minimal -Nru vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/cross.patch vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/cross.patch --- vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/cross.patch +++ vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/cross.patch @@ -0,0 +1,71 @@ +--- vdr-plugin-xineliboutput-2.2.0+git20211212.orig/configure ++++ vdr-plugin-xineliboutput-2.2.0+git20211212/configure +@@ -189,9 +189,9 @@ + if $PKG_CONFIG --exists $libname; then + if $PKG_CONFIG --libs $libname >/dev/null; then + add_flags LIBS_$subsys \ +- `pkg-config --libs-only-L $libname` \ +- `pkg-config --libs-only-l $libname` +- add_flags CFLAGS_$subsys `pkg-config --cflags-only-I $libname` ++ `$PKG_CONFIG --libs-only-L $libname` \ ++ `$PKG_CONFIG --libs-only-l $libname` ++ add_flags CFLAGS_$subsys `$PKG_CONFIG --cflags-only-I $libname` + log "yes" + return 0 + fi +@@ -312,6 +312,7 @@ + echo " --disable-pkgconfig do not use pkg-config" + echo " --cc=CC select C compiler" + echo " --cxx=CXX select C++ compiler" ++ echo " --pkg-config=PKG-CONFIG select the pkg-config executable" + echo " --add-cflags=FLAGS add compiler flags" + } + +@@ -334,6 +335,10 @@ + CXX=$optval + logdbg "C++ compiler: $CXX" + ;; ++ --pkg-config=?*) ++ PKG_CONFIG=$optval ++ logdbg "pkg-config: $PKG_CONFIG" ++ ;; + --add-cflags=?*) + CFLAGS="$CFLAGS $optval" + logdbg "CFLAGS: $CFLAGS" +@@ -517,6 +522,7 @@ + # cc/ld flags + echo "CC = $CC">>$makefile + echo "CXX = $CXX">>$makefile ++echo "PKG_CONFIG = $PKG_CONFIG">>$makefile + echo "CFLAGS_XINE += $CFLAGS_XINE">>$makefile + echo "CFLAGS_VDR += $CFLAGS_VDR">>$makefile + echo "CFLAGS_X11 += $CFLAGS_X11">>$makefile +--- vdr-plugin-xineliboutput-2.2.0+git20211212.orig/Makefile ++++ vdr-plugin-xineliboutput-2.2.0+git20211212/Makefile +@@ -45,6 +45,8 @@ + + CXX ?= g++ + CC ?= gcc ++PKG_CONFIG ?= pkg-config ++CC_FOR_BUILD ?= gcc + OPTFLAGS ?= + + ifeq ($(ARCH_APPLE_DARWIN), yes) +@@ -63,7 +65,7 @@ + ### + + # Use package data if installed...otherwise assume we're under the VDR source directory: +-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr)) ++PKGCFG = $(if $(VDRDIR),$(shell $(PKG_CONFIG) --variable=$(1) $(VDRDIR)/vdr.pc),$(shell $(PKG_CONFIG) --variable=$(1) vdr)) + BINDIR = $(call PKGCFG,bindir) + LIBDIR = $(call PKGCFG,libdir) + LOCDIR = $(call PKGCFG,locdir) +@@ -296,7 +298,7 @@ + + mpg2c: mpg2c.c + @echo CCLD $@ +- $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@ ++ $(Q)$(CC_FOR_BUILD) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@ + + # data + black_720x576.c: mpg2c black_720x576.mpg diff --minimal -Nru vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/series vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/series --- vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/series +++ vdr-plugin-xineliboutput-2.2.0+git20211212/debian/patches/series @@ -1,2 +1,3 @@ disable-po-update.patch cppflags.patch +cross.patch diff --minimal -Nru vdr-plugin-xineliboutput-2.2.0+git20211212/debian/rules vdr-plugin-xineliboutput-2.2.0+git20211212/debian/rules --- vdr-plugin-xineliboutput-2.2.0+git20211212/debian/rules +++ vdr-plugin-xineliboutput-2.2.0+git20211212/debian/rules @@ -1,5 +1,7 @@ #!/usr/bin/make -f +include /usr/share/dpkg/buildtools.mk + # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -11,7 +13,7 @@ dh $@ --with vdrplugin override_dh_auto_configure: - ./configure --disable-dbus-glib-1 + ./configure --disable-dbus-glib-1 '--cc=$(CC)' '--cxx=$(CXX)' '--pkg-config=$(PKG_CONFIG)' override_dh_auto_build: dh_auto_build -- all $(MAKE_OPTIONS)

