diff options
Diffstat (limited to 'media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild')
-rw-r--r-- | media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild new file mode 100644 index 000000000000..0775282f7108 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo meson + +MY_P=glycin-${PV/_/.} +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" +SRC_URI=" + https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz +" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT + Unicode-DFS-2016 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="heif jpegxl svg test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.60:2 + >=sys-libs/libseccomp-2.5.0 + heif? ( >=media-libs/libheif-1.17.0:= ) + jpegxl? ( >=media-libs/libjxl-0.10.0:= ) + svg? ( + >=gnome-base/librsvg-2.52.0:2 + >=x11-libs/cairo-1.17.0 + ) +" +DEPEND=" + ${RDEPEND} + test? ( + >=gui-libs/gtk-4.12.0:4 + >=media-libs/lcms-2.14:2 + ) +" +BDEPEND=" + test? ( + sys-apps/bubblewrap + sys-apps/dbus + ) +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" + +src_prepare() { + default + + # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 + sed -i -e '\|/fonts|d' tests/tests.rs || die +} + +src_configure() { + local formats=( + $(usev heif glycin-heif) + $(usev jpegxl glycin-jxl) + $(usev svg glycin-svg) + glycin-image-rs + ) + local formats_s=${formats[*]} + local emesonargs=( + -Dprofile=$(usex debug dev release) + -Dglycin-loaders=true + -Dloaders="${formats_s// /,}" + -Dtests=$(usex test true false) + -Dlibglycin=false + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die +} + +src_test() { + # tests write to /proc/*/uid_map + # apparently, "addpredict /" in Portage breaks it + local -x SANDBOX_ON=0 + meson_src_test +} |