Bug#866070: higan FTCBFS: uses the build architecture compiler and pkg-config
Helmut Grohne
helmut at subdivi.de
Tue Jun 27 04:56:30 UTC 2017
Source: higan
Version: 098-2
Tags: patch
User: helmutg at debian.org
Usertags: rebootstrap
higan fails to cross build from source, because it uses the build
architecture compiler. By consistently using dh_auto_build, we can defer
the passing of cross compilers, but the upstream build system calls them
"compiler" rather than the standard "CXX", so we need to rename them.
Furthermore, it uses the build architecture pkg-config. dh_auto_build
also passes a suitable pkg-config via PKG_CONFIG. So after fixing all of
this higan cross builds successfully. Please consider applying the
attached patch.
Helmut
-------------- next part --------------
diff --minimal -Nru higan-098/debian/changelog higan-098/debian/changelog
--- higan-098/debian/changelog 2016-06-28 12:17:22.000000000 +0200
+++ higan-098/debian/changelog 2017-06-26 21:59:35.000000000 +0200
@@ -1,3 +1,13 @@
+higan (098-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + Let dh_auto_build pass cross compilers to $(MAKE).
+ + Rename cross compiler to $(compiler).
+ + cross.patch: Make pkg-config substitutable by dh_auto_build.
+
+ -- Helmut Grohne <helmut at subdivi.de> Mon, 26 Jun 2017 21:59:35 +0200
+
higan (098-2) unstable; urgency=medium
* Disable check for the size of long double to
diff --minimal -Nru higan-098/debian/patches/cross.patch higan-098/debian/patches/cross.patch
--- higan-098/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ higan-098/debian/patches/cross.patch 2017-06-26 21:59:35.000000000 +0200
@@ -0,0 +1,47 @@
+From: Helmut Grohne <helmut at subdivi.de>
+Subject: allow substituting pkg-config
+
+Index: higan-098/hiro/GNUmakefile
+===================================================================
+--- higan-098.orig/hiro/GNUmakefile
++++ higan-098/hiro/GNUmakefile
+@@ -14,8 +14,8 @@
+ endif
+
+ ifeq ($(hiro),gtk)
+- hiroflags = $(cppflags) $(flags) -DHIRO_GTK $(shell pkg-config --cflags gtk+-2.0 gtksourceview-2.0)
+- hirolink = $(shell pkg-config --libs gtk+-2.0 gtksourceview-2.0)
++ hiroflags = $(cppflags) $(flags) -DHIRO_GTK $(shell $(PKG_CONFIG) --cflags gtk+-2.0 gtksourceview-2.0)
++ hirolink = $(shell $(PKG_CONFIG) --libs gtk+-2.0 gtksourceview-2.0)
+ endif
+ endif
+
+@@ -36,12 +36,12 @@
+ endif
+
+ ifeq ($(hiro),gtk)
+- hiroflags = $(cppflags) $(flags) -DHIRO_GTK $(shell pkg-config --cflags gtk+-2.0 gtksourceview-2.0)
+- hirolink = -lX11 $(shell pkg-config --libs gtk+-2.0 gtksourceview-2.0)
++ hiroflags = $(cppflags) $(flags) -DHIRO_GTK $(shell $(PKG_CONFIG) --cflags gtk+-2.0 gtksourceview-2.0)
++ hirolink = -lX11 $(shell $(PKG_CONFIG) --libs gtk+-2.0 gtksourceview-2.0)
+ endif
+
+ ifeq ($(hiro),qt)
+- hiroflags = $(cppflags) $(flags) -DHIRO_QT $(shell pkg-config --cflags QtCore QtGui)
++ hiroflags = $(cppflags) $(flags) -DHIRO_QT $(shell $(PKG_CONFIG) --cflags QtCore QtGui)
+ hirolink = -lX11 $(shell pkg-config --libs QtCore QtGui)
+ endif
+ endif
+Index: higan-098/nall/GNUmakefile
+===================================================================
+--- higan-098.orig/nall/GNUmakefile
++++ higan-098/nall/GNUmakefile
+@@ -98,6 +98,8 @@
+ endif
+ endif
+
++PKG_CONFIG ?= pkg-config
++
+ # paths
+ prefix := $(HOME)/.local
+
diff --minimal -Nru higan-098/debian/patches/find_cairo.patch higan-098/debian/patches/find_cairo.patch
--- higan-098/debian/patches/find_cairo.patch 2016-06-21 19:29:10.000000000 +0200
+++ higan-098/debian/patches/find_cairo.patch 2017-06-26 21:59:35.000000000 +0200
@@ -9,7 +9,7 @@
flags += -march=native
else ifneq ($(filter $(platform),linux bsd),)
- flags += -fopenmp
-+ flags += -fopenmp $(shell pkg-config gtk+-2.0 --cflags)
++ flags += -fopenmp $(shell $(PKG_CONFIG) gtk+-2.0 --cflags)
link += -fopenmp
link += -Wl,-export-dynamic
link += -lX11 -lXext -ldl
diff --minimal -Nru higan-098/debian/patches/series higan-098/debian/patches/series
--- higan-098/debian/patches/series 2016-06-28 12:13:08.000000000 +0200
+++ higan-098/debian/patches/series 2017-06-26 21:59:35.000000000 +0200
@@ -11,3 +11,4 @@
include_cmath.patch
disable-alsa-on-non-linux.patch
disable_long_double_size_check.patch
+cross.patch
diff --minimal -Nru higan-098/debian/rules higan-098/debian/rules
--- higan-098/debian/rules 2016-06-21 19:18:12.000000000 +0200
+++ higan-098/debian/rules 2017-06-26 21:59:35.000000000 +0200
@@ -15,17 +15,17 @@
override_dh_auto_build:
mkdir -p icarus/obj icarus/out
- $(MAKE) --directory=icarus
+ dh_auto_build --builddirectory=icarus -- compiler='$$(CXX)'
mkdir -p higan/obj higan/out
- dh_auto_build -- profile=balanced name=higan-balanced
+ dh_auto_build -- profile=balanced name=higan-balanced compiler='$$(CXX)'
# Allow for building higan only once when testing stuff with the build option testbuild.
ifeq (,$(findstring testbuild,$(DEB_BUILD_OPTIONS)))
rm -rf higan/obj
mkdir -p higan/obj
- dh_auto_build -- profile=accuracy name=higan-accuracy
+ dh_auto_build -- profile=accuracy name=higan-accuracy compiler='$$(CXX)'
rm -rf higan/obj
mkdir -p higan/obj
- dh_auto_build -- profile=performance name=higan-performance
+ dh_auto_build -- profile=performance name=higan-performance compiler='$$(CXX)'
else
cp higan/out/higan-balanced higan/out/higan-accuracy
cp higan/out/higan-balanced higan/out/higan-performance
More information about the Pkg-games-devel
mailing list