# Distributed under the terms of the GNU General Public License v2 EAPI=8 # Upstream uses Debug automatically for Git checkouts unless a build type is # supplied. cmake.eclass otherwise defaults to RelWithDebInfo. CMAKE_BUILD_TYPE=Release # Use Gentoo's installed libraries. If this array is unset, git-r3 fetches # every submodule recursively before src_prepare() is reached. EGIT_SUBMODULES=() inherit cmake git-r3 DESCRIPTION="A Beautiful Gemini Client (live ebuild from dev branch)" HOMEPAGE="https://gmi.skyjake.fi/lagrange/" EGIT_REPO_URI="https://github.com/skyjake/lagrange.git" EGIT_BRANCH="dev" LICENSE="BSD-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" IUSE="+gui ncurses +bidi +harfbuzz mp3 +opus +jxl +webp sse41" REQUIRED_USE="|| ( gui ncurses )" DEPEND=" dev-libs/libpcre dev-libs/libunistring dev-libs/openssl:0= sys-libs/zlib >=dev-libs/the_Foundation-1.12.0 gui? ( media-libs/libsdl2 bidi? ( dev-libs/fribidi ) harfbuzz? ( media-libs/harfbuzz ) mp3? ( media-sound/mpg123 ) opus? ( media-libs/opusfile ) webp? ( media-libs/libwebp ) jxl? ( media-libs/libjxl ) ) ncurses? ( dev-libs/sealcurses ) " RDEPEND="${DEPEND}" BDEPEND=" virtual/pkgconfig " DOCS=( README.md ) src_prepare() { cmake_src_prepare # Ensure upstream's bundled submodules cannot be selected. Current # Depends.cmake automatically falls back to system packages when these # directories are absent. rm -rf \ lib/the_Foundation \ lib/sealcurses \ lib/harfbuzz \ lib/fribidi || die } src_configure() { # Gentoo's cmake.eclass clears CMake's default per-build-type flags. # Define NDEBUG explicitly so Lagrange's debug drawing overlay is omitted. append-cppflags -DNDEBUG local mycmakeargs=( -DENABLE_GUI=$(usex gui) -DENABLE_TUI=$(usex ncurses) -DENABLE_STATIC=OFF -DENABLE_FRIBIDI=$(usex bidi) -DENABLE_HARFBUZZ=$(usex harfbuzz) -DENABLE_MPG123=$(usex mp3) -DENABLE_OPUS=$(usex opus) -DENABLE_WEBP=$(usex webp) -DENABLE_JXL=$(usex jxl) -DTFDN_ENABLE_SSE41=$(usex sse41) -DENABLE_FRIBIDI_BUILD=OFF -DENABLE_HARFBUZZ_MINIMAL=OFF ) cmake_src_configure } src_install() { cmake_src_install if use gui ; then insinto /usr/share/applications doins "${BUILD_DIR}/fi.skyjake.Lagrange.desktop" insinto /usr/share/icons/hicolor/256x256/apps doins "${S}/res/lagrange-256.png" fi doman "${S}/res/lagrange.1" }