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) {