diff --git a/app-emulation/fuse/Manifest b/app-emulation/fuse/Manifest index af4129ce3b6bf..87a060354824b 100644 --- a/app-emulation/fuse/Manifest +++ b/app-emulation/fuse/Manifest @@ -1,2 +1,3 @@ DIST fuse-1.6.0.tar.gz 1686171 BLAKE2B d1e6b166f2f649f408349b16a5eb40dd414750ed7a805eb6505b6c81be6ed7bcaa4e6f0b14057645172add1b1a77881f90b64767390fe1a64a486168f452d29d SHA512 5096b24b5b3d812942a7ad401b886b6a99f5493686912cb4aff18ede65404ae97a9bcafa6337aaed4378382f2a170918797d7d4570bb809476be5aa9fc625b8b DIST fuse-1.7.0.tar.gz 1742469 BLAKE2B 55b652a15079539694e2e40cc002aec6d8566e1ff3ccb8c400b09a3db1246aacc3a1214afe970de769ccf609ffd7526fee224724319efa0e8adb9a5244557453 SHA512 9903773fd9ced1e36f4b0720201f721f9a3b7876a4d11ada95ffa328ec5bd166dc37c09818e7d96de3c45e5f26d074f4b072a1db6dd0786470dc9fbbb3483084 +DIST fuse-1.8.0.tar.gz 1780185 BLAKE2B c460c33647825bfe70e1daf8f060bd3007c47926483fd4e03572e65253f74720b3ece54c90621d9276a3419b7b20d527ad6dadefaad078a923de5fb27ca5df8b SHA512 41329db375acd0bbe9d68445066d2f1b11cc82a803d035e37aff9a0d36ecdf8b62089f2dd0510a6e4a8af4932f9cdacb4b994a9e21bae983626a57cb0bd4261e diff --git a/app-emulation/fuse/fuse-1.8.0.ebuild b/app-emulation/fuse/fuse-1.8.0.ebuild new file mode 100644 index 0000000000000..ed1ab37ea9e25 --- /dev/null +++ b/app-emulation/fuse/fuse-1.8.0.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic xdg + +DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall" +HOMEPAGE="https://fuse-emulator.sourceforge.net" +SRC_URI="https://downloads.sourceforge.net/fuse-emulator/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~riscv ~x86" +IUSE="alsa ao backend-X backend-fbcon +backend-gtk3 backend-sdl backend-sdl2 gpm joystick memlimit png pulseaudio +xml +zlib" + +# TODO: +# - allow using sdl audio driver without using for the UI +# - allow using sdl joystick support with gtk3 or X UI in place of libjsw +# - when using sdl for one of the above but not the UI, allow using sdl2 instead + +# At most one audio driver and at most one UI back-end can be enabled at a time +REQUIRED_USE="?? ( alsa ao backend-sdl backend-sdl2 pulseaudio ) + ?? ( backend-X backend-fbcon backend-gtk3 backend-sdl backend-sdl2 ) + png? ( zlib )" + +RDEPEND=" + >=app-emulation/libspectrum-1.6.0:=[zlib?] + dev-libs/glib:2 + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + backend-X? ( + x11-libs/libX11 + x11-libs/libXext + ) + backend-gtk3? ( + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + ) + backend-sdl? ( media-libs/libsdl[joystick,sound] ) + backend-sdl2? ( media-libs/libsdl2[joystick,sound] ) + gpm? ( backend-fbcon? ( sys-libs/gpm ) ) + joystick? ( + !backend-sdl? ( + !backend-sdl2? ( + media-libs/libjsw + ) + ) + ) + png? ( media-libs/libpng:0= ) + pulseaudio? ( media-libs/libpulse ) + xml? ( dev-libs/libxml2:2= ) + zlib? ( virtual/zlib:= )" +DEPEND="${RDEPEND} + backend-fbcon? ( virtual/linux-sources )" +BDEPEND="dev-lang/perl + virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog README THANKS ) + +PATCHES=( + "${FILESDIR}"/remove-local-prefix.patch +) + +_fuse_audio_driver() { + if use alsa; then + echo "alsa" + elif use ao; then + echo "libao" + elif use backend-sdl; then + echo "sdl" + elif use backend-sdl2; then + echo "sdl2" + elif use pulseaudio; then + echo "pulseaudio" + else + echo "null" + fi +} + +_fuse_joystick_driver() { + if use joystick; then + if use backend-sdl || use backend-sdl2; then + echo "--enable-ui-joystick" + return + fi + fi + echo "--disable-ui-joystick" +} + +src_prepare() { + default + xdg_environment_reset + eautoreconf + + # Bug #854522 + filter-lto +} + +src_configure() { + local myconf=( + --enable-desktop-integration + --without-win32 + --with-audio-driver="$(_fuse_audio_driver)" + $(_fuse_joystick_driver) + $(use_with gpm) + $(use_with joystick) + $(use_enable memlimit smallmem) + $(use_with png) + $(use_with xml libxml2) + $(use_with zlib) + ) + + # The pure-X UI hasn't got its own configure argument, instead it is + # what is used under Linux if all other back-ends have been disabled + # - and all except the Gtk+ one are off by default. + if use backend-X; then + myconf+=("--without-gtk") + elif use backend-fbcon; then + myconf+=("--with-fb") + elif use backend-gtk3; then + myconf+=("--with-gtk") + elif use backend-sdl; then + myconf+=("--with-sdl" "--disable-sdl2") + elif use backend-sdl2; then + myconf+=("--with-sdl2") + else + myconf+=("--with-null-ui") + fi + + econf "${myconf[@]}" +} + +src_test() { + emake test +} + +pkg_postinst() { + xdg_pkg_postinst + if use pulseaudio; then + ewarn "The PulseAudio driver in ${PN} is experimental" + fi +} diff --git a/app-emulation/fuse/metadata.xml b/app-emulation/fuse/metadata.xml index 70075f32f3fb7..3fe88d8db1bd3 100644 --- a/app-emulation/fuse/metadata.xml +++ b/app-emulation/fuse/metadata.xml @@ -8,7 +8,8 @@ Use framebuffer rendering backend Use Gtk+ rendering backend - Use SDL rendering backend + Use SDL1 rendering backend + Use SDL2 rendering backend Use X11 rendering backend Add compile-time memory usage limiting