Bug#900217: quakespam FTCBFS: uses the build architecture toolchain
Helmut Grohne
helmut at subdivi.de
Sun May 27 18:28:47 BST 2018
Source: quakespasm
Version: 0.93.0+dfsg-2
Tags: patch
User: helmutg at debian.org
Usertags: rebootstrap
quakespasm fails to cross build from source, because it uses the build
architecture toolchain. For the makefile buildsystem being used here,
the simplest solution is to let dh_auto_build pass cross tools to make.
While doing so, I figured that debian/rules could be simplified by
passing --sourcedirectory to dh. Next, the upstream build system hard
codes the build architecture pkg-config. The attached patch fixes both
of these issues, but it doesn't make quakespasm cross buildable, because
it runs into #899138 and thus fails finding opusfile.pc. Please consider
applying the attached patch anyway and closing this bug when doing so.
Helmut
-------------- next part --------------
diff --minimal -Nru quakespasm-0.93.0+dfsg/debian/changelog quakespasm-0.93.0+dfsg/debian/changelog
--- quakespasm-0.93.0+dfsg/debian/changelog 2018-01-16 10:23:33.000000000 +0100
+++ quakespasm-0.93.0+dfsg/debian/changelog 2018-05-27 19:19:16.000000000 +0200
@@ -1,3 +1,12 @@
+quakespasm (0.93.0+dfsg-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Improve cross buildability: (Closes: #-1)
+ + Let dh_auto_build pass cross tools to make.
+ + cross.patch: Make pkg-config substitutable.
+
+ -- Helmut Grohne <helmut at subdivi.de> Sun, 27 May 2018 19:19:16 +0200
+
quakespasm (0.93.0+dfsg-2) unstable; urgency=medium
* Move git hosting to salsa.debian.org
diff --minimal -Nru quakespasm-0.93.0+dfsg/debian/patches/cross.patch quakespasm-0.93.0+dfsg/debian/patches/cross.patch
--- quakespasm-0.93.0+dfsg/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ quakespasm-0.93.0+dfsg/debian/patches/cross.patch 2018-05-27 19:19:16.000000000 +0200
@@ -0,0 +1,21 @@
+--- quakespasm-0.93.0+dfsg.orig/Quake/Makefile
++++ quakespasm-0.93.0+dfsg/Quake/Makefile
+@@ -46,6 +46,7 @@
+ LINKER = $(CC)
+
+ STRIP ?= strip
++PKG_CONFIG ?= pkg-config
+
+ #CPUFLAGS= -mtune=i686
+ #CPUFLAGS= -march=pentium4
+@@ -152,8 +153,8 @@
+ # but they include the headers without the opus directory
+ # prefix and rely on pkg-config. ewww...
+ CFLAGS+= -DUSE_CODEC_OPUS
+-CFLAGS+= $(shell pkg-config --cflags opusfile)
+-CODECLIBS+= $(shell pkg-config --libs opusfile)
++CFLAGS+= $(shell $(PKG_CONFIG) --cflags opusfile)
++CODECLIBS+= $(shell $(PKG_CONFIG) --libs opusfile)
+ endif
+ ifeq ($(USE_CODEC_VORBIS),1)
+ CFLAGS+= -DUSE_CODEC_VORBIS $(cpp_vorbisdec)
diff --minimal -Nru quakespasm-0.93.0+dfsg/debian/patches/series quakespasm-0.93.0+dfsg/debian/patches/series
--- quakespasm-0.93.0+dfsg/debian/patches/series 2018-01-16 10:23:33.000000000 +0100
+++ quakespasm-0.93.0+dfsg/debian/patches/series 2018-05-27 19:19:16.000000000 +0200
@@ -4,3 +4,4 @@
mkpak-bashism.patch
reproducible-build.patch
spelling-fixes.patch
+cross.patch
diff --minimal -Nru quakespasm-0.93.0+dfsg/debian/rules quakespasm-0.93.0+dfsg/debian/rules
--- quakespasm-0.93.0+dfsg/debian/rules 2018-01-16 10:23:33.000000000 +0100
+++ quakespasm-0.93.0+dfsg/debian/rules 2018-05-27 19:18:37.000000000 +0200
@@ -8,7 +8,7 @@
CXXFLAGS+=$(CPPFLAGS)
%:
- dh $@
+ dh $@ --sourcedirectory=Quake
ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
maybe_debug = DEBUG=0
@@ -16,11 +16,8 @@
maybe_debug = DEBUG=1
endif
-override_dh_auto_clean:
- make -C Quake clean
-
override_dh_auto_build:
- make -C Quake \
+ dh_auto_build -- \
$(maybe_debug) \
STRIP=": do not strip:" \
DO_USERDIRS=1 \
@@ -29,7 +26,9 @@
USE_CODEC_OPUS=1 \
USE_CODEC_MIKMOD=1 \
USE_CODEC_UMX=1
- make -C Misc/qs_pak
+ dh_auto_build --sourcedirectory=Misc/qs_pak
override_dh_strip:
dh_strip --ddeb-migration='quakespasm-dbg (<< 0.90.1+dfsg-2~)'
+
+override_dh_auto_install:
More information about the Pkg-games-devel
mailing list