summaryrefslogtreecommitdiff
path: root/media-libs/glycin-loaders
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/glycin-loaders')
-rw-r--r--media-libs/glycin-loaders/Manifest3
-rw-r--r--media-libs/glycin-loaders/glycin-loaders-1.1_beta.ebuild82
-rw-r--r--media-libs/glycin-loaders/metadata.xml11
3 files changed, 96 insertions, 0 deletions
diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest
new file mode 100644
index 000000000000..57aa5b4cd877
--- /dev/null
+++ b/media-libs/glycin-loaders/Manifest
@@ -0,0 +1,3 @@
+DIST glycin-1.1.beta.tar.xz 28597076 BLAKE2B 94e0172de27ce1a1cbbaba6ee5d3792b8a05a2f192598a03f61dc7cdacbdb2927ad3b19158ae30c63fe73916edab0c24a3d547ec4d8c7adbf63b7cce8cc81704 SHA512 a5534546f58508a033b00ad798536e0342c0d3f2108464f3c58bc0c7e23aeebf9687e6b2717c0edf35e3f88177c8bd281ab8f5e82377adec096396ce8c4e8eb2
+EBUILD glycin-loaders-1.1_beta.ebuild 1723 BLAKE2B f0e06237380da76e25129096769faa9cc80bb9a06fda198522093d580bd6431f5409e506e80859ba773113deebd8f572570238e61bd27cb22147a452fdfc77be SHA512 4d215b5c34adcae9a797a9b816eb6869481c9835bf2f3f5cee80a5b7cd8f875a1fad7364f2875a8be9fc3e65fe030e17b1dc1b28dc205d1d212b25e807e13699
+MISC metadata.xml 334 BLAKE2B 40a37360358b501628e64a2278652edb17a57432f8dc36dd6c585761f59cbdaaa284760e27d9a33b8e7aa27e916df3112601b0b6141940a6b4aae4138af64883 SHA512 06b70f17068f327d4412a798b938e65ced583ab6e63e2dfc66135d8fa7f7e32316f53c1c2dc65a9482222a64fe8398929705bb16579cfd3ee5b2aa677db7dc1a
diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1_beta.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1_beta.ebuild
new file mode 100644
index 000000000000..349d971f98c1
--- /dev/null
+++ b/media-libs/glycin-loaders/glycin-loaders-1.1_beta.ebuild
@@ -0,0 +1,82 @@
+# 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
+ )
+"
+
+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 release dev)
+ -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
+}
diff --git a/media-libs/glycin-loaders/metadata.xml b/media-libs/glycin-loaders/metadata.xml
new file mode 100644
index 000000000000..52ff5d43ffe7
--- /dev/null
+++ b/media-libs/glycin-loaders/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">sophie-h/glycin</remote-id>
+ </upstream>
+</pkgmetadata>