app-emulation/vice: add 3.7

ebuild changes:
- drop IUSE=cpuhistory, new upstream default is enabled and just
  going with that (no deps, and impact should be minimal)
- drop IUSE=jpeg, upstream removed support
- drop --disable-static QA, not an issue with current portage and
  just harmless noise if still using an older one
- replace deprecated atk dep
- adjust for renamed configure options
(may be some oversights given a lot of noise in build system changes).

Upstream disabled catweasel/parsid/ssi2001 by default leaving only
hardsid enabled out of this group. Given rather obscure, left disabled
for now with the exception of parsid enabled with USE=parport. If
someone use/know these and feel may make sense to enable with USE=pci,
parport, or their own USE please file a bug.

wrt bug #834359, unfortunately still broken and upstream instead
added an explicit check:
    configure: error: ffmpeg version is not compatible. Use 4.x
So keeping the <ffmpeg-5 dep, albeit it remains not overly important
(could be removed/masked) and is off by default, shouldn't be a worry
if ffmpeg-5 is to be unmasked.

wrt bug #854537, odr issues seem fixed upstream

Bug: https://bugs.gentoo.org/834359
Closes: https://bugs.gentoo.org/854537
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens
2022-12-26 06:07:07 -05:00
parent 859049172a
commit c3fcffdf3e
2 changed files with 190 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST vice-3.6.1.tar.gz 11454300 BLAKE2B 129171380f3bd23d579dc29a96419446169cf9a98d2fec82951fa192914846053d213a19b395c9ca30596859cce35bcfea0de0c0a7461c45cb38511a546ca4b2 SHA512 9aeb1c84dc71976d12a9907d60c637ec4cc938aad103340b70a13906bbf2bebab579edc78221c7fba47f0750be3f9ded947200b42fcfc8a9169fb4bb9f288cb7
DIST vice-3.7.tar.gz 13442624 BLAKE2B 1723db7370e4fbc84148edc6b29f8ad08b153272a8306083add2e412659d7c2178e03372cffde4a3674368b8c4ed6ffd43e37bda158ec97969b400a351e47f7b SHA512 d86157880925070198b482292fa93a98280932824f723df2e62e2b7f7c54f924047bad46d18340ed6e0ce9fc9a786a6cc88f6a1e8433046ab9dec8a638c26b13

View File

@@ -0,0 +1,189 @@
# Copyright 1999-2022 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 debug doc ethernet ffmpeg flac gif +gtk headless 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
# (see bug #834359 for the ffmpeg upper bound)
RDEPEND="
virtual/libintl
alsa? ( media-libs/alsa-lib )
ethernet? (
net-libs/libpcap
sys-libs/libcap
)
ffmpeg? ( <media-video/ffmpeg-5:= )
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=
sys-libs/readline:=
virtual/opengl
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 )
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 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
app-alternatives/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 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 ffmpeg)
$(use_enable lame)
$(use_enable openmp)
$(use_enable parport libieee1284)
$(use_enable parport parsid)
$(use_enable portaudio)
$(use_with alsa)
$(use_with flac)
$(use_with gif)
$(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))
$(usev !pci ac_cv_header_pci_pci_h=no)
--disable-arch
--disable-sdl1ui
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
}