Your message dated Mon, 16 Mar 2020 13:34:30 +0000
with message-id <[email protected]>
and subject line Bug#951684: fixed in juce 5.4.7~ds0-2
has caused the Debian Bug report #951684,
regarding juce FTCBFS: multiple reasons
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
951684: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951684
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: juce
Version: 5.4.7~ds0-1
Tags: patch
User: [email protected]
Usertags: ftcbfs
juce fails to cross build from source, for multiple reasons.
1. debian/rules invokes the build architecture pkg-config. An easy
solution is letting dpkg's buildtools.mk supply pkg-config.
2. An upstream Makefile hard codes the build architecture pkg-config.
It should be substitutable such that dh_auto_build can replace it.
3. debian/rules has a bare make invocation that lacks cross tools. Using
dh_auto_build can fix this.
Please consider applying the attached patch to make juce cross
buildable.
Helmut
diff --minimal -Nru juce-5.4.7~ds0/debian/changelog
juce-5.4.7~ds0/debian/changelog
--- juce-5.4.7~ds0/debian/changelog 2020-02-18 09:46:05.000000000 +0100
+++ juce-5.4.7~ds0/debian/changelog 2020-02-20 06:50:40.000000000 +0100
@@ -1,3 +1,13 @@
+juce (5.4.7~ds0-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + 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.
+
+ -- Helmut Grohne <[email protected]> Thu, 20 Feb 2020 06:50:40 +0100
+
juce (5.4.7~ds0-1) unstable; urgency=medium
* New upstream version 5.4.7~ds0
diff --minimal -Nru juce-5.4.7~ds0/debian/patches/cross.patch
juce-5.4.7~ds0/debian/patches/cross.patch
--- juce-5.4.7~ds0/debian/patches/cross.patch 1970-01-01 01:00:00.000000000
+0100
+++ juce-5.4.7~ds0/debian/patches/cross.patch 2020-02-20 06:50:38.000000000
+0100
@@ -0,0 +1,56 @@
+--- juce-5.4.7~ds0.orig/extras/Projucer/Builds/LinuxMakefile/Makefile
++++ juce-5.4.7~ds0/extras/Projucer/Builds/LinuxMakefile/Makefile
+@@ -19,6 +19,10 @@
+ AR=ar
+ endif
+
++ifndef PKG_CONFIG
++ PKG_CONFIG=pkg-config
++endif
++
+ ifndef CONFIG
+ CONFIG=Debug
+ endif
+@@ -35,13 +39,13 @@
+ 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 @@
+ 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 @@
+ 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 --minimal -Nru juce-5.4.7~ds0/debian/patches/series
juce-5.4.7~ds0/debian/patches/series
--- juce-5.4.7~ds0/debian/patches/series 2020-02-18 09:46:05.000000000
+0100
+++ juce-5.4.7~ds0/debian/patches/series 2020-02-20 06:49:32.000000000
+0100
@@ -8,3 +8,4 @@
debian_unittests_globalpaths.patch
debian_vst.patch
debian_link_systemlibs.patch
+cross.patch
diff --minimal -Nru juce-5.4.7~ds0/debian/rules juce-5.4.7~ds0/debian/rules
--- juce-5.4.7~ds0/debian/rules 2020-02-18 09:46:05.000000000 +0100
+++ juce-5.4.7~ds0/debian/rules 2020-02-20 06:50:40.000000000 +0100
@@ -3,6 +3,8 @@
# Copyright © 2015 IOhannes m zmölnig <[email protected]>
# 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 = \
#^((.*\.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 @@
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" \
--- End Message ---
--- Begin Message ---
Source: juce
Source-Version: 5.4.7~ds0-2
Done: =?utf-8?q?IOhannes_m_zm=C3=B6lnig_=28Debian/GNU=29?= <[email protected]>
We believe that the bug you reported is fixed in the latest version of
juce, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
IOhannes m zmölnig (Debian/GNU) <[email protected]> (supplier of updated juce
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Mon, 16 Mar 2020 13:35:45 +0100
Source: juce
Architecture: source
Version: 5.4.7~ds0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <[email protected]>
Changed-By: IOhannes m zmölnig (Debian/GNU) <[email protected]>
Closes: 951684
Changes:
juce (5.4.7~ds0-2) unstable; urgency=medium
.
* Refresh patches using 'gbp pq'
* Add patch to not fail fatally without X-server
* 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.
Thanks to Helmut Grohne <[email protected]> (Closes: #951684)
* Add patch to allow overriding of pkg-config in generated Makefiles
Checksums-Sha1:
98e320ed6f5144765d0fb7173509a7cf378f9412 2616 juce_5.4.7~ds0-2.dsc
6c8994468dca381d6b386561226c549e6e6bca36 62336 juce_5.4.7~ds0-2.debian.tar.xz
Checksums-Sha256:
e44e7be94f91091596020716e53b82a4a82e635a11ab1c973c9c52d06b8780bc 2616
juce_5.4.7~ds0-2.dsc
333b9acd80db47c970381e6a63bcd96d77a26bcb56eba5e900de4c13db599f1d 62336
juce_5.4.7~ds0-2.debian.tar.xz
Files:
1b91a0c01d1ee76600da4e98bfddc78f 2616 devel optional juce_5.4.7~ds0-2.dsc
533d5327e628537d00e5dad4d477bd7a 62336 devel optional
juce_5.4.7~ds0-2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQJKBAEBCAA0FiEEdAXnRVdICXNIABVttlAZxH96NvgFAl5vew8WHGZvcnVtQHVt
bGFldXRlLm11ci5hdAAKCRC2UBnEf3o2+BH1EACA2SXO7uHOV+6s52MFaNAgvEwE
MldeqJYMqO2sI0QiI0/Qjs1Os1J5dFzdgMsq7GCH89YQcFrDlAl9DPyUdh+nhUcp
RdOEyDyr4hsQS4Sqyvvimkr4uRYP8S9gw8hwAQyPBOGL7sw1HyQoWnfGVfB311Jf
3GuQxUa5l64Cyg/4nvYxyPaKcTUJGdxWJelfc7J2k/+Z7wdbFOYKqqJsW/24UlPW
P9q4vQGVfv9ic1Mqc736YAN0Q99sfRLYp9almglbYmI2MEq4WKLw8VVUx9hA5NUK
dhYofJgdhkTZQy2WVlDdR5Wpbwqa+01Ko7GNprHxQc9Dvotsb/jhOQdhc680CVr/
/2JdxH4wInILI60BBraist3XpOnXiI76ZtjHdpd+th96oIhzi6SIQV0f4QSUKxCK
cdckIcuYYmH+3nqQfYKpKTnqTNxrKTX9Yv7xP3YdmZjt7Bdv/r+5WYddDDCauzDJ
GtgA3eu+xObH/aNCWiyrWbaYLUAerHuWU/LrPZdygXilPzwXGA5vuBHaSCeMBuum
MswYVcJOvKC8xyP5Tf2TYw/yGfGgK+hZm6QrtAjKp6ugDh+jLL0jb2Xy/cqKJrpq
8Z5krOKEQFU9o+yMYdtEWfQ9FEKEGotcRLwrMlfrJzlsakv+YngxIwzdROAXphXl
8/9w9ZtQgVSkSebI6g==
=Cs37
-----END PGP SIGNATURE-----
--- End Message ---