summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2023-02-14 13:03:01 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2023-02-17 15:29:44 -0500
commit0a03d4c6a68aeaebe76adb2b6b923aa7f656b8f7 (patch)
treead7afd1dd99effabb10eb73e557a4002353ebc75
parente677d82a9c7fd44c944e06c90e50436349c91144 (diff)
[marble]: upgrade to v22.12.2
now building all split packages, to allow proper version pinning
-rw-r--r--libre/marble/PKGBUILD81
-rw-r--r--libre/marble/no-knewstuff.patch52
2 files changed, 117 insertions, 16 deletions
diff --git a/libre/marble/PKGBUILD b/libre/marble/PKGBUILD
index 6ceba0fcd..f256c3e65 100644
--- a/libre/marble/PKGBUILD
+++ b/libre/marble/PKGBUILD
@@ -4,30 +4,44 @@
# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com>
# Contributor: Balló György <ballogyor+arch at gmail dot com>
# Contributor: bill-auger <bill-auger@programmer.net>
+# Maintainer: Parabola Hackers <dev@lists.parabola.nu>
# parabola changes and rationale:
-# - replaced qt5-webengine dependency with qt5-webkit
+# - replaced 'qt5-webengine' dependency with 'qt5-webkit'
+# - pin to 'marble-*' binaries to 'marble-common'
+# Note: This is done to prevent breakage.
+# Only 'marble-common' requires the change;
+# but then 'marble-common' would need to be pinned
+# to (require) it's clients, which is weird.
+# For that reason, we build all split-packages.
pkgbase=marble
-pkgname=(marble-common)
-pkgver=20.12.1
-pkgrel=2
+pkgname=(marble-common marble-qt marble-maps marble)
+pkgver=22.12.2
+pkgrel=1
pkgrel+=.parabola1
-pkgdesc="Desktop Globe"
+pkgdesc='Desktop Globe'
arch=(x86_64)
arch+=(armv7h i686)
-url="https://www.kde.org/applications/system/marble"
+url='https://apps.kde.org/marble/'
license=(GPL)
-makedepends=(extra-cmake-modules gpsd kdoctools knewstuff kparts krunner libwlocate phonon-qt5
+makedepends=(extra-cmake-modules gpsd kdoctools kparts krunner libwlocate phonon-qt5
plasma-workspace qt5-serialport qt5-tools qt5-webengine shapelib protobuf)
-makedepends=(${makedepends[@]/qt5-webengine/qt5-webkit})
-source=("https://download.kde.org/stable/release-service/$pkgver/src/$pkgbase-$pkgver.tar.xz"{,.sig})
-sha256sums=('65c936ceefdd368494778e55a921f9d111e6fabab718b948f3f59ede5f446970'
- 'SKIP')
+makedepends=( ${makedepends[@]/qt5-webengine/qt5-webkit} )
+source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgbase-$pkgver.tar.xz{,.sig}
+ no-knewstuff.patch)
+sha256sums=('ed9a6aed3c5c5057cce25e28ac0e9eaf377d79d866375fa62a5ac072d4edda3a'
+ 'SKIP'
+ '4718d89d5f0dc79969196ea7afc71bfd37ed9570c3e2718f0c54549bbb0991a1')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aacid@kde.org>
- F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87) # Christoph Feck <cfeck@kde.org>
+ F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck <cfeck@kde.org>
+ D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org>
+
+prepare() {
+ patch -d $pkgbase-$pkgver -p1 < no-knewstuff.patch # Drop unused dependency
+}
build() {
cmake -B build -S $pkgbase-$pkgver \
@@ -35,6 +49,7 @@ build() {
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DQT_PLUGINS_DIR=lib/qt/plugins \
-DBUILD_TESTING=OFF \
+ -DBUILD_TOUCH=ON \
-DBUILD_MARBLE_EXAMPLES=OFF \
-DBUILD_MARBLE_TESTS=OFF \
-DMOBILE=OFF
@@ -44,7 +59,7 @@ build() {
package_marble-common() {
pkgdesc='Common libraries and plugins for Marble'
depends=(qt5-svg qt5-webengine phonon-qt5 protobuf)
- depends=(${depends[@]/qt5-webengine/qt5-webkit})
+ depends=( ${depends[@]/qt5-webengine/qt5-webkit} )
optdepends=('gpsd: GPS based geolocation'
'libwlocate: WLAN based geolocation'
'qt5-serialport: APRS plugin'
@@ -53,9 +68,43 @@ package_marble-common() {
DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/{config.kcfg,kxmlgui5,metainfo,plasma} \
"$pkgdir"/usr/bin \
- "$pkgdir"/usr/share/knsrcfiles \
- "$pkgdir"/usr/lib/qt/{qml,plugins/*.so} \
+ "$pkgdir"/usr/lib/qt/{qml,plugins/*.so,plugins/kf5} \
"$pkgdir"/usr/share/applications/{marble_geo.desktop,marble_worldwind.desktop,org.kde.marble*.desktop} \
- "$pkgdir"/usr/share/kservices5/{marble_part.desktop,plasma*} \
+ "$pkgdir"/usr/share/kservices5/{plasma-*,marble_part.desktop} \
"$pkgdir"/usr/share/locale/*/LC_MESSAGES/*.mo
}
+
+package_marble-qt() {
+ pkgdesc+=' (Qt version)'
+ depends=(marble-common)
+
+ # pin to 'marble-common'
+ depends=( ${depends[*]/marble-common/marble-common=$pkgver} )
+
+ DESTDIR="$pkgdir" cmake --install build/src/apps/marble-qt
+}
+
+package_marble() {
+ depends=(marble-common kparts)
+ optdepends=('krunner: Krunner plugin')
+ groups=(kde-applications kde-education)
+
+ # pin to 'marble-common'
+ depends=( ${depends[*]/marble-common/marble-common=$pkgver} )
+
+ DESTDIR="$pkgdir" cmake --install build/src/apps/marble-kde
+ DESTDIR="$pkgdir" cmake --install build/src/plasma
+ DESTDIR="$pkgdir" cmake --install build/src/plasmarunner
+ DESTDIR="$pkgdir" cmake --install build/src/thumbnailer
+ rm -r "$pkgdir"/usr/share/{icons,doc}
+}
+
+package_marble-maps() {
+ pkgdesc='OpenStreetMap Navigation'
+ depends=(marble-common kirigami2)
+
+ # pin to 'marble-common'
+ depends=( ${depends[*]/marble-common/marble-common=$pkgver} )
+
+ DESTDIR="$pkgdir" cmake --install build/src/apps/marble-maps
+}
diff --git a/libre/marble/no-knewstuff.patch b/libre/marble/no-knewstuff.patch
new file mode 100644
index 000000000..864242efb
--- /dev/null
+++ b/libre/marble/no-knewstuff.patch
@@ -0,0 +1,52 @@
+diff --git a/src/apps/marble-kde/CMakeLists.txt b/src/apps/marble-kde/CMakeLists.txt
+index 8548aac73..e764163ee 100644
+--- a/src/apps/marble-kde/CMakeLists.txt
++++ b/src/apps/marble-kde/CMakeLists.txt
+@@ -2,7 +2,7 @@ if(NOT ECM_FOUND)
+ return()
+ endif()
+
+-macro_optional_find_package(KF5 ${REQUIRED_KF5_MIN_VERSION} QUIET COMPONENTS Crash NewStuff Parts CoreAddons I18n)
++macro_optional_find_package(KF5 ${REQUIRED_KF5_MIN_VERSION} QUIET COMPONENTS Crash Parts CoreAddons I18n)
+
+ if(NOT KF5_FOUND)
+ return()
+@@ -22,7 +22,6 @@ set_target_properties(marble_part PROPERTIES PREFIX "${CMAKE_SHARED_LIBRARY_PREF
+ target_link_libraries(marble_part
+ marbleui
+ marblewidget
+- KF5::NewStuff
+ KF5::Parts
+ KF5::CoreAddons
+ KF5::I18n
+@@ -31,11 +30,6 @@ target_link_libraries(marble_part
+ install(TARGETS marble_part DESTINATION ${KDE_INSTALL_PLUGINDIR})
+ install(FILES marble_part.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
+ install(FILES marble_part.rc marbleui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/marble)
+-if(KF5NewStuff_VERSION VERSION_GREATER "5.56.0")
+- install(FILES marble.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR})
+-else()
+- install(FILES marble.knsrc DESTINATION ${KDE_INSTALL_CONFDIR})
+-endif()
+
+ ki18n_wrap_ui(marble_kde_SRCS ${marble_UI})
+ kconfig_add_kcfg_files(marble_kde_SRCS settings.kcfgc)
+@@ -55,7 +49,6 @@ target_link_libraries (
+ marbleui
+ marblewidget
+ astro
+- KF5::NewStuff
+ KF5::Parts
+ KF5::Crash
+ KF5::CoreAddons
+diff --git a/src/apps/marble-kde/marble.knsrc b/src/apps/marble-kde/marble.knsrc
+deleted file mode 100644
+index b695f4521..000000000
+--- a/src/apps/marble-kde/marble.knsrc
++++ /dev/null
+@@ -1,5 +0,0 @@
+-[KNewStuff3]
+-ProvidersUrl=http://edu.kde.org/marble/newstuff/providers-4.5.xml
+-Categories=Marble Map
+-XdgTargetDir=marble/maps
+-Uncompress=archive