Fix FTCBFS: + Let dpkg's buildtools.mk supply pkg-config for debian/rules. + cross...
authorIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Mon, 16 Mar 2020 12:12:32 +0000 (13:12 +0100)
committerIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Mon, 16 Mar 2020 12:33:13 +0000 (13:33 +0100)
Closes: #951684
Thanks: Helmut Grohne <helmut@subdivi.de>

debian/patches/cross.patch [new file with mode: 0644]
debian/patches/series
debian/rules

diff --git a/debian/patches/cross.patch b/debian/patches/cross.patch
new file mode 100644 (file)
index 0000000..426a1e6
--- /dev/null
@@ -0,0 +1,66 @@
+From: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
+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)
index 3110dd7a969e9c19ef2cc0a62f15b2dfa4f45b6a..d57bbe87d44724c1dd142fd97a1bcf3cff4e38cf 100644 (file)
@@ -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
index f87b6f75d92cce652715235278e49cc2bcf3ff21..d46cb3875744c5674771a7d4fb08eabe30d62ab5 100755 (executable)
@@ -3,6 +3,8 @@
 # Copyright © 2015 IOhannes m zmölnig <umlaeute@debian.org>
 # 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" \