diff --git a/games-emulation/hatari/files/hatari-2.1.0_caps5_files.patch b/games-emulation/hatari/files/hatari-2.1.0_caps5_files.patch new file mode 100644 index 000000000..cac630f66 --- /dev/null +++ b/games-emulation/hatari/files/hatari-2.1.0_caps5_files.patch @@ -0,0 +1,147 @@ +diff -Nuar hatari-2.1.0-orig/cmake/FindCapsImage.cmake hatari-2.1.0/cmake/FindCapsImage.cmake +--- hatari-2.1.0-orig/cmake/FindCapsImage.cmake 2018-07-28 20:32:59.164780571 +0300 ++++ hatari-2.1.0/cmake/FindCapsImage.cmake 2018-07-28 20:33:16.130781607 +0300 +@@ -1,22 +1,18 @@ +- + IF (CAPSIMAGE_INCLUDE_DIR) +- # Already in cache, be silent +- SET(CAPSIMAGE_FIND_QUIETLY TRUE) ++ # Already in cache, be silent ++ SET(CAPSIMAGE_FIND_QUIETLY TRUE) + ENDIF (CAPSIMAGE_INCLUDE_DIR) + +- +-# Choose the library version to use : 4 or 5 +-SET(CAPSIMAGE_VERSION 5) +- +- +-if(CAPSIMAGE_VERSION STREQUAL 4) +- SET(CAPSIMAGE_DIR caps) +- FIND_PATH(CAPSIMAGE_INCLUDE_DIR ${CAPSIMAGE_DIR}/capsimage.h) ++if(ENABLE_CAPSIMAGE5) ++ SET(CAPSIMAGE_VERSION 5) ++ FIND_PATH(CAPSIMAGE_INCLUDE_DIR NAMES CapsAPI.h PATH_SUFFIXES caps5) + else() +- SET(CAPSIMAGE_DIR caps5) +- FIND_PATH(CAPSIMAGE_INCLUDE_DIR ${CAPSIMAGE_DIR}/CapsAPI.h) ++ SET(CAPSIMAGE_VERSION 4) ++ FIND_PATH(CAPSIMAGE_INCLUDE_DIR NAMES capsimage.h PATH_SUFFIXES caps) + endif() + ++message(${CAPSIMAGE_INCLUDE_DIR}) ++ + if(WIN32) + FIND_LIBRARY(CAPSIMAGE_LIBRARY NAMES capsimg PATH_SUFFIXES ${CAPSIMAGE_DIR} ) + else() +diff -Nuar hatari-2.1.0-orig/src/CMakeLists.txt hatari-2.1.0/src/CMakeLists.txt +--- hatari-2.1.0-orig/src/CMakeLists.txt 2018-07-28 20:32:59.152780571 +0300 ++++ hatari-2.1.0/src/CMakeLists.txt 2018-07-28 20:33:16.131781607 +0300 +@@ -55,6 +55,10 @@ + include_directories(${PNG_INCLUDE_DIR}) + endif(PNG_FOUND) + ++if(CAPSIMAGE_FOUND) ++ include_directories(${CAPSIMAGE_INCLUDE_DIR}) ++endif(CAPSIMAGE_FOUND) ++ + if(X11_FOUND) + include_directories(${X11_INCLUDE_DIR}) + endif(X11_FOUND) +diff -Nuar hatari-2.1.0-orig/src/floppy_ipf.c hatari-2.1.0/src/floppy_ipf.c +--- hatari-2.1.0-orig/src/floppy_ipf.c 2018-07-28 20:32:59.152780571 +0300 ++++ hatari-2.1.0/src/floppy_ipf.c 2018-07-28 20:34:32.782786288 +0300 +@@ -30,9 +30,9 @@ + + #ifdef HAVE_CAPSIMAGE + #if CAPSIMAGE_VERSION == 5 +-#include ++#include + #else +-#include ++#include + #define CAPS_LIB_RELEASE 4 + #define CAPS_LIB_REVISION 2 + #endif +@@ -61,8 +61,8 @@ + + struct CapsFdc Fdc; /* Fdc state */ + struct CapsDrive Drive[ MAX_FLOPPYDRIVES ]; /* Physical drives */ +- CapsLong CapsImage[ MAX_FLOPPYDRIVES ]; /* Image Id or -1 if drive empty */ +- CapsLong CapsImageType[ MAX_FLOPPYDRIVES ]; /* ImageType or -1 if not known */ ++ Sint32 CapsImage[ MAX_FLOPPYDRIVES ]; /* Image Id or -1 if drive empty */ ++ Sint32 CapsImageType[ MAX_FLOPPYDRIVES ]; /* ImageType or -1 if not known */ + + int Rev_Track[ MAX_FLOPPYDRIVES ]; /* Needed to handle CAPSSetRevolution for type II/III commands */ + int Rev_Side[ MAX_FLOPPYDRIVES ]; +@@ -83,9 +83,9 @@ + static char *IPF_FilenameFindTrackSide (char *FileName); + static bool IPF_Insert_RawStreamImage ( int Drive ); + +-static void IPF_CallBack_Trk ( struct CapsFdc *pc , CapsULong State ); +-static void IPF_CallBack_Irq ( struct CapsFdc *pc , CapsULong State ); +-static void IPF_CallBack_Drq ( struct CapsFdc *pc , CapsULong State ); ++static void IPF_CallBack_Trk ( struct CapsFdc *pc , Uint32 State ); ++static void IPF_CallBack_Irq ( struct CapsFdc *pc , Uint32 State ); ++static void IPF_CallBack_Drq ( struct CapsFdc *pc , Uint32 State ); + static void IPF_Drive_Update_Enable_Side ( void ); + static void IPF_FDC_LogCommand ( Uint8 Command ); + #endif +@@ -419,8 +419,8 @@ + return false; + + #else +- CapsLong ImageId; +- CapsLong ImageType; ++ Sint32 ImageId; ++ Sint32 ImageType; + + ImageId = CAPSAddImage(); + if ( ImageId < 0 ) +@@ -470,7 +470,7 @@ + ImageType = -1; + #endif + +- if ( CAPSLockImageMemory ( ImageId , pImageBuffer , (CapsULong)ImageSize , DI_LOCK_MEMREF ) == imgeOk ) ++ if ( CAPSLockImageMemory ( ImageId , pImageBuffer , (Uint32)ImageSize , DI_LOCK_MEMREF ) == imgeOk ) + { + struct CapsImageInfo cii; + int i; +@@ -703,7 +703,7 @@ + * We need to update the track data by calling CAPSLockTrack + */ + #ifdef HAVE_CAPSIMAGE +-static void IPF_CallBack_Trk ( struct CapsFdc *pc , CapsULong State ) ++static void IPF_CallBack_Trk ( struct CapsFdc *pc , Uint32 State ) + { + int Drive = State; /* State is the drive number in that case */ + struct CapsDrive *pd = pc->drive+Drive; /* Current drive where the track change occurred */ +@@ -732,7 +732,7 @@ + * Callback function used when the FDC change the IRQ signal + */ + #ifdef HAVE_CAPSIMAGE +-static void IPF_CallBack_Irq ( struct CapsFdc *pc , CapsULong State ) ++static void IPF_CallBack_Irq ( struct CapsFdc *pc , Uint32 State ) + { + LOG_TRACE(TRACE_FDC, "fdc ipf callback irq state=0x%x VBL=%d HBL=%d\n" , (int)State , nVBLs , nHBL ); + +@@ -751,7 +751,7 @@ + * -> copy the byte to/from the DMA's FIFO if it's a read or a write to the disk + */ + #ifdef HAVE_CAPSIMAGE +-static void IPF_CallBack_Drq ( struct CapsFdc *pc , CapsULong State ) ++static void IPF_CallBack_Drq ( struct CapsFdc *pc , Uint32 State ) + { + Uint8 Byte; + +diff -Nuar hatari-2.1.0-orig/src/uae-cpu/newcpu.c hatari-2.1.0/src/uae-cpu/newcpu.c +--- hatari-2.1.0-orig/src/uae-cpu/newcpu.c 2018-07-28 20:32:59.158780571 +0300 ++++ hatari-2.1.0/src/uae-cpu/newcpu.c 2018-07-28 20:33:16.132781607 +0300 +@@ -167,7 +167,7 @@ + + #ifdef HAVE_CAPSIMAGE + #if CAPSIMAGE_VERSION == 5 +-#include ++#include + #endif + #endif + diff --git a/games-emulation/hatari/hatari-2.1.0.ebuild b/games-emulation/hatari/hatari-2.1.0-r1.ebuild similarity index 91% rename from games-emulation/hatari/hatari-2.1.0.ebuild rename to games-emulation/hatari/hatari-2.1.0-r1.ebuild index 92eba8575..7bb3815e1 100644 --- a/games-emulation/hatari/hatari-2.1.0.ebuild +++ b/games-emulation/hatari/hatari-2.1.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit toolchain-funcs cmake-utils python-single-r1 +inherit cmake-utils python-single-r1 readme.gentoo-r1 DESCRIPTION="Atari ST emulator" HOMEPAGE="http://hatari.tuxfamily.org/" @@ -16,7 +16,7 @@ IUSE="+sdl2" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND="${PYTHON_DEPS} - games-emulation/caps + >=dev-libs/spsdeclib-5.1-r1 sdl2? ( media-libs/libsdl2[X,sound,video] ) !sdl2? ( media-libs/libsdl[X,sound,video] ) media-libs/portaudio @@ -40,6 +40,7 @@ The first time you run hatari, you should configure it to find the TOS you prefer to use. Be sure to save your settings. " +PATCHES=( "${FILESDIR}/${P}_caps5_files.patch" ) DOCS="readme.txt doc/*.txt" HTML_DOCS="doc/" @@ -55,6 +56,7 @@ src_configure() { mycmakeargs=( "-DDOCDIR=/usr/share/doc/${PF}" "-DENABLE_SDL2=$(usex sdl2)" + "-DENABLE_CAPSIMAGE5=ON" ) cmake-utils_src_configure } @@ -62,6 +64,7 @@ src_configure() { src_install() { cmake-utils_src_install python_fix_shebang "${ED%/}"/usr/share/hatari/{hatariui,hconsole}/ + readme.gentoo_create_doc } pkg_postinst() { diff --git a/metadata/md5-cache/games-emulation/hatari-2.1.0 b/metadata/md5-cache/games-emulation/hatari-2.1.0-r1 similarity index 72% rename from metadata/md5-cache/games-emulation/hatari-2.1.0 rename to metadata/md5-cache/games-emulation/hatari-2.1.0-r1 index 70785e665..036a6b797 100644 --- a/metadata/md5-cache/games-emulation/hatari-2.1.0 +++ b/metadata/md5-cache/games-emulation/hatari-2.1.0-r1 @@ -1,5 +1,5 @@ DEFINED_PHASES=compile configure install postinst postrm prepare setup test -DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),python_single_target_python2_7(+)] games-emulation/caps sdl2? ( media-libs/libsdl2[X,sound,video] ) !sdl2? ( media-libs/libsdl[X,sound,video] ) media-libs/portaudio media-libs/portmidi sys-libs/readline:0= media-libs/libpng:0= sys-libs/zlib:0= virtual/pkgconfig sys-devel/make >=dev-util/cmake-3.7.2 +DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),python_single_target_python2_7(+)] >=dev-libs/spsdeclib-5.1-r1 sdl2? ( media-libs/libsdl2[X,sound,video] ) !sdl2? ( media-libs/libsdl[X,sound,video] ) media-libs/portaudio media-libs/portmidi sys-libs/readline:0= media-libs/libpng:0= sys-libs/zlib:0= virtual/pkgconfig sys-devel/make >=dev-util/cmake-3.7.2 DESCRIPTION=Atari ST emulator EAPI=6 HOMEPAGE=http://hatari.tuxfamily.org/ @@ -7,9 +7,9 @@ IUSE=+sdl2 python_targets_python2_7 KEYWORDS=~amd64 ~x86 LICENSE=GPL-2 PDEPEND=dev-python/pygtk[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),python_single_target_python2_7(+)] >=games-emulation/emutos-0.9.9.1 -RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),python_single_target_python2_7(+)] games-emulation/caps sdl2? ( media-libs/libsdl2[X,sound,video] ) !sdl2? ( media-libs/libsdl[X,sound,video] ) media-libs/portaudio media-libs/portmidi sys-libs/readline:0= media-libs/libpng:0= sys-libs/zlib:0= +RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),python_single_target_python2_7(+)] >=dev-libs/spsdeclib-5.1-r1 sdl2? ( media-libs/libsdl2[X,sound,video] ) !sdl2? ( media-libs/libsdl[X,sound,video] ) media-libs/portaudio media-libs/portmidi sys-libs/readline:0= media-libs/libpng:0= sys-libs/zlib:0= REQUIRED_USE=python_targets_python2_7 SLOT=0 SRC_URI=http://download.tuxfamily.org/hatari/2.1.0/hatari-2.1.0.tar.bz2 -_eclasses_=cmake-utils 1878df07fb7968266bdbcfcd576fea4b epatch 8233751dc5105a6ae8fcd86ce2bb0247 epunt-cxx f8073339d152f56626493f43d8ba4691 estack 5ac2a138d0b33354b764d84f9e835db8 eutils 1fb064d93b3ffd05c2fb19ef430a4aa1 flag-o-matic 02908f00f002f0f07c5b74783d778325 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 2e13cdcb950cddcb1f52c92c9712a675 python-single-r1 3e0889f7794cf229af65fd448a9e202b python-utils-r1 b5fdfa15cbe2f6299a482bf5d0c5925d toolchain-funcs 6eb35f81556258a4bc9182ad3dfd58ee versionator c80ccf29e90adea7c5cae94b42eb76d0 xdg-utils 9ef13b5c5bcf0c50d6aa53692d8e441c -_md5_=b518ce003e9f4c93921721b7b54057e2 +_eclasses_=cmake-utils 1878df07fb7968266bdbcfcd576fea4b epatch 8233751dc5105a6ae8fcd86ce2bb0247 epunt-cxx f8073339d152f56626493f43d8ba4691 estack 5ac2a138d0b33354b764d84f9e835db8 eutils 1fb064d93b3ffd05c2fb19ef430a4aa1 flag-o-matic 02908f00f002f0f07c5b74783d778325 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils 2e13cdcb950cddcb1f52c92c9712a675 python-single-r1 3e0889f7794cf229af65fd448a9e202b python-utils-r1 b5fdfa15cbe2f6299a482bf5d0c5925d readme.gentoo-r1 2b27b7fcc73685ec7e0456c3b48a2fff toolchain-funcs 6eb35f81556258a4bc9182ad3dfd58ee versionator c80ccf29e90adea7c5cae94b42eb76d0 xdg-utils 9ef13b5c5bcf0c50d6aa53692d8e441c +_md5_=b2338c570fad2bfc77f958a76ef0e7d3