commit:     32f2b98e9f02b90a652832a55498c662f77c56d3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  7 19:06:41 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 21 17:56:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32f2b98e

sci-geosciences/merkaartor: Port to Qt6

Bug: https://bugs.gentoo.org/941138
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/merkaartor-0.20.0-GNUInstallDirs.patch   | 44 ++++++++++
 .../files/merkaartor-0.20.0-disable-git.patch      | 13 +++
 sci-geosciences/merkaartor/merkaartor-9999.ebuild  | 94 ++++++++--------------
 sci-geosciences/merkaartor/metadata.xml            |  1 +
 4 files changed, 90 insertions(+), 62 deletions(-)

diff --git 
a/sci-geosciences/merkaartor/files/merkaartor-0.20.0-GNUInstallDirs.patch 
b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-GNUInstallDirs.patch
new file mode 100644
index 000000000000..202f4e0ed6e2
--- /dev/null
+++ b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-GNUInstallDirs.patch
@@ -0,0 +1,44 @@
+From 97fab944083c7a3a5716f1aaf40b9c62a3f84cf2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <[email protected]>
+Date: Sun, 26 May 2024 18:43:12 +0200
+Subject: [PATCH] Use CMAKE_INSTALL_LIBDIR for library installation path
+
+---
+ CMakeLists.txt        | 10 ++++++++--
+ plugins/plugins.cmake |  2 ++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e107439d..50d82e1d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,8 +21,14 @@ project(merkaartor VERSION ${VCS_VERSION})
+ # compatibility.
+ # Using configure_file() allows us to store the metadata in a .cpp file, thus
+ # only rebuilding that one and linking.
+-set(SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/merkaartor)
+-set(LIB_DIR   ${CMAKE_INSTALL_PREFIX}/lib/merkaartor)
++if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++    include(GNUInstallDirs)
++    set(SHARE_DIR 
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/merkaartor)
++    set(LIB_DIR   ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/merkaartor)
++else()
++    set(SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/merkaartor)
++    set(LIB_DIR   ${CMAKE_INSTALL_PREFIX}/lib/merkaartor)
++endif()
+ configure_file("${PROJECT_SOURCE_DIR}/cmake/build-metadata.cpp.in" 
"${PROJECT_BINARY_DIR}/build-metadata.cpp" @ONLY)
+ 
+ set(CMAKE_CXX_STANDARD 17)
+diff --git a/plugins/plugins.cmake b/plugins/plugins.cmake
+index 955be124..4c9fa499 100644
+--- a/plugins/plugins.cmake
++++ b/plugins/plugins.cmake
+@@ -1,6 +1,8 @@
+ 
+ if (APPLE)
+ set(PLUGINS_INSTALL_POSTFIX "merkaartor.app/Contents/plugins")
++elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++set(PLUGINS_INSTALL_POSTFIX 
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/merkaartor/plugins")
+ else()
+ set(PLUGINS_INSTALL_POSTFIX "lib/merkaartor/plugins")
+ endif()

diff --git 
a/sci-geosciences/merkaartor/files/merkaartor-0.20.0-disable-git.patch 
b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-disable-git.patch
new file mode 100644
index 000000000000..1f0188c86174
--- /dev/null
+++ b/sci-geosciences/merkaartor/files/merkaartor-0.20.0-disable-git.patch
@@ -0,0 +1,13 @@
+Description: Don't use git for version information.
+Author: Bas Couwenberg <[email protected]>
+Forwarded: not-needed
+
+--- a/cmake/vcs.cmake
++++ b/cmake/vcs.cmake
+@@ -1,5 +1,5 @@
+ 
+-if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
++if (EXISTS "${CMAKE_SOURCE_DIR}/.git" AND NOT EXISTS 
"${CMAKE_SOURCE_DIR}/debian")
+     # If git directory is present, we require git executable and gather our 
info from git commands.
+     find_package(Git)
+     if (NOT ${GIT_FOUND})

diff --git a/sci-geosciences/merkaartor/merkaartor-9999.ebuild 
b/sci-geosciences/merkaartor/merkaartor-9999.ebuild
index f0f4b1dbd195..892191a4c37c 100644
--- a/sci-geosciences/merkaartor/merkaartor-9999.ebuild
+++ b/sci-geosciences/merkaartor/merkaartor-9999.ebuild
@@ -1,12 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
-PLOCALES="cs de en es fi fr hr hu id_ID it ja nl pl pt_BR ru sv uk zh_TW"
-inherit flag-o-matic plocale qmake-utils xdg
+inherit cmake xdg
 
-if [[ ${PV} != *9999 ]] ; then
+if [[ ${PV} != *9999* ]] ; then
        SRC_URI="https://github.com/openstreetmap/${PN}/archive/${PV}.tar.gz -> 
${P}.tar.gz"
        KEYWORDS="~amd64 ~x86"
 else
@@ -15,87 +14,58 @@ else
 fi
 
 DESCRIPTION="Qt based map editor for the openstreetmap.org project"
-HOMEPAGE="http://www.merkaartor.be https://github.com/openstreetmap/merkaartor";
+HOMEPAGE="https://www.merkaartor.be 
https://github.com/openstreetmap/merkaartor";
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="debug exif gps libproxy webengine"
+IUSE="exif gps libproxy webengine zbar"
 
+# bundles qtsingleapplication again, unfortunately
 DEPEND="
-       dev-qt/qtconcurrent:5
-       dev-qt/qtcore:5
-       dev-qt/qtgui:5
-       dev-qt/qtnetwork:5
-       dev-qt/qtprintsupport:5
-       dev-qt/qtsingleapplication[X,qt5(+)]
-       dev-qt/qtsvg:5
-       dev-qt/qtwidgets:5
-       dev-qt/qtxml:5
+       dev-libs/protobuf:=
+       dev-qt/qt5compat:6
+       dev-qt/qtbase:6[concurrent,gui,network,widgets,xml]
+       dev-qt/qtnetworkauth:6
+       dev-qt/qtsvg:6
        sci-libs/gdal:=
        sci-libs/proj:=
        sys-libs/zlib
        exif? ( media-gfx/exiv2:= )
        gps? ( >=sci-geosciences/gpsd-3.17-r2:= )
-       libproxy? ( net-libs/libproxy )
-       webengine? ( dev-qt/qtwebengine:5[widgets] )
+       libproxy? ( >=net-libs/libproxy-0.5 )
+       webengine? ( dev-qt/qtwebengine:6[widgets] )
+       zbar? ( media-gfx/zbar )
 "
 RDEPEND="${DEPEND}"
 BDEPEND="
-       dev-qt/linguist-tools:5
+       dev-qt/qttools:6[linguist]
        virtual/pkgconfig
 "
 
-PATCHES=( "${FILESDIR}"/${PN}-0.18.3-sharedir-pluginsdir.patch ) # bug 621826
-
 DOCS=( AUTHORS CHANGELOG )
 
-src_prepare() {
-       default
-
-       rm -r 3rdparty || die "Failed to remove bundled libs"
-
-       my_rm_loc() {
-               sed -i -e "s:../translations/${PN}_${1}.\(ts\|qm\)::" 
src/src.pro || die
-               rm "translations/${PN}_${1}.ts" || die
-       }
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.20.0-disable-git.patch # downstream patch
+       # pending upstream PR: 
https://github.com/openstreetmap/merkaartor/pull/291
+       "${FILESDIR}"/${PN}-0.20.0-GNUInstallDirs.patch
+)
 
-       if [[ -n "$(plocale_get_locales)" ]]; then
-               plocale_for_each_disabled_locale my_rm_loc
-               $(qt5_get_bindir)/lrelease src/src.pro || die
-       fi
+src_prepare() {
+       # no Qt5 automagic, please
+       sed -e "/^ *find_package.*QT NAMES/s/Qt5 //" -i CMakeLists.txt || die
 
-       # build system expects to be building from git
-       if [[ ${PV} != *9999 ]] ; then
-               sed -i src/Config.pri -e "s:SION = .*:SION = \"${PV}\":g" || die
-       fi
+       cmake_src_prepare
 }
 
 src_configure() {
-       if has_version "<sci-libs/proj-8.0.0" ; then
-               # bug #685234
-               append-cppflags -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H
-       fi
-
-       # TRANSDIR_SYSTEM is for bug #385671
-       local myeqmakeargs=(
-               PREFIX="${EPREFIX}/usr"
-               LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-               PLUGINS_DIR="/usr/$(get_libdir)/${PN}/plugins"
-               SHARE_DIR_PATH="/usr/share/${PN}"
-               TRANSDIR_MERKAARTOR="${EPREFIX}/usr/share/${PN}/translations"
-               TRANSDIR_SYSTEM="${EPREFIX}/usr/share/qt5/translations"
-               SYSTEM_QTSA=1
-               NODEBUG=$(usex debug 0 1)
-               GEOIMAGE=$(usex exif 1 0)
-               GPSDLIB=$(usex gps 1 0)
-               LIBPROXY=$(usex libproxy 1 0)
-               USEWEBENGINE=$(usex webengine 1 0)
+       local mycmakeargs=(
+               -DGEOIMAGE=$(usex exif)
+               -DGPSD=$(usex gps)
+               -DLIBPROXY=$(usex libproxy)
+               -DWEBENGINE=$(usex webengine)
+               -DZBAR=$(usex zbar)
+               -DEXTRA_TESTS=OFF
        )
-       [[ ${PV} != *9999 ]] && myeqmakeargs+=( RELEASE=1 )
-
-       eqmake5 "${myeqmakeargs[@]}" Merkaartor.pro
-}
 
-src_install() {
-       emake install INSTALL_ROOT="${D}"
+       cmake_src_configure
 }

diff --git a/sci-geosciences/merkaartor/metadata.xml 
b/sci-geosciences/merkaartor/metadata.xml
index 45f8b6b3867e..d312634d92a6 100644
--- a/sci-geosciences/merkaartor/metadata.xml
+++ b/sci-geosciences/merkaartor/metadata.xml
@@ -8,6 +8,7 @@
        <use>
                <flag name="libproxy">Use <pkg>net-libs/libproxy</pkg> for 
getting the HTTP/HTTPS/SOCKS proxy configuration</flag>
                <flag name="webengine">Enable <pkg>dev-qt/qtwebengine</pkg> in 
some plugins</flag>
+               <flag name="zbar">Enable barcode support in 
MWalkingPapersBackground/GeoImage via <pkg>media-gfx/zbar</pkg></flag>
        </use>
        <upstream>
                <remote-id type="github">openstreetmap/merkaartor</remote-id>

Reply via email to