From: IOhannes m zmölnig Date: Mon, 16 Mar 2020 12:12:32 +0000 (+0100) Subject: Fix FTCBFS: + Let dpkg's buildtools.mk supply pkg-config for debian/rules. + cross... X-Git-Tag: archive/raspbian/5.4.7_ds0-2+rpi1^2~16 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=597a22d106977b4b5c74df1ec060a165bf7ebbbe;p=juce.git Fix FTCBFS: + Let dpkg's buildtools.mk supply pkg-config for debian/rules. + cross.patch: Make pkg-config substitutable. + Let dh_auto_build pass cross tools to make. Closes: #951684 Thanks: Helmut Grohne --- diff --git a/debian/patches/cross.patch b/debian/patches/cross.patch new file mode 100644 index 00000000..426a1e62 --- /dev/null +++ b/debian/patches/cross.patch @@ -0,0 +1,66 @@ +From: Debian Multimedia Maintainers +Date: Mon, 16 Mar 2020 13:32:21 +0100 +Subject: cross + +--- + extras/Projucer/Builds/LinuxMakefile/Makefile | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile +index 65fd56a..89f88e9 100644 +--- a/extras/Projucer/Builds/LinuxMakefile/Makefile ++++ b/extras/Projucer/Builds/LinuxMakefile/Makefile +@@ -19,6 +19,10 @@ ifndef AR + AR=ar + endif + ++ifndef PKG_CONFIG ++ PKG_CONFIG=pkg-config ++endif ++ + ifndef CONFIG + CONFIG=Debug + endif +@@ -35,13 +39,13 @@ ifeq ($(CONFIG),Debug) + TARGET_ARCH := + endif + +- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) ++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell $(PKG_CONFIG) --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) +- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS) ++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell $(PKG_CONFIG) --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) + endif +@@ -56,13 +60,13 @@ ifeq ($(CONFIG),Release) + TARGET_ARCH := + endif + +- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) ++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.7 -DJUCE_APP_VERSION_HEX=0x50407 $(shell $(PKG_CONFIG) --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) +- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) ++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell $(PKG_CONFIG) --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) + endif +@@ -136,8 +140,8 @@ OBJECTS_APP := \ + all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + + $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) +- @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } +- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 ++ @command -v $(PKG_CONFIG) >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } ++ @$(PKG_CONFIG) --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 + @echo Linking "Projucer - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) diff --git a/debian/patches/series b/debian/patches/series index 3110dd7a..d57bbe87 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,3 +9,4 @@ debian_unittests_globalpaths.patch debian_vst.patch debian_link_systemlibs.patch 0011-Don-t-fail-fatally-if-gui-cannot-connect-to-X-server.patch +cross.patch diff --git a/debian/rules b/debian/rules index f87b6f75..d46cb387 100755 --- a/debian/rules +++ b/debian/rules @@ -3,6 +3,8 @@ # Copyright © 2015 IOhannes m zmölnig # Description: Main Debian packaging script for JUCE +include /usr/share/dpkg/buildtools.mk + ## export dummy TARGET_ARCH that doesn't do much, ## but disables "-march=native" optimization export TARGET_ARCH=-Wl,--as-needed @@ -17,7 +19,7 @@ DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \ #DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \ #^((.*\.jpg)|(.*\.JPG)|(.*\.gif)|(.*\.png)|(.*\.ico)|(.*\.icns)|(gradle-wrapper\.jar)|(.*\.mp3)|(.*\.caf)|(.*\.nib)|examples/InAppPurchase/Signing/InAppPurchase\.keystore|examples/(InAppPurchase/BinaryData/(Robot|Ed|Jules|JB|Fabian|Lukasz)[012]\.ogg|AUv3Synth|PlugInSamples/MultiOutSynth)/Source/BinaryData/singing\.ogg|examples/Demo/Resources/cello\.wav|examples/Demo/Resources/icons\.zip|modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources\.rsr|examples/ComponentTutorialExample/Introduction to Components - Part 1\.pdf|debian/(changelog|copyright(|_hints|_newhints)))$ -LDFLAGS += $(shell pkg-config --libs libjpeg libpng zlib) +LDFLAGS += $(shell $(PKG_CONFIG) --libs libjpeg libpng zlib) # JUCE uses some c++11 features requiring atomic_store_8 and # atomic_load_8, so we need to link with libatomic on @@ -44,7 +46,7 @@ override_dh_auto_build-arch: LDFLAGS="$(LDFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" \ $(empty) - make -C debian/extra/lv2-ttl-generator/ + dh_auto_build --sourcedirectory=debian/extra/lv2-ttl-generator/ help2man -N \ --version-string="Projucer $(DEB_UPSTREAM_VERSION)" \ -n "the JUCE project-management tool" \