Source: mediaconch
Version: 18.03.2-1
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap

mediaconch fails to cross build from source, because its upstream build
system (both autoconf and qmake) hard code the build architecture
pkg-config rather than using the supplied one. Thus it fails finding
relevant libraries that are only requested for the host architecture by
Build-Depends. The attached patch fixes the relevant pkg-config
invocations in a minimal manner. For autotools, it would be better to
use the PKG_CHECK_MODULES_MACRO. Still the patch makes mediaconch cross
buildable. Please consider applying it as an incremental step with low
risk of breakage.

Helmut
--- mediaconch-18.03.2.orig/Project/GNU/CLI/configure.ac
+++ mediaconch-18.03.2/Project/GNU/CLI/configure.ac
@@ -28,6 +28,7 @@
 AC_PROG_CXX
 AC_PROG_INSTALL
 LT_INIT
+PKG_PROG_PKG_CONFIG
 
 dnl #########################################################################
 dnl ### Options
@@ -74,8 +75,8 @@
 elif test "$(libzen-config Exists)" = "yes" ; then
 	enable_unicode="$(libzen-config Unicode)"
 else
-	if pkg-config --exists libzen; then
-		enable_unicode="$(pkg-config --variable=Unicode libzen)"
+	if $PKG_CONFIG --exists libzen; then
+		enable_unicode="$($PKG_CONFIG --variable=Unicode libzen)"
 	else
 		AC_MSG_ERROR([libzen configuration is not found])
 	fi
@@ -181,14 +182,14 @@
 			LIBS="$LIBS $(libmediainfo-config LIBS)"
 		fi
 	else
-		if pkg-config --exists lib$with_libmediainfo_name; then
-			CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libmediainfo)"
+		if $PKG_CONFIG --exists lib$with_libmediainfo_name; then
+			CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libmediainfo)"
 			if test "$enable_staticlibs" = "yes"; then
 				with_mediainfolib="system (static)"
-				LIBS="$LIBS $(pkg-config --variable=Libs_Static lib$with_libmediainfo_name)"
+				LIBS="$LIBS $($PKG_CONFIG --variable=Libs_Static lib$with_libmediainfo_name)"
 			else
 				with_mediainfolib="system"
-				LIBS="$LIBS $(pkg-config --libs lib$with_libmediainfo_name)"
+				LIBS="$LIBS $($PKG_CONFIG --libs lib$with_libmediainfo_name)"
 			fi
 		else
 			AC_MSG_ERROR([libmediainfo configuration is not found])
@@ -222,15 +223,15 @@
 		LIBS="$LIBS $(libzen-config LIBS)"
 	fi
 else
-	if pkg-config --exists libzen; then
-		CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libzen)"
-		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $(pkg-config --cflags libzen)"
+	if $PKG_CONFIG --exists libzen; then
+		CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libzen)"
+		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $($PKG_CONFIG --cflags libzen)"
 		if test "$enable_staticlibs" = "yes"; then
 			with_zenlib="system (static)"
-			LIBS="$LIBS $(pkg-config --variable=Libs_Static libzen)"
+			LIBS="$LIBS $($PKG_CONFIG --variable=Libs_Static libzen)"
 		else
 			with_zenlib="system"
-			LIBS="$LIBS $(pkg-config --libs libzen)"
+			LIBS="$LIBS $($PKG_CONFIG --libs libzen)"
 		fi
 	else
 		AC_MSG_ERROR([libzen configuration is not found])
@@ -251,25 +252,25 @@
 		LIBS="$LIBS  -L../../../../libxml2/.libs -lxml2"
 	fi
 else
-	if pkg-config --exists libxml2; then
-		CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libxml2)"
-		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $(pkg-config --cflags libxml2)"
+	if $PKG_CONFIG --exists libxml2; then
+		CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libxml2)"
+		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $($PKG_CONFIG --cflags libxml2)"
 		if test "$enable_staticlibs" = "yes"; then
 			with_libxml2="system (static)"
-			LIBS="$LIBS $(pkg-config --static --libs libxml2)"
+			LIBS="$LIBS $($PKG_CONFIG --static --libs libxml2)"
 		else
 			with_libxml2="system"
-			LIBS="$LIBS $(pkg-config --libs libxml2)"
+			LIBS="$LIBS $($PKG_CONFIG --libs libxml2)"
 		fi
-	elif pkg-config --exists libxml-2.0; then
-		CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libxml-2.0)"
-		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $(pkg-config --cflags libxml-2.0)"
+	elif $PKG_CONFIG --exists libxml-2.0; then
+		CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libxml-2.0)"
+		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $($PKG_CONFIG --cflags libxml-2.0)"
 		if test "$enable_staticlibs" = "yes"; then
 			with_libxml2="system (static)"
-			LIBS="$LIBS $(pkg-config --static --libs libxml-2.0)"
+			LIBS="$LIBS $($PKG_CONFIG --static --libs libxml-2.0)"
 		else
 			with_libxml2="system"
-			LIBS="$LIBS $(pkg-config --libs libxml-2.0)"
+			LIBS="$LIBS $($PKG_CONFIG --libs libxml-2.0)"
 		fi
 	else
 		AC_MSG_ERROR([libxml2 configuration is not found])
@@ -293,19 +294,19 @@
 		LIBS="$LIBS  -L../../../../libxslt/libexslt/.libs -lexslt"
 	fi
 else
-	if pkg-config --exists libxslt; then
-		CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libxslt)"
-		CXXFLAGS="$CXXFLAGS $(pkg-config --cflags libexslt)"
-		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $(pkg-config --cflags libxslt)"
-		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $(pkg-config --cflags libexslt)"
+	if $PKG_CONFIG --exists libxslt; then
+		CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libxslt)"
+		CXXFLAGS="$CXXFLAGS $($PKG_CONFIG --cflags libexslt)"
+		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $($PKG_CONFIG --cflags libxslt)"
+		MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS $($PKG_CONFIG --cflags libexslt)"
 		if test "$enable_staticlibs" = "yes"; then
 			with_libxslt="system (static)"
-			LIBS="$LIBS $(pkg-config --static --libs libxslt)"
-			LIBS="$LIBS $(pkg-config --static --libs libexslt)"
+			LIBS="$LIBS $($PKG_CONFIG --static --libs libxslt)"
+			LIBS="$LIBS $($PKG_CONFIG --static --libs libexslt)"
 		else
 			with_libxslt="system"
-			LIBS="$LIBS $(pkg-config --libs libxslt)"
-			LIBS="$LIBS $(pkg-config --libs libexslt)"
+			LIBS="$LIBS $($PKG_CONFIG --libs libxslt)"
+			LIBS="$LIBS $($PKG_CONFIG --libs libexslt)"
 		fi
 	else
 		AC_MSG_ERROR([libxslt configuration is not found])
@@ -325,14 +326,14 @@
             with_libsqlite3="builtin"
             LIBS="$LIBS  -L../../../../sqlite/.libs -lsqlite3"
         fi
-    elif pkg-config --exists sqlite3; then
-        CXXFLAGS="$CXXFLAGS -DHAVE_SQLITE $(pkg-config --cflags sqlite3)"
+    elif $PKG_CONFIG --exists sqlite3; then
+        CXXFLAGS="$CXXFLAGS -DHAVE_SQLITE $($PKG_CONFIG --cflags sqlite3)"
         if test "$enable_staticlibs" = "yes"; then
             with_libsqlite3="system (static)"
-            LIBS="$LIBS $(pkg-config --static --libs sqlite3)"
+            LIBS="$LIBS $($PKG_CONFIG --static --libs sqlite3)"
         else
             with_libsqlite3="system"
-            LIBS="$LIBS $(pkg-config --libs sqlite3)"
+            LIBS="$LIBS $($PKG_CONFIG --libs sqlite3)"
         fi
     else
         AC_MSG_ERROR([libsqlite3 configuration is not found])
@@ -354,14 +355,14 @@
             with_libjansson="builtin"
             LIBS="$LIBS  -L../../../../jansson/src/.libs -ljansson"
         fi
-    elif pkg-config --exists jansson; then
-        CXXFLAGS="$CXXFLAGS -DHAVE_JANSSON $(pkg-config --cflags jansson)"
+    elif $PKG_CONFIG --exists jansson; then
+        CXXFLAGS="$CXXFLAGS -DHAVE_JANSSON $($PKG_CONFIG --cflags jansson)"
         if test "$enable_staticlibs" = "yes"; then
             with_libjansson="system (static)"
-            LIBS="$LIBS $(pkg-config --static --libs jansson)"
+            LIBS="$LIBS $($PKG_CONFIG --static --libs jansson)"
         else
             with_libjansson="system"
-            LIBS="$LIBS $(pkg-config --libs jansson)"
+            LIBS="$LIBS $($PKG_CONFIG --libs jansson)"
         fi
     else
         AC_MSG_ERROR([libjansson configuration is not found])
@@ -383,14 +384,14 @@
             with_libevent="builtin"
             LIBS="$LIBS  -L../../../../libevent/.libs -levent"
         fi
-    elif pkg-config --exists libevent; then
-        CXXFLAGS="$CXXFLAGS -DHAVE_LIBEVENT $(pkg-config --cflags libevent)"
+    elif $PKG_CONFIG --exists libevent; then
+        CXXFLAGS="$CXXFLAGS -DHAVE_LIBEVENT $($PKG_CONFIG --cflags libevent)"
         if test "$enable_staticlibs" = "yes"; then
             with_libevent="system (static)"
-            LIBS="$LIBS $(pkg-config --static --libs libevent)"
+            LIBS="$LIBS $($PKG_CONFIG --static --libs libevent)"
         else
             with_libevent="system"
-            LIBS="$LIBS $(pkg-config --libs libevent)"
+            LIBS="$LIBS $($PKG_CONFIG --libs libevent)"
         fi
     else
         AC_MSG_ERROR([libevent configuration is not found])
--- mediaconch-18.03.2.orig/Project/Qt/MediaConch.pro
+++ mediaconch-18.03.2/Project/Qt/MediaConch.pro
@@ -38,9 +38,10 @@
     }
 }
 
+PKG_CONFIG = $$pkgConfigExecutable()
 !defined(packagesExist, test) {
     defineTest(packagesExist) {
-        system(pkg-config $$ARGS): return(true)
+        system($$PKG_CONFIG $$ARGS): return(true)
         return(false)
     }
 }
@@ -230,7 +231,7 @@
     !packagesExist(libmediainfo) {
         error("libmediainfo not found on system")
     }
-    LIBS += $$system(pkg-config --libs libmediainfo)
+    PKGCONFIG += libmediainfo
 }
 
 unix:exists(../../../ZenLib/Project/GNU/Library/libzen-config) {

Reply via email to