[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#951684: marked as done (juce FTCBFS: multiple reasons)



Your message dated Mon, 16 Mar 2020 13:34:30 +0000
with message-id <E1jDpt0-0004Ow-8g@fasolo.debian.org>
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 owner@bugs.debian.org
immediately.)


-- 
951684: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951684
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: juce
Version: 5.4.7~ds0-1
Tags: patch
User: debian-cross@lists.debian.org
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 <helmut@subdivi.de>  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 <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 = \
 #^((.*\.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?= <umlaeute@debian.org>

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 951684@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
IOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org> (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 ftpmaster@ftp-master.debian.org)


-----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 <debian-multimedia@lists.debian.org>
Changed-By: IOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
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 <helmut@subdivi.de> (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 ---

Reply to: