aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerion Entrup <gerion.entrup@flump.de>2023-12-23 01:29:16 +0100
committerGerion Entrup <gerion.entrup@flump.de>2023-12-23 01:29:16 +0100
commit030a9a9ce6cf205e47d43d603708c9e0b6185240 (patch)
tree0135c4f7fea9aabeb937b88337d1461a4b96701a
parentsets/vim-dev: rust-analyzer is not an extra package anymore (diff)
downloadgerislay-030a9a9ce6cf205e47d43d603708c9e0b6185240.tar.gz
gerislay-030a9a9ce6cf205e47d43d603708c9e0b6185240.tar.bz2
gerislay-030a9a9ce6cf205e47d43d603708c9e0b6185240.zip
gui-apps/organicmaps: add working version
Oriented on the guru version with additional patches. Signed-off-by: Gerion Entrup <gerion.entrup@flump.de>
-rw-r--r--gui-apps/organicmaps/Manifest3
-rw-r--r--gui-apps/organicmaps/files/more-3party.patch47
-rw-r--r--gui-apps/organicmaps/files/no-dynamic-download.patch15
-rw-r--r--gui-apps/organicmaps/organicmaps-9999.ebuild65
4 files changed, 130 insertions, 0 deletions
diff --git a/gui-apps/organicmaps/Manifest b/gui-apps/organicmaps/Manifest
new file mode 100644
index 0000000..52b869e
--- /dev/null
+++ b/gui-apps/organicmaps/Manifest
@@ -0,0 +1,3 @@
+AUX more-3party.patch 1385 BLAKE2B 87b5f151b3923f6324192741e243d095898d024c320add5318015b2e7058f9614ec278386250d98f41febd153f8ff9a1a9cd0e868ad94ca7c0bb449e90462378 SHA512 6e2778874fb6b58f76f99cfbb925881c569c0b25c3b9f7f9d5e7017a476eb4e28b251a36d57c9849b4ccd8c5e63023aa9552dabfc29423a385d1051a65dc8150
+AUX no-dynamic-download.patch 772 BLAKE2B 8b29d12cd648625540e379c7aab2d081b12860822ffb37af362355ad7dece4b0e886eaa6a769ebef3a988f2a2c7b3cdf804f9ec61f70615f4802a1bef0b1e72b SHA512 c4dc8a82e78ba314ae9a1972e72ac1a176c3368307044ab6d975b6f10a8b96f0c385b5c596379608ed92927be20307453729136eec8141efecf3c2bc369867e6
+EBUILD organicmaps-9999.ebuild 1788 BLAKE2B a27c907bcffa3b504bbe545c9de3600625b4c4b32a7ef556fb478e4a6cfb18c62360ac59fd36071c0e813aa980d1c1ed434a4d73ea23f6fa3f7ce3265a346fbd SHA512 0f2785bf5865c6ab8195f6343b6987151c9ab67c5b0dae11feda503cb7ec868b1dc64db40a5d0306d4d3042414a44376da735a812a8ed82c12bbe9c99043acc9
diff --git a/gui-apps/organicmaps/files/more-3party.patch b/gui-apps/organicmaps/files/more-3party.patch
new file mode 100644
index 0000000..b1293e8
--- /dev/null
+++ b/gui-apps/organicmaps/files/more-3party.patch
@@ -0,0 +1,47 @@
+From b77c26e242945fe06be94059b87c3c2eebdb78eb Mon Sep 17 00:00:00 2001
+From: Gerion Entrup <gerion.entrup@flump.de>
+Date: Fri, 8 Dec 2023 23:45:56 +0100
+Subject: [PATCH] cmake: use some internal libraries without external
+ alternative
+
+---
+ 3party/CMakeLists.txt | 6 +++---
+ base/CMakeLists.txt | 4 +---
+ 2 files changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/3party/CMakeLists.txt b/3party/CMakeLists.txt
+index bd44e1b7b8..4f5cb99807 100644
+--- a/3party/CMakeLists.txt
++++ b/3party/CMakeLists.txt
+@@ -34,11 +34,11 @@ else()
+
+ # Add pugixml library.
+ add_subdirectory(pugixml)
+-
+- # Add protobuf library.
+- add_subdirectory(protobuf)
+ endif()
+
++# Add protobuf library.
++add_subdirectory(protobuf)
++
+ add_subdirectory(agg)
+ add_subdirectory(bsdiff-courgette)
+
+diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt
+index 7e762b242a..0d7d6c5d10 100644
+--- a/base/CMakeLists.txt
++++ b/base/CMakeLists.txt
+@@ -111,8 +111,6 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ target_link_libraries(${PROJECT_NAME} INTERFACE Threads::Threads)
+
+-if (NOT WITH_SYSTEM_PROVIDED_3PARTY)
+- target_include_directories(${PROJECT_NAME} PRIVATE "${OMIM_ROOT}/3party/fast_double_parser/include")
+-endif()
++target_include_directories(${PROJECT_NAME} PRIVATE "${OMIM_ROOT}/3party/fast_double_parser/include")
+
+ omim_add_test_subdirectory(base_tests)
+--
+2.41.0
+
diff --git a/gui-apps/organicmaps/files/no-dynamic-download.patch b/gui-apps/organicmaps/files/no-dynamic-download.patch
new file mode 100644
index 0000000..eb7d021
--- /dev/null
+++ b/gui-apps/organicmaps/files/no-dynamic-download.patch
@@ -0,0 +1,15 @@
+diff --git a/transit/world_feed/world_feed_integration_tests/CMakeLists.txt b/transit/world_feed/world_feed_integration_tests/CMakeLists.txt
+index 9f945568d4..ec9755ab09 100644
+--- a/transit/world_feed/world_feed_integration_tests/CMakeLists.txt
++++ b/transit/world_feed/world_feed_integration_tests/CMakeLists.txt
+@@ -10,7 +10,9 @@ target_link_libraries(${PROJECT_NAME}
+ )
+
+ # This test requires additional data from the other repository
+-set(TEST_DATA_REPO_URL "https://github.com/organicmaps/world_feed_integration_tests_data.git")
++if(NOT TEST_DATA_REPO_URL)
++ set(TEST_DATA_REPO_URL "https://github.com/organicmaps/world_feed_integration_tests_data.git")
++endif()
+ set(DESTINATION_FOLDER "${OMIM_DATA_DIR}/world_feed_integration_tests_data/")
+
+ add_custom_command(
diff --git a/gui-apps/organicmaps/organicmaps-9999.ebuild b/gui-apps/organicmaps/organicmaps-9999.ebuild
new file mode 100644
index 0000000..3e58685
--- /dev/null
+++ b/gui-apps/organicmaps/organicmaps-9999.ebuild
@@ -0,0 +1,65 @@
+EAPI=8
+
+inherit git-r3 xdg cmake
+EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+# this URL is to make the tests compile since organicmaps usually dynamically clones the repo
+# maybe a better way would be to skip the test
+EGIT_WORLD_FEED_REPO_URI="https://github.com/${PN}/world_feed_integration_tests_data.git"
+# organicmaps gets more and more system libraries, we use as many
+# as currently possible, use submodules for the rest
+EGIT_SUBMODULES=(
+ 3party/harfbuzz/harfbuzz
+ 3party/fast_double_parser
+ 3party/just_gtfs
+ 3party/protobuf/protobuf # wait for https://github.com/organicmaps/organicmaps/pull/6310
+ 3party/fast_obj
+)
+
+DESCRIPTION="Offline maps and navigation using OpenStreetMap data"
+HOMEPAGE="https://organicmaps.app"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ dev-lang/python
+ dev-qt/qtpositioning:6
+ dev-cpp/gflags
+ dev-util/vulkan-headers
+ dev-libs/boost
+ dev-libs/icu
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/more-3party.patch "${FILESDIR}"/no-dynamic-download.patch )
+
+WORLD_FEED_TESTS_S="${WORKDIR}/world_feed_integration_tests_data-${PV}"
+
+src_unpack () {
+ git-r3_fetch
+ git-r3_checkout
+ git-r3_fetch "${EGIT_WORLD_FEED_REPO_URI}"
+ git-r3_checkout "${EGIT_WORLD_FEED_REPO_URI}" "${WORLD_FEED_TESTS_S}"
+}
+
+src_configure() {
+ # organicmaps wants a ./configure.sh execution.
+ # However, this setups mainly stuff for Android and XCode builds that we don't need.
+ # We need just this line here
+ cp private_default.h private.h || die
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+ local mycmakeargs=(
+ -DWITH_SYSTEM_PROVIDED_3PARTY=yes
+ -DBUILD_SHARED_LIBS=off
+ -DTEST_DATA_REPO_URL="${WORLD_FEED_TESTS_S}"
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+
+ einfo "For dark mode type in search ?dark"
+ einfo "For light mode type in search ?light"
+}