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
+}