diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest index 069bf9298fc1c..bcb67f86c72fc 100644 --- a/media-libs/glycin-loaders/Manifest +++ b/media-libs/glycin-loaders/Manifest @@ -2,4 +2,6 @@ DIST glycin-1.2.2.tar.xz 37165060 BLAKE2B e710af8e09c224ef119f09f9ae2702add688c6 DIST glycin-1.2.3.tar.xz 37162464 BLAKE2B b850cdf099b1a5d8e42f0ac0877b2e790bcfb66dbe156be7a7bcdc3a17b40e1a9c0f55ee26716a0485708686f558f005759673a2fa6c564c8de5c6534f748fa2 SHA512 5d2c81c2cad2d7c54e628c0cddd80aa463ed017bb8e117d713b92cf224975ffe4377fb7bf8c28e68dfbbdc5834638d8ea7fa744d8877ed45b7d07215d11c4761 DIST glycin-2.0.beta.2-crates.tar.xz 26382008 BLAKE2B 552e7ffbb38c1f5163b64332f528dbe022523b153cd2427c7b4a57f8735a1ab6be4e448bfd076d7d6d3db44d54e66f87a38881748b50402c40f214b26fa9d40c SHA512 6a79c47affb386f35a265b1526ff53448fda392ab0bdcd28e3596e8a0e2a3a400d30f5b370ec50a6781006e71cd1090bd12832b5d5ac8a3aa753289b42f4bc34 DIST glycin-2.0.beta.2.tar.bz2 135604 BLAKE2B 544715d7427e793edc2f1ad93372d4bd9c42b2a3d63f6e4b13b957a0f573982ae354cdadcaadba708c1a5f33b046b43747a1d576b7dbf1156adb68a85ff1beb2 SHA512 9e2f5e337392c82ffc810b2f871b52903914f0dc996e6bf0c492099d66eb852f3e2c63c54dca3b9105f16df8730705e110c019c52374334774e2ce82265a8f53 +DIST glycin-2.0.beta.3-crates.tar.xz 26451424 BLAKE2B 577670f16d4aab1a5e4b991f8763d5e0536db420be6b69138e98de85ab32c8f42ca189a0d03c56385f726ac39163030463897f960aa89e6297b7495509ec7970 SHA512 b9bc1e85952afd7d5c739083fb416ae62d12f463f9de2385a6d2dedf161e3dc7b15c05bfd091af5161b6dc64209e6ae76b99124ef7be0059b9a4f5b638eb7613 +DIST glycin-2.0.beta.3.tar.bz2 138164 BLAKE2B 0da39ece6a720b38c2a573bced08995bd6c7189933371ecb8fcb7e37bcf8f84a4b02d0d79608926dd1d35397008f356d4b74c46f62e064cf7bfd7d5bd8781e15 SHA512 47cd9284e329cee2941f54e206e280f2c2a00926dc6065416a6f8110f6dd5e3847288580cade1cbfb7a78592c31d2387a0595006432ef25123b36297462d11db DIST glycin-test-images-704f16f7d8bf10c39c182dc0ca9ee9973d68f3b2.tar.bz2 8236129 BLAKE2B 5e98d7b78a5c8467b2b876a678bcca8e34033c1d12eedaaae19fe0879dade8ac4980ad2cc6b1974da729d710379485973857888e9d73458392b72a704f346b95 SHA512 2f42cb023639bb50d9ef072f8a996ddd650905b1631d4bb7d0e6e7c6fe8003272bc658c9dced8389d4b6b95a68eba9da4c9e5cf98daeb18398266788a26c95ed diff --git a/media-libs/glycin-loaders/glycin-loaders-2.0_beta3.ebuild b/media-libs/glycin-loaders/glycin-loaders-2.0_beta3.ebuild new file mode 100644 index 0000000000000..b30b9a373c6da --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-2.0_beta3.ebuild @@ -0,0 +1,106 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VERSION=1.83.0 + +inherit cargo meson + +MY_PV=${PV/_beta/.beta.} +MY_P=glycin-${MY_PV} +TEST_IMAGE_COMMIT=704f16f7d8bf10c39c182dc0ca9ee9973d68f3b2 + +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 GPL-3+ IJG ISC + LGPL-3+ MIT Unicode-3.0 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +IUSE="heif 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 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 +}