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

Bug#1000305: lsp-plugins FTCBFS: uses the build architecture ld and pkg-config



Source: lsp-plugins
Version: 1.1.30-1
Tags: patch
User: debian-cross@lists.debian.org
Usertags: ftcbfs

lsp-plugins fails to cross build from source, becaue it uses the build
architecture ld and pkg-config. For ld, dh_auto_build does not pass a
cross tool as the use of LD variable is inconsistent across upstream
projects. pkg-config instead is hard coded in the upstream build system.
The attached patch addresses both, but it does not make lsp-plugins
cross buildable, because lsp-plugins builds some build tools and fails
running them with an Exec format error (e.g. gen_resources.exe or
gen_php.exe). I suppose more thought is required for fixing these.
Please consider applying my patch as an incremental improvement and
close this bug when doing so.

Helmut
diff --minimal -Nru lsp-plugins-1.1.30/debian/changelog lsp-plugins-1.1.30/debian/changelog
--- lsp-plugins-1.1.30/debian/changelog	2021-08-19 12:50:50.000000000 +0200
+++ lsp-plugins-1.1.30/debian/changelog	2021-11-20 12:54:14.000000000 +0100
@@ -1,3 +1,10 @@
+lsp-plugins (1.1.30-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Improve cross building: Use the host arch ld and pkg-config. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sat, 20 Nov 2021 12:54:14 +0100
+
 lsp-plugins (1.1.30-1) unstable; urgency=medium
 
   * Provide the lsp-plugins-r3d-glx package,
diff --minimal -Nru lsp-plugins-1.1.30/debian/patches/cross.patch lsp-plugins-1.1.30/debian/patches/cross.patch
--- lsp-plugins-1.1.30/debian/patches/cross.patch	1970-01-01 01:00:00.000000000 +0100
+++ lsp-plugins-1.1.30/debian/patches/cross.patch	2021-11-20 12:54:14.000000000 +0100
@@ -0,0 +1,58 @@
+--- lsp-plugins-1.1.30.orig/scripts/make/configure.mk
++++ lsp-plugins-1.1.30/scripts/make/configure.mk
+@@ -131,17 +131,17 @@
+   export ICONV_LIBS       = -liconv
+   export MATH_LIBS        = -lm
+   export DL_LIBS          = -ldl
+-  export CAIRO_HEADERS    = $(shell pkg-config --cflags cairo)
+-  export CAIRO_LIBS       = $(shell pkg-config --libs cairo)
+-  export XLIB_HEADERS     = $(shell pkg-config --cflags x11)
+-  export XLIB_LIBS        = $(shell pkg-config --libs x11)
+-  export LV2_HEADERS      = $(shell pkg-config --cflags lv2)
+-  export LV2_LIBS         = $(shell pkg-config --libs lv2)
+-  export SNDFILE_HEADERS  = $(shell pkg-config --cflags sndfile)
+-  export SNDFILE_LIBS     = $(shell pkg-config --libs sndfile)
+-  export JACK_HEADERS     = $(shell pkg-config --cflags jack)
+-  export JACK_LIBS        = $(shell pkg-config --libs jack)
+-  export OPENGL_HEADERS   = $(shell pkg-config --cflags gl 2>/dev/null || echo "")
+-  export OPENGL_LIBS      = $(shell pkg-config --libs gl 2>/dev/null || echo "")
++  export CAIRO_HEADERS    = $(shell $(PKG_CONFIG) --cflags cairo)
++  export CAIRO_LIBS       = $(shell $(PKG_CONFIG) --libs cairo)
++  export XLIB_HEADERS     = $(shell $(PKG_CONFIG) --cflags x11)
++  export XLIB_LIBS        = $(shell $(PKG_CONFIG) --libs x11)
++  export LV2_HEADERS      = $(shell $(PKG_CONFIG) --cflags lv2)
++  export LV2_LIBS         = $(shell $(PKG_CONFIG) --libs lv2)
++  export SNDFILE_HEADERS  = $(shell $(PKG_CONFIG) --cflags sndfile)
++  export SNDFILE_LIBS     = $(shell $(PKG_CONFIG) --libs sndfile)
++  export JACK_HEADERS     = $(shell $(PKG_CONFIG) --cflags jack)
++  export JACK_LIBS        = $(shell $(PKG_CONFIG) --libs jack)
++  export OPENGL_HEADERS   = $(shell $(PKG_CONFIG) --cflags gl 2>/dev/null || echo "")
++  export OPENGL_LIBS      = $(shell $(PKG_CONFIG) --libs gl 2>/dev/null || echo "")
+ endif
+ 
+--- lsp-plugins-1.1.30.orig/scripts/make/tools.mk
++++ lsp-plugins-1.1.30/scripts/make/tools.mk
+@@ -3,6 +3,7 @@
+ TOOL_CC                 = gcc
+ TOOL_CXX                = g++
+ TOOL_PHP                = php
++TOOL_PKG_CONFIG         = pkg-config
+ 
+ # Setup preferred flags
+ FLAG_RELRO              = -Wl,-z,relro,-z,now
+@@ -24,6 +25,7 @@
+ CXX                      ?= $(TOOL_CXX)
+ PHP                      ?= $(TOOL_PHP)
+ LD                       ?= $(TOOL_LD)
++PKG_CONFIG               ?= $(TOOL_PKG_CONFIG)
+ 
+ MAKE_OPTS                 = -s
+ CFLAGS                   += $(CC_ARCH) $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
+@@ -61,6 +63,7 @@
+ export CXX
+ export PHP
+ export LD
++export PKG_CONFIG
+ 
+ export MAKE_OPTS
+ export CFLAGS
diff --minimal -Nru lsp-plugins-1.1.30/debian/patches/series lsp-plugins-1.1.30/debian/patches/series
--- lsp-plugins-1.1.30/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ lsp-plugins-1.1.30/debian/patches/series	2021-11-20 12:52:02.000000000 +0100
@@ -0,0 +1 @@
+cross.patch
diff --minimal -Nru lsp-plugins-1.1.30/debian/rules lsp-plugins-1.1.30/debian/rules
--- lsp-plugins-1.1.30/debian/rules	2021-08-18 23:41:28.000000000 +0200
+++ lsp-plugins-1.1.30/debian/rules	2021-11-20 12:54:12.000000000 +0100
@@ -3,6 +3,7 @@
 export PREFIX=/usr
 
 include /usr/share/dpkg/architecture.mk
+-include /usr/share/dpkg/buildtools.mk
 ifeq ($(DEB_HOST_ARCH),amd64)
 	export BUILD_PROFILE=x86_64
 endif
@@ -18,6 +19,7 @@
 ifeq ($(DEB_HOST_ARCH),armhf)
 	export BUILD_PROFILE=armv7a
 endif
+export LD ?= ld
 
 %:
 	dh $@

Reply to: