Bug#964148: harvid FTCBFS: hard codes the build architecture pkg-config
Source: harvid
Version: 0.8.3-2
Tags: patch
User: debian-cross@lists.debian.org
Usertags: ftcbfs
harvid fails to cross build from source, because its Makefiles hard code
the build architecture pkg-config. Just making it substitutable is not
enough, since it requires a working pkg-config for the install target,
but debhelper only passes it during dh_auto_build. dpkg's buildtools.mk
can help here. Please consider applying the attached patch.
Helmut
diff --minimal -Nru harvid-0.8.3/debian/changelog harvid-0.8.3/debian/changelog
--- harvid-0.8.3/debian/changelog 2020-06-30 12:08:34.000000000 +0200
+++ harvid-0.8.3/debian/changelog 2020-07-01 23:21:52.000000000 +0200
@@ -1,3 +1,12 @@
+harvid (0.8.3-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + Make pkg-config substitutable.
+ + Pass PKG_CONFIG to all targets.
+
+ -- Helmut Grohne <helmut@subdivi.de> Wed, 01 Jul 2020 23:21:52 +0200
+
harvid (0.8.3-2) unstable; urgency=medium
* Team upload.
diff --minimal -Nru harvid-0.8.3/debian/patches/cross.patch harvid-0.8.3/debian/patches/cross.patch
--- harvid-0.8.3/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ harvid-0.8.3/debian/patches/cross.patch 2020-07-01 23:21:44.000000000 +0200
@@ -0,0 +1,57 @@
+--- harvid-0.8.3.orig/common.mak
++++ harvid-0.8.3/common.mak
+@@ -13,6 +13,7 @@
+ hdocdir ?= $(docdir)/harvid
+
+ ECHO=$(shell which echo) -e
++PKG_CONFIG ?= pkg-config
+
+ ARCHFLAGS=
+ ARCHINCLUDES=
+--- harvid-0.8.3.orig/libharvid/Makefile
++++ harvid-0.8.3/libharvid/Makefile
+@@ -2,7 +2,7 @@
+
+ FLAGS=
+ FLAGS+=$(ARCHINCLUDES) $(ARCHFLAGS)
+-FLAGS+=`pkg-config --cflags libavcodec libavformat libavutil libswscale`
++FLAGS+=`$(PKG_CONFIG) --cflags libavcodec libavformat libavutil libswscale`
+ LIBHARVID_OBJECTS = \
+ decoder_ctrl.o \
+ ffdecoder.o \
+@@ -52,7 +52,7 @@
+ $(LIBHARVID_OBJECTS) \
+ $(CFLAGS) $(FLAGS) \
+ .libharvid_dll.c dlog_null.c \
+- $(LDFLAGS) `pkg-config --libs libavcodec libavformat libavutil libswscale` $(ARCHLIBES)
++ $(LDFLAGS) `$(PKG_CONFIG) --libs libavcodec libavformat libavutil libswscale` $(ARCHLIBES)
+ $(STRIP) libharvid.$(LIBEXT)
+
+ libharvid.dylib: $(LIBHARVID_OBJECTS) $(LIBHARVID_H) .libharvid.sym
+--- harvid-0.8.3.orig/src/Makefile
++++ harvid-0.8.3/src/Makefile
+@@ -8,20 +8,20 @@
+
+ CONFIGTEMP=conf.out
+
+-ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --exists libavcodec libavformat libavutil libswscale || echo no), no)
++ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --exists libavcodec libavformat libavutil libswscale || echo no), no)
+ $(error "http://ffmpeg.org is required - install libavcodec-dev, libswscale-dev, etc")
+ endif
+
+-ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --exists libpng || echo no), no)
++ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --exists libpng || echo no), no)
+ $(error "libpng is required - install libpng-dev")
+ endif
+
+ FLAGS=-I../libharvid/
+ FLAGS+=$(ARCHINCLUDES) $(ARCHFLAGS)
+-FLAGS+=`pkg-config --cflags libavcodec libavformat libavutil libpng libswscale`
++FLAGS+=`$(PKG_CONFIG) --cflags libavcodec libavformat libavutil libpng libswscale`
+
+ LOADLIBES=$(ARCHLIBES)
+-LOADLIBES+=`pkg-config --libs libavcodec libavformat libavutil libpng libswscale`
++LOADLIBES+=`$(PKG_CONFIG) --libs libavcodec libavformat libavutil libpng libswscale`
+ LOADLIBES+=-ljpeg
+ LOADLIBES+=-lz -lm
+
diff --minimal -Nru harvid-0.8.3/debian/patches/series harvid-0.8.3/debian/patches/series
--- harvid-0.8.3/debian/patches/series 2020-06-30 12:08:34.000000000 +0200
+++ harvid-0.8.3/debian/patches/series 2020-07-01 23:19:16.000000000 +0200
@@ -1,3 +1,4 @@
drop_jpeg_test.patch
0004-fix-parallel-building.patch
spelling.patch
+cross.patch
diff --minimal -Nru harvid-0.8.3/debian/rules harvid-0.8.3/debian/rules
--- harvid-0.8.3/debian/rules 2020-06-30 12:08:34.000000000 +0200
+++ harvid-0.8.3/debian/rules 2020-07-01 23:21:52.000000000 +0200
@@ -1,6 +1,8 @@
#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
+DPKG_EXPORT_BUILDTOOLS=1
+-include /usr/share/dpkg/buildtools.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
Reply to: