Add to Gentoo repository #2217

Open
opened 2022-03-05 05:12:33 +00:00 by vitaly-zdanevich · 76 comments
vitaly-zdanevich commented 2022-03-05 05:12:33 +00:00 (Migrated from github.com)

@biodranik is desktop version ready for use? How to build it? What are the dependencies?

@biodranik is desktop version ready for use? How to build it? What are the dependencies?
biodranik commented 2022-03-05 11:17:16 +00:00 (Migrated from github.com)

There were some attempts. Please check existing issues and documentation.

There were some attempts. Please check existing issues and documentation.
Member
Related to https://git.omaps.dev/organicmaps/organicmaps/issues/1752
vitaly-zdanevich commented 2022-05-25 13:14:45 +00:00 (Migrated from github.com)

Desktop version works well for me.

Now I have some experience adding software to the Gentoo main tree, in the future I hope to find some time to add Organic Maps as well, but I want to merge my first ebuild.

Desktop version works well for me. Now I have some experience adding software to the Gentoo main tree, in the future I hope to find some time to add Organic Maps as well, but I want to merge [my first ebuild](https://github.com/gentoo/gentoo/pull/24674).
hrnick commented 2022-06-08 09:19:09 +00:00 (Migrated from github.com)

I would love to see this in the Gentoo repository! I have played around a little in a local repo and have ran into a few problems.

Here's the (incomplete) ebuild based on the git source:

EAPI=6

inherit git-r3 cmake-utils
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
KEYWORDS="~amd64"

DESCRIPTION="Offline Hike, Bike, Trails and Navigation"
HOMEPAGE="https://organicmaps.app"

LICENSE="Apache-2.0"
SLOT="0"

DEPEND="
	sys-devel/clang
	>=dev-util/cmake-3.18.1
	dev-util/ninja
	media-libs/freetype
	dev-libs/icu
	sys-libs/libstdc++-v3
	dev-qt/qtcore
	dev-qt/qtsvg
	dev-db/sqlite
	sys-libs/zlib[minizip]"
RDEPEND=""

src_prepare() {
	eapply "${FILESDIR}/patch"
	cmake-utils_src_prepare
}

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"
	echo | ./configure.sh

	cmake-utils_src_configure
}

For this to make it into the Gentoo repository I guess the git sources shouldn't be used. But the releases I have seen have been specifically for Android so is the Linux desktop code available in any other way than git?

Also I have not been able to find more specific information on what versions of the dependencies that are needed. https://github.com/organicmaps/organicmaps/blob/master/docs/INSTALL.md

If found that OMaps would not build without this patch (I don't remember where or how I found out now):

--- git/3party/minizip/CMakeLists.txt   2022-06-07 12:52:32.337814533 +0200
+++ organicmaps/3party/minizip/CMakeLists.txt   2022-05-31 13:38:50.604235282 +0200
@@ -15,6 +15,7 @@
 
 target_compile_definitions(${PROJECT_NAME}
   PUBLIC
+    OF=_Z_OF
     USE_FILE32API
   PRIVATE
     NOCRYPT

That makes OMaps build and install but I can only run it from /usr/share/organicmaps, most likely related to this issue: organicmaps/organicmaps#2387

@vitaly-zdanevich: Does OMaps run on your desktop regardsless of what folder you execute it from? Did you add a CMAKE_INSTALL_PREFIX or something when building?

So that's as far as I have gotten at this point. I do not have a lot of experience in creating ebuilds but I hope that we can solve this together. :)

I would love to see this in the Gentoo repository! I have played around a little in a local repo and have ran into a few problems. Here's the (incomplete) ebuild based on the git source: ``` EAPI=6 inherit git-r3 cmake-utils EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" KEYWORDS="~amd64" DESCRIPTION="Offline Hike, Bike, Trails and Navigation" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0" SLOT="0" DEPEND=" sys-devel/clang >=dev-util/cmake-3.18.1 dev-util/ninja media-libs/freetype dev-libs/icu sys-libs/libstdc++-v3 dev-qt/qtcore dev-qt/qtsvg dev-db/sqlite sys-libs/zlib[minizip]" RDEPEND="" src_prepare() { eapply "${FILESDIR}/patch" cmake-utils_src_prepare } src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" echo | ./configure.sh cmake-utils_src_configure } ``` For this to make it into the Gentoo repository I guess the git sources shouldn't be used. But the releases I have seen have been specifically for Android so is the Linux desktop code available in any other way than git? Also I have not been able to find more specific information on what versions of the dependencies that are needed. https://github.com/organicmaps/organicmaps/blob/master/docs/INSTALL.md If found that OMaps would not build without this patch (I don't remember where or how I found out now): ``` --- git/3party/minizip/CMakeLists.txt 2022-06-07 12:52:32.337814533 +0200 +++ organicmaps/3party/minizip/CMakeLists.txt 2022-05-31 13:38:50.604235282 +0200 @@ -15,6 +15,7 @@ target_compile_definitions(${PROJECT_NAME} PUBLIC + OF=_Z_OF USE_FILE32API PRIVATE NOCRYPT ``` That makes OMaps build and install but I can only run it from /usr/share/organicmaps, most likely related to this issue: https://git.omaps.dev/organicmaps/organicmaps/issues/2387 @vitaly-zdanevich: Does OMaps run on your desktop regardsless of what folder you execute it from? Did you add a CMAKE_INSTALL_PREFIX or something when building? So that's as far as I have gotten at this point. I do not have a lot of experience in creating ebuilds but I hope that we can solve this together. :)
vitaly-zdanevich commented 2022-06-08 12:14:30 +00:00 (Migrated from github.com)

Thanks!

EAPI 6 is too old, I think we need to specify it to 8.

For this to make it into the Gentoo repository I guess the git sources shouldn't be used

You can, with 9999 version, looks here for an example 09bceb3446/media-sound/nulloy/nulloy-9999.ebuild

As I understand, in Gentoo this is a common practice to have 9999 ebuild (git master) and some version ebuild.

Now, for some reason, I cannot start OMaps, getting ./OMaps: error while loading shared libraries: libicuuc.so.70: cannot open shared object file: No such file or directory

Did you add a CMAKE_INSTALL_PREFIX or something when building?

No, but I do not remember.

Thanks! EAPI 6 is too old, I think we need to specify it to 8. > For this to make it into the Gentoo repository I guess the git sources shouldn't be used You can, with 9999 version, looks here for an example https://github.com/gentoo/gentoo/blob/09bceb3446344354276908ee2bb792b4bd33ce3e/media-sound/nulloy/nulloy-9999.ebuild As I understand, in Gentoo this is a common practice to have 9999 ebuild (git master) and some version ebuild. Now, for some reason, I cannot start OMaps, getting `./OMaps: error while loading shared libraries: libicuuc.so.70: cannot open shared object file: No such file or directory` > Did you add a CMAKE_INSTALL_PREFIX or something when building? No, but I do not remember.
vitaly-zdanevich commented 2022-06-08 12:18:47 +00:00 (Migrated from github.com)

Please specify OpenStreetMap in the ebuild description, for SEO.

Please specify `OpenStreetMap` in the ebuild description, for SEO.
hrnick commented 2022-06-15 09:42:51 +00:00 (Migrated from github.com)

EAPI 6 is too old, I think we need to specify it to 8.

I get a "EAPI=8 is not supported" when I try that running the ebuild digest.

You can, with 9999 version, looks here for an example 09bceb3446/media-sound/nulloy/nulloy-9999.ebuild

Right, of course, but it would be masked, right? If there are official releases they could make it into arch and ~arch without being unmasked first.

Now, for some reason, I cannot start OMaps, getting ./OMaps: error while loading shared libraries: libicuuc.so.70: cannot open shared object file: No such file or directory

What version of icu do you have installed? What's stated in the install documentation is that libicu-dev is needed whatever that translates to in Gentoo...

Please specify OpenStreetMap in the ebuild description, for SEO.

Fair point! Fixed!

It seems that recent commits have fixed the problem I had that made OMaps only run from particular folders, possibly related to this fix a few hours ago: organicmaps/organicmaps#2734

> EAPI 6 is too old, I think we need to specify it to 8. I get a "EAPI=8 is not supported" when I try that running the ebuild digest. > You can, with 9999 version, looks here for an example https://github.com/gentoo/gentoo/blob/09bceb3446344354276908ee2bb792b4bd33ce3e/media-sound/nulloy/nulloy-9999.ebuild Right, of course, but it would be masked, right? If there are official releases they could make it into arch and ~arch without being unmasked first. > Now, for some reason, I cannot start OMaps, getting ./OMaps: error while loading shared libraries: libicuuc.so.70: cannot open shared object file: No such file or directory What version of icu do you have installed? What's stated in the install documentation is that libicu-dev is needed whatever that translates to in Gentoo... > Please specify OpenStreetMap in the ebuild description, for SEO. Fair point! Fixed! It seems that recent commits have fixed the problem I had that made OMaps only run from particular folders, possibly related to this fix a few hours ago: https://git.omaps.dev/organicmaps/organicmaps/pulls/2734
hrnick commented 2022-06-15 12:32:06 +00:00 (Migrated from github.com)

Again, I don't remember how I found out that the patch is needed or where I found the solution; neither do I know if this is Gentoo specific or generic. What I want to get to is basically if this is a patch for Organic Maps upstream and if I should create a ticket or if it should be kept as a Portage specific patch.

Again, I don't remember how I found out that the patch is needed or where I found the solution; neither do I know if this is Gentoo specific or generic. What I want to get to is basically if this is a patch for Organic Maps upstream and if I should create a ticket or if it should be kept as a Portage specific patch.
hrnick commented 2022-06-15 13:59:21 +00:00 (Migrated from github.com)

Again, I don't remember how I found out that the patch is needed or where I found the solution; neither do I know if this is Gentoo specific or generic. What I want to get to is basically if this is a patch for Organic Maps upstream and if I should create a ticket or if it should be kept as a Portage specific patch.

It seems to be Gentoo specific according to https://github.com/jmcnamara/libxlsxwriter/issues/116. I don't know what the Organic Maps developers would say about this going upstream, I guess it could be fixed with a if(${CMAKE_HOST_SYSTEM} MATCHES gentoo) as seen here.

> Again, I don't remember how I found out that the patch is needed or where I found the solution; neither do I know if this is Gentoo specific or generic. What I want to get to is basically if this is a patch for Organic Maps upstream and if I should create a ticket or if it should be kept as a Portage specific patch. It seems to be Gentoo specific according to https://github.com/jmcnamara/libxlsxwriter/issues/116. I don't know what the Organic Maps developers would say about this going upstream, I guess it could be fixed with a `if(${CMAKE_HOST_SYSTEM} MATCHES gentoo)` as seen [here](https://github.com/jmcnamara/libxlsxwriter/commit/f256dc2ae9b3890d0df7ae92f234a7f7db5039f7).
vitaly-zdanevich commented 2022-06-15 16:16:37 +00:00 (Migrated from github.com)

I get a "EAPI=8 is not supported" when I try that running the ebuild digest.

Try grep -r 'EAPI=8' /var/db/repos/gentoo/

> I get a "EAPI=8 is not supported" when I try that running the ebuild digest. Try `grep -r 'EAPI=8' /var/db/repos/gentoo/`
vitaly-zdanevich commented 2022-06-15 16:21:09 +00:00 (Migrated from github.com)

Even in documentation ebuild example EAPI is 8:

image

Even in [documentation ebuild example](https://devmanual.gentoo.org/quickstart/) EAPI is 8: ![image](https://user-images.githubusercontent.com/3514015/173876960-d1b19f81-5981-4fd8-8ab7-771e8b2cef1f.png)
vitaly-zdanevich commented 2022-06-15 16:29:48 +00:00 (Migrated from github.com)

Hm, ebuild organicmaps-9999.ebuild manifest returns EAPI=8 is not supported, but 7 works.

Hm, `ebuild organicmaps-9999.ebuild manifest` returns `EAPI=8 is not supported`, but 7 works.
vitaly-zdanevich commented 2022-06-15 18:29:45 +00:00 (Migrated from github.com)

Tried to emerge your ebuild (big thank you again!):

>>> Preparing source in /var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999 ...
 * Applying patch ...
/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment: line 1326: /var/tmp/portage/x11-apps/organicmaps-9999/files/patch: No such file or directory
/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment: line 1329: /var/tmp/portage/x11-apps/organicmaps-9999/files/patch: No such file or directory                                                                                                                                              [ !! ]
 * ERROR: x11-apps/organicmaps-9999::gentoo failed (prepare phase):
 *   patch -p1  failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch
 * 
 * Call stack:
 *               ebuild.sh, line  127:  Called src_prepare
 *             environment, line 2727:  Called eapply '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *             environment, line 1394:  Called _eapply_patch '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *             environment, line 1332:  Called __helpers_die 'patch -p1  failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *   isolated-functions.sh, line  112:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=x11-apps/organicmaps-9999::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=x11-apps/organicmaps-9999::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999'
 * S: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999'

>>> Failed to emerge x11-apps/organicmaps-9999, Log file:

>>>  '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log'

 * Messages for package x11-apps/organicmaps-9999:

 * ERROR: x11-apps/organicmaps-9999::gentoo failed (prepare phase):
 *   patch -p1  failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch
 * 
 * Call stack:
 *               ebuild.sh, line  127:  Called src_prepare
 *             environment, line 2727:  Called eapply '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *             environment, line 1394:  Called _eapply_patch '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *             environment, line 1332:  Called __helpers_die 'patch -p1  failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch'
 *   isolated-functions.sh, line  112:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=x11-apps/organicmaps-9999::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=x11-apps/organicmaps-9999::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999'
 * S: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999'

 * GNU info directory index is up-to-date.
Tried to emerge your ebuild (big thank you again!): ``` >>> Preparing source in /var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999 ... * Applying patch ... /var/tmp/portage/x11-apps/organicmaps-9999/temp/environment: line 1326: /var/tmp/portage/x11-apps/organicmaps-9999/files/patch: No such file or directory /var/tmp/portage/x11-apps/organicmaps-9999/temp/environment: line 1329: /var/tmp/portage/x11-apps/organicmaps-9999/files/patch: No such file or directory [ !! ] * ERROR: x11-apps/organicmaps-9999::gentoo failed (prepare phase): * patch -p1 failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch * * Call stack: * ebuild.sh, line 127: Called src_prepare * environment, line 2727: Called eapply '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * environment, line 1394: Called _eapply_patch '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * environment, line 1332: Called __helpers_die 'patch -p1 failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * isolated-functions.sh, line 112: Called die * The specific snippet of code: * die "$@" * * If you need support, post the output of `emerge --info '=x11-apps/organicmaps-9999::gentoo'`, * the complete build log and the output of `emerge -pqv '=x11-apps/organicmaps-9999::gentoo'`. * The complete build log is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment'. * Working directory: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999' * S: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999' >>> Failed to emerge x11-apps/organicmaps-9999, Log file: >>> '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log' * Messages for package x11-apps/organicmaps-9999: * ERROR: x11-apps/organicmaps-9999::gentoo failed (prepare phase): * patch -p1 failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch * * Call stack: * ebuild.sh, line 127: Called src_prepare * environment, line 2727: Called eapply '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * environment, line 1394: Called _eapply_patch '/var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * environment, line 1332: Called __helpers_die 'patch -p1 failed with /var/tmp/portage/x11-apps/organicmaps-9999/files/patch' * isolated-functions.sh, line 112: Called die * The specific snippet of code: * die "$@" * * If you need support, post the output of `emerge --info '=x11-apps/organicmaps-9999::gentoo'`, * the complete build log and the output of `emerge -pqv '=x11-apps/organicmaps-9999::gentoo'`. * The complete build log is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-apps/organicmaps-9999/temp/environment'. * Working directory: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999' * S: '/var/tmp/portage/x11-apps/organicmaps-9999/work/organicmaps-9999' * GNU info directory index is up-to-date. ```
vitaly-zdanevich commented 2022-06-15 19:41:56 +00:00 (Migrated from github.com)

Created files/patch with your patch, now I got:

-- Configuration
--   Prefix ..................... /usr
--   Build type ................. RelWithDebInfo
--   Shared libraries ........... OFF
--   Character type ............. char (UTF-8)
-- 
--   Build documentation ........ OFF
--   Build examples ............. OFF
--   Build fuzzers .............. OFF
--   Build tests ................ OFF
--   Build tools (xmlwf) ........ OFF
--   Build pkg-config file ...... OFF
--   Install files .............. OFF
-- 
--   Features
--     // Advanced options, changes not advised
--     Attributes info .......... OFF
--     Context bytes ............ 1024
--     DTD support .............. ON
--     Large size ............... OFF
--     Minimum size ............. OFF
--     Namespace support ........ ON
-- 
--   Entropy sources
--     getrandom ................ 1
--     syscall SYS_getrandom .... 1
--     libbsd ................... OFF
--     /dev/random .............. ON
-- 
-- ===========================================================================
-- Looking for C++ include fnmatch.h
-- Looking for C++ include fnmatch.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Looking for strtoll
-- Looking for strtoll - found
-- Found the following ICU libraries:
--   uc (required)
--   i18n (required)
--   data (required)
-- Found ICU: /usr/include (found version "71.1") 
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.12.0") 
-- Found Python3: /usr/bin/python3.10 (found version "3.10.4") found components: Interpreter 
Found python to use in qt/, shaders/ and 3party/: /usr/bin/python3.10
-- Found OpenGL: /usr/lib64/libOpenGL.so   
-- Found Python: /usr/bin/python3.10 (found version "3.10.4") found components: Interpreter 
-- <<< Gentoo configuration >>>
Build type      RelWithDebInfo
Install path    /usr
Compiler flags:
C               -O2 -march=native -pipe
C++             -O2 -march=native -pipe
Linker flags:
Executable      -fuse-ld=gold
Module          -Wl,-O1 -Wl,--as-needed
Shared          -Wl,-O1 -Wl,--as-needed

-- Configuring done
CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
  "editor" of type SHARED_LIBRARY
    depends on "indexer" (weak)
    depends on "search" (weak)
  "indexer" of type SHARED_LIBRARY
    depends on "search" (weak)
    depends on "editor" (weak)
  "search" of type SHARED_LIBRARY
    depends on "editor" (weak)
    depends on "indexer" (weak)
At least one of these targets is not a STATIC_LIBRARY.  Cyclic dependencies are allowed only among static libraries.
CMake Generate step failed.  Build files cannot be regenerated correctly.
 * ERROR: x11-apps/organicmaps-9999::gentoo failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  127:  Called src_configure
 *   environment, line 2736:  Called cmake-utils_src_configure
 *   environment, line 1189:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
Created `files/patch` with your patch, now I got: ``` -- Configuration -- Prefix ..................... /usr -- Build type ................. RelWithDebInfo -- Shared libraries ........... OFF -- Character type ............. char (UTF-8) -- -- Build documentation ........ OFF -- Build examples ............. OFF -- Build fuzzers .............. OFF -- Build tests ................ OFF -- Build tools (xmlwf) ........ OFF -- Build pkg-config file ...... OFF -- Install files .............. OFF -- -- Features -- // Advanced options, changes not advised -- Attributes info .......... OFF -- Context bytes ............ 1024 -- DTD support .............. ON -- Large size ............... OFF -- Minimum size ............. OFF -- Namespace support ........ ON -- -- Entropy sources -- getrandom ................ 1 -- syscall SYS_getrandom .... 1 -- libbsd ................... OFF -- /dev/random .............. ON -- -- =========================================================================== -- Looking for C++ include fnmatch.h -- Looking for C++ include fnmatch.h - found -- Looking for C++ include stddef.h -- Looking for C++ include stddef.h - found -- Check size of uint32_t -- Check size of uint32_t - done -- Looking for strtoll -- Looking for strtoll - found -- Found the following ICU libraries: -- uc (required) -- i18n (required) -- data (required) -- Found ICU: /usr/include (found version "71.1") -- Found Freetype: /usr/lib64/libfreetype.so (found version "2.12.0") -- Found Python3: /usr/bin/python3.10 (found version "3.10.4") found components: Interpreter Found python to use in qt/, shaders/ and 3party/: /usr/bin/python3.10 -- Found OpenGL: /usr/lib64/libOpenGL.so -- Found Python: /usr/bin/python3.10 (found version "3.10.4") found components: Interpreter -- <<< Gentoo configuration >>> Build type RelWithDebInfo Install path /usr Compiler flags: C -O2 -march=native -pipe C++ -O2 -march=native -pipe Linker flags: Executable -fuse-ld=gold Module -Wl,-O1 -Wl,--as-needed Shared -Wl,-O1 -Wl,--as-needed -- Configuring done CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle): "editor" of type SHARED_LIBRARY depends on "indexer" (weak) depends on "search" (weak) "indexer" of type SHARED_LIBRARY depends on "search" (weak) depends on "editor" (weak) "search" of type SHARED_LIBRARY depends on "editor" (weak) depends on "indexer" (weak) At least one of these targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only among static libraries. CMake Generate step failed. Build files cannot be regenerated correctly. * ERROR: x11-apps/organicmaps-9999::gentoo failed (configure phase): * cmake failed * * Call stack: * ebuild.sh, line 127: Called src_configure * environment, line 2736: Called cmake-utils_src_configure * environment, line 1189: Called die * The specific snippet of code: * "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed"; ```
hrnick commented 2022-06-16 09:09:17 +00:00 (Migrated from github.com)

Same thing here so I guess something has changed since commit ab8fb16fdf a day ago when I installed it successfully.

Same thing here so I guess something has changed since commit https://git.omaps.dev/organicmaps/organicmaps/commit/ab8fb16fdf44a48d498ec2719d73502126a258d8 a day ago when I installed it successfully.
biodranik commented 2022-06-17 04:58:07 +00:00 (Migrated from github.com)

The problem is that for some reason you're building internal OM libraries as shared, not as static ones. We never designed nor tested OM with its internal libs (e.g. editor, indexer, search) as shared.

The problem is that for some reason you're building internal OM libraries as _shared_, not as _static_ ones. We never designed nor tested OM with its internal libs (e.g. editor, indexer, search) as shared.
PureTryOut commented 2022-06-28 08:56:05 +00:00 (Migrated from github.com)

I'm not building for Gentoo (but for Alpine Linux) and saw the same thing originally. Our build scripts for CMake set -DBUILD_SHARED_LIBS=True by default (as we want to build all libraries shared rather than static of course), but for an end user application like this that doesn't really make sense. Set it to false or omit it from the CMake command to fix the build.

I'm not building for Gentoo (but for Alpine Linux) and saw the same thing originally. Our build scripts for CMake set `-DBUILD_SHARED_LIBS=True` by default (as we want to build all libraries shared rather than static of course), but for an end user application like this that doesn't really make sense. Set it to false or omit it from the CMake command to fix the build.
hrnick commented 2022-06-28 09:02:47 +00:00 (Migrated from github.com)

Thank you for the comment @PureTryOut! I thought that was enabled by default for EAPI>=7 in the Gentoo ebuilds but it's definitely something to look into!

Thank you for the comment @PureTryOut! I thought that was enabled by default for EAPI>=7 in the Gentoo ebuilds but it's definitely something to look into!
vitaly-zdanevich commented 2022-06-28 12:43:08 +00:00 (Migrated from github.com)

@hrnick will you update the ebuild?

@hrnick will you update the ebuild?
vitaly-zdanevich commented 2022-06-28 12:43:53 +00:00 (Migrated from github.com)

Recently I pushed my first package into Guru, so I got some experience how to do it.

Recently I pushed my [first package into Guru](https://github.com/gentoo/guru/commit/304d220ac6447c1839923ad85030ce38c4639c41), so I got some experience how to do it.
hrnick commented 2022-06-28 12:50:17 +00:00 (Migrated from github.com)

No update done other than EAPI=7. I added the following based on what I found in other ebuilds in the gentoo repository but with the same result unfortunately. :/

local mycmakeargs=(
	-DBUILD_SHARED_LIBS=ON
)
No update done other than EAPI=7. I added the following based on what I found in other ebuilds in the gentoo repository but with the same result unfortunately. :/ ``` local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
vitaly-zdanevich commented 2022-06-28 13:10:38 +00:00 (Migrated from github.com)

Try TRUE.

Try `TRUE`.
hrnick commented 2022-06-28 13:21:31 +00:00 (Migrated from github.com)

I tried both ON and TRUE.

I tried both ON and TRUE.
hrnick commented 2022-06-28 15:13:06 +00:00 (Migrated from github.com)

So it seems as if it is the EAPI>=7 that breaks the building. I wonder if that is because BUILD_SHARED_LIBS is set to TRUE/ON by default from EAPI 7.

So it seems as if it is the EAPI>=7 that breaks the building. I wonder if that is because BUILD_SHARED_LIBS is set to TRUE/ON by default from EAPI 7.
hrnick commented 2022-06-28 19:56:24 +00:00 (Migrated from github.com)

So what is it that is being built statically? With EAPI=6 and no BUILD_SHARED_LIBS specificed organicmaps installs using the ebuild and patch above for me and running ldd on /usr/bin/OMaps yields a result which, as far as I understand it, at least means that the executable is built as a dynamic one at least.

So what is it that is being built statically? With EAPI=6 and no BUILD_SHARED_LIBS specificed organicmaps installs using the ebuild and patch above for me and running ldd on /usr/bin/OMaps yields a result which, as far as I understand it, at least means that the executable is built as a dynamic one at least.
hrnick commented 2022-06-29 07:12:52 +00:00 (Migrated from github.com)

So I guess this is what is being built statically with indexer, search and editor having circular dependencies that is only allowed for statically built libraries:

$ grep "static library" log.txt 
[  5%] Linking CXX static library ../../libagg.a
[  5%] Linking CXX static library ../../libminizip.a
[  6%] Linking CXX static library ../../libbsdiff.a
[  7%] Linking CXX static library ../../liboauthcpp.a
[  7%] Linking CXX static library ../../libsuccinct.a
[  8%] Linking CXX static library ../../libjansson.a
[  9%] Linking CXX static library ../../libvulkan_wrapper.a
[  9%] Linking CXX static library ../../libsdf_image.a
[ 10%] Linking CXX static library ../../libopenlocationcode.a
[ 11%] Linking CXX static library ../../libgflags_nothreads.a
[ 12%] Linking C static library ../../libtess2.a
[ 14%] Linking C static library ../../../libexpat.a
[ 14%] Linking CXX static library ../libqt_tstfrm.a
[ 15%] Linking CXX static library ../../libpugixml.a
[ 17%] Linking CXX static library ../libge0.a
[ 18%] Linking CXX static library ../../libstb_image.a
[ 18%] Linking CXX static library ../../libprotobuf.a
[ 18%] Linking CXX static library ../../../librouting_api.a
[ 18%] Linking CXX static library ../libtracking.a
[ 18%] Linking CXX static library ../../../../lib/libgtest.a
[ 19%] Linking CXX static library ../../../../lib/libgtest_main.a
[ 20%] Linking CXX static library ../librouting_common.a
[ 21%] Linking CXX static library ../../../../lib/libgmock.a
[ 21%] Linking CXX static library ../../../../lib/libgmock_main.a
[ 22%] Linking CXX static library ../libtransit.a
[ 23%] Linking CXX static library ../../libopening_hours.a
[ 24%] Linking CXX static library ../libbase.a
[ 26%] Linking CXX static library ../libcoding.a
[ 26%] Linking CXX static library ../libgeometry.a
[ 30%] Linking CXX static library ../../libmwm_diff.a
[ 32%] Linking CXX static library ../libplatform.a
[ 35%] Linking CXX static library ../libstorage.a
[ 36%] Linking CXX static library ../libsearch.a
[ 38%] Linking CXX static library ../libindexer.a
[ 39%] Linking CXX static library ../libeditor.a
[ 43%] Linking CXX static library ../../libplatform_tests_support.a
[ 43%] Linking CXX static library ../../libeditor_tests_support.a
[ 43%] Linking CXX static library ../libdescriptions.a
[ 43%] Linking CXX static library ../libtraffic.a
[ 46%] Linking CXX static library ../libkml.a
[ 49%] Linking CXX static library ../libdrape.a
[ 51%] Linking CXX static library ../libshaders.a
[ 53%] Linking CXX static library ../librouting.a
[ 56%] Linking CXX static library ../../libroutes_builder.a
[ 59%] Linking CXX static library ../../librouting_quality.a
[ 59%] Linking CXX static library ../libopenlr.a
[ 61%] Linking CXX static library ../libdrape_frontend.a
[ 62%] Linking CXX static library ../libgenerator.a
[ 65%] Linking CXX static library ../../libgenerator_tests_support.a
[ 66%] Linking CXX static library ../../libworld_roads_builder.a
[ 68%] Linking CXX static library ../libpoly_borders.a
[ 69%] Linking CXX static library ../../libsearch_tests_support.a
[ 70%] Linking CXX static library ../libtrack_analyzing.a
[ 72%] Linking CXX static library ../libmap.a
[ 73%] Linking CXX static library ../../libworld_feed.a
[ 81%] Linking CXX static library ../../libsearch_quality.a
[ 93%] Linking CXX static library ../../libqt_common.a
So I guess this is what is being built statically with indexer, search and editor having circular dependencies that is only allowed for statically built libraries: ``` $ grep "static library" log.txt [ 5%] Linking CXX static library ../../libagg.a [ 5%] Linking CXX static library ../../libminizip.a [ 6%] Linking CXX static library ../../libbsdiff.a [ 7%] Linking CXX static library ../../liboauthcpp.a [ 7%] Linking CXX static library ../../libsuccinct.a [ 8%] Linking CXX static library ../../libjansson.a [ 9%] Linking CXX static library ../../libvulkan_wrapper.a [ 9%] Linking CXX static library ../../libsdf_image.a [ 10%] Linking CXX static library ../../libopenlocationcode.a [ 11%] Linking CXX static library ../../libgflags_nothreads.a [ 12%] Linking C static library ../../libtess2.a [ 14%] Linking C static library ../../../libexpat.a [ 14%] Linking CXX static library ../libqt_tstfrm.a [ 15%] Linking CXX static library ../../libpugixml.a [ 17%] Linking CXX static library ../libge0.a [ 18%] Linking CXX static library ../../libstb_image.a [ 18%] Linking CXX static library ../../libprotobuf.a [ 18%] Linking CXX static library ../../../librouting_api.a [ 18%] Linking CXX static library ../libtracking.a [ 18%] Linking CXX static library ../../../../lib/libgtest.a [ 19%] Linking CXX static library ../../../../lib/libgtest_main.a [ 20%] Linking CXX static library ../librouting_common.a [ 21%] Linking CXX static library ../../../../lib/libgmock.a [ 21%] Linking CXX static library ../../../../lib/libgmock_main.a [ 22%] Linking CXX static library ../libtransit.a [ 23%] Linking CXX static library ../../libopening_hours.a [ 24%] Linking CXX static library ../libbase.a [ 26%] Linking CXX static library ../libcoding.a [ 26%] Linking CXX static library ../libgeometry.a [ 30%] Linking CXX static library ../../libmwm_diff.a [ 32%] Linking CXX static library ../libplatform.a [ 35%] Linking CXX static library ../libstorage.a [ 36%] Linking CXX static library ../libsearch.a [ 38%] Linking CXX static library ../libindexer.a [ 39%] Linking CXX static library ../libeditor.a [ 43%] Linking CXX static library ../../libplatform_tests_support.a [ 43%] Linking CXX static library ../../libeditor_tests_support.a [ 43%] Linking CXX static library ../libdescriptions.a [ 43%] Linking CXX static library ../libtraffic.a [ 46%] Linking CXX static library ../libkml.a [ 49%] Linking CXX static library ../libdrape.a [ 51%] Linking CXX static library ../libshaders.a [ 53%] Linking CXX static library ../librouting.a [ 56%] Linking CXX static library ../../libroutes_builder.a [ 59%] Linking CXX static library ../../librouting_quality.a [ 59%] Linking CXX static library ../libopenlr.a [ 61%] Linking CXX static library ../libdrape_frontend.a [ 62%] Linking CXX static library ../libgenerator.a [ 65%] Linking CXX static library ../../libgenerator_tests_support.a [ 66%] Linking CXX static library ../../libworld_roads_builder.a [ 68%] Linking CXX static library ../libpoly_borders.a [ 69%] Linking CXX static library ../../libsearch_tests_support.a [ 70%] Linking CXX static library ../libtrack_analyzing.a [ 72%] Linking CXX static library ../libmap.a [ 73%] Linking CXX static library ../../libworld_feed.a [ 81%] Linking CXX static library ../../libsearch_quality.a [ 93%] Linking CXX static library ../../libqt_common.a ```
PureTryOut commented 2022-06-29 11:39:39 +00:00 (Migrated from github.com)

Ideally that gets fixed, but for now -DBUILD_SHARED_LIBS=False will make it compile.

Ideally that gets fixed, but for now `-DBUILD_SHARED_LIBS=False` will make it compile.
hrnick commented 2022-06-29 12:17:59 +00:00 (Migrated from github.com)

Adding -DBUILD_SHARED_LIBS=False makes organicmaps install even with EAPI=7. Should IUSE="static-libs" and REQUIRED_USE="static-libs" to indicate that this has to be built statically maybe? Let me know what you think and I'll post an updated ebuild.

Adding `-DBUILD_SHARED_LIBS=False` makes organicmaps install even with EAPI=7. Should `IUSE="static-libs"` and `REQUIRED_USE="static-libs"` to indicate that this has to be built statically maybe? Let me know what you think and I'll post an updated ebuild.
l29ah commented 2022-06-29 12:38:11 +00:00 (Migrated from github.com)

Adding -DBUILD_SHARED_LIBS=False makes organicmaps install even with EAPI=7. Should IUSE="static-libs" and REQUIRED_USE="static-libs" to indicate that this has to be built statically maybe? Let me know what you think and I'll post an updated ebuild.

No, you shouldn't add such an USE flag, it would only add confusion.

> Adding `-DBUILD_SHARED_LIBS=False` makes organicmaps install even with EAPI=7. Should `IUSE="static-libs"` and `REQUIRED_USE="static-libs"` to indicate that this has to be built statically maybe? Let me know what you think and I'll post an updated ebuild. No, you shouldn't add such an USE flag, it would only add confusion.
hrnick commented 2022-06-29 12:58:17 +00:00 (Migrated from github.com)

No, you shouldn't add such an USE flag, it would only add confusion.

Thank you! I wasn't sure if that would be a way to highlight to the user how the package is built.

Updated ebuild using EAPI 7 (8 still generates an error message on my system for some reasaon):

EAPI=7

inherit git-r3 cmake-utils
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
KEYWORDS="~amd64"

DESCRIPTION="Offline maps and navigation using OpenStreetMap data"
HOMEPAGE="https://organicmaps.app"

LICENSE="Apache-2.0"
SLOT="0"

DEPEND="sys-devel/clang
	>=dev-util/cmake-3.18.1
	dev-util/ninja
	media-libs/freetype
	dev-libs/icu
	sys-libs/libstdc++-v3
	dev-qt/qtcore
	dev-qt/qtsvg
	dev-db/sqlite
	sys-libs/zlib[minizip]"
RDEPEND=""

src_prepare() {
	eapply "${FILESDIR}/${P}-zlib-compile.patch"
	cmake-utils_src_prepare
}

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"

	local mycmakeargs=(
		-DBUILD_SHARED_LIBS=False
	)

	echo | ./configure.sh

	cmake-utils_src_configure
}

The patch has been renamed to better describe what it is and does.

> No, you shouldn't add such an USE flag, it would only add confusion. Thank you! I wasn't sure if that would be a way to highlight to the user how the package is built. Updated ebuild using EAPI 7 (8 still generates an error message on my system for some reasaon): ``` EAPI=7 inherit git-r3 cmake-utils EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" KEYWORDS="~amd64" DESCRIPTION="Offline maps and navigation using OpenStreetMap data" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0" SLOT="0" DEPEND="sys-devel/clang >=dev-util/cmake-3.18.1 dev-util/ninja media-libs/freetype dev-libs/icu sys-libs/libstdc++-v3 dev-qt/qtcore dev-qt/qtsvg dev-db/sqlite sys-libs/zlib[minizip]" RDEPEND="" src_prepare() { eapply "${FILESDIR}/${P}-zlib-compile.patch" cmake-utils_src_prepare } src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" local mycmakeargs=( -DBUILD_SHARED_LIBS=False ) echo | ./configure.sh cmake-utils_src_configure } ``` The patch has been renamed to better describe what it is and does.
vitaly-zdanevich commented 2022-06-29 22:35:16 +00:00 (Migrated from github.com)

THANK YOU! Organic Maps is so good, we must have it for Linux distributions. Tried your ebuild: works, I can make stable ebuild version (your is 9999) and add to Guru, ok?

THANK YOU! Organic Maps is so good, we must have it for Linux distributions. Tried your ebuild: works, I can make stable ebuild version (your is 9999) and add to Guru, ok?
vitaly-zdanevich commented 2022-06-29 22:42:12 +00:00 (Migrated from github.com)

Hm, for some reason - omaps is not found in my dmenu... But I can start it from terminal.

Hm, for some reason - omaps is not found in my dmenu... But I can start it from terminal.
vitaly-zdanevich commented 2022-06-29 22:42:57 +00:00 (Migrated from github.com)

Love it!
image

Love it! ![image](https://user-images.githubusercontent.com/3514015/176557880-a9cdd5bb-53a5-44fc-b6e2-16dd9eabca97.png)
vitaly-zdanevich commented 2022-06-29 22:44:46 +00:00 (Migrated from github.com)

Now I have omaps in dmenu, without system restart.

Now I have omaps in dmenu, without system restart.
vitaly-zdanevich commented 2022-06-30 04:17:08 +00:00 (Migrated from github.com)

Dark theme is possible?

Dark theme is possible?
hrnick commented 2022-06-30 09:14:30 +00:00 (Migrated from github.com)

I'd be happy to see it added to guru! :)

But wouldn't a git version package be version 9999? Again, if there are releases for desktop to download somewhere we could do separate packages for them as well. At https://github.com/organicmaps/organicmaps/releases there doesn't seem to be any desktop releases for any of the versions.

I'd be happy to see it added to guru! :) But wouldn't a git version package be version 9999? Again, if there are releases for desktop to download somewhere we could do separate packages for them as well. At https://github.com/organicmaps/organicmaps/releases there doesn't seem to be any desktop releases for any of the versions.
vitaly-zdanevich commented 2022-06-30 16:25:00 +00:00 (Migrated from github.com)

Did a commit to Guru, currently with 9999 only.

So, what about dark theme?

Did a [commit](https://github.com/gentoo/guru/commit/06aa86d4c1b40d8f527bea344eabab7f1d7bd9ce) to Guru, currently with 9999 only. So, what about dark theme?
vitaly-zdanevich commented 2022-06-30 16:26:18 +00:00 (Migrated from github.com)

Of course it would be better also to publish to GitHub releases desktop version, as well - and other Linux distributions can use it, maybe Gentoo too.

Of course it would be better also to publish to GitHub releases desktop version, as well - and other Linux distributions can use it, maybe Gentoo too.
Member

Dark theme is possible?

Type ?dark into the search field (and there is ?light too).

> Dark theme is possible? Type `?dark` into the search field (and there is `?light` too).
vitaly-zdanevich commented 2022-06-30 16:48:10 +00:00 (Migrated from github.com)
Updated, currently at https://github.com/gentoo/guru/tree/dev/gui-apps/organicmaps
vitaly-zdanevich commented 2022-06-30 16:50:13 +00:00 (Migrated from github.com)
$ pkgcheck scan organicmaps-9999.ebuild 
gui-apps/organicmaps
  DeprecatedEclass: version 9999: uses deprecated eclass: cmake-utils (migrate to cmake.eclass)

I do not know how to fix this warning, I tried to replace cmake-utils to cmake but build fails on cmake-utils_src_prepare.

``` $ pkgcheck scan organicmaps-9999.ebuild gui-apps/organicmaps DeprecatedEclass: version 9999: uses deprecated eclass: cmake-utils (migrate to cmake.eclass) ``` I do not know how to fix this warning, I tried to replace `cmake-utils` to `cmake` but build fails on `cmake-utils_src_prepare`.
PureTryOut commented 2022-07-01 06:10:59 +00:00 (Migrated from github.com)

Of course it would be better also to publish to GitHub releases desktop version, as well - and other Linux distributions can use it, maybe Gentoo too

Not sure what you mean? You can just download the tarball from the git tag and use that to build any version of OM you like, including the desktop build. Seems the proposed ebuild uses git so far but you can just wget https://github.com/organicmaps/organicmaps/archive/<git tag>/organicmaps-<git tag>.tar.gz and get a tarball of that version.

> Of course it would be better also to publish to GitHub releases desktop version, as well - and other Linux distributions can use it, maybe Gentoo too Not sure what you mean? You can just download the tarball from the git tag and use that to build any version of OM you like, including the desktop build. Seems the proposed ebuild uses git so far but you can just `wget https://github.com/organicmaps/organicmaps/archive/<git tag>/organicmaps-<git tag>.tar.gz` and get a tarball of that version.
hrnick commented 2022-07-01 06:26:26 +00:00 (Migrated from github.com)

Thanks @PureTryOut! I just assumed that they were all specifically for android since all recent releases has -android in their names, even for the source code versions. But if it's possible to build the desktop version using these I could have a go at it later.

Thanks @PureTryOut! I just assumed that they were all specifically for android since all recent releases has -android in their names, even for the source code versions. But if it's possible to build the desktop version using these I could have a go at it later.
PureTryOut commented 2022-07-01 06:42:08 +00:00 (Migrated from github.com)

Yeah I know, I was confused too but it's just the entire source tagged. That suffix can be ignored., it contains all relevant files for the desktop build too.

Yeah I know, I was confused too but it's just the entire source tagged. That suffix can be ignored., it contains all relevant files for the desktop build too.
vitaly-zdanevich commented 2022-07-01 10:59:18 +00:00 (Migrated from github.com)

I thought about binary version too.

I thought about binary version too.
hrnick commented 2022-07-01 14:38:17 +00:00 (Migrated from github.com)

Unfortunately it does not seem as easy as just changing the source of the build. Here's an ebuild for v2022.07.01:

EAPI=7

inherit cmake-utils
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}-6-android.tar.gz"
KEYWORDS="~amd64"

DESCRIPTION="Offline maps and navigation using OpenStreetMap data"
HOMEPAGE="https://organicmaps.app"

LICENSE="Apache-2.0"
SLOT="0"

DEPEND="sys-devel/clang
	>=dev-util/cmake-3.18.1
	dev-util/ninja
	media-libs/freetype
	dev-libs/icu
	sys-libs/libstdc++-v3
	dev-qt/qtcore
	dev-qt/qtsvg
	dev-db/sqlite
	sys-libs/zlib[minizip]"
RDEPEND=""

S="${WORKDIR}/${P}-6-android"

src_prepare() {
	eapply "${FILESDIR}/${PN}-zlib-compile.patch"
	cmake-utils_src_prepare
}

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"

	local mycmakeargs=(
		-DBUILD_SHARED_LIBS=False
	)

	echo | ./configure.sh

	cmake-utils_src_configure
}

Running this gives the following error messages:

-- Found Threads: TRUE  
fatal: not a git repository (or any parent up to mount point /var/tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /var/tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /var/tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at CMakeLists.txt:313 (add_subdirectory):
  add_subdirectory given source "3party/expat/expat" which is not an existing
  directory.


-- Looking for C++ include unistd.h
-- Looking for C++ include unistd.h - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for C++ include inttypes.h
-- Looking for C++ include inttypes.h - found
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include sys/stat.h
-- Looking for C++ include sys/stat.h - found
-- Looking for C++ include fnmatch.h
-- Looking for C++ include fnmatch.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Looking for strtoll
-- Looking for strtoll - found
-- Found the following ICU libraries:
--   uc (required)
--   i18n (required)
--   data (required)
-- Found ICU: /usr/include (found version "71.1") 
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.12.1") 
-- Found Python3: /usr/bin/python3.11 (found version "3.11.0") found components: Interpreter 
Found python to use in qt/, shaders/ and 3party/: /usr/bin/python3.11
-- Found OpenGL: /usr/lib64/libOpenGL.so   
CMake Error at drape/drape_tests/CMakeLists.txt:34 (add_subdirectory):
  The source directory

    /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01-6-android/3party/googletest

  does not contain a CMakeLists.txt file.
Unfortunately it does not seem as easy as just changing the source of the build. Here's an ebuild for v2022.07.01: ``` EAPI=7 inherit cmake-utils EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}-6-android.tar.gz" KEYWORDS="~amd64" DESCRIPTION="Offline maps and navigation using OpenStreetMap data" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0" SLOT="0" DEPEND="sys-devel/clang >=dev-util/cmake-3.18.1 dev-util/ninja media-libs/freetype dev-libs/icu sys-libs/libstdc++-v3 dev-qt/qtcore dev-qt/qtsvg dev-db/sqlite sys-libs/zlib[minizip]" RDEPEND="" S="${WORKDIR}/${P}-6-android" src_prepare() { eapply "${FILESDIR}/${PN}-zlib-compile.patch" cmake-utils_src_prepare } src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" local mycmakeargs=( -DBUILD_SHARED_LIBS=False ) echo | ./configure.sh cmake-utils_src_configure } ``` Running this gives the following error messages: ``` -- Found Threads: TRUE fatal: not a git repository (or any parent up to mount point /var/tmp) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). fatal: not a git repository (or any parent up to mount point /var/tmp) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). fatal: not a git repository (or any parent up to mount point /var/tmp) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). CMake Error at CMakeLists.txt:313 (add_subdirectory): add_subdirectory given source "3party/expat/expat" which is not an existing directory. -- Looking for C++ include unistd.h -- Looking for C++ include unistd.h - found -- Looking for C++ include stdint.h -- Looking for C++ include stdint.h - found -- Looking for C++ include inttypes.h -- Looking for C++ include inttypes.h - found -- Looking for C++ include sys/types.h -- Looking for C++ include sys/types.h - found -- Looking for C++ include sys/stat.h -- Looking for C++ include sys/stat.h - found -- Looking for C++ include fnmatch.h -- Looking for C++ include fnmatch.h - found -- Looking for C++ include stddef.h -- Looking for C++ include stddef.h - found -- Check size of uint32_t -- Check size of uint32_t - done -- Looking for strtoll -- Looking for strtoll - found -- Found the following ICU libraries: -- uc (required) -- i18n (required) -- data (required) -- Found ICU: /usr/include (found version "71.1") -- Found Freetype: /usr/lib64/libfreetype.so (found version "2.12.1") -- Found Python3: /usr/bin/python3.11 (found version "3.11.0") found components: Interpreter Found python to use in qt/, shaders/ and 3party/: /usr/bin/python3.11 -- Found OpenGL: /usr/lib64/libOpenGL.so CMake Error at drape/drape_tests/CMakeLists.txt:34 (add_subdirectory): The source directory /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01-6-android/3party/googletest does not contain a CMakeLists.txt file. ```
PureTryOut commented 2022-07-01 16:58:32 +00:00 (Migrated from github.com)

Yeah the repo uses git submodules, which you clone normally with git clone --recursive. In this case you need to download all the git submodules seperately (which is what I do for now, but it'll get better with #2863), or just use the git method for now.

Yeah the repo uses git submodules, which you clone normally with `git clone --recursive`. In this case you need to download all the git submodules seperately (which is what I do for now, but it'll get better with #2863), or just use the git method for now.
hrnick commented 2022-07-01 22:07:29 +00:00 (Migrated from github.com)

I think I figured out how that works in portage. This should be an ebuild for organicmaps-2022.07.01, the EGIT_COMMIT specified is the bump versions commit for that release. I confirmed this by running OMaps --version, then emerging with an older EGIT_COMMIT and running OMaps --version again. So the only thing that should have to be done to version bump this in portage is to rename the ebuild/patch, update EGIT_COMMIT and do an ebuild digest. Please give it a try and let me know if it works as intended. If you want to have a go at an older version the commit for 2022.06.29 should be
9a66b6e3aae4f23e142695cddb5c0565fdd6f526.

EAPI=7

inherit git-r3 cmake-utils
EGIT_COMMIT="5260d7d9d305ed53a62940189e065a50cf272443"
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
KEYWORDS="~amd64"

DESCRIPTION="Offline maps and navigation using OpenStreetMap data"
HOMEPAGE="https://organicmaps.app"

LICENSE="Apache-2.0"
SLOT="0"

DEPEND="sys-devel/clang
	>=dev-util/cmake-3.18.1
	dev-util/ninja
	media-libs/freetype
	dev-libs/icu
	sys-libs/libstdc++-v3
	dev-qt/qtcore
	dev-qt/qtsvg
	dev-db/sqlite
	sys-libs/zlib[minizip]"
RDEPEND=""

src_prepare() {
	eapply "${FILESDIR}/${P}-zlib-compile.patch"
	cmake-utils_src_prepare
}

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"

	local mycmakeargs=(
		-DBUILD_SHARED_LIBS=False
	)

	echo | ./configure.sh

	cmake-utils_src_configure
}
I think I figured out how that works in portage. This should be an ebuild for organicmaps-2022.07.01, the `EGIT_COMMIT` specified is the bump versions commit for that release. I confirmed this by running `OMaps --version`, then emerging with an older `EGIT_COMMIT` and running `OMaps --version` again. So the only thing that should have to be done to version bump this in portage is to rename the ebuild/patch, update `EGIT_COMMIT` and do an ebuild digest. Please give it a try and let me know if it works as intended. If you want to have a go at an older version the commit for 2022.06.29 should be `9a66b6e3aae4f23e142695cddb5c0565fdd6f526`. ``` EAPI=7 inherit git-r3 cmake-utils EGIT_COMMIT="5260d7d9d305ed53a62940189e065a50cf272443" EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" KEYWORDS="~amd64" DESCRIPTION="Offline maps and navigation using OpenStreetMap data" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0" SLOT="0" DEPEND="sys-devel/clang >=dev-util/cmake-3.18.1 dev-util/ninja media-libs/freetype dev-libs/icu sys-libs/libstdc++-v3 dev-qt/qtcore dev-qt/qtsvg dev-db/sqlite sys-libs/zlib[minizip]" RDEPEND="" src_prepare() { eapply "${FILESDIR}/${P}-zlib-compile.patch" cmake-utils_src_prepare } src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" local mycmakeargs=( -DBUILD_SHARED_LIBS=False ) echo | ./configure.sh cmake-utils_src_configure } ```
hrnick commented 2022-07-01 22:11:50 +00:00 (Migrated from github.com)

Maybe organicmaps-9999 should have keywords set to "" so that it would have to be unmasked whereas the releases could be ~arch and, when considered stable, arch?

Maybe organicmaps-9999 should have keywords set to "" so that it would have to be unmasked whereas the releases could be ~arch and, when considered stable, arch?
vitaly-zdanevich commented 2022-07-08 06:46:31 +00:00 (Migrated from github.com)

@biodranik Organic Maps pollute common space with gtest - what do you think about it?

@biodranik Organic Maps [pollute common space with gtest](https://bugs.gentoo.org/856844) - what do you think about it?
biodranik commented 2022-07-08 06:48:49 +00:00 (Migrated from github.com)

@vitaly-zdanevich why are you building and installing unit tests? They are not needed, only the desktop target is needed to run the app.

And why version 9999?

@vitaly-zdanevich why are you building and installing unit tests? They are not needed, only the `desktop` target is needed to run the app. And why version 9999?
vitaly-zdanevich commented 2022-07-08 06:52:39 +00:00 (Migrated from github.com)

why are you building and installing unit tests?

I do not know... How can I disable it? It should be enabled with USE test + running them, for such case - can we fix gtest issue?

And why version 9999?

In Gentoo world this is mean "unstable" from Git.

> why are you building and installing unit tests? I do not know... How can I disable it? It should be enabled with USE `test` + running them, for such case - can we fix gtest issue? > And why version 9999? In Gentoo world this is mean "unstable" from Git.
biodranik commented 2022-07-08 07:21:01 +00:00 (Migrated from github.com)

gtest sources obviously are not needed, even if someone decides to build and install unit tests (why someone except repo developers would need it???).

gtest sources obviously are not needed, even if someone decides to build and install unit tests (why someone except repo developers would need it???).
PureTryOut commented 2022-07-08 08:50:21 +00:00 (Migrated from github.com)

make install (or cmake --install) installs everything that is configured to be installable. That includes gtest as it's internal CMake configuration has it configured to be installable. Weird I know but it is how it is. You can just remove the resulting files from the final package.

As for why you would build and run unit tests as a packager: to verify functionality of the package. When the unit tests succeed you can as a package with reasonable certainty know that the resulting package will work, just as the upstream developer would. Obviously there is no need to install them though.

`make install` (or `cmake --install`) installs everything that is configured to be installable. That includes gtest as it's internal CMake configuration has it configured to be installable. Weird I know but it is how it is. You can just remove the resulting files from the final package. As for why you would build and run unit tests as a packager: to verify functionality of the package. When the unit tests succeed you can as a package with reasonable certainty know that the resulting package will work, just as the upstream developer would. Obviously there is no need to install them though.
biodranik commented 2022-07-08 22:55:57 +00:00 (Migrated from github.com)

Try to pass -DINSTALL_GTEST=off to cmake call.

Try to pass -DINSTALL_GTEST=off to cmake call.
vitaly-zdanevich commented 2022-07-10 11:27:25 +00:00 (Migrated from github.com)

Please clarify, I do not understand - what is cmake call?

Please clarify, I do not understand - what is cmake call?
PureTryOut commented 2022-07-10 12:05:03 +00:00 (Migrated from github.com)

The place where you're calling cmake, normally something like cmake -DBUILD_TYPE=Release. In the ebuild emerge is doing it in cmake-utils_src_configure.

I'm not sure how you're writing an ebuild when you don't know what cmake does 🤔

The place where you're calling cmake, normally something like `cmake -DBUILD_TYPE=Release`. In the ebuild emerge is doing it in `cmake-utils_src_configure`. I'm not sure how you're writing an ebuild when you don't know what cmake does :thinking:
vitaly-zdanevich commented 2022-07-10 15:18:24 +00:00 (Migrated from github.com)

Now we have cmake_src_configure - should it be -DINSTALL_GTEST=off cmake_src_configure?

Now we have [cmake_src_configure](https://github.com/gentoo/guru/blob/d73db565feba64955209682fe672dfb51389a7cb/gui-apps/organicmaps/organicmaps-9999.ebuild#L37) - should it be `-DINSTALL_GTEST=off cmake_src_configure`?
vitaly-zdanevich commented 2022-07-10 15:48:36 +00:00 (Migrated from github.com)

Will try add to mycmakeargs, to have such block:

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"

	local mycmakeargs=(
		-DBUILD_SHARED_LIBS=False
		-DINSTALL_GTEST=off
	)

	echo | ./configure.sh

	cmake_src_configure
}
Will try add to `mycmakeargs`, to have such block: ``` src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" local mycmakeargs=( -DBUILD_SHARED_LIBS=False -DINSTALL_GTEST=off ) echo | ./configure.sh cmake_src_configure } ```
vitaly-zdanevich commented 2022-07-10 15:57:05 +00:00 (Migrated from github.com)

Got error:

mklink-or-dir boost/align
mklink-or-dir boost/algorithm
mklink-or-dir boost/accumulators
mklink-or-dir boost/numeric
link.mklink boost/cast.hpp
mklink-or-dir boost/numeric/ublas
link.mklink boost/numeric/odeint.hpp
mklink-or-dir boost/numeric/odeint
link.mklink boost/numeric/interval.hpp
mklink-or-dir boost/numeric/interval
mklink-or-dir boost/numeric/conversion
...updated 615 targets...
 * ERROR: gui-apps/organicmaps-9999::guru failed (configure phase):
 *   FATAL: cmake_src_prepare has not been run
 * 
 * Call stack:
 *     ebuild.sh, line  127:  Called src_configure
 *   environment, line 2713:  Called cmake_src_configure
 *   environment, line 1038:  Called die
 * The specific snippet of code:
 *       [[ -n ${_CMAKE_SRC_PREPARE_HAS_RUN} ]] || die "FATAL: cmake_src_prepare has not been run";
 * 
 * If you need support, post the output of `emerge --info '=gui-apps/organicmaps-9999::guru'`,
 * the complete build log and the output of `emerge -pqv '=gui-apps/organicmaps-9999::guru'`.
 * The complete build log is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999'
 * S: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999'

>>> Failed to emerge gui-apps/organicmaps-9999, Log file:

>>>  '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log'

 * Messages for package gui-apps/organicmaps-9999:

 * ERROR: gui-apps/organicmaps-9999::guru failed (configure phase):
 *   FATAL: cmake_src_prepare has not been run
 * 
 * Call stack:
 *     ebuild.sh, line  127:  Called src_configure
 *   environment, line 2713:  Called cmake_src_configure
 *   environment, line 1038:  Called die
 * The specific snippet of code:
 *       [[ -n ${_CMAKE_SRC_PREPARE_HAS_RUN} ]] || die "FATAL: cmake_src_prepare has not been run";
 * 
 * If you need support, post the output of `emerge --info '=gui-apps/organicmaps-9999::guru'`,
 * the complete build log and the output of `emerge -pqv '=gui-apps/organicmaps-9999::guru'`.
 * The complete build log is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999'
 * S: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999'
Got error: ``` mklink-or-dir boost/align mklink-or-dir boost/algorithm mklink-or-dir boost/accumulators mklink-or-dir boost/numeric link.mklink boost/cast.hpp mklink-or-dir boost/numeric/ublas link.mklink boost/numeric/odeint.hpp mklink-or-dir boost/numeric/odeint link.mklink boost/numeric/interval.hpp mklink-or-dir boost/numeric/interval mklink-or-dir boost/numeric/conversion ...updated 615 targets... * ERROR: gui-apps/organicmaps-9999::guru failed (configure phase): * FATAL: cmake_src_prepare has not been run * * Call stack: * ebuild.sh, line 127: Called src_configure * environment, line 2713: Called cmake_src_configure * environment, line 1038: Called die * The specific snippet of code: * [[ -n ${_CMAKE_SRC_PREPARE_HAS_RUN} ]] || die "FATAL: cmake_src_prepare has not been run"; * * If you need support, post the output of `emerge --info '=gui-apps/organicmaps-9999::guru'`, * the complete build log and the output of `emerge -pqv '=gui-apps/organicmaps-9999::guru'`. * The complete build log is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/environment'. * Working directory: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999' * S: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999' >>> Failed to emerge gui-apps/organicmaps-9999, Log file: >>> '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log' * Messages for package gui-apps/organicmaps-9999: * ERROR: gui-apps/organicmaps-9999::guru failed (configure phase): * FATAL: cmake_src_prepare has not been run * * Call stack: * ebuild.sh, line 127: Called src_configure * environment, line 2713: Called cmake_src_configure * environment, line 1038: Called die * The specific snippet of code: * [[ -n ${_CMAKE_SRC_PREPARE_HAS_RUN} ]] || die "FATAL: cmake_src_prepare has not been run"; * * If you need support, post the output of `emerge --info '=gui-apps/organicmaps-9999::guru'`, * the complete build log and the output of `emerge -pqv '=gui-apps/organicmaps-9999::guru'`. * The complete build log is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/gui-apps/organicmaps-9999/temp/environment'. * Working directory: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999' * S: '/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999' ```
vitaly-zdanevich commented 2022-07-10 16:20:14 +00:00 (Migrated from github.com)

Try to pass -DINSTALL_GTEST=off to cmake call.

Implemented in 8cf6d8072d

> Try to pass -DINSTALL_GTEST=off to cmake call. Implemented in https://github.com/gentoo/guru/commit/8cf6d8072d5c683564532c62707af8b06db5fefb
hrnick commented 2022-07-13 14:28:41 +00:00 (Migrated from github.com)

I don't even get there, I get the following errors, both for 2022.07.01 and 9999. It's strange that that it happens for 2022.07.01, it installed just fine before. Could it be a dependency issue?

[49/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/opening_hours/.  -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o -MF 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o.d -o 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx
[50/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DOMIM_UNIT_TEST_DISABLE_PLATFORM_INIT -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost  -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -MF geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx
FAILED: geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DOMIM_UNIT_TEST_DISABLE_PLATFORM_INIT -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost  -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -MF geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx
In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/strategies/geographic/distance.hpp:38,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/strategies/strategies.hpp:90,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometry.hpp:60,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry.hpp:17,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/intersection_score.hpp:16,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/geometry_tests/intersection_score_tests.cpp:4,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx:33:
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp: In member function 'void boost::geometry::model::d2::point_xy<CoordinateType, CoordinateSystem>::x(const CoordinateType&)':
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set'
   69 |     { this->template set<0>(v); }
      |                           ^
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: note:   expected a type, got '0'
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: template argument 2 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: template argument 3 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp: In member function 'void boost::geometry::model::d2::point_xy<CoordinateType, CoordinateSystem>::y(const CoordinateType&)':
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set'
   73 |     { this->template set<1>(v); }
      |                           ^
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: note:   expected a type, got '1'
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: template argument 2 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: template argument 3 is invalid
In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/geometries.hpp:29,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/detail/closest_points/linear_or_areal_to_areal.hpp:20,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/detail/closest_points/implementation.hpp:17,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/closest_points.hpp:14,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometry.hpp:69:
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::x(const CoordinateType&)':
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set'
   68 |     { this->template set<0>(v); }
      |                           ^
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: note:   expected a type, got '0'
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 2 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 3 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::y(const CoordinateType&)':
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set'
   72 |     { this->template set<1>(v); }
      |                           ^
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: note:   expected a type, got '1'
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 2 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 3 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::z(const CoordinateType&)':
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set'
   76 |     { this->template set<2>(v); }
      |                           ^
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: note:   expected a type, got '2'
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 2 is invalid
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 3 is invalid
[51/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost  -march=skylake -O2 -pipe -fPIC -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o -MF geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx
In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/point_with_altitude.cpp:5,
                 from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx:35:
/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/container_hash/hash.hpp:132:33: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
I don't even get there, I get the following errors, both for 2022.07.01 and 9999. It's strange that that it happens for 2022.07.01, it installed just fine before. Could it be a dependency issue? ``` [49/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/opening_hours/. -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o -MF 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o.d -o 3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/3party/opening_hours/opening_hours_tests/CMakeFiles/opening_hours_tests.dir/Unity/unity_0_cxx.cxx [50/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DOMIM_UNIT_TEST_DISABLE_PLATFORM_INIT -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -MF geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx FAILED: geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o /usr/bin/x86_64-pc-linux-gnu-g++ -DOMIM_UNIT_TEST_DISABLE_PLATFORM_INIT -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost -march=skylake -O2 -pipe -fPIE -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -MF geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/strategies/geographic/distance.hpp:38, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/strategies/strategies.hpp:90, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometry.hpp:60, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry.hpp:17, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/intersection_score.hpp:16, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/geometry_tests/intersection_score_tests.cpp:4, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/geometry_tests/CMakeFiles/geometry_tests.dir/Unity/unity_0_cxx.cxx:33: /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp: In member function 'void boost::geometry::model::d2::point_xy<CoordinateType, CoordinateSystem>::x(const CoordinateType&)': /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set' 69 | { this->template set<0>(v); } | ^ /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: note:  expected a type, got '0' /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: template argument 2 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:69:27: error: template argument 3 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp: In member function 'void boost::geometry::model::d2::point_xy<CoordinateType, CoordinateSystem>::y(const CoordinateType&)': /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set' 73 | { this->template set<1>(v); } | ^ /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: note:  expected a type, got '1' /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: template argument 2 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xy.hpp:73:27: error: template argument 3 is invalid In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/geometries.hpp:29, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/detail/closest_points/linear_or_areal_to_areal.hpp:20, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/detail/closest_points/implementation.hpp:17, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/algorithms/closest_points.hpp:14, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometry.hpp:69: /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::x(const CoordinateType&)': /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set' 68 | { this->template set<0>(v); } | ^ /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: note:  expected a type, got '0' /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 2 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:68:27: error: template argument 3 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::y(const CoordinateType&)': /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set' 72 | { this->template set<1>(v); } | ^ /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: note:  expected a type, got '1' /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 2 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:72:27: error: template argument 3 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp: In member function 'void boost::geometry::model::d3::point_xyz<CoordinateType, CoordinateSystem>::z(const CoordinateType&)': /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Key, class _Compare, class _Alloc> class std::set' 76 | { this->template set<2>(v); } | ^ /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: note:  expected a type, got '2' /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 2 is invalid /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/geometry/geometries/point_xyz.hpp:76:27: error: template argument 3 is invalid [51/279] /usr/bin/x86_64-pc-linux-gnu-g++ -DRELEASE -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01 -I/var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost -march=skylake -O2 -pipe -fPIC -fdiagnostics-color=always -ffast-math -Ofast -Wall -Wextra -Wno-unused-parameter -std=c++17 -MD -MT geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o -MF geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o.d -o geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx.o -c /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx In file included from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/geometry/point_with_altitude.cpp:5, from /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01_build/geometry/CMakeFiles/geometry.dir/Unity/unity_0_cxx.cxx:35: /var/tmp/portage/sci-geosciences/organicmaps-2022.07.01/work/organicmaps-2022.07.01/3party/boost/boost/container_hash/hash.hpp:132:33: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations] ```
biodranik commented 2022-07-13 20:55:16 +00:00 (Migrated from github.com)

Disable unity builds to avoid gcc-12 errors, #2886 is in progress

Disable unity builds to avoid gcc-12 errors, #2886 is in progress
ghost commented 2022-07-17 01:33:39 +00:00 (Migrated from github.com)

I don't even get there, I get the following errors, both for 2022.07.01 and 9999. It's strange that that it happens for 2022.07.01, it installed just fine before. Could it be a dependency issue?

It's a compiler regression.

> I don't even get there, I get the following errors, both for 2022.07.01 and 9999. It's strange that that it happens for 2022.07.01, it installed just fine before. Could it be a dependency issue? It's a compiler [regression](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310).
hrnick commented 2022-10-12 14:42:59 +00:00 (Migrated from github.com)

So where are we on building Organic Maps on Gentoo? I haven't given it a try for a while now and using the guru ebuild I got the following:

 *   eapply_user (or default) must be called in src_prepare()!

Adding the following seems to solve that:

src_prepare() {
	eapply_user
}

Next I got...

 *   FATAL: cmake_src_prepare has not been run

Updating src_prepare seems to solve this...

src_prepare() {
	eapply_user

	cmake_src_prepare
}

Now I'm stuck on a...

ninja: build stopped: subcommand failed.

I also added KEYWORDS. Now the ebuild I'm using looks like this:

EAPI=7

inherit git-r3 xdg cmake
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"

DESCRIPTION="Offline maps and navigation using OpenStreetMap data"
HOMEPAGE="https://organicmaps.app"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"

DEPEND="sys-devel/clang
	>=dev-util/cmake-3.18.1
	dev-util/ninja
	media-libs/freetype
	dev-libs/icu
	sys-libs/libstdc++-v3
	dev-qt/qtcore
	dev-qt/qtsvg
	dev-db/sqlite
	sys-libs/zlib[minizip]"
RDEPEND=""

PATCHES=(
	"${FILESDIR}/${P}-zlib-compile.patch"
)

src_prepare() {
	eapply_user

	cmake_src_prepare
}

src_configure() {
	CMAKE_BUILD_TYPE="RelWithDebInfo"

	local mycmakeargs=(
		-DBUILD_SHARED_LIBS=False
		-DINSTALL_GTEST=off
	)

	echo | ./configure.sh

	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"
}
So where are we on building Organic Maps on Gentoo? I haven't given it a try for a while now and using the guru ebuild I got the following: ``` * eapply_user (or default) must be called in src_prepare()! ``` Adding the following seems to solve that: ``` src_prepare() { eapply_user } ``` Next I got... ``` * FATAL: cmake_src_prepare has not been run ``` Updating src_prepare seems to solve this... ``` src_prepare() { eapply_user cmake_src_prepare } ``` Now I'm stuck on a... ``` ninja: build stopped: subcommand failed. ``` I also added KEYWORDS. Now the ebuild I'm using looks like this: ``` EAPI=7 inherit git-r3 xdg cmake EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" DESCRIPTION="Offline maps and navigation using OpenStreetMap data" HOMEPAGE="https://organicmaps.app" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" DEPEND="sys-devel/clang >=dev-util/cmake-3.18.1 dev-util/ninja media-libs/freetype dev-libs/icu sys-libs/libstdc++-v3 dev-qt/qtcore dev-qt/qtsvg dev-db/sqlite sys-libs/zlib[minizip]" RDEPEND="" PATCHES=( "${FILESDIR}/${P}-zlib-compile.patch" ) src_prepare() { eapply_user cmake_src_prepare } src_configure() { CMAKE_BUILD_TYPE="RelWithDebInfo" local mycmakeargs=( -DBUILD_SHARED_LIBS=False -DINSTALL_GTEST=off ) echo | ./configure.sh 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" } ```
hrnick commented 2022-10-12 15:58:18 +00:00 (Migrated from github.com)

Nevermind about where I got stick, it still seems to be the compiler regression. But I guess the updates to the ebuild could be useful anyway. :)

Nevermind about where I got stick, it still seems to be the compiler regression. But I guess the updates to the ebuild could be useful anyway. :)
vitaly-zdanevich commented 2022-10-12 16:37:42 +00:00 (Migrated from github.com)

@hrnick please commit to Guru - you can copy-paste in a browser.

@hrnick please commit to Guru - you can copy-paste in a browser.
hrnick commented 2022-10-13 17:10:02 +00:00 (Migrated from github.com)

@hrnick please commit to Guru - you can copy-paste in a browser.

Thanks for pointing that out! Done!

> @hrnick please commit to Guru - you can copy-paste in a browser. Thanks for pointing that out! Done!
vitaly-zdanevich commented 2022-10-14 07:35:37 +00:00 (Migrated from github.com)
But I see that the last commit is July 10 https://github.com/gentoo/guru/blob/dev/gui-apps/organicmaps/organicmaps-9999.ebuild
hrnick commented 2022-10-16 09:26:13 +00:00 (Migrated from github.com)

But I see that the last commit is July 10 https://github.com/gentoo/guru/blob/dev/gui-apps/organicmaps/organicmaps-9999.ebuild

I don't know what happened. What about now?

> But I see that the last commit is July 10 https://github.com/gentoo/guru/blob/dev/gui-apps/organicmaps/organicmaps-9999.ebuild I don't know what happened. What about now?
vitaly-zdanevich commented 2022-10-17 09:41:44 +00:00 (Migrated from github.com)

Still July 10 is the last change.

Still July 10 is the last change.
hrnick commented 2022-10-19 15:24:53 +00:00 (Migrated from github.com)

"You’re making changes in a project you don’t have write access to. Submitting a change will write it to a new branch in your fork hrnick/guru, so you can send a pull request."

Could that be it?

"You’re making changes in a project you don’t have write access to. Submitting a change will write it to a new branch in your fork hrnick/guru, so you can send a pull request." Could that be it?
vitaly-zdanevich commented 2022-10-19 17:54:13 +00:00 (Migrated from github.com)

9999 version cannot have KEYWORD.

9999 version cannot have KEYWORD.
vitaly-zdanevich commented 2022-10-19 17:57:22 +00:00 (Migrated from github.com)

I did a push to dev with your src_prepare - thanks.

I did a push to `dev` with your `src_prepare` - thanks.
vitaly-zdanevich commented 2022-10-19 17:59:26 +00:00 (Migrated from github.com)

@hrnick in order to push to GURU dev - please get permission, read more about it here https://wiki.gentoo.org/wiki/Project:GURU/Information_for_Contributors

@hrnick in order to push to GURU dev - please get permission, read more about it here https://wiki.gentoo.org/wiki/Project:GURU/Information_for_Contributors
hrnick commented 2022-11-04 20:29:18 +00:00 (Migrated from github.com)

@hrnick in order to push to GURU dev - please get permission, read more about it here https://wiki.gentoo.org/wiki/Project:GURU/Information_for_Contributors

Thanks for the info!

Organicmaps installs now using the ebuild in guru, I have it on my desktop again! Thank you everyone for helping out! :)

> @hrnick in order to push to GURU dev - please get permission, read more about it here https://wiki.gentoo.org/wiki/Project:GURU/Information_for_Contributors Thanks for the info! Organicmaps installs now using the ebuild in guru, I have it on my desktop again! Thank you everyone for helping out! :)
This repo is archived. You cannot comment on issues.
No labels
Accessibility
Accessibility
Address
Address
Android
Android
Android Auto
Android Auto
Android Automotive (AAOS)
Android Automotive (AAOS)
API
API
AppGallery
AppGallery
AppStore
AppStore
Battery and Performance
Battery and Performance
Blocker
Blocker
Bookmarks and Tracks
Bookmarks and Tracks
Borders
Borders
Bug
Bug
Build
Build
CarPlay
CarPlay
Classificator
Classificator
Community
Community
Core
Core
CrashReports
CrashReports
Cycling
Cycling
Desktop
Desktop
DevEx
DevEx
DevOps
DevOps
dev_sandbox
dev_sandbox
Directions
Directions
Documentation
Documentation
Downloader
Downloader
Drape
Drape
Driving
Driving
Duplicate
Duplicate
Editor
Editor
Elevation
Elevation
Enhancement
Enhancement
Epic
Epic
External Map Datasets
External Map Datasets
F-Droid
F-Droid
Fonts
Fonts
Frequently User Reported
Frequently User Reported
Fund
Fund
Generator
Generator
Good first issue
Good first issue
Google Play
Google Play
GPS
GPS
GSoC
GSoC
iCloud
iCloud
Icons
Icons
iOS
iOS
Legal
Legal
Linux Desktop
Linux Desktop
Linux packaging
Linux packaging
Linux Phone
Linux Phone
Mac OS
Mac OS
Map Data
Map Data
Metro
Metro
Navigation
Navigation
Need Feedback
Need Feedback
Night Mode
Night Mode
NLnet 2024-06-281
NLnet 2024-06-281
No Feature Parity
No Feature Parity
Opening Hours
Opening Hours
Outdoors
Outdoors
POI Info
POI Info
Privacy
Privacy
Public Transport
Public Transport
Raw Idea
Raw Idea
Refactoring
Refactoring
Regional
Regional
Regression
Regression
Releases
Releases
RoboTest
RoboTest
Route Planning
Route Planning
Routing
Routing
Ruler
Ruler
Search
Search
Security
Security
Styles
Styles
Tests
Tests
Track Recording
Track Recording
Translations
Translations
TTS
TTS
UI
UI
UX
UX
Walk Navigation
Walk Navigation
Watches
Watches
Web
Web
Wikipedia
Wikipedia
Windows
Windows
Won't fix
Won't fix
World Map
World Map
No milestone
No project
No assignees
2 participants
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: organicmaps/organicmaps-tmp#2217
No description provided.