From 45d0d0c955c1b53e2dc71324966a34ebfe0ca2b7 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Sat, 2 Aug 2025 03:16:34 -0400 Subject: [PATCH] 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 --- app-emulation/ruffle/Manifest | 2 + .../ruffle/ruffle-0_p20250802.ebuild | 86 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 app-emulation/ruffle/ruffle-0_p20250802.ebuild diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest index 519494e7aae53..4b8f37cd6a7c0 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 0000000000000..73bb81d6612cf --- /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 +}