diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2023-12-26 08:20:58 -0500 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2023-12-26 09:38:34 -0500 |
commit | 47ee1f4e656be2d3148cfa7fce84ce9d575a6c53 (patch) | |
tree | 63629310bb3251975e10beb412807e4a5c37ec26 /app-emulation/vice | |
parent | toolchain-funcs.eclass: Add tc-is-lto function (diff) | |
download | gentoo-47ee1f4e656be2d3148cfa7fce84ce9d575a6c53.tar.gz gentoo-47ee1f4e656be2d3148cfa7fce84ce9d575a6c53.tar.bz2 gentoo-47ee1f4e656be2d3148cfa7fce84ce9d575a6c53.zip |
app-emulation/vice: add 3.8
bug #834359: This version deprecates the old (library-based) ffmpeg
support that is still broken with >=ffmpeg-5, so simply disable it.
Apparently has new support for using the ffmpeg executable (untested).
bug #914964: Caused by the new USE=egl-only on media-libs/glew which
disables X support, so depend on [-egl-only(-)].
Switch to hard requiring zlib, could already only be disabled for
non-gtk builds and then USE="sdl -gtk -zlib' fails to build. Not
really worth worrying about unless someone wants this.
Closes: https://bugs.gentoo.org/834359
Closes: https://bugs.gentoo.org/914964
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'app-emulation/vice')
-rw-r--r-- | app-emulation/vice/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/vice/vice-3.8.ebuild | 186 |
2 files changed, 187 insertions, 0 deletions
diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest index f1119a62e026..7e9092173201 100644 --- a/app-emulation/vice/Manifest +++ b/app-emulation/vice/Manifest @@ -1 +1,2 @@ DIST vice-3.7.1.tar.gz 13444946 BLAKE2B 64ac82c118cd1e515d7677d3f60d3b19dbf19319d8505321c46c2adb92414193784a036e2f6fa0ce5f55f1e4f425f45026ce152ee866b72ad6557531faaf5797 SHA512 80f81dd4d163cc5030eee2908b274bce4f3f21a3adb6d01559f4695d58b27ebc7b7570d8896718dfe74b2f2e4983ed3f9c4919b6e81934063d344b543b081f30 +DIST vice-3.8.tar.gz 13564021 BLAKE2B 709fd6eda874de542e5770a328b0c0308d04f755e3bf1fceba5147156eb894a95ce6f14e9f8848ca6992d4f958082f83a198d2176c1fe54e87027c7dfac8849c SHA512 fe644667736c32386b62af53314a95bf510c75d476eaab14b4c37693f2f57d6815126ab3db2f0cb11300c1a4a07c29b3f25210800ce97a673a0460ab59d0ebba diff --git a/app-emulation/vice/vice-3.8.ebuild b/app-emulation/vice/vice-3.8.ebuild new file mode 100644 index 000000000000..9d9694f87608 --- /dev/null +++ b/app-emulation/vice/vice-3.8.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multibuild toolchain-funcs xdg + +DESCRIPTION="Versatile Commodore Emulator" +HOMEPAGE="https://vice-emu.sourceforge.io/" +SRC_URI="mirror://sourceforge/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 +" +REQUIRED_USE="|| ( gtk headless sdl )" + +RDEPEND=" + sys-libs/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 + 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-libs/libmpg123 <media-sound/mpg123-1.32.3-r1 ) ) + 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 + ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + app-alternatives/awk + app-alternatives/yacc + app-arch/unzip + app-text/dos2unix + dev-embedded/xa + dev-lang/perl + sys-apps/texinfo + sys-devel/flex + 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 + + # Strip the predefined C(XX)FLAGS. + sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die + + MULTIBUILD_VARIANTS=( + $(usev gtk) + $(usev headless) + $(usev sdl) + ) + + # 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 x* programs if building multiple variants. + local xform + (( ${#MULTIBUILD_VARIANTS[@]} > 1 )) && + xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/" + + vice-multi_enable() { + if [[ ${MULTIBUILD_VARIANT} == ${1} ]]; then + echo --enable-${2} + else + echo --disable-${2} + fi + } + + local econfargs=( + --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) + $(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-ffmpeg # deprecated in 3.8, also bug #834359 + --disable-sdl1ui + ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif + ) + + econf "${econfargs[@]}" +} + +src_compile() { + multibuild_foreach_variant run_in_build_dir emake +} + +src_install() { + # Get xdg-desktop-menu to play nicely while doing the install. + dodir /etc/xdg/menus /usr/share/{applications,desktop-directories} + + XDG_UTILS_INSTALL_MODE=system \ + XDG_DATA_DIRS="${ED}"/usr/share \ + XDG_CONFIG_DIRS="${ED}"/etc/xdg \ + multibuild_foreach_variant run_in_build_dir default + + 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 +} |