Source: etw
Version: 3.6+svn162-5
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

etw fails to cross build from source. The immediate cause is not passing
cross tools to make. This is best fixed using dh_auto_build.
Unfortunately, the upstream build system stuffs flags into CC, which get
lost by dh_auto_build overriding them. It also hard codes the build
architecture pkg-config. The attached patch fixes all of that and makes
etw cross buildable. Please consider applying the attached patch.

Helmut
diff --minimal -Nru etw-3.6+svn162/debian/changelog 
etw-3.6+svn162/debian/changelog
--- etw-3.6+svn162/debian/changelog     2019-05-01 22:13:04.000000000 +0200
+++ etw-3.6+svn162/debian/changelog     2019-06-22 22:48:02.000000000 +0200
@@ -1,3 +1,13 @@
+etw (3.6+svn162-5.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Let dh_auto_build pass cross tools to make.
+    + cross.patch: Don't stuff flags into CC.
+    + cross.patch: Make pkg-config substitutable.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sat, 22 Jun 2019 22:48:02 +0200
+
 etw (3.6+svn162-5) unstable; urgency=medium
 
   * Fix Debian bug 928240, segmentation fault on startup.
diff --minimal -Nru etw-3.6+svn162/debian/patches/cross.patch 
etw-3.6+svn162/debian/patches/cross.patch
--- etw-3.6+svn162/debian/patches/cross.patch   1970-01-01 01:00:00.000000000 
+0100
+++ etw-3.6+svn162/debian/patches/cross.patch   2019-06-22 22:47:59.000000000 
+0200
@@ -0,0 +1,44 @@
+--- etw-3.6+svn162.orig/etw/Makefile.linux
++++ etw-3.6+svn162/etw/Makefile.linux
+@@ -1,16 +1,17 @@
+-CC = gcc -pthread
++CC = gcc
++PKG_CONFIG ?= pkg-config
+ 
+ CFLAGS = -Wall -g -fPIC -fsigned-char -Iinclude \
+     -Wpointer-arith -Wcast-align -Wcast-qual  -Wno-char-subscripts  -Wshadow \
+     -Waggregate-return  -Wsign-compare \
+-    `pkg-config --cflags sdl` `pkg-config --cflags gtk+-2.0`
++    `$(PKG_CONFIG) --cflags sdl` `$(PKG_CONFIG) --cflags gtk+-2.0`
+ 
+ #CFLAGS += `dpkg-buildflags --get CPPFLAGS`
+ #CFLAGS += `dpkg-buildflags --get CFLAGS`
+ 
+ SLIM = -Wl,--as-needed
+ 
+-LDFLAGS = `pkg-config --libs sdl` `pkg-config --libs gtk+-2.0`
++LDFLAGS = `$(PKG_CONFIG) --libs sdl` `$(PKG_CONFIG) --libs gtk+-2.0`
+ LDFLAGS += `dpkg-buildflags --get LDFLAGS`
+ 
+ DEFINES = -DLINUX -DCD_VERSION -DENABLE_BINRELOC -DHAVE_STDINT_H
+@@ -28,16 +29,16 @@
+       highsocket.o prefix.o
+ 
+ .c.o: etw.h menu.h
+-      $(CC) $(CFLAGS) $(DEFINES) -c $<
++      $(CC) -pthread $(CFLAGS) $(DEFINES) -c $<
+ 
+ all: CHECKTOOLS etw
+ 
+ etw: $(OBJECTS)
+-      $(CC) $(SLIM) -o etw $(OBJECTS) $(LDFLAGS)
++      $(CC) -pthread $(SLIM) -o etw $(OBJECTS) $(LDFLAGS)
+ 
+ clean:
+       rm -rf etw *.o
+ 
+ CHECKTOOLS:
+-      @pkg-config --cflags sdl >/dev/null 2>&1 || (echo "Error: you need 
SDL"; exit 1)
+-      @pkg-config --cflags gtk+-2.0 >/dev/null 2>&1 || (echo "Error: you need 
GTK+2.0"; exit 1)
++      @$(PKG_CONFIG) --cflags sdl >/dev/null 2>&1 || (echo "Error: you need 
SDL"; exit 1)
++      @$(PKG_CONFIG) --cflags gtk+-2.0 >/dev/null 2>&1 || (echo "Error: you 
need GTK+2.0"; exit 1)
diff --minimal -Nru etw-3.6+svn162/debian/patches/series 
etw-3.6+svn162/debian/patches/series
--- etw-3.6+svn162/debian/patches/series        2019-05-01 22:13:04.000000000 
+0200
+++ etw-3.6+svn162/debian/patches/series        2019-06-22 22:46:31.000000000 
+0200
@@ -5,3 +5,4 @@
 change-configuration-path.patch
 do-not-use-PATH_MAX.patch
 debian-bug-928240.patch
+cross.patch
diff --minimal -Nru etw-3.6+svn162/debian/rules etw-3.6+svn162/debian/rules
--- etw-3.6+svn162/debian/rules 2019-05-01 22:13:04.000000000 +0200
+++ etw-3.6+svn162/debian/rules 2019-06-22 22:47:55.000000000 +0200
@@ -7,7 +7,7 @@
        dh $@
 
 override_dh_auto_configure:
-       $(MAKE) -C etw
+       dh_auto_build --sourcedirectory=etw
 
 override_dh_installdocs:
        cp ./web/EatTheWhistle.txt README

Reply via email to