Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organicmaps fixes #185

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Organicmaps fixes #185

wants to merge 3 commits into from

Conversation

gerion0
Copy link

@gerion0 gerion0 commented May 6, 2024

dev-libs/utfcpp/metadata.xml Outdated Show resolved Hide resolved
@stkw0
Copy link
Contributor

stkw0 commented May 6, 2024

Can organicmaps and the other ebuild be versioned instead of being live version only? I think organicmaps has tags/releases.

@gerion0 gerion0 force-pushed the organicmaps-fixes branch from 13ea96f to a880e48 Compare May 7, 2024 00:37
@gerion0
Copy link
Author

gerion0 commented May 7, 2024

Can organicmaps and the other ebuild be versioned instead of being live version only? I think organicmaps has tags/releases.

fast_double_parser cannot be a released version, yet. There exist releases but only in the git version an install target exists (the older versions just compile the sources but do not install any header/library), see lemire/fast_double_parser@2a3319d.

For organicmaps, there could be a release version. I will try to add it.

@stkw0
Copy link
Contributor

stkw0 commented May 7, 2024

The last version is from 2022, I guess it would make sense to open an issue upstream to see how is the situation and if a new version could be released. If not it would make more sense to git the snapshot of a given date and use the date as version in the ebuild.

@gerion0 gerion0 force-pushed the organicmaps-fixes branch from a880e48 to 58117e0 Compare May 7, 2024 14:58
@gerion0
Copy link
Author

gerion0 commented May 7, 2024

Thankfully, @lemire released a new version, so organicmaps now depends on that version.


BDEPEND=""
DEPEND=""
RDEPEND=""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can drop these empty vars.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just copied the upstream ebuild and therefore left it as is.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In any case, please remove these empty variables

fi
fi

rmdir "${S}/extern/ftest" || die
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is || die already integrated inside rmdir?

Copy link
Author

@gerion0 gerion0 May 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No (rmdir is just a coreutils(?) program).

fi

rmdir "${S}/extern/ftest" || die
ln -s ../../ftest "${S}/extern/ftest" || die
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need this only when USE test?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I cannot say this either.


+# Add protobuf library.
+add_subdirectory(protobuf)
+
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a comment here - why do we need this (why not fixed in upstream), and when we can remove this patch.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment is in the ebuild itself, there is the appropriate PR linked that is needed in organicmaps to make this patch obsolete.

@vitaly-zdanevich
Copy link
Contributor

Big thanks for fixes, today or tomorrow I will try to run this.

A version >=4 is an organicmaps dependency.

Signed-off-by: Gerion Entrup <[email protected]>
@gerion0 gerion0 force-pushed the organicmaps-fixes branch from 58117e0 to e29006d Compare May 7, 2024 19:11
@hrnick
Copy link

hrnick commented May 7, 2024

Can organicmaps and the other ebuild be versioned instead of being live version only? I think organicmaps has tags/releases.

There are releases but none of them seem to be downloadable for the desktop version. One could tie this to a specific commit using EGIT_COMMIT and make it a 20240504 or similar like the ones found here: https://github.com/organicmaps/organicmaps/releases/

@gerion0
Copy link
Author

gerion0 commented May 7, 2024

There are releases but none of them seem to be downloadable for the desktop version.

The releases are linked to a specific git commit and the assets contain a source code tarball besides the APK. I would just use this as "desktop release" (Gentoo needs the source tarball anyway).

@vitaly-zdanevich
Copy link
Contributor

Cannot compile organicmaps, logs ends with:

   repository:               https://github.com/lemire/fast_double_parser.git
   at the commit:            efec03532ef65984786e5e32dbc81f6e6a55a115
 * Skipping submodule 3party/fast_double_parser/benchmark/dependencies/abseil-cpp
 * Skipping submodule 3party/fast_double_parser/benchmark/dependencies/double-conversion
 * Checking out https://github.com/thisistherk/fast_obj to /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999/3party/fast_obj ...
git checkout --quiet 1a8060257a96401a9555a476bd13c3a87502c9b5
GIT update -->
   repository:               https://github.com/thisistherk/fast_obj
   at the commit:            1a8060257a96401a9555a476bd13c3a87502c9b5
 * Repository id: organicmaps_world_feed_integration_tests_data.git
 * To override fetched repository properties, use:
 *   EGIT_OVERRIDE_REPO_ORGANICMAPS_WORLD_FEED_INTEGRATION_TESTS_DATA
 *   EGIT_OVERRIDE_BRANCH_ORGANICMAPS_WORLD_FEED_INTEGRATION_TESTS_DATA
 *   EGIT_OVERRIDE_COMMIT_ORGANICMAPS_WORLD_FEED_INTEGRATION_TESTS_DATA
 *   EGIT_OVERRIDE_COMMIT_DATE_ORGANICMAPS_WORLD_FEED_INTEGRATION_TESTS_DATA
 * 
 * Fetching https://github.com/organicmaps/world_feed_integration_tests_data.git ...
git fetch https://github.com/organicmaps/world_feed_integration_tests_data.git +HEAD:refs/git-r3/HEAD
git symbolic-ref refs/git-r3/gui-apps/organicmaps/0/__main__ refs/git-r3/HEAD
 * Checking out https://github.com/organicmaps/world_feed_integration_tests_data.git to /var/tmp/portage/gui-apps/organicmaps-9999/work/world_feed_integration_tests_data-9999 ...
git checkout --quiet refs/git-r3/HEAD
GIT update -->
   repository:               https://github.com/organicmaps/world_feed_integration_tests_data.git
   at the commit:            3b66e59eaae85ebc583ce20baa3bdf27811349c4
>>> Source unpacked in /var/tmp/portage/gui-apps/organicmaps-9999/work
>>> Preparing source in /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999_build"
 * Applying fix-3party.patch ...                                                                                                                                    [ ok ]
 * Applying fix-jansson.patch ...                                                                                                                                   [ ok ]
 * Hardcoded definition(s) removed in 3party/osrm/osrm-backend/CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE Release)
 * Hardcoded definition(s) removed in 3party/fast_double_parser/CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE
 * Hardcoded definition(s) removed in CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE "Release")
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999_build"
cmake -C /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DWITH_SYSTEM_PROVIDED_3PARTY=yes -DBUILD_SHARED_LIBS=off -DTEST_DATA_REPO_URL=/var/tmp/portage/gui-apps/organicmaps-9999/work/world_feed_integration_tests_data-9999 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999_build/gentoo_toolchain.cmake /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999
loading initial cache file /var/tmp/portage/gui-apps/organicmaps-9999/work/organicmaps-9999_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using compiler GNU 13.2.1
-- Using Unity Build with batch 50, export UNITY_DISABLE=1 or use -DUNITY_DISABLE=ON to disable it.
-- export COLORS_DISABLE=1 or use -DCOLORS_DISABLE=ON to disable colored compiler output.
-- Build type: RelWithDebInfo
-- Using ld.ldd linker
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - no
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindThreads.cmake:226 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:252 (find_package)

- adjust patches. They depend on
	organicmaps/organicmaps#7982
    organicmaps/organicmaps#6310
- fix dependencies. OrganicMaps has more external libs now. Moreover all
  dynamically linked libraries were checked and added as deps.
- don't install test targets

Signed-off-by: Gerion Entrup <[email protected]>
@gerion0 gerion0 force-pushed the organicmaps-fixes branch from e29006d to 6b0d888 Compare May 8, 2024 06:52
@gerion0
Copy link
Author

gerion0 commented May 8, 2024

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - no
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindThreads.cmake:226 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:252 (find_package)

Strange error and should be unrelated to my changes. CMake does not find a compiler with pthread support. Is your gcc compiled with the openmp useflag?

@vitaly-zdanevich
Copy link
Contributor

Is your gcc compiled with the openmp useflag?

Yes.

$ emerge --info gcc
Portage 3.0.61 (python 3.11.9-final-0, default/linux/amd64/17.1/no-multilib, gcc-13, glibc-2.39-r4, 6.6.21-gentoo+ x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.21-gentoo+-x86_64-AMD_Ryzen_9_7950X_16-Core_Processor-with-glibc2.39
KiB Mem:    65056260 total,  44321032 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Mon, 29 Apr 2024 04:45:00 +0000
Head commit of repository gentoo: 0fe7590f5e2de5c73685fb9348d2853838cdbe7c
Timestamp of repository edgets: Fri, 19 Apr 2024 23:18:39 +0000
Head commit of repository edgets: fec6ca866c8c7414ea51cbc208fcdd58e711ccab

Head commit of repository guru: 149a5a329e4794068cd3f61d3379554bf644eac6

Timestamp of repository pentoo: Sun, 28 Apr 2024 05:19:07 +0000
Head commit of repository pentoo: 176494a8d9d2f2b8a49a93ddb29465c2920eeb8c

sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.9.19_p2::gentoo, 3.11.9::gentoo, 3.12.3::gentoo
dev-lang/rust:             1.75.0-r1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.54::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo
sys-devel/llvm:            17.0.6::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r4::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync2.ru.gentoo.org/gentoo-portage/
    priority: -1000
    volatile: False
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24

edgets
    location: /var/db/repos/edgets
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/edgets.git
    masters: gentoo
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: [email protected]:repo/proj/guru.git
    masters: gentoo
    volatile: False

overlay-of-vitaly-zdanevich
    location: /var/db/repos/overlay-of-vitaly-zdanevich
    masters: gentoo
    volatile: False

pentoo
    location: /var/db/repos/pentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/pentoo.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2                -march=native -pipe -flto"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.9/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2                -march=native -pipe -flto"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2                -march=native -pipe -flto"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2                -march=native -pipe -flto"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ http://gentoo-mirror.alexxy.name/"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS="-C debuginfo=0 -C target-cpu=native -C opt-level=3 -C panic=abort"
SHELL="/bin/bash"
USE="X acl amd64 avif bluray bzip2 cli crypt dbus dri dvd egl elogind eme-free exif ffmpeg flac fortran gdbm gdk-pixbuf graphite grub heif iconv jpeg libtirpc lto mp3 ncurses nls ogg opengl openh264 openmp opus pam pcre pgo png pulseaudio rdp readline seccomp split-usr ssl svg svt-av1 test-rust tiff tkip udf unicode v4l vaapi vpx vulkan webp x264 x265 xattr xml zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 avx512f avx512dq avx512cd avx512bw avx512vl avx512vbmi f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="x64" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS

=================================================================
                        Package Settings
=================================================================

sys-devel/gcc-13.2.1_p20240210::gentoo was built with the following:
USE="(cxx) fortran graphite lto nls openmp pgo (pie) sanitize ssp -ada -cet (-custom-cflags) -d -debug -default-stack-clash-protection -default-znow -doc (-fixed-point) -go -hardened (-ieee-long-double) -jit (-libssp) -modula2 (-multilib) -objc -objc++ -objc-gc (-pch) -systemtap -test -valgrind -vanilla -vtv -zstd"
CFLAGS="-march=native -pipe -O2"
CXXFLAGS="-march=native -pipe -O2"
FEATURES="protect-owned ebuild-locks merge-sync assume-digests ipc-sandbox unmerge-logs pid-sandbox config-protect-if-modified unmerge-orphans preserve-libs fixlafiles pkgdir-index-trusted news multilib-strict binpkg-dostrip userpriv network-sandbox strict sfperms userfetch xattr distlocks buildpkg-live usersync binpkg-logs parallel-fetch qa-unresolved-soname-deps sandbox unknown-features-warn binpkg-docompress usersandbox"

@gerion0
Copy link
Author

gerion0 commented May 8, 2024

There are releases but none of them seem to be downloadable for the desktop version.

The releases are linked to a specific git commit and the assets contain a source code tarball besides the APK. I would just use this as "desktop release" (Gentoo needs the source tarball anyway).

Using the source tarballs is not easy. I came up with this:

PYTHON_COMPAT=( python3_{7..12} )
inherit git-r3 python-r1 xdg cmake

# this URL is to make the tests compile since organicmaps usually dynamically clones the repo
# maybe a better way would be to skip the test
EGIT_WORLD_FEED_REPO_URI="https://github.com/${PN}/world_feed_integration_tests_data.git"

if [[ ${PV} == 9999 ]]; then
	EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
	# organicmaps gets more and more system libraries, we use as many
	# as currently possible, use submodules for the rest
	EGIT_SUBMODULES=(
		3party/just_gtfs
		3party/protobuf/protobuf # wait for https://github.com/organicmaps/organicmaps/pull/6310
		3party/fast_obj
	)
else
	# organicmaps itself and the bundled dependencies
	SRC_URI="
		https://github.com/organicmaps/organicmaps/archive/refs/tags/${PV}-9-android.tar.gz -> ${P}.tar.gz
		https://github.com/organicmaps/just_gtfs/archive/7516753825500f90ac2de6f18c256d5abec1ff33.tar.gz -> just_gtfs-75167538.tar.gz
		https://github.com/organicmaps/protobuf/archive/bda4bb90688a36e1311d798030894dcd5f6105ef.tar.gz -> organicmaps-protobuf-bda4bb906.tar.gz
		https://github.com/thisistherk/fast_obj/archive/724e09ff1e82679eeab5ae56652ecc3be593b5b0.tar.gz -> organicmaps-fast_obj-724e09ff1.tar.gz
	"
fi

Explanation:

  • OrganicMaps dynamically clones (as part of is build process) a Git repo with test data. In the live ebuild this is solved by specifying the repo as additional repo URL and let the build process clone a local repo. The tests are optional, though. We could deactivate it. In the tarball release all of this becomes a problem since git-r3 needs a REPO_URI and cannot be used just to fetch some random Git repo.
  • OrganicMaps has a few bundled dependencies that usually don't have tags/releases. Luckily, Github provides downloading a tarball of a random commit so this is the workaround I used here.

However, the whole ebuild does not look clean for me, here. OrganicMaps has done a lot in the past to unbundle dependencies. I would just wait some time to get a cleaner ebuild for a specific release.

@gerion0
Copy link
Author

gerion0 commented May 8, 2024

Is your gcc compiled with the openmp useflag?

Yes.

Hmm, I don't have a good idea. Can you put this pthread test application into a file (// C program to show thread functions) and try to compile it with gcc yourfile.c? For me, it just works.

@vitaly-zdanevich
Copy link
Contributor

gcc yourfile.c produces no errors.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add yourself as maintainer?
You will have to create an account on bugs.gentoo.org as well with the same email.
This will allow you to receive notification emails when bugs are reported for this package.
Alternatively, you could put @vitaly-zdanevich as maintainer instead if he agrees to it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I will do it.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment for this, regarding adding a maintainer


BDEPEND=""
DEPEND=""
RDEPEND=""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In any case, please remove these empty variables


LICENSE="Boost-1.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't add every architecture ever. Usually just add the one(s) you actually tested this on (typically ~amd64).
More keywords can be requested by users (as bugs on bugs.gentoo.org) if they test on different archs and reports that it works fine.

@vitaly-zdanevich
Copy link
Contributor

But still, I cannot compile this :(

gentoo-repo-qa-bot pushed a commit to gentoo-mirror/gerislay that referenced this pull request Dec 4, 2024
Add the version of gentoo/guru#185
Now that it works again thanks to organicmaps/organicmaps#9814

Signed-off-by: Gerion Entrup <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants