summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/vice/vice-3.6.ebuild')
-rw-r--r--app-emulation/vice/vice-3.6.ebuild193
1 files changed, 193 insertions, 0 deletions
diff --git a/app-emulation/vice/vice-3.6.ebuild b/app-emulation/vice/vice-3.6.ebuild
new file mode 100644
index 000000000000..d438d6439750
--- /dev/null
+++ b/app-emulation/vice/vice-3.6.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# --enable-static-lame triggers bug #814380 with EAPI-8, could work
+# around but staying EAPI-7 for now unless there's some urgency
+EAPI=7
+
+inherit multibuild toolchain-funcs xdg
+
+DESCRIPTION="The Versatile Commodore Emulator"
+HOMEPAGE="https://vice-emu.sourceforge.io/"
+SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
+S="${WORKDIR}/${P}.0"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="
+ alsa cpuhistory debug doc ethernet ffmpeg flac gif +gtk headless jpeg
+ lame mpg123 ogg openmp oss parport pci png portaudio pulseaudio sdl zlib"
+REQUIRED_USE="
+ || ( gtk headless sdl )
+ gtk? ( zlib )"
+
+# ffmpeg/lame are loaded by dlopen(), keeping := to rebuild with same headers
+RDEPEND="
+ virtual/libintl
+ alsa? ( media-libs/alsa-lib )
+ ethernet? (
+ net-libs/libpcap
+ sys-libs/libcap
+ )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac )
+ gif? ( media-libs/giflib:= )
+ gtk? (
+ dev-libs/atk
+ dev-libs/glib:2
+ media-libs/fontconfig:1.0
+ media-libs/glew:0=
+ sys-libs/readline:=
+ virtual/opengl
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/pango
+ )
+ jpeg? ( virtual/jpeg )
+ lame? ( media-sound/lame )
+ mpg123? ( media-sound/mpg123 )
+ 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-sound/pulseaudio )
+ sdl? (
+ media-libs/libsdl2[video]
+ media-libs/sdl2-image
+ sys-libs/readline:=
+ )
+ zlib? ( sys-libs/zlib:= )"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ app-arch/unzip
+ app-text/dos2unix
+ dev-embedded/xa
+ dev-lang/perl
+ sys-apps/texinfo
+ sys-devel/flex
+ sys-devel/gettext
+ virtual/pkgconfig
+ virtual/yacc
+ 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 native-gtk3ui)
+ $(vice-multi_enable headless headlessui)
+ $(vice-multi_enable sdl sdlui2)
+ $(usex debug $(vice-multi_enable gtk debug-gtk3ui) --disable-debug-gtk3ui)
+ $(use_enable cpuhistory)
+ $(use_enable debug)
+ $(use_enable doc pdf-docs)
+ $(use_enable ethernet)
+ $(use_enable ffmpeg external-ffmpeg)
+ $(use_enable lame)
+ $(use_enable openmp)
+ $(use_enable parport libieee1284)
+ $(use_enable portaudio)
+ $(use_with alsa)
+ $(use_with flac)
+ $(use_with gif)
+ $(use_with jpeg)
+ $(use_with mpg123)
+ $(use_with ogg vorbis)
+ $(use_with oss)
+ $(use_with png)
+ $(use_with pulseaudio pulse)
+ $(use_with zlib)
+ $(usex alsa --enable-midi $(use_enable oss midi))
+ $(usex pci '' ac_cv_header_pci_pci_h=no)
+ --disable-arch
+ --disable-sdlui
+ ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif
+
+ # $(use_with curl libcurl) # new in 3.6 but is a unused placeholder
+ # --enable-io-simulation # likewise
+ )
+
+ 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
+}