Bug#941399: dino-im FTCBFS: configures for the build architecture

2019-09-30 Thread Helmut Grohne
Hi Martin,

On Mon, Sep 30, 2019 at 05:07:09PM +0200, Martin wrote:
> Note this remark by upstream in xmpp:c...@dino.im?join :
> 
> > [12:55:59] ‎larma‎: debacle: I did cross compile dino. You
> > probably don't want to use the ./configure script for it, but
> > use CMake directly

Yes, that's what my patch did.

> ‎> [13:00:14] ‎larma‎: All I had to do was to set PKG_CONFIG_PATH
> > and CMAKE_TOOLCHAIN_FILE

In Debian, PKG_CONFIG_PATH is set by a cross wrapper. We set
PKG_CONFIG_EXECUTABLE. dh_auto_configure takes care of that and it
generally just works.

> ‎> [13:01:13] ‎larma‎: We don't use valac's compilation feature (we
> > only use it for transpiling), so there shouldn't be any issues
> > specific to vala
> ‎> [13:03:29] ‎larma‎: But that was on Fedora, not Debian

That's good. The problem here is with the packaging of valac, not with
dino-im. We need a valac for the build architecture (to be able to run
it), but dependency resolution gets us a host architecture one.
Executing it yields an "Exec format error". It needs to be fixed on the
valac side. I expect that dino-im cross builds just fine once we fix the
packaging of valac. Thanks for your help.

Unfortunately, fixing the valac side is not trivial, because it also
supports a compiling mode. Also unfortunately, the valac maintainers
seem to be very busy and unable to reply to bug reports in a timely
manner.

Helmut



Bug#941399: dino-im FTCBFS: configures for the build architecture

2019-09-30 Thread Martin

Note this remark by upstream in xmpp:c...@dino.im?join :


[12:55:59] ‎larma‎: debacle: I did cross compile dino. You
probably don't want to use the ./configure script for it, but
use CMake directly

‎> [13:00:14] ‎larma‎: All I had to do was to set PKG_CONFIG_PATH

and CMAKE_TOOLCHAIN_FILE

‎> [13:01:13] ‎larma‎: We don't use valac's compilation feature (we

only use it for transpiling), so there shouldn't be any issues
specific to vala

‎> [13:03:29] ‎larma‎: But that was on Fedora, not Debian



Bug#941399: dino-im FTCBFS: configures for the build architecture

2019-09-29 Thread Helmut Grohne
Source: dino-im
Version: 0.0.git20190916.f746ce7-1
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

dino-im has a strange build system. It actually uses cmake with ninja
but wraps it inside configure and make. Doing so prevents debhelper from
passing the relevant cross compilation flags to cmake and thus
configures for the build architecture. The attached patch makes it use
cmake and ninja directly. However it doesn't make dino-im cross
buildable yet due to #889925. Please consider applying this patch anyway
as an incremental improvement and close this bug when doing so.

Helmut
diff --minimal -Nru dino-im-0.0.git20190916.f746ce7/debian/changelog 
dino-im-0.0.git20190916.f746ce7/debian/changelog
--- dino-im-0.0.git20190916.f746ce7/debian/changelog2019-09-17 
22:57:20.0 +0200
+++ dino-im-0.0.git20190916.f746ce7/debian/changelog2019-09-30 
06:00:18.0 +0200
@@ -1,3 +1,10 @@
+dino-im (0.0.git20190916.f746ce7-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Imrpove cross building: Use cmake+ninja directly. (Closes: #-1)
+
+ -- Helmut Grohne   Mon, 30 Sep 2019 06:00:18 +0200
+
 dino-im (0.0.git20190916.f746ce7-1) unstable; urgency=medium
 
   * New upstream git snapshot
diff --minimal -Nru dino-im-0.0.git20190916.f746ce7/debian/rules 
dino-im-0.0.git20190916.f746ce7/debian/rules
--- dino-im-0.0.git20190916.f746ce7/debian/rules2019-09-17 
22:56:37.0 +0200
+++ dino-im-0.0.git20190916.f746ce7/debian/rules2019-09-30 
06:00:18.0 +0200
@@ -3,10 +3,9 @@
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 %:
-   dh $@
+   dh $@ --buildsystem=cmake+ninja
 
 override_dh_auto_configure:
-   SHARED_SIGNAL_PROTOCOL=1 ./configure --prefix=/usr 
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dino-im --bindir=/usr/bin 
--enable-plugin=notification-sound
+   SHARED_SIGNAL_PROTOCOL=1 dh_auto_configure -- 
-DENABLED_PLUGINS=notification-sound -DBIN_INSTALL_DIR=/usr/bin 
-DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/dino-im
 
-override_dh_auto_clean:
-   rm -rf build/ Makefile
+override_dh_auto_test: