From 22ff3e56ccae7ecc552d906c11af116d4945d68f Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Wed, 16 Apr 2025 07:42:59 -0400 Subject: [PATCH] app-emulation/ruffle: add 0_p20250416 Signed-off-by: Ionen Wolkens --- app-emulation/ruffle/Manifest | 2 + .../ruffle/ruffle-0_p20250416.ebuild | 104 ++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 app-emulation/ruffle/ruffle-0_p20250416.ebuild diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest index fc85aa8a37d7a..57c434721bca4 100644 --- a/app-emulation/ruffle/Manifest +++ b/app-emulation/ruffle/Manifest @@ -1,2 +1,4 @@ DIST ruffle-nightly-2025-01-24-vendor.tar.xz 67182584 BLAKE2B 0927c7d181f86bb152ef1224efdebc88152b2966a24d11e7434a6b3aff472c8ea47164c9f61f3554561de78bb9a7a9c60648c994fc9feeb03903a72ccd3f8620 SHA512 9cbb5edb8bd7ba8d2a6dccbce20dd8026b3f6f7d47131292e7f55cc3fee7154189b9749b2142d32eaa879b18461c698317dd9b36f808482f656acb9f1dd8253f DIST ruffle-nightly-2025-01-24.tar.gz 95156736 BLAKE2B 7d66931308ab93c0e5cb95727297fbbf03406840c4b793033d277ebfa0c5f8a28e627439736fed4bdc537b3363b691da8efc4b1b3f653a9aa31b741dc0746f56 SHA512 b958e9b685ae529a33253a536fb67030ff0cc1bd78967bbefc5146eced710650f277c32ad37d1f4cd6ce1c43b9be6ad28f51b46ce14afe0644137065a7ef0215 +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 diff --git a/app-emulation/ruffle/ruffle-0_p20250416.ebuild b/app-emulation/ruffle/ruffle-0_p20250416.ebuild new file mode 100644 index 0000000000000..3d725b728c161 --- /dev/null +++ b/app-emulation/ruffle/ruffle-0_p20250416.ebuild @@ -0,0 +1,104 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER=1.83.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 BSD-2 Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 OFL-1.1 + UbuntuFontLicense-1.0 Unicode-3.0 ZLIB openssl +" # crates +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +# dlopen: libX* (see winit+x11-dl crates -- TODO: need to recheck +# if still correct and for the potential to be optional on wayland) +RDEPEND=" + media-libs/alsa-lib + virtual/libudev:= + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXrandr + x11-libs/libXrender +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +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_test() { + local skip=( + # may need more investigation, strangely "pass" (xfail) when + # RUSTFLAGS is unset, skip for now (bug #915726) + --skip from_avmplus/as3/Types/Int/wraparound + ) + + cargo_src_test -- "${skip[@]}" +} + +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 +}