commit: e93d401803af24782c5bec07a254a68db06f6b0a Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Thu Feb 12 10:54:02 2026 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Thu Feb 12 13:55:16 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e93d4018
app-emulation/vice: add 3.10 Hopefully not overlooked anything, build system shifted a few things around (notably .desktop and icons handling), and not 100% sure this is working right esp. with multibuild. Quite possible it'll change again next version too. To simplify, the gtk variant now always use default names to match the .desktop files which we'd (now) need to sed otherwise. Considered just straight up dropping multibuild support given there's also bug #955032, but did a fix and will keep it unless there's worse problems later. wrt removed USE=evdev, upstream dropped the option, made it mandatory for gtk builds, and it is not used by the others -- so it is now just a hard dependency with USE=gtk. Closes: https://bugs.gentoo.org/955032 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> app-emulation/vice/Manifest | 1 + app-emulation/vice/vice-3.10.ebuild | 199 ++++++++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+) diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest index 37c75f3a9435..b5e7ea72ddde 100644 --- a/app-emulation/vice/Manifest +++ b/app-emulation/vice/Manifest @@ -1 +1,2 @@ +DIST vice-3.10.tar.gz 14366175 BLAKE2B d41bfe4ed5213f4fff345f195de60e95d87b9c5901e89ff31d221841e51358a55e1f7fecae5afae0e71439d5a8da7411e632bc42b582e5b17b72dba07ae2cadd SHA512 5cddbb09080d39fad7690e8c178af40a5834377e201252c112816e2a9af5b4afd1ed090fdd19217dd36c8d18f7c633fda1ee6efc1322334bbe13ba4866435f97 DIST vice-3.9.tar.gz 14249159 BLAKE2B 0c063e152c10ff537fbc9b1d8a5b4a108f08874fa4240772ec159ca19e457f626d6a5abbf4cb7c350291cc8b9fc19f8dba0b2be058363d50040ea42554d3ef4c SHA512 4a349dfe3e4310f1799cc705dffd01243df5b6ecfdb05b5f2ca3213fe6468831735dd3abcd6a34627e8ac2202bcb8ab617b81224c5a41cd83782868dd70b1fb8 diff --git a/app-emulation/vice/vice-3.10.ebuild b/app-emulation/vice/vice-3.10.ebuild new file mode 100644 index 000000000000..5f1737d5abec --- /dev/null +++ b/app-emulation/vice/vice-3.10.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multibuild toolchain-funcs xdg + +DESCRIPTION="Versatile Commodore Emulator" +HOMEPAGE="https://vice-emu.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/vice-emu/releases/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE=" + alsa curl debug doc ethernet flac gif +gtk headless lame mpg123 ogg + openmp oss parport pci png portaudio pulseaudio sdl usb +" +REQUIRED_USE="|| ( gtk headless sdl )" + +RDEPEND=" + virtual/zlib:= + virtual/libintl + alsa? ( media-libs/alsa-lib ) + curl? ( net-misc/curl ) + ethernet? ( + net-libs/libpcap + sys-libs/libcap + ) + flac? ( media-libs/flac:= ) + gif? ( media-libs/giflib:= ) + gtk? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/libevdev + media-libs/fontconfig:1.0 + media-libs/glew:0=[-egl-only(-)] + media-libs/libglvnd[X] + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/pango + ) + lame? ( media-sound/lame ) + mpg123? ( media-sound/mpg123-base ) + ogg? ( + media-libs/libogg + media-libs/libvorbis + ) + parport? ( sys-libs/libieee1284 ) + pci? ( sys-apps/pciutils ) + png? ( media-libs/libpng:= ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( + media-libs/libsdl2[video] + media-libs/sdl2-image + ) + usb? ( dev-libs/libusb:1 ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + app-alternatives/awk + app-alternatives/lex + app-alternatives/yacc + app-arch/unzip + app-text/dos2unix + dev-embedded/xa + dev-lang/perl + sys-apps/texinfo + sys-devel/gettext + virtual/pkgconfig + doc? ( virtual/texi2dvi ) + gtk? ( x11-misc/xdg-utils ) +" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + default + eautoreconf + + # strip the predefined C(XX)FLAGS + sed -Ei 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die + + MULTIBUILD_VARIANTS=( + $(usev headless) + $(usev sdl) + $(usev gtk) # build last, prefer its binaries if any duplicates + ) + + # debug build currently broken without copy sources + multibuild_copy_sources +} + +src_configure() { + tc-export AR + + multibuild_foreach_variant run_in_build_dir multibuild_src_configure +} + +multibuild_src_configure() { + # append ".variant" to [xv]* binaries if building multiple variants + # except for gtk which always uses default names to match *.desktop + local xform + [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 && ${MULTIBUILD_VARIANT} != gtk ]] && + xform="/^[xv]/s/\$/.${MULTIBUILD_VARIANT}/" + + vice-multi_enable() { + if [[ ${MULTIBUILD_VARIANT} == ${1} ]]; then + echo --enable-${2} + else + echo --disable-${2} + fi + } + + local econfargs=( + "${xform+--program-transform-name=${xform}}" + $(vice-multi_enable gtk desktop-files) + $(vice-multi_enable gtk gtk3ui) + $(vice-multi_enable headless headlessui) + $(vice-multi_enable sdl sdl2ui) + $(usex debug $(vice-multi_enable gtk debug-gtk3ui) --disable-debug-gtk3ui) + $(use_enable debug) + $(use_enable doc pdf-docs) + $(use_enable ethernet) + $(use_enable openmp) + $(use_enable parport parsid) + $(usev !usb enable_usbsid=no) # not setup properly in configure.ac atm + $(use_with alsa) + $(use_with curl libcurl) + $(use_with flac) + $(use_with gif) + $(use_with lame) + $(use_with lame static-lame) # disables dlopen, uses shared still + $(use_with mpg123) + $(use_with ogg vorbis) + $(use_with oss) + $(use_with parport libieee1284) + $(use_with png) + $(use_with portaudio) + $(use_with pulseaudio pulse) + $(usex alsa --enable-midi $(use_enable oss midi)) + $(usev !pci ac_cv_header_pci_pci_h=no) + --disable-arch + --disable-sdl1ui + ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif + ) + + econf "${econfargs[@]}" +} + +src_compile() { + # bug #924116 wrt SHELL + multibuild_foreach_variant run_in_build_dir emake SHELL="${BASH}" +} + +src_install() { + # make xdg-icon-resource use ED, theme directory needs to pre-exist + # TODO: check if still needed on bump, handling may change, + # (see https://sourceforge.net/p/vice-emu/bugs/2127/) + dodir /usr/share/icons/hicolor + local -x XDG_UTILS_INSTALL_MODE=system + local -x XDG_DATA_DIRS=${ED}/usr/share + + multibuild_foreach_variant run_in_build_dir default + + # x64 symlink does not respect --program-transform-name (bug #955032) + if (( ${#MULTIBUILD_VARIANTS[@]} > 1 )); then + use gtk || rm -- "${ED}"/usr/bin/x64 || die + use sdl && dosym x64sc.sdl /usr/bin/x64.sdl + use headless && dosym x64sc.headless /usr/bin/x64.headless + fi + + rm -f -- "${ED}"/usr/share/applications/*.cache || die + + vice-install_extras() { + docinto html + dodoc doc/html/*.{html,css} + dodoc -r doc/html/images + + insinto /usr/share/vim/vimfiles/ftdetect + doins doc/vim/ftdetect/*.vim + + insinto /usr/share/vim/vimfiles/syntax + doins doc/vim/syntax/*.vim + } + multibuild_for_best_variant run_in_build_dir vice-install_extras +}
