diff options
-rw-r--r-- | gui-apps/organicmaps/Manifest | 3 | ||||
-rw-r--r-- | gui-apps/organicmaps/files/more-3party.patch | 47 | ||||
-rw-r--r-- | gui-apps/organicmaps/files/no-dynamic-download.patch | 15 | ||||
-rw-r--r-- | gui-apps/organicmaps/organicmaps-9999.ebuild | 65 |
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" +} |