diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest index 080095e22bedb..4f7afdcc2d0e7 100644 --- a/media-libs/glycin-loaders/Manifest +++ b/media-libs/glycin-loaders/Manifest @@ -1,5 +1,7 @@ DIST glycin-1.2.3.tar.xz 37162464 BLAKE2B b850cdf099b1a5d8e42f0ac0877b2e790bcfb66dbe156be7a7bcdc3a17b40e1a9c0f55ee26716a0485708686f558f005759673a2fa6c564c8de5c6534f748fa2 SHA512 5d2c81c2cad2d7c54e628c0cddd80aa463ed017bb8e117d713b92cf224975ffe4377fb7bf8c28e68dfbbdc5834638d8ea7fa744d8877ed45b7d07215d11c4761 DIST glycin-1.2.4.tar.xz 37181828 BLAKE2B 8bd901e09d3f9902582662154d62d180e1d6c3aaee472d81d7c32c611ba2b101074a8c70511ef5f1ad3cff67c6cd8e154282a855e21379f0067ab07e8dd4eecf SHA512 3215e7ec6f5cb04a4871ab34b1e0b67c11984ae8762c460248ebe5241d01cfa57b571d32c629f2fecfa926c961f876b3e8e6be3a8f89d12f4bc09b0aa329a56f +DIST glycin-2.0.0-crates.tar.xz 27556524 BLAKE2B fc30471bcd1594b5eafa2461f0d39d4574e802a273e980f616249c767b328be0cea79c398b831b012f03fe75c92e5b9a467e6f424aa4a7c99d035e3a56df6abc SHA512 f073e61b4839eb4e519b3ec31b00bbafd63ff9b9ede421efc5b15acad1ac40edc26b99c1675cf165475534cc0f10bcec5064cfe6c8ba612fe08593241ba421e8 +DIST glycin-2.0.0.tar.bz2 145522 BLAKE2B eaaa6c5ac0a3085cfea94de14eb935c18ff02c645aa83d6194c757bd8e3adc7a2fb91c17a48858727834c887e33d345f0222ac4b9302174f5983a2a4a9d415f2 SHA512 119ddabf49250b49c6a17da9b044c412a6cad837883f0b3fcb03152a553ab6f629c394ee805d693927b0be1964df400b469de086b08165b8a293f79c133e5d3a DIST glycin-2.0.rc-crates.tar.xz 26596628 BLAKE2B b970fc96a1fa52c631e0ff644039128ece0e7908522f96a7d793f8d2231e4b12bf295324a940eff8d7638157aa2c75351ebbda7c31af596d669289ce97aab1e6 SHA512 90789337dd4db20d829b1466be117163c8f66c2ff0a790d67446a59eb4aaed5f43609b49304099cffe8e0b7ac926077bf054f25e232c5ab60a2615cf0f81cea1 DIST glycin-2.0.rc.tar.bz2 139334 BLAKE2B 004bde06a16da0185efa47be404e1dbd287a7b7f39cdf15d9c48bac0c1cdc463dd5e075f7fc870f116257b17d3cd29df0b78b48f668370cf932bb59b3611fd19 SHA512 de12789f51c7d8415a0da3c2810a8eb0c6eceeea5664171e5ff3da9e34cb5e7d589e62487e409b6ef3c6359ba6e0e938785986ef7843d9a19c9b61e69fa5100a DIST glycin-test-images-7e1d59dc5f8ce18d75769d591f9af32fb26e47b6.tar.bz2 8246039 BLAKE2B e53cbb56910b274e737810a7129b88191a8bc34ece0c8e6ffd888b59794aec2098ec42d1deafb112fa00183d6dd4bdcda7d1efb3f4feb062aeda1728191beeb4 SHA512 0b937910fd946ac69888756b6ee135536d8667eea6d9f66acd9dac105ab74a6e81f4f9f9c254b4f6d895a26bafb44a01c65c9ec384de6047352a2c7a0976e134 diff --git a/media-libs/glycin-loaders/glycin-loaders-2.0.0.ebuild b/media-libs/glycin-loaders/glycin-loaders-2.0.0.ebuild new file mode 100644 index 0000000000000..27b1523d1a218 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-2.0.0.ebuild @@ -0,0 +1,109 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER=1.85.0 + +inherit cargo meson + +MY_PV=${PV/_/.} +MY_P=glycin-${MY_PV} +TEST_IMAGE_COMMIT=7e1d59dc5f8ce18d75769d591f9af32fb26e47b6 + +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/GNOME/glycin/" +# upstream release tarballs are useless, as upstream is deliberately +# stripping glycin crate from them +SRC_URI=" + https://gitlab.gnome.org/GNOME/glycin/-/archive/${MY_PV}/${MY_P}.tar.bz2 + https://github.com/gentoo-crate-dist/glycin/releases/download/${MY_PV}/${MY_P}-crates.tar.xz + test? ( + https://gitlab.gnome.org/sophie-h/test-images/-/archive/${TEST_IMAGE_COMMIT}/test-images-${TEST_IMAGE_COMMIT}.tar.bz2 + -> glycin-test-images-${TEST_IMAGE_COMMIT}.tar.bz2 + ) +" +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+ IJG ISC + LGPL-3+ MIT Unicode-3.0 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +IUSE="heif jpeg2k jpegxl svg test" +REQUIRED_USE="test? ( heif jpegxl )" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.68.0:2 + >=sys-libs/libseccomp-2.5.0 + heif? ( >=media-libs/libheif-1.17.0:= ) + jpegxl? ( >=media-libs/libjxl-0.11.0:= ) + svg? ( + >=gnome-base/librsvg-2.52.0:2 + >=x11-libs/cairo-1.17.0 + ) +" +DEPEND=" + ${RDEPEND} + test? ( + >=gui-libs/gtk-4.16.0:4 + >=media-libs/lcms-2.14:2 + ) +" +BDEPEND=" + test? ( + sys-apps/bubblewrap + sys-apps/dbus + ) +" + +QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" + +src_unpack() { + cargo_src_unpack + + if use test; then + mv "test-images-${TEST_IMAGE_COMMIT}"/* \ + "${S}/tests/test-images/" || die + fi +} + +src_configure() { + local formats=( + $(usev heif glycin-heif) + $(usev jpeg2k glycin-jpeg2000) + $(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 + -Dlibglycin-gtk4=false + -Dglycin-thumbnailer=false + + # TODO: figure out why it fails + # https://gitlab.gnome.org/GNOME/glycin/-/issues/167 + -Dtest_skip_ext=heic + ) + + 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 +}