diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest index 626b5efef6afc..d7ecb389b5d17 100644 --- a/media-libs/glycin-loaders/Manifest +++ b/media-libs/glycin-loaders/Manifest @@ -1 +1,2 @@ DIST glycin-1.1.4.tar.xz 28352904 BLAKE2B 0623a05462fb8a59d9d7e7f49968b4b68a26bd4f2088702d857048f206e9bc466907dfe2b979fdd4f80ee08e9daa888e4210cc177ca8ca5cc87fc9c10bd86e03 SHA512 8bfeefbbc36794d8b57ac86a0166038372c93aeec65a335db91a098f7442f9d33838c7f657f6a98b5528f62f89cc24b6d52e0e45738e333a3fe0179d0b02ee8c +DIST glycin-1.2.beta.1.tar.xz 36989732 BLAKE2B 47e9d07f5487767fa0625fda352e6cb686227474addc38d2bc8acde1cb81689d62bd834949a82302153bdbe6dc3a08bb42f7fd1ba85ea67c61f62a7ba08d1b2a SHA512 2479f8044745e9203e2733359248d78e01cf1407eda770478936101dc7cbf32218c6c6cb21583b6e2444eecb8645c81cb8b9c73c6986593908cf6b11e4a5a25d diff --git a/media-libs/glycin-loaders/glycin-loaders-1.2_beta1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.2_beta1.ebuild new file mode 100644 index 0000000000000..fddb3302d02e5 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-1.2_beta1.ebuild @@ -0,0 +1,95 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# crates vendored upstream +CRATES=" +" + +inherit cargo meson + +MY_P=glycin-${PV%_*}.beta.${PV#*beta} +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/GNOME/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 GPL-3+ ISC LGPL-3+ + MIT Unicode-3.0 + || ( 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/GNOME/glycin/-/issues/81 + sed -i -e '\|/fonts|d' tests/tests.rs || die + # avoid depending on git + # https://gitlab.gnome.org/GNOME/glycin/-/issues/110 + sed -i -e 's/git/false/' loaders/meson.build || 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 +}