commit: e0635f9883afc9a3053ec2fa2753b063f58f151b Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> AuthorDate: Fri Mar 22 13:04:40 2019 +0000 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> CommitDate: Fri Mar 22 13:10:06 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0635f98
app-emulation/e-uae: Fixed build with sys-libs/ncurses[tinfo] Closes: https://bugs.gentoo.org/527628 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> app-emulation/e-uae/e-uae-0.8.29_rc4-r3.ebuild | 104 +++++++++++++-------- .../e-uae/files/e-uae-0.8.29_rc4-no_schily.patch | 20 ++++ .../e-uae/files/e-uae-0.8.29_rc4-tinfo.patch | 22 +++++ 3 files changed, 105 insertions(+), 41 deletions(-) diff --git a/app-emulation/e-uae/e-uae-0.8.29_rc4-r3.ebuild b/app-emulation/e-uae/e-uae-0.8.29_rc4-r3.ebuild index 63d99f142b4..27993eabc59 100644 --- a/app-emulation/e-uae/e-uae-0.8.29_rc4-r3.ebuild +++ b/app-emulation/e-uae/e-uae-0.8.29_rc4-r3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit flag-o-matic pax-utils +inherit autotools flag-o-matic pax-utils DESCRIPTION="The Ubiquitous Amiga Emulator with an emulation core largely based on WinUAE" HOMEPAGE="http://www.rcdrummond.net/uae/" @@ -28,92 +28,114 @@ IUSE="X dga ncurses sdl alsa oss sdl-sound capslib" # Note: opposed to ./configure --help zlib support required! Check # src/Makefile.am that includes zfile.c unconditionaly. -RDEPEND="X? ( x11-libs/libXt - x11-libs/libxkbfile - x11-libs/libXext - x11-misc/xkeyboard-config - dga? ( x11-libs/libXxf86dga - x11-libs/libXxf86vm ) - ) - !X? ( sdl? ( media-libs/libsdl ) - !sdl? ( sys-libs/ncurses:0= ) ) - alsa? ( media-libs/alsa-lib ) - !alsa? ( sdl-sound? ( media-libs/sdl-sound ) ) - capslib? ( >=games-emulation/caps-20060612 ) - sys-libs/zlib - virtual/cdrtools" +RDEPEND=" + sys-libs/zlib + virtual/cdrtools + X? ( + x11-libs/libXt + x11-libs/libxkbfile + x11-libs/libXext + x11-misc/xkeyboard-config + dga? ( + x11-libs/libXxf86dga + x11-libs/libXxf86vm + ) + ) + !X? ( + sdl? ( media-libs/libsdl ) + !sdl? ( sys-libs/ncurses:0= ) + ) + alsa? ( media-libs/alsa-lib ) + !alsa? ( sdl-sound? ( media-libs/sdl-sound ) ) + capslib? ( >=games-emulation/caps-20060612 ) +" DEPEND="${RDEPEND} - X? ( dga? ( x11-base/xorg-proto ) )" + X? ( dga? ( x11-base/xorg-proto ) ) +" + +PATCHES=( + "${FILESDIR}"/${P}-tinfo.patch #527628 + "${FILESDIR}"/${P}-no_schily.patch +) src_prepare() { default # Fix for high cpu use when compiled with --disable-audio - use alsa || use sdl-sound || use oss || eapply "${FILESDIR}"/${P}-high-cpu-usage.patch + if ! use alsa && ! use sdl-sound && ! use oss ; then + eapply "${FILESDIR}"/${P}-high-cpu-usage.patch + fi + eautoreconf #527628 } src_configure() { strip-flags - local myconf + local myconf=() # Sound setup. if use alsa; then elog "Choosing alsa as sound target to use." - myconf="--with-alsa --without-sdl-sound" + myconf=( --with-alsa --without-sdl-sound ) elif use sdl-sound ; then if ! use sdl ; then ewarn "sdl-sound is not enabled because sdl USE flag is disabled. Leaving" ewarn "sound on oss autodetection." - myconf="--without-alsa --without-sdl-sound" + myconf=( --without-alsa --without-sdl-sound ) else elog "Choosing sdl-sound as sound target to use." ewarn "E-UAE with the SDL audio back-end doesn't work correctly in Linux." ewarn "Better use alsa... You've been warned ;)" - myconf="--without-alsa --with-sdl-sound" + myconf=( --without-alsa --with-sdl-sound ) fi elif use oss ; then elog "Choosing oss as sound target to use." ewarn "oss will be autodetected. See output of configure." - myconf="--without-alsa --without-sdl-sound" + myconf=( --without-alsa --without-sdl-sound ) else ewarn "There is no alsa, sdl-sound or oss in USE. Sound target disabled!" - myconf="--disable-audio" + myconf=( --disable-audio ) fi # VIDEO setup. X is autodetected (there is no --with-X option). if use X ; then elog "Using X11 for video output." ewarn "Fullscreen mode is not working in X11 currently. Use sdl." - myconf="$myconf --without-curses --without-sdl-gfx" + myconf+=( --without-curses --without-sdl-gfx ) use dga && ewarn "To use dga you have to run e-uae as root." - use dga && myconf="$myconf --enable-dga --enable-vidmode" + use dga && myconf+=( --enable-dga --enable-vidmode ) elif use sdl ; then elog "Using sdl for video output." - myconf="$myconf --with-sdl --with-sdl-gfx --without-curses" + myconf+=( --with-sdl --with-sdl-gfx --without-curses ) elif use ncurses; then elog "Using ncurses for video output." - myconf="$myconf --with-curses --without-sdl-gfx" + myconf+=( --with-curses --without-sdl-gfx ) else ewarn "There is no X or sdl or ncurses in USE!" ewarn "Following upstream falling back on ncurses." - myconf="$myconf --with-curses --without-sdl-gfx" + myconf+=( --with-curses --without-sdl-gfx ) fi # bug #415787 - myconf="$myconf --disable-ui" + myconf+=( + --disable-ui + $(use_with capslib caps) + --with-zlib - myconf="$myconf $(use_with capslib caps)" + # And explicitly state defaults: + --enable-aga - myconf="$myconf --with-zlib" + --enable-autoconfig + --enable-scsi-device + --enable-cdtv + --enable-cd32 - # And explicitly state defaults: - myconf="$myconf --enable-aga" - myconf="$myconf --enable-autoconfig --enable-scsi-device --enable-cdtv --enable-cd32" - myconf="$myconf --enable-bsdsock" + --enable-bsdsock - econf ${myconf} \ --with-libscg-includedir="${EPREFIX}"/usr/include/scsilib + ) + + econf ${myconf[@]} } src_compile() { @@ -121,15 +143,15 @@ src_compile() { } src_install() { - make DESTDIR="${D}" install || die "make install failed" + emake DESTDIR="${D}" install # The emulator needs to be able to create executable heap # - doesn't need trampoline emulation though. - pax-mark me "${ED}/usr/bin/uae" + pax-mark me "${ED%/}/usr/bin/uae" # Rename it to e-uae - mv "${ED}/usr/bin/uae" "${ED}/usr/bin/e-uae" - mv "${ED}/usr/bin/readdisk" "${ED}/usr/bin/e-readdisk" + mv "${ED%/}"/usr/bin/{,e-}uae || die + mv "${ED%/}"/usr/bin/{,e-}readdisk || die dodoc docs/* README ChangeLog } diff --git a/app-emulation/e-uae/files/e-uae-0.8.29_rc4-no_schily.patch b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-no_schily.patch new file mode 100644 index 00000000000..1a9ebcb408b --- /dev/null +++ b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-no_schily.patch @@ -0,0 +1,20 @@ +configure.in:1134: error: required file 'src/libscg.a' not found +configure.in:1134: error: required file 'src/libschily.a' not found + +--- e-uae-0.8.29-WIP4/configure.in ++++ e-uae-0.8.29-WIP4/configure.in +@@ -1162,13 +1162,7 @@ + SCSIOBJS="scsiemul.o blkdev.o blkdev-libscg.o" + UAE_DEFINES="$UAE_DEFINES -DSCSIEMU" + NEED_THREAD_SUPPORT=yes +- if [[ "$srcdir" != "." ]]; then +- AC_CONFIG_LINKS(src/libscg.a:src/libscg.a) +- AC_CONFIG_LINKS(src/libschily.a:src/libschily.a) +- UAE_LIBS="$UAE_LIBS $LIBSCG_LIBS" +- else +- UAE_LIBS="$UAE_LIBS -L. $SCGLIBS" +- fi ++ UAE_LIBS="$UAE_LIBS $LIBSCG_LIBS" + ], + [ + AC_MSG_RESULT(no) diff --git a/app-emulation/e-uae/files/e-uae-0.8.29_rc4-tinfo.patch b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-tinfo.patch new file mode 100644 index 00000000000..7f94dd20d8d --- /dev/null +++ b/app-emulation/e-uae/files/e-uae-0.8.29_rc4-tinfo.patch @@ -0,0 +1,22 @@ +--- e-uae-0.8.29-WIP4/configure.in ++++ e-uae-0.8.29-WIP4/configure.in +@@ -624,6 +624,7 @@ + AC_PATH_XTRA + + dnl Check for ncurses ++AC_CHECK_LIB(tinfo, main, HAVE_TINFO_LIB=yes, HAVE_TINFO_LIB=no) + AC_CHECK_LIB(ncurses, waddch, HAVE_NCURSES_LIB=yes, HAVE_NCURSES_LIB=no) + + dnl Check for SDL +@@ -793,7 +794,10 @@ + + if [[ "x$WANT_NCURSES" = "xyes" ]]; then + if [[ "x$HAVE_NCURSES_LIB" = "xyes" ]]; then +- GFX_LIBS="-lncurses" ++ if [[ "x$HAVE_TINFO_LIB" = "xyes" ]]; then ++ GFX_LIBS="-ltinfo" ++ fi ++ GFX_LIBS="$GFX_LIBS -lncurses" + GFX_CFLAGS= + GFX_CPPFLAGS= + GFX_DEP=gfx-curses