diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest index 078c72e89e4ae..d537ea8c3d729 100644 --- a/media-libs/glycin-loaders/Manifest +++ b/media-libs/glycin-loaders/Manifest @@ -2,4 +2,7 @@ DIST glycin-1.2.3.tar.xz 37162464 BLAKE2B b850cdf099b1a5d8e42f0ac0877b2e790bcfb6 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.2-crates.tar.xz 27560948 BLAKE2B d8e6a482f9cb4f644c8b3a84fee4e06010c3ad65f7fa5e8da0d8f6313d6478801274d1c322f103ec0ecadb428382db3173af1deeb0394f6cf41052b143a25d27 SHA512 5465c90456841b212a783be1fa9d206f7002df9ae787cf7a30c3e8e43a0bd8306b50c6823d61dedc8aa08f13319b200ca4b6b2ca804087a1b2fe38f08502003c +DIST glycin-2.0.2.tar.bz2 148329 BLAKE2B 7316ddd36bc79bef2709721d8f2c9769703e99ac0b348455679b5b9dc9d3e98a563b4e8e5da254c5e68de0bf5497c4d34544146c7cceec8f63c2895989804526 SHA512 44d6853b18a8a937674e9613cf29366001267ba0383d08df5b088162b5596830ec9e7f5b52b195030b7486024f8f2533889624d770ba0650e6ecb79edb91ace1 DIST glycin-test-images-7e1d59dc5f8ce18d75769d591f9af32fb26e47b6.tar.bz2 8246039 BLAKE2B e53cbb56910b274e737810a7129b88191a8bc34ece0c8e6ffd888b59794aec2098ec42d1deafb112fa00183d6dd4bdcda7d1efb3f4feb062aeda1728191beeb4 SHA512 0b937910fd946ac69888756b6ee135536d8667eea6d9f66acd9dac105ab74a6e81f4f9f9c254b4f6d895a26bafb44a01c65c9ec384de6047352a2c7a0976e134 +DIST glycin-test-images-b148bcf70847d6f126a8e83e27e1c59d2e474adf.tar.bz2 8260055 BLAKE2B 5e1f802283e4b7212b7498ef9093bd5ad7a2bb66f8585aacff0a73d9a15b9fe7467bc06508cc0c910285d8a158287ed0c62fe793d78e8355613dd50f0e2e00c3 SHA512 0839108bcc60927b83f7cc821a6834781712d4e0489af30a3a0b1578da48c35b371e312cf11d39aefd9e3a2e051f005ee6eabda1beaa718d4ff77960def4aa71 diff --git a/media-libs/glycin-loaders/glycin-loaders-2.0.2.ebuild b/media-libs/glycin-loaders/glycin-loaders-2.0.2.ebuild new file mode 100644 index 0000000000000..1e775dabc2295 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-2.0.2.ebuild @@ -0,0 +1,111 @@ +# 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=b148bcf70847d6f126a8e83e27e1c59d2e474adf + +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="2" +KEYWORDS="~amd64 ~arm64" +IUSE="heif jpeg2k jpegxl svg test" +REQUIRED_USE="test? ( heif jpegxl )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !>=media-libs/glycin-loaders-2:0 + >=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 +}