Bug#1021841: setbfree FTCBFS -- multiple reasons
Package: setbfree
Version: 0.8.11-2
Severity: normal
Tags: patch
X-Debbugs-Cc: debian-cross@lists.debian.org
Hi,
setbfree Fails to cross build because:
- It hard-codes pkg-config everywhere and that defaults to the build architecture
while cross-building. This can be resolved by using PKG_CONFIG and setting it
to this value only if it is previously un-set.
And PKG_CONFIG can be set to the pkg-config prefixed with the architecure-triplet
while cross building.
- It uses strip extensively. While for debian systems, simply removing the strip
call from all makefiles could be OK, since dh_strip will simply take care of it.
But, it'd be hard to make things upstream-able
if desired at some point. So I sent STRIP to the <arch-triplet-prefix>-strip for
cross builds.
A patch can be found attached with this mail.
Thanks!
-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (990, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 5.18.0-3-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
>From 131fbc61c9baf052d0693b7f7d63d69fcd970d14 Mon Sep 17 00:00:00 2001
From: Nilesh Patra <nilesh@debian.org>
Date: Sat, 15 Oct 2022 22:19:54 +0530
Subject: [PATCH] Get package cross-building
---
debian/patches/cross.patch | 252 +++++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 9 +-
3 files changed, 261 insertions(+), 1 deletion(-)
create mode 100644 debian/patches/cross.patch
diff --git a/debian/patches/cross.patch b/debian/patches/cross.patch
new file mode 100644
index 0000000..1dd9be8
--- /dev/null
+++ b/debian/patches/cross.patch
@@ -0,0 +1,252 @@
+--- a/b_chorato/Makefile
++++ b/b_chorato/Makefile
+@@ -3,7 +3,7 @@
+
+ LOADLIBES = -lm
+ override CFLAGS+= -I../src
+-override CFLAGS+=`pkg-config --cflags lv2` -fvisibility=hidden
++override CFLAGS+=`$(PKG_CONFIG) --cflags lv2` -fvisibility=hidden
+
+ targets=
+
+--- a/b_overdrive/Makefile
++++ b/b_overdrive/Makefile
+@@ -12,16 +12,16 @@
+ targets+=lv2
+ endif
+
+-ifeq ($(shell pkg-config --exists liblo && echo yes), yes)
+- override CFLAGS+=-DHAVE_LIBLO `pkg-config --cflags liblo`
+- LOADLIBES+=`pkg-config --libs liblo`
++ifeq ($(shell $(PKG_CONFIG) --exists liblo && echo yes), yes)
++ override CFLAGS+=-DHAVE_LIBLO `$(PKG_CONFIG) --cflags liblo`
++ LOADLIBES+=`$(PKG_CONFIG) --libs liblo`
+ endif
+
+-ifeq ($(shell pkg-config --exists jack && echo yes)$(OVERDRIVEJACK), yesyes)
++ifeq ($(shell $(PKG_CONFIG) --exists jack && echo yes)$(OVERDRIVEJACK), yesyes)
+ targets+=jboverdrive
+ binaries+=jboverdrive
+- override CFLAGS+=-DHAVE_JACK `pkg-config --cflags jack`
+- LOADLIBES+=`pkg-config --libs jack`
++ override CFLAGS+=-DHAVE_JACK `$(PKG_CONFIG) --cflags jack`
++ LOADLIBES+=`$(PKG_CONFIG) --libs jack`
+ endif
+
+ OVMSRC=\
+--- a/b_reverb/Makefile
++++ b/b_reverb/Makefile
+@@ -3,7 +3,7 @@
+ include ../git2lv2.mk
+
+ LOADLIBES = -lm
+-override CFLAGS+=`pkg-config --cflags lv2` -fvisibility=hidden
++override CFLAGS+=`$(PKG_CONFIG) --cflags lv2` -fvisibility=hidden
+
+ targets=reverb.o
+
+--- a/b_synth/Makefile
++++ b/b_synth/Makefile
+@@ -4,7 +4,7 @@
+
+ LOADLIBES = -lm
+ override CFLAGS+= -I../src -I../b_overdrive -I../b_reverb -I../b_whirl
+-override CFLAGS+=`pkg-config --cflags lv2` -DLV2SYNTH -fvisibility=hidden
++override CFLAGS+=`$(PKG_CONFIG) --cflags lv2` -DLV2SYNTH -fvisibility=hidden
+ targets=
+
+ LV2NAME=b_synth
+--- a/b_whirl/Makefile
++++ b/b_whirl/Makefile
+@@ -7,7 +7,7 @@
+ endif
+
+ LOADLIBES = -lm
+-override CFLAGS+=`pkg-config --cflags lv2` -fvisibility=hidden
++override CFLAGS+=`$(PKG_CONFIG) --cflags lv2` -fvisibility=hidden
+
+ targets=whirl.o eqcomp.o
+
+@@ -25,7 +25,7 @@
+ $(warning This plugin GUI needs https://github.com/x42/robtk)
+ $(info set the RW environment variale to the location of the robtk headers)
+ else
+- HAVE_RTK = $(shell pkg-config --exists pango cairo $(PKG_GL_LIBS) && echo yes)
++ HAVE_RTK = $(shell $(PKG_CONFIG) --exists pango cairo $(PKG_GL_LIBS) && echo yes)
+ endif
+
+ ifeq ($(HAVE_RTK), yes)
+@@ -79,7 +79,7 @@
+ -shared $(LV2LDFLAGS) $(LDFLAGS)
+
+ JACKCFLAGS=$(CFLAGS) $(GLUICFLAGS) $(LIC_CFLAGS) -Wno-unused-function
+-JACKCFLAGS+=`pkg-config --cflags jack lv2 pango pangocairo $(PKG_GL_LIBS)`
++JACKCFLAGS+=`$(PKG_CONFIG) --cflags jack lv2 pango pangocairo $(PKG_GL_LIBS)`
+ JACKLIBS=-lm $(GLUILIBS) $(LIC_LOADLIBES)
+
+ $(eval x42_whirl_JACKSRC = lv2.c whirl.c)
+--- a/common.mak
++++ b/common.mak
+@@ -29,17 +29,18 @@
+ override CFLAGS += -DVERSION="\"$(VERSION)\""
+
+ STRIP ?= strip
++PKG_CONFIG ?= pkg-config
+
+ CXXFLAGS ?= $(OPTIMIZATIONS) -Wall
+ GLUICFLAGS=-I. -I.. -Wno-unused-function
+ STRIPFLAGS=-s
+
+ # check for LV2
+-LV2AVAIL=$(shell pkg-config --exists lv2 && echo yes)
++LV2AVAIL=$(shell $(PKG_CONFIG) --exists lv2 && echo yes)
+
+ LV2UIREQ=
+ # check for LV2 idle thread
+-ifeq ($(shell pkg-config --atleast-version=1.6.0 lv2 || echo no), no)
++ifeq ($(shell $(PKG_CONFIG) --atleast-version=1.6.0 lv2 || echo no), no)
+ override CFLAGS+=-DOLD_SUIL
+ else
+ GLUICFLAGS+=-DHAVE_IDLE_IFACE
+@@ -48,7 +49,7 @@
+ endif
+
+ # check for lv2_atom_forge_object new in 1.8.1 deprecates lv2_atom_forge_blank
+-ifeq ($(shell pkg-config --atleast-version=1.8.1 lv2 && echo yes), yes)
++ifeq ($(shell $(PKG_CONFIG) --atleast-version=1.8.1 lv2 && echo yes), yes)
+ override CFLAGS += -DHAVE_LV2_1_8
+ endif
+
+@@ -92,8 +93,8 @@
+ EXTENDED_RE=-r
+ endif
+
+-GLUICFLAGS+=`pkg-config --cflags cairo pango $(PKG_GL_LIBS)`
+-GLUILIBS+=`pkg-config $(PKG_UI_FLAGS) --libs cairo pango pangocairo $(PKG_GL_LIBS)`
++GLUICFLAGS+=`$(PKG_CONFIG) --cflags cairo pango $(PKG_GL_LIBS)`
++GLUILIBS+=`$(PKG_CONFIG) $(PKG_UI_FLAGS) --libs cairo pango pangocairo $(PKG_GL_LIBS)`
+
+ ifneq ($(XWIN),)
+ GLUILIBS+=-lpthread -lusp10
+@@ -129,7 +130,7 @@
+ endif
+
+ ifeq ($(MOD),)
+- HAVE_UI=$(shell pkg-config --exists $(PKG_GL_LIBS) ftgl && echo $(FONT_FOUND))
++ HAVE_UI=$(shell $(PKG_CONFIG) --exists $(PKG_GL_LIBS) ftgl && echo $(FONT_FOUND))
+ else
+ HAVE_UI=no
+ endif
+@@ -148,31 +149,31 @@
+ ifeq ($(IS_OSX), yes)
+ UIDEPS+=../pugl/pugl_osx.m
+ UILIBS=../pugl/pugl_osx.m -framework Cocoa -framework OpenGL
+- UILIBS+=`pkg-config --variable=libdir ftgl`/libftgl.a `pkg-config --variable=libdir ftgl`/libfreetype.a
+- UILIBS+=`pkg-config --libs zlib`
++ UILIBS+=`$(PKG_CONFIG) --variable=libdir ftgl`/libftgl.a `$(PKG_CONFIG) --variable=libdir ftgl`/libfreetype.a
++ UILIBS+=`$(PKG_CONFIG) --libs zlib`
+ UILIBS+=-lm $(OSXCOMPAT)
+ else
+ ifeq ($(IS_WIN), yes)
+ UIDEPS+=../pugl/pugl_win.cpp
+ UILIBS=../pugl/pugl_win.cpp
+- UILIBS+=`pkg-config --variable=libdir ftgl`/libftgl.a `pkg-config --variable=libdir ftgl`/libfreetype.a
+- UILIBS+=`pkg-config --libs zlib`
++ UILIBS+=`$(PKG_CONFIG) --variable=libdir ftgl`/libftgl.a `$(PKG_CONFIG) --variable=libdir ftgl`/libfreetype.a
++ UILIBS+=`$(PKG_CONFIG) --libs zlib`
+ UILIBS+=-lws2_32 -lwinmm -lopengl32 -lglu32 -lgdi32 -lcomdlg32 -lpthread
+ else
+ UIDEPS+=../pugl/pugl_x11.c
+- override CFLAGS+=`pkg-config --cflags gl glu`
++ override CFLAGS+=`$(PKG_CONFIG) --cflags gl glu`
+ UILIBS=../pugl/pugl_x11.c -lX11
+ ifeq ($(STATICBUILD), yes)
+- UILIBS+=`pkg-config --libs gl glu`
+- UILIBS+=`pkg-config --variable=libdir ftgl`/libftgl.a `pkg-config --variable=libdir ftgl`/libfreetype.a
+- UILIBS+=`pkg-config --libs zlib`
++ UILIBS+=`$(PKG_CONFIG) --libs gl glu`
++ UILIBS+=`$(PKG_CONFIG) --variable=libdir ftgl`/libftgl.a `$(PKG_CONFIG) --variable=libdir ftgl`/libfreetype.a
++ UILIBS+=`$(PKG_CONFIG) --libs zlib`
+ else
+- UILIBS+=`pkg-config --libs gl glu ftgl`
++ UILIBS+=`$(PKG_CONFIG) --libs gl glu ftgl`
+ endif
+ UICFLAGS+=-DFONTFILE=\"$(FONTFILE)\"
+ endif
+ endif
+- UICFLAGS+=`pkg-config --cflags freetype2` `pkg-config --cflags ftgl` -DHAVE_FTGL -DUINQHACK=Sbf
++ UICFLAGS+=`$(PKG_CONFIG) --cflags freetype2` `$(PKG_CONFIG) --cflags ftgl` -DHAVE_FTGL -DUINQHACK=Sbf
+ endif
+
+ #NOTE: midi.c and cfgParser.c needs to be re-compiled w/o HAVE_ASEQ
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -44,31 +44,31 @@
+ ../b_overdrive/overdrive.h
+
+
+-ifeq ($(shell pkg-config --exists jack || echo no), no)
++ifeq ($(shell $(PKG_CONFIG) --exists jack || echo no), no)
+ $(error "JACK is required - install libjack-dev or libjack-jackd2-dev")
+ endif
+
+-ifeq ($(shell pkg-config --exists alsa && echo yes)$(ENABLE_ALSA), yesyes)
+- override CFLAGS+=-DHAVE_ASEQ `pkg-config --cflags alsa`
+- LOADLIBES+=`pkg-config --libs alsa`
++ifeq ($(shell $(PKG_CONFIG) --exists alsa && echo yes)$(ENABLE_ALSA), yesyes)
++ override CFLAGS+=-DHAVE_ASEQ `$(PKG_CONFIG) --cflags alsa`
++ LOADLIBES+=`$(PKG_CONFIG) --libs alsa`
+ endif
+
+
+-override CFLAGS+=`pkg-config --cflags jack`
++override CFLAGS+=`$(PKG_CONFIG) --cflags jack`
+
+ ifeq ($(USEWEAKJACK),1)
+ override CFLAGS+=-DUSE_WEAK_JACK -I$(RW)
+ LOADLIBES+=-ldl
+ WEAKJACK=$(RW)weakjack/weak_libjack.c
+ else
+- LOADLIBES+=`pkg-config --libs jack`
++ LOADLIBES+=`$(PKG_CONFIG) --libs jack`
+ endif
+
+-ifeq ($(shell pkg-config --exists sndfile \
++ifeq ($(shell $(PKG_CONFIG) --exists sndfile \
+ && test -f /usr/include/zita-convolver.h -o -f /usr/local/include/zita-convolver.h \
+ && echo yes), $(ENABLE_CONVOLUTION))
+- override CFLAGS+= -DHAVE_ZITACONVOLVE `pkg-config --cflags sndfile`
+- LOADLIBES+=-lzita-convolver `pkg-config --libs sndfile`
++ override CFLAGS+= -DHAVE_ZITACONVOLVE `$(PKG_CONFIG) --cflags sndfile`
++ LOADLIBES+=-lzita-convolver `$(PKG_CONFIG) --libs sndfile`
+ OBJS+=../b_conv/convolution.o
+ HEADERS+=../b_conv/convolution.h
+ BXCC=$(CXX)
+--- a/ui/Makefile
++++ b/ui/Makefile
+@@ -3,7 +3,7 @@
+ WINDRES=$(XWIN)-windres
+
+ override CFLAGS+= -I../src -I../b_overdrive -I../b_reverb -I../b_whirl -I../b_synth/
+-override CFLAGS+=`pkg-config --cflags lv2` -DLV2SYNTH -DREQUIRE_UI
++override CFLAGS+=`$(PKG_CONFIG) --cflags lv2` -DLV2SYNTH -DREQUIRE_UI
+
+ JACKEXTRA=
+ OSXJACKWRAP=
+@@ -32,12 +32,12 @@
+ UICFLAGS+=-DUSE_WEAK_JACK
+ JACKEXTRA+=$(RW)weakjack/weak_libjack.c
+ else
+- UILIBS+=`pkg-config --libs jack`
++ UILIBS+=`$(PKG_CONFIG) --libs jack`
+ endif
+
+-ifeq ($(shell pkg-config --exists liblo && echo yes), yes)
+- UICFLAGS+=`pkg-config $(PKG_UI_FLAGS) --cflags liblo` -DHAVE_LIBLO
+- UILIBS+=`pkg-config $(PKG_UI_FLAGS) --libs liblo`
++ifeq ($(shell $(PKG_CONFIG) --exists liblo && echo yes), yes)
++ UICFLAGS+=`$(PKG_CONFIG) $(PKG_UI_FLAGS) --cflags liblo` -DHAVE_LIBLO
++ UILIBS+=`$(PKG_CONFIG) $(PKG_UI_FLAGS) --libs liblo`
+ endif
+
+ targets=
diff --git a/debian/patches/series b/debian/patches/series
index ad747cc..0d6b421 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
Use_DejaVu_font.patch
FTBFS.patch
Fix_spelling_error.patch
+cross.patch
diff --git a/debian/rules b/debian/rules
index ca71cf0..33ddb22 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,12 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+STRIP := strip
+else
+STRIP := $(DEB_HOST_GNU_TYPE)-strip
+export PKG_CONFIG = $(DEB_HOST_GNU_TYPE)-pkg-config
+endif
%:
dh $@
@@ -9,7 +15,8 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
override_dh_auto_build:
dh_auto_build -- \
PREFIX=/usr \
- OPTIMIZATIONS=-O3
+ OPTIMIZATIONS=-O3 \
+ STRIP=$(STRIP)
override_dh_auto_install:
dh_auto_install -- \
--
2.35.1
Reply to: