commit:     45d0d0c955c1b53e2dc71324966a34ebfe0ca2b7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Aug  2 07:16:34 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Aug  2 07:37:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45d0d0c9

app-emulation/ruffle: add 0_p20250802

This version removes the need for X libraries at build time, but they
will still be dlopen'ed at runtime (or wayland's). May possibly still
be some header needed that I haven't noticed though.

Given this also has tools that are usable headless, may as well remove
GUI dependencies altogether. We don't know which one will be used and
IUSE="X wayland" for optfeatures would be weird. Probably safe to
assume that an environment launching the .desktop will have one of
these.

wrt src_test, can't reproduce that old issue so cleanup.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/ruffle/Manifest                  |  2 +
 app-emulation/ruffle/ruffle-0_p20250802.ebuild | 86 ++++++++++++++++++++++++++
 2 files changed, 88 insertions(+)

diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest
index 519494e7aae5..4b8f37cd6a7c 100644
--- a/app-emulation/ruffle/Manifest
+++ b/app-emulation/ruffle/Manifest
@@ -1,2 +1,4 @@
 DIST ruffle-nightly-2025-04-16-vendor.tar.xz 24376756 BLAKE2B 
138802db5ed2cfd1fbafefd09da399574efb6950cbf5e16ae3eca665bdac87b3c7f03b16c21394e6fc8257359955909aa92daa5ff981a18dda4484a24832bf1d
 SHA512 
021944e8740f06715c3fe7b161830e5fcfc12f61ac42c605af7c1242d9c2eb4f97b4d240ed7764313ae9aa1fa9e4c9a5f42637a67068455adfeb068362224466
 DIST ruffle-nightly-2025-04-16.tar.gz 96183338 BLAKE2B 
f25f7a1d805fc3390cc6282154d960fd8e7fdeed3d2e04ebd69fe176022e46e27e3d6d2db5dcc3a0aaed18ae72d45b3edeb530597d13d543a4e656e68b5da3f5
 SHA512 
dbf2b8009416a761d6c2bf43eaecd8b1964f5350bddd5cbf9977be4339d638293458f791fdae004d661128c8eab21fc8d72affc5cc3225056de45f48e070bfd3
+DIST ruffle-nightly-2025-08-02-vendor.tar.xz 25374080 BLAKE2B 
ee501db85809daf8076f079d05399b3f76da09c2d37c2499433c1c7c04d4b13440fff099142d5d0a3b5a9269bece06ebe07cdd7b599d0ad78430b01bd0c05ff7
 SHA512 
3278ca8cfe99b5f3fcdf0aaf0cff5bf45a1fe8ca92de5815388f1fee448790a3a5f9a33f40405b44c3119cfebff8828b800bcd3627ddcf78c98795909b106071
+DIST ruffle-nightly-2025-08-02.tar.gz 99265559 BLAKE2B 
bf5f18d394d3bcba298bb87d59df4cb0c2f45b2eea60c49721b8018466dc943fe043f42f17a52fdb7af7b5fe829d8233685a4c2d6974baa959f2a0b98ceb3132
 SHA512 
3d5220fe5670151643e4837c491359bd65dd5b46e59bf847a1063873a139f233e32505c506397f354a69e244e83c6e85bcd055a3a784add9d306128ec52f075a

diff --git a/app-emulation/ruffle/ruffle-0_p20250802.ebuild 
b/app-emulation/ruffle/ruffle-0_p20250802.ebuild
new file mode 100644
index 000000000000..73bb81d6612c
--- /dev/null
+++ b/app-emulation/ruffle/ruffle-0_p20250802.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RUST_MIN_VER=1.86.0
+inherit cargo desktop optfeature xdg
+
+MY_PV=nightly-${PV:3:4}-${PV:7:2}-${PV:9:2}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Flash Player emulator written in Rust"
+HOMEPAGE="https://ruffle.rs/";
+SRC_URI="
+       https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz
+               -> ${MY_P}.tar.gz
+       https://dev.gentoo.org/~ionen/distfiles/${MY_P}-vendor.tar.xz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="|| ( Apache-2.0 MIT )"
+LICENSE+="
+       Apache-2.0 BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0
+       OFL-1.1 openssl UbuntuFontLicense-1.0 Unicode-3.0 ZLIB BZIP2
+" # crates
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# X/wayland are dlopen'ed optfeatures, not needed at build time
+RDEPEND="
+       media-libs/alsa-lib
+       virtual/libudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/jre:*
+       virtual/pkgconfig
+"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}.*"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch
+)
+
+src_configure() {
+       local workspaces=(
+               ruffle_{desktop,scanner}
+               exporter
+               $(usev test tests)
+       )
+
+       cargo_src_configure "${workspaces[@]/#/--package=}"
+}
+
+src_install() {
+       dodoc README.md
+
+       newicon web/packages/extension/assets/images/icon180.png ${PN}.png
+       make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \
+               
"MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;"
+
+       cd "$(cargo_target_dir)" || die
+       newbin ${PN}_desktop ${PN}
+       newbin exporter ${PN}_exporter
+       dobin ${PN}_scanner
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if [[ ! ${REPLACING_VERSIONS} ]]; then
+               elog "${PN} is experimental software that is still under heavy 
development"
+               elog "and only receiving nightly releases. Plans in Gentoo is 
to update"
+               elog "roughly every two months if no known major regressions 
(feel free"
+               elog "to report if you feel a newer nightly is needed ahead of 
time)."
+               elog
+               elog "There is currently no plans to support wasm builds / 
browser"
+               elog "extensions, this provides the desktop viewer and other 
tools."
+       fi
+
+       optfeature "h264 video decoding" media-libs/openh264
+       optfeature "the in-application file picker" sys-apps/xdg-desktop-portal
+}

Reply via email to