Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New build-helper: qmake
@ 2019-11-03  7:45 voidlinux-github
  2019-11-03  9:32 ` voidlinux-github
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: voidlinux-github @ 2019-11-03  7:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1751 bytes --]

There is a new pull request by newbluemoon against master on the void-packages repository

https://github.com/newbluemoon/void-packages qmake-build-helper
https://github.com/void-linux/void-packages/pull/16082

New build-helper: qmake
There are a couple of packages which have a mixed build-style, like when a configure script or a makefile calls `qmake`. This causes trouble in cross builds, because each style has its own setup, but in the current situation you can only have one: either a setup for, e.g., `gnu-configure` or `qmake` style.

This build-helper just creates qmake’s `qt.conf` (from the qmake build-style) and creates a wrapper-qmake to actually use this configuration. So that qmake can be set up correctly for cross builds when it is invoked by other styles.

Packages identified so far are: (local native and cross builds were all ok)

* abGate
* djview @leahneukirchen 
* gpsbabel @hanspolo 
  There is an update to 1.6.0, but in the current version Gmaps is patched out and the patch doesn’t apply anymore (might be a bit more to it now) so I didn’t update (don’t know about the implications).
* qjackctl @Piraty, I somewhat reverted your recent changes, are you OK with it? :)
* qsynth, also updated to 0.6.0.
* recoll, also updated to 1.26.1
  It now nees libxslt, but the `xslt-config` wrapper uses `xml2-config` which is hardcoded as `/usr/bin/xml2-config` so it’s not using the `xml2-config` wrapper and fails. As a quick workaround I patched it out in `pre_configure()`, but think this should be done when the wrapper is created.
* smplayer @Hoshpak 
* sonic-visualiser
* maybe some more ...

A patch file from https://github.com/void-linux/void-packages/pull/16082.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qmake-build-helper-16082.patch --]
[-- Type: text/x-diff, Size: 20163 bytes --]

From ce2e41487531ada2f6ed79f65cf2cc12752718da Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:40:17 +0100
Subject: [PATCH 1/9] New build-helper: qmake

---
 Manual.md                    |  8 +++++-
 common/build-helper/qmake.sh | 48 ++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 1 deletion(-)
 create mode 100644 common/build-helper/qmake.sh

diff --git a/Manual.md b/Manual.md
index f8928ed6851..a7d6930606b 100644
--- a/Manual.md
+++ b/Manual.md
@@ -944,11 +944,17 @@ additional paths to be searched when linking target binaries to be introspected.
 `qemu-<target_arch>-static` when running the target binary. You can for example specify
 `GIR_EXTRA_OPTIONS="-strace"` to see a trace of what happens when running that binary.
 
-- 'qemu' sets additional variables for the `cmake` and `meson` build styles to allow
+- `qemu` sets additional variables for the `cmake` and `meson` build styles to allow
 executing cross-compiled binaries inside qemu.
 It sets `CMAKE_CROSSCOMPILING_EMULATOR` for cmake and `exe_wrapper` for meson
 to `qemu-<target_arch>-static` and `QEMU_LD_PREFIX` to `XBPS_CROSS_BASE`
 
+- `qmake` creates the `qt.conf` configuration file (cf. `qmake` `build_style`)
+needed for cross builds and a qmake-wrapper to make `qmake` use this configuration.
+This aims to fix cross-builds for when the build-style is mixed: e.g. when in a
+`gnu-configure` style the configure script calls `qmake` or a `Makefile` in
+`gnu-makefile` style, respectively.
+
 <a id="functions"></a>
 ### Functions
 
diff --git a/common/build-helper/qmake.sh b/common/build-helper/qmake.sh
new file mode 100644
index 00000000000..62581557aec
--- /dev/null
+++ b/common/build-helper/qmake.sh
@@ -0,0 +1,48 @@
+# This build-helper sets up qmake’s cross environment
+# in cases the build-style is mixed,
+# e.g. when in a gnu-configure style the configure
+# script calls qmake or a makefile in a gnu-makefile style,
+# respectively.
+
+if [ "$CROSS_BUILD" ]; then
+	cat > "${XBPS_WRAPPERDIR}/qt.conf" <<_EOF
+[Paths]
+Sysroot=${XBPS_CROSS_BASE}
+Prefix=${XBPS_CROSS_BASE}/usr
+ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
+Data=${XBPS_CROSS_BASE}/usr/share/qt5
+Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
+Headers=${XBPS_CROSS_BASE}/usr/include/qt5
+Libraries=${XBPS_CROSS_BASE}/usr/lib
+LibraryExecutables=/usr/lib/qt5/libexec
+Binaries=/usr/lib/qt5/bin
+Tests=${XBPS_CROSS_BASE}/usr/tests
+Plugins=/usr/lib/qt5/plugins
+Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
+Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
+Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
+Settings=${XBPS_CROSS_BASE}/etc/xdg
+Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
+HostPrefix=/usr
+HostData=/usr/lib/qt5
+HostBinaries=/usr/lib/qt5/bin
+HostLibraries=/usr/lib
+Spec=linux-g++
+TargetSpec=linux-g++
+_EOF
+
+	# create the qmake-wrapper here because it only
+	# makes sense together with the qmake build-helper
+	# and not to interfere with e.g. the qmake build-style
+        cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF
+#!/bin/sh
+exec /usr/lib/qt5/bin/qmake "\$@" \
+	QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX QMAKE_LINK_C=$CC \
+	QMAKE_CFLAGS+="${CFLAGS}" QMAKE_CXXFLAGS+="${CXXFLAGS}" \
+	QMAKE_LFLAGS+="${LDFLAGS}" \
+	-qtconf "${XBPS_WRAPPERDIR}/qt.conf"
+_EOF
+
+	chmod 755 ${XBPS_WRAPPERDIR}/qmake
+	cp -p ${XBPS_WRAPPERDIR}/qmake{,-qt5}
+fi

From fac324b17ff8ca50c1b52af727fde44c9e9383ba Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:42:21 +0100
Subject: [PATCH 2/9] abGate: use qmake build-helper

---
 srcpkgs/abGate/patches/Makefile.patch | 26 --------------------------
 srcpkgs/abGate/template               |  5 +++++
 2 files changed, 5 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/abGate/patches/Makefile.patch

diff --git a/srcpkgs/abGate/patches/Makefile.patch b/srcpkgs/abGate/patches/Makefile.patch
deleted file mode 100644
index eb30dae273c..00000000000
--- a/srcpkgs/abGate/patches/Makefile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- Makefile	2018-06-27 09:47:49.602920765 +0000
-+++ -	2018-06-27 09:48:44.684191018 +0000
-@@ -10,7 +10,7 @@
- 	cp $^ $(BUNDLE)
- 
- abGateQt/libabGateQt.so:
--	cd abGateQt; qmake; make
-+	cd abGateQt; qmake-qt5 QMAKE_CC=$(CC) QMAKE_CXX=$(CXX) QMAKE_LINK=$(CXX); make CC=$(CC) CXX=$(CXX) LINK=$(CXX)
- 
- gate.so: gate.cpp
- 	g++ $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -g -O3 -shared -fPIC -DPIC -Wl,--as-needed gate.cpp `pkg-config --cflags --libs lv2` -o gate.so
---- Makefile	2018-06-27 09:50:25.705750049 +0000
-+++ -	2018-06-27 09:50:52.610670910 +0000
-@@ -13,10 +13,10 @@
- 	cd abGateQt; qmake-qt5 QMAKE_CC="$(CC)" QMAKE_CXX="$(CXX)" QMAKE_LINK="$(CXX)"; make CC="$(CC)" CXX="$(CXX)" LINK="$(CXX)"
- 
- gate.so: gate.cpp
--	g++ $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -g -O3 -shared -fPIC -DPIC -Wl,--as-needed gate.cpp `pkg-config --cflags --libs lv2` -o gate.so
-+	$(CXX) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -g -O3 -shared -fPIC -DPIC -Wl,--as-needed gate.cpp `pkg-config --cflags --libs lv2` -o gate.so
- 
- gate_gui.so: gate_gui.cpp main_window.cpp main_window.h knob.cpp knob.h toggle.cpp toggle.h preset_widget.cpp preset_widget.h presets.cpp presets.h preset.cpp preset.h gate_const.h plugin_configuration.h
--	g++ $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -g -O3 -shared -fPIC -DPIC -Wl,--as-needed gate_gui.cpp main_window.cpp knob.cpp toggle.cpp preset_widget.cpp presets.cpp preset.cpp `pkg-config --cflags gtkmm-2.4 --libs lv2 gthread-2.0` -o gate_gui.so
-+	$(CXX) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -g -O3 -shared -fPIC -DPIC -Wl,--as-needed gate_gui.cpp main_window.cpp knob.cpp toggle.cpp preset_widget.cpp presets.cpp preset.cpp `pkg-config --cflags gtkmm-2.4 --libs lv2 gthread-2.0` -o gate_gui.so
- 
- all: $(BUNDLE)
- 
diff --git a/srcpkgs/abGate/template b/srcpkgs/abGate/template
index 92f2a400d49..be374ec81c6 100644
--- a/srcpkgs/abGate/template
+++ b/srcpkgs/abGate/template
@@ -3,6 +3,7 @@ pkgname=abGate
 version=1.1.9
 revision=1
 build_style=gnu-makefile
+build_helper=qmake
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"
 makedepends="qt5-devel gtkmm2-devel lv2"
 depends="lv2"
@@ -16,3 +17,7 @@ checksum=898b50cce44dffedd82ec0e6d6d043a9d26534fbf07898d099575ea4c1057721
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-devel"
 fi
+
+pre_build() {
+	vsed -i -e 's/g++/$(CXX)/' Makefile
+}

From a3ed8ecc623ea8088b142518f4e2148d85766cca Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:43:57 +0100
Subject: [PATCH 3/9] djview: use qmake build-helper

and fix maintainer and license
---
 srcpkgs/djview/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/djview/template b/srcpkgs/djview/template
index 7c2b1df2664..60f1035f233 100644
--- a/srcpkgs/djview/template
+++ b/srcpkgs/djview/template
@@ -3,11 +3,16 @@ pkgname=djview
 version=4.10.6
 revision=1
 build_style=gnu-configure
-hostmakedepends="qt5-qmake qt5-tools pkg-config"
+build_helper=qmake
+hostmakedepends="qt5-qmake qt5-host-tools pkg-config"
 makedepends="qt5-devel djvulibre-devel libxkbcommon-devel libSM-devel libXt-devel"
 short_desc="Portable DjVu viewer and browser plugin"
-maintainer="Christian Neukirchen <chneukirchen@gmail.com>"
-license="GPL-2"
+maintainer="Leah Neukirchen <leah@vuxu.org>"
+license="GPL-2.0-or-later"
 homepage="http://djvu.sourceforge.net/djview4.html"
 distfiles="${SOURCEFORGE_SITE}/djvu/${pkgname}-${version}.tar.gz"
 checksum=8446f3cd692238421a342f12baa365528445637bffb96899f319fe762fda7c21
+
+if [ "${CROSS_BUILD}" ]; then
+	configure_args+=" ac_cv_path_QMAKE=${XBPS_WRAPPERDIR}/qmake-qt5"
+fi

From a5836c6dfc1e7f377c2c3de927b3f9ddfd10a327 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:45:20 +0100
Subject: [PATCH 4/9] gpsbabel: use qmake build-helper

enable cross-builds and fix package cleanup
---
 srcpkgs/gpsbabel/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gpsbabel/template b/srcpkgs/gpsbabel/template
index fefdd27cf25..52ca3beb85c 100644
--- a/srcpkgs/gpsbabel/template
+++ b/srcpkgs/gpsbabel/template
@@ -4,6 +4,7 @@ version=1.5.4
 revision=1
 wrksrc="gpsbabel-gpsbabel_${version//./_}"
 build_style=gnu-configure
+build_helper=qmake
 makedepends="qt5-devel libusb-compat-devel"
 depends="desktop-file-utils"
 short_desc="Converts waypoints, tracks, and routes between popular GPS formats"
@@ -14,10 +15,10 @@ distfiles="https://github.com/gpsbabel/${pkgname}/archive/${pkgname}_${version//
 checksum=8cd740db0b92610abff71e942e8a987df58cd6ca5f25cca86e15f2b00e190704
 
 replaces="gpsbabel-gui>=0"
-nocross="Builds components as the host arch"
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-devel"
+	configure_args+=" ac_cv_prog_QMAKE=${XBPS_WRAPPERDIR}/qmake"
 fi
 
 do_build() {
@@ -44,7 +45,7 @@ do_install() {
 	mv gui/*.qm ${DESTDIR}/usr/share/gpsbabel/translations
 }
 
-do_clean() {
+post_pkg() {
 	# Remove temporary stuff from masterdir
 	rm -rf ${XBPS_BUILDDIR}/babelweb
 }

From 05093fa07ce503391f0815086ea9642bfcd9226e Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:47:33 +0100
Subject: [PATCH 5/9] qjackctl: use qmake build-helper

---
 srcpkgs/qjackctl/template | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/qjackctl/template b/srcpkgs/qjackctl/template
index ef52b716f0f..9cf6b2e1d3a 100644
--- a/srcpkgs/qjackctl/template
+++ b/srcpkgs/qjackctl/template
@@ -2,7 +2,8 @@
 pkgname=qjackctl
 version=0.6.0
 revision=1
-build_style=qmake
+build_style=gnu-configure
+build_helper=qmake
 hostmakedepends="pkg-config"
 makedepends="qt5-devel jack-devel qt5-x11extras-devel"
 depends="desktop-file-utils hicolor-icon-theme jack"
@@ -15,16 +16,9 @@ checksum=9dd5ee9a7f0a2d1d530b10652e09972732dc210239b7c082be816f0e7bdfadcd
 
 if [ "${CROSS_BUILD}" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-devel qt5-x11extras-devel"
-	crossargs="--host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE"
+	configure_args+=" ac_cv_path_ac_cv_qmake=${XBPS_WRAPPERDIR}/qmake"
 fi
 
 do_patch() {
 	vsed -i '21i#include <unistd.h> // gethostname()' src/qjackctl.cpp
-	vsed -i "s/@\$(QMAKE).*/& QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX/" Makefile.in
-}
-
-pre_configure() {
-	local defargs="--prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin --with-libtool-sysroot=$XBPS_CROSS_BASE --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var"
-	local args="--enable-jack-version --disable-xunique"
-	./configure $defargs $args $crossargs
 }

From 6f33ba9a2f9ae1652995a51951a5b624eb693750 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:48:42 +0100
Subject: [PATCH 6/9] qsynth: update to 0.6.0

and use qmake build-helper
---
 srcpkgs/qsynth/template | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/qsynth/template b/srcpkgs/qsynth/template
index b607e283983..cf870fa6696 100644
--- a/srcpkgs/qsynth/template
+++ b/srcpkgs/qsynth/template
@@ -1,8 +1,9 @@
 # Template file for 'qsynth'
 pkgname=qsynth
-version=0.5.6
+version=0.6.0
 revision=1
 build_style=gnu-configure
+build_helper=qmake
 hostmakedepends="pkg-config qt5-tools"
 makedepends="qt5-x11extras-devel jack-devel fluidsynth-devel"
 depends="fluidsynth jack desktop-file-utils hicolor-icon-theme"
@@ -11,20 +12,9 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="http://qsynth.sourceforge.io"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=a6eb404778fad87bb37fa1fb4caf1d80f24a324f9c3a22b669df2f8c94849040
+checksum=322a0097b6a74e8ebaf590f76b6acda4489d9ee7c612b97bffbac4e5b1047b9c
 
 if [ "${CROSS_BUILD}" ]; then
 	hostmakedepends+=" qt5-x11extras-devel"
+	configure_args+=" ac_cv_path_ac_cv_qmake=${XBPS_WRAPPERDIR}/qmake"
 fi
-
-post_configure() {
-	# make qmake use the right compiler when cross compiling, flags are recognized
-	vsed -i -e "s/\(export QMAKE = .\+\)/\1 QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX/" Makefile
-}
-
-pre_install() {
-	# revert previous changes else installation aborts with
-	# “Could not find qmake configuration file default.”
-	vsed -i -e "s/\(export QMAKE = .\+\) QMAKE_CC.\+/\1/" Makefile
-}
-

From 05396a517d4066eb322cd9271cdb98dac05729ef Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:50:43 +0100
Subject: [PATCH 7/9] recoll: update to 1.26.1

and use qmake build-helper
---
 srcpkgs/recoll/patches/qt-cross.patch | 25 -------------------------
 srcpkgs/recoll/template               | 23 ++++++++++++-----------
 2 files changed, 12 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/recoll/patches/qt-cross.patch

diff --git a/srcpkgs/recoll/patches/qt-cross.patch b/srcpkgs/recoll/patches/qt-cross.patch
deleted file mode 100644
index 7822cf95833..00000000000
--- a/srcpkgs/recoll/patches/qt-cross.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- qtgui/recoll.pro.in	2017-07-01 08:16:34.000000000 +0200
-+++ qtgui/recoll.pro.in	2017-12-17 14:56:27.433648300 +0100
-@@ -1,6 +1,13 @@
- TEMPLATE        = app
- LANGUAGE        = C++
- 
-+QMAKE_CC        = @CC@
-+QMAKE_CXX       = @CXX@
-+QMAKE_LINK      = @CXX@
-+QMAKE_CFLAGS    = @CFLAGS@
-+QMAKE_CXXFLAGS  = @CXXFLAGS@
-+QMAKE_LFLAGS    = @LDFLAGS@
-+
- VPATH = @srcdir@
- DEFINES += BUILDING_RECOLL
- 
-@@ -160,7 +167,7 @@
- 
- unix {
-   isEmpty(PREFIX) {
--    PREFIX = /usr/local
-+    PREFIX = /usr
-   }
-   message("Prefix is $$PREFIX")
-   DEFINES += PREFIX=\\\"$$PREFIX\\\"
diff --git a/srcpkgs/recoll/template b/srcpkgs/recoll/template
index 4ddcd6291ff..61bd80f884a 100644
--- a/srcpkgs/recoll/template
+++ b/srcpkgs/recoll/template
@@ -1,26 +1,27 @@
 # Template file for 'recoll'
 pkgname=recoll
-version=1.24.5
+version=1.26.1
 revision=1
 build_style=gnu-configure
-configure_args="--disable-python-module --enable-recollq --disable-x11mon"
+build_helper=qmake
+configure_args="--disable-python-module --disable-python-chm
+ --enable-recollq --disable-x11mon"
 hostmakedepends="automake libtool gettext-devel qt5-qmake"
 makedepends="xapian-core-devel zlib-devel libuuid-devel qt5-webkit-devel qt5-devel
- aspell-devel"
+ aspell-devel libxslt-devel"
 short_desc="Full text search tool based on Xapian backend"
 maintainer="Rui Abreu Ferreira <raf-ep@gmx.com>"
 license="GPL-2.0-or-later"
 homepage="https://www.lesbonscomptes.com/recoll/"
 distfiles="https://www.lesbonscomptes.com/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=9b25f4494023fcea729ff96dd2bb525e78df14caf4ebab3a93377a0b1f50a382
+checksum=438f251c24baf954020cf3298872c74982f4c4abffd10197d7700db83072e732
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-host-tools qt5-devel qt5-webkit-devel"
-fi
-
-pre_configure() {
-	autoreconf -fi
 
-	# Fix build with qt-511
-	sed -i '1,1i#include <QAbstractItemView>' qtgui/ssearch_w.cpp
-}
+	pre_configure() {
+		# make the xslt-config wrapper call the xml2-config wrapper
+		sed -i -e "s;/usr/bin/xml2-config;${XBPS_WRAPPERDIR}/xml2-config;" \
+		 ${XBPS_WRAPPERDIR}/xslt-config
+	}
+fi

From c0567519e1edd52b8b4c0f4aa7d6108be3e207b0 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:54:19 +0100
Subject: [PATCH 8/9] smplayer: use qmake build-helper

---
 srcpkgs/smplayer/template | 36 ++----------------------------------
 1 file changed, 2 insertions(+), 34 deletions(-)

diff --git a/srcpkgs/smplayer/template b/srcpkgs/smplayer/template
index 6c771bb5896..600edbb3a0f 100644
--- a/srcpkgs/smplayer/template
+++ b/srcpkgs/smplayer/template
@@ -3,6 +3,7 @@ pkgname=smplayer
 version=19.10.0
 revision=1
 build_style=gnu-makefile
+build_helper=qmake
 hostmakedepends="qt5-host-tools qt5-tools qt5-script-devel"
 makedepends="zlib-devel qt5-script-devel qt5-tools-devel"
 depends="hicolor-icon-theme desktop-file-utils"
@@ -14,44 +15,11 @@ distfiles="${SOURCEFORGE_SITE}/$pkgname/$pkgname-$version.tar.bz2"
 checksum=54f751c62977899307c838936d05018b0a4884ee95e0e0415ceb92054286076b
 
 # upstream bug report https://sourceforge.net/p/smplayer/bugs/935/
-if [ "$XBPS_TARGET_WORDSIZE" == "32" ];
-then
+if [ "$XBPS_TARGET_WORDSIZE" == "32" ]; then
 	broken="embedded web server does not compile on 32 bit architectures"
 fi
 
 pre_build() {
-	if [ "$CROSS_BUILD" ]; then
-	cat > "${wrksrc}/qt.conf" <<_EOF
-[Paths]
-Sysroot=${XBPS_CROSS_BASE}
-Prefix=${XBPS_CROSS_BASE}/usr
-ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
-Data=${XBPS_CROSS_BASE}/usr/share/qt5
-Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
-Headers=${XBPS_CROSS_BASE}/usr/include/qt5
-Libraries=${XBPS_CROSS_BASE}/usr/lib
-LibraryExecutables=/usr/lib/qt5/libexec
-Binaries=/usr/lib/qt5/bin
-Tests=${XBPS_CROSS_BASE}/usr/tests
-Plugins=/usr/lib/qt5/plugins
-Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
-Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
-Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
-Settings=${XBPS_CROSS_BASE}/etc/xdg
-Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
-HostPrefix=/usr
-HostData=/usr/lib/qt5
-HostBinaries=/usr/lib/qt5/bin
-HostLibraries=/usr/lib
-Spec=linux-g++
-TargetSpec=linux-g++
-_EOF
-		export QMAKE_OPTS="QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX QMAKE_CFLAGS=\"${CFLAGS}\" \
-			QMAKE_CXXFLAGS=\"${CXXFLAGS}\" QMAKE_LFLAGS=\"${LDFLAGS}\" -qtconf ${wrksrc}/qt.conf"
-	else
-		export QMAKE_OPTS="QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX QMAKE_CFLAGS=\"${CFLAGS}\" \
-			QMAKE_CXXFLAGS=\"${CXXFLAGS}\" QMAKE_LFLAGS=\"${LDFLAGS}\""
-	fi
 	sed -i 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' src/smplayer.pro
 	sed -i 's|PREFIX=/usr/local|PREFIX=/usr|' Makefile
 	sed -i 's|DOC_PATH=$(PREFIX)/share/doc/packages/smplayer|DOC_PATH=$(PREFIX)/share/doc/smplayer|' Makefile

From 25ba1fba3c2d4357d80a4e9a6f1c5dfdf356aa6b Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Sun, 3 Nov 2019 07:55:56 +0100
Subject: [PATCH 9/9] sonic-visualiser: user qmake build-helper

---
 srcpkgs/sonic-visualiser/template | 34 ++-----------------------------
 1 file changed, 2 insertions(+), 32 deletions(-)

diff --git a/srcpkgs/sonic-visualiser/template b/srcpkgs/sonic-visualiser/template
index 30b859e38f9..66d6028c7ad 100644
--- a/srcpkgs/sonic-visualiser/template
+++ b/srcpkgs/sonic-visualiser/template
@@ -3,6 +3,7 @@ pkgname=sonic-visualiser
 version=4.0
 revision=1
 build_style=gnu-configure
+build_helper=qmake
 hostmakedepends="pkg-config capnproto-devel"
 makedepends="capnproto-devel jack-devel libfishsound-devel libid3tag-devel
  liblo-devel liblrdf-devel libmad-devel liboggz-devel libsamplerate-devel
@@ -22,6 +23,7 @@ esac
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" qt5-qmake qt5-svg-devel"
+	configure_args+=" ac_cv_prog_QMAKE=${XBPS_WRAPPERDIR}/qmake"
 fi
 
 post_extract() {
@@ -32,38 +34,6 @@ post_extract() {
 		 test-svcore-data-fileio.pro \
 		 test-svcore-data-model.pro \
 		 test-svcore-system.pro
-
-		# It’s a mixed build-style: gnu-configure calls qmake:
-		# create the cross-qt.conf file from the qmake build-style
-		# and make qmake use it
-                cat > "${wrksrc}/qt.conf" <<_EOF
-[Paths]
-Sysroot=${XBPS_CROSS_BASE}
-Prefix=${XBPS_CROSS_BASE}/usr
-ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
-Data=${XBPS_CROSS_BASE}/usr/share/qt5
-Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
-Headers=${XBPS_CROSS_BASE}/usr/include/qt5
-Libraries=${XBPS_CROSS_BASE}/usr/lib
-LibraryExecutables=/usr/lib/qt5/libexec
-Binaries=/usr/lib/qt5/bin
-Tests=${XBPS_CROSS_BASE}/usr/tests
-Plugins=/usr/lib/qt5/plugins
-Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
-Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
-Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
-Settings=${XBPS_CROSS_BASE}/etc/xdg
-Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
-HostPrefix=/usr
-HostData=/usr/lib/qt5
-HostBinaries=/usr/lib/qt5/bin
-HostLibraries=/usr/lib
-Spec=linux-g++
-TargetSpec=linux-g++
-_EOF
-
-		sed -i -e "s;\(\$QMAKE -r\) \(sonic-visualiser.pro\);\1 -qtconf ${wrksrc}/qt.conf \2;" \
-		 configure
 	fi
 
 	case "$XBPS_TARGET_MACHINE" in

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New build-helper: qmake
  2019-11-03  7:45 [PR PATCH] New build-helper: qmake voidlinux-github
@ 2019-11-03  9:32 ` voidlinux-github
  2019-11-03 11:58 ` voidlinux-github
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: voidlinux-github @ 2019-11-03  9:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 145 bytes --]

New comment by Hoshpak on void-packages repository

https://github.com/void-linux/void-packages/pull/16082#issuecomment-549119401

Comment:
lgtm

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New build-helper: qmake
  2019-11-03  7:45 [PR PATCH] New build-helper: qmake voidlinux-github
  2019-11-03  9:32 ` voidlinux-github
@ 2019-11-03 11:58 ` voidlinux-github
  2019-11-03 14:01 ` voidlinux-github
  2019-11-04 16:44 ` [PR PATCH] [Merged]: " voidlinux-github
  3 siblings, 0 replies; 5+ messages in thread
From: voidlinux-github @ 2019-11-03 11:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 152 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/16082#issuecomment-549129480

Comment:
lgtm

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New build-helper: qmake
  2019-11-03  7:45 [PR PATCH] New build-helper: qmake voidlinux-github
  2019-11-03  9:32 ` voidlinux-github
  2019-11-03 11:58 ` voidlinux-github
@ 2019-11-03 14:01 ` voidlinux-github
  2019-11-04 16:44 ` [PR PATCH] [Merged]: " voidlinux-github
  3 siblings, 0 replies; 5+ messages in thread
From: voidlinux-github @ 2019-11-03 14:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 144 bytes --]

New comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/16082#issuecomment-549139429

Comment:
lgtm

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PR PATCH] [Merged]: New build-helper: qmake
  2019-11-03  7:45 [PR PATCH] New build-helper: qmake voidlinux-github
                   ` (2 preceding siblings ...)
  2019-11-03 14:01 ` voidlinux-github
@ 2019-11-04 16:44 ` voidlinux-github
  3 siblings, 0 replies; 5+ messages in thread
From: voidlinux-github @ 2019-11-04 16:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1582 bytes --]

There's a merged pull request on the void-packages repository

New build-helper: qmake
https://github.com/void-linux/void-packages/pull/16082

Description:
There are a couple of packages which have a mixed build-style, like when a configure script or a makefile calls `qmake`. This causes trouble in cross builds, because each style has its own setup, but in the current situation you can only have one: either a setup for, e.g., `gnu-configure` or `qmake` style.

This build-helper just creates qmake’s `qt.conf` (from the qmake build-style) and creates a wrapper-qmake to actually use this configuration. So that qmake can be set up correctly for cross builds when it is invoked by other styles.

Packages identified so far are: (local native and cross builds were all ok)

* abGate
* djview @leahneukirchen 
* gpsbabel @hanspolo 
  There is an update to 1.6.0, but in the current version Gmaps is patched out and the patch doesn’t apply anymore (might be a bit more to it now) so I didn’t update (don’t know about the implications).
* qjackctl @Piraty, I somewhat reverted your recent changes, are you OK with it? :)
* qsynth, also updated to 0.6.0.
* recoll, also updated to 1.26.1
  It now needs libxslt, but the `xslt-config` wrapper uses `xml2-config` which is hardcoded as `/usr/bin/xml2-config` so it’s not using the `xml2-config` wrapper and fails. As a quick workaround I patched it out in `pre_configure()`, but think this should be done when the wrapper is created.
* smplayer @Hoshpak 
* sonic-visualiser
* maybe some more ...

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-04 16:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-03  7:45 [PR PATCH] New build-helper: qmake voidlinux-github
2019-11-03  9:32 ` voidlinux-github
2019-11-03 11:58 ` voidlinux-github
2019-11-03 14:01 ` voidlinux-github
2019-11-04 16:44 ` [PR PATCH] [Merged]: " voidlinux-github

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).