public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrew Ammerlaan" <andrewammerlaan@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/gpsbabel/, sci-geosciences/gpsbabel/files/
Date: Mon, 30 Jan 2023 08:19:50 +0000 (UTC)	[thread overview]
Message-ID: <1675066779.612ad41ff7c2e1766aa2e9e807f142fe256b1ce6.andrewammerlaan@gentoo> (raw)

commit:     612ad41ff7c2e1766aa2e9e807f142fe256b1ce6
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 30 08:12:52 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jan 30 08:19:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=612ad41f

sci-geosciences/gpsbabel: drop use gui, add use qt6

Though the build system provides separate targets for
the gui and cli tools, the cmake configure files do not
reflect this and they will search for qt unconditionally.
Patching is non-trivial because the source files for the
gui and for the cli are not completely separated.

The package does support qt6 but the upstream cmake files
do not provide a means of selecting which to use and will
choose a version automagically. A simple patch is enough
to fix this.

Closes: https://bugs.gentoo.org/852836
Closes: https://bugs.gentoo.org/892559
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 .../gpsbabel-1.8.0-no-automagic-qt5-qt6.patch      | 34 +++++++++++++++
 ...babel-1.8.0.ebuild => gpsbabel-1.8.0-r1.ebuild} | 48 ++++++++++++++--------
 2 files changed, 64 insertions(+), 18 deletions(-)

diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.8.0-no-automagic-qt5-qt6.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.8.0-no-automagic-qt5-qt6.patch
new file mode 100644
index 000000000000..47a1a37e1ba3
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.8.0-no-automagic-qt5-qt6.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2a7d805..65bd4db 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,7 +26,11 @@ set(CMAKE_AUTORCC ON)
+ add_executable(gpsbabel)
+ 
+ # Find the QtCore library
+-find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
++if(USE_QT6)
++  find_package(QT NAMES Qt6 COMPONENTS Core REQUIRED)
++else()
++  find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED)
++endif()
+ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
+ list(APPEND QT_LIBRARIES Qt${QT_VERSION_MAJOR}::Core)
+ if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.12)
+diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
+index 4c839c2..ac329dd 100644
+--- a/gui/CMakeLists.txt
++++ b/gui/CMakeLists.txt
+@@ -23,7 +23,11 @@ endif()
+ add_executable(${TARGET} WIN32 MACOSX_BUNDLE)
+ 
+ # Find the QtCore library
+-find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
++if(USE_QT6)
++  find_package(QT NAMES Qt6 COMPONENTS Core REQUIRED)
++else()
++  find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED)
++endif()
+ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Network SerialPort Widgets Xml REQUIRED)
+ list(APPEND QT_LIBRARIES Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::SerialPort Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml)
+ if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.12)

diff --git a/sci-geosciences/gpsbabel/gpsbabel-1.8.0.ebuild b/sci-geosciences/gpsbabel/gpsbabel-1.8.0-r1.ebuild
similarity index 68%
rename from sci-geosciences/gpsbabel/gpsbabel-1.8.0.ebuild
rename to sci-geosciences/gpsbabel/gpsbabel-1.8.0-r1.ebuild
index 47952f41dd2f..cfe639e603e8 100644
--- a/sci-geosciences/gpsbabel/gpsbabel-1.8.0.ebuild
+++ b/sci-geosciences/gpsbabel/gpsbabel-1.8.0-r1.ebuild
@@ -23,7 +23,7 @@ fi
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="doc gui"
+IUSE="doc qt6"
 
 BDEPEND="
 	virtual/pkgconfig
@@ -32,29 +32,42 @@ BDEPEND="
 		dev-lang/perl
 		dev-libs/libxslt
 	)
-	gui? ( dev-qt/linguist-tools:5 )
+	!qt6? ( dev-qt/linguist-tools:5 )
+	qt6? ( dev-qt/qttools:6[linguist] )
 "
-# Even with gui disabled, still links with qtcore
+
 RDEPEND="
 	dev-libs/expat
 	sci-libs/shapelib:=
 	sys-libs/zlib:=[minizip]
 	virtual/libusb:1
-	dev-qt/qtcore:5
-	gui? (
+	!qt6? (
+		dev-qt/qtcore:5
 		dev-qt/qtgui:5
 		dev-qt/qtnetwork:5
-		dev-qt/qttranslations:5
+		dev-qt/qtserialport:5
 		dev-qt/qtwebchannel:5
 		dev-qt/qtwebengine:5[widgets]
 		dev-qt/qtwidgets:5
 		dev-qt/qtxml:5
 	)
+	qt6? (
+		dev-qt/qtbase:6[gui,network,widgets,xml]
+		dev-qt/qtserialport:6
+		dev-qt/qtwebchannel:6
+		dev-qt/qtwebengine:6[widgets]
+		dev-qt/qt5compat:6
+	)
 "
+
 DEPEND="${RDEPEND}"
 
 DOCS=( AUTHORS NEWS README.{contrib,igc,mapconverter,md} gui/README.{contrib,gui} )
 
+PATCHES=(
+	"${FILESDIR}/${PN}-1.8.0-no-automagic-qt5-qt6.patch"
+)
+
 src_prepare() {
 	cmake_src_prepare
 
@@ -63,13 +76,14 @@ src_prepare() {
 }
 
 src_configure() {
-	mycmakeargs=(
+	local mycmakeargs=(
 		-DGPSBABEL_WITH_LIBUSB=pkgconfig
 		-DGPSBABEL_WITH_SHAPELIB=pkgconfig
 		-DGPSBABEL_WITH_ZLIB=pkgconfig
-		-DGPSBABEL_MAPPREVIEW=$(usex gui)
-		-DGPSBABEL_EMBED_MAP=$(usex gui)
-		-DGPSBABEL_EMBED_TRANSLATIONS=$(usex gui)
+		-DGPSBABEL_MAPPREVIEW=ON
+		-DGPSBABEL_EMBED_MAP=ON
+		-DGPSBABEL_EMBED_TRANSLATIONS=ON
+		-DUSE_QT6="$(usex qt6)"
 	)
 
 	cmake_src_configure
@@ -77,7 +91,7 @@ src_configure() {
 
 cmake_src_compile() {
 	cmake_build gpsbabel
-	use gui && cmake_build gpsbabelfe
+	cmake_build gpsbabelfe
 	use doc && cmake_build gpsbabel.html
 }
 
@@ -86,11 +100,9 @@ src_install() {
 	einstalldocs
 
 	dobin gpsbabel
-	if use gui; then
-		dobin gui/GPSBabelFE/gpsbabelfe
-		insinto /usr/share/${PN}/translations/
-		doins gui/gpsbabel*_*.qm
-		newicon gui/images/appicon.png ${PN}.png
-		domenu gui/gpsbabel.desktop
-	fi
+	dobin gui/GPSBabelFE/gpsbabelfe
+	insinto /usr/share/${PN}/translations/
+	doins gui/gpsbabel*_*.qm
+	newicon gui/images/appicon.png ${PN}.png
+	domenu gui/gpsbabel.desktop
 }


             reply	other threads:[~2023-01-30  8:19 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-30  8:19 Andrew Ammerlaan [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-26 10:25 [gentoo-commits] repo/gentoo:master commit in: sci-geosciences/gpsbabel/, sci-geosciences/gpsbabel/files/ Sam James
2022-08-25  1:23 Sam James
2021-05-28  1:14 Sam James
2020-03-12 21:22 Andreas K. Hüttel
2020-03-12 20:49 Andreas K. Hüttel
2017-09-25 11:18 Andreas Sturmlechner
2017-09-16 12:47 Andreas Sturmlechner
2017-03-10  1:15 Andreas Sturmlechner
2017-01-21 16:14 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1675066779.612ad41ff7c2e1766aa2e9e807f142fe256b1ce6.andrewammerlaan@gentoo \
    --to=andrewammerlaan@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox