pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/emulators emulators: Add caprice32.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/88bb028488b1
branches:  trunk
changeset: 424174:88bb028488b1
user:      nia <nia%pkgsrc.org@localhost>
date:      Fri Mar 06 12:23:01 2020 +0000

description:
emulators: Add caprice32.

Caprice32 is a software emulator of the Amstrad CPC 8bit home computer
series. The emulator faithfully imitates the CPC464, CPC664, and CPC6128
models. By recreating the operations of all hardware components at a
low level, the emulator achieves a high degree of compatibility with
original CPC software. These programs or games can be run unmodified at
real-time or higher speeds, depending on the emulator host environment.

diffstat:

 emulators/Makefile                                 |   3 +-
 emulators/caprice32/DESCR                          |   6 ++
 emulators/caprice32/MESSAGE                        |  14 +++++
 emulators/caprice32/Makefile                       |  41 +++++++++++++++++
 emulators/caprice32/PLIST                          |  20 ++++++++
 emulators/caprice32/distinfo                       |  10 ++++
 emulators/caprice32/patches/patch-cap32.cfg        |  24 +++++++++
 emulators/caprice32/patches/patch-doc_man6_cap32.6 |  24 +++++++++
 emulators/caprice32/patches/patch-makefile         |  53 ++++++++++++++++++++++
 emulators/caprice32/patches/patch-src_cap32.cpp    |  15 ++++++
 10 files changed, 209 insertions(+), 1 deletions(-)

diffs (260 lines):

diff -r ac5f2101d783 -r 88bb028488b1 emulators/Makefile
--- a/emulators/Makefile        Fri Mar 06 12:21:02 2020 +0000
+++ b/emulators/Makefile        Fri Mar 06 12:23:01 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.312 2020/01/29 10:33:16 nia Exp $
+# $NetBSD: Makefile,v 1.313 2020/03/06 12:23:01 nia Exp $
 #
 
 COMMENT=       Emulators for other operating systems
@@ -24,6 +24,7 @@
 SUBDIR+=       blinkensim
 SUBDIR+=       bochs
 SUBDIR+=       cannonball
+SUBDIR+=       caprice32
 SUBDIR+=       ckmame
 SUBDIR+=       cmdpack
 SUBDIR+=       compat12
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/DESCR Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,6 @@
+Caprice32 is a software emulator of the Amstrad CPC 8bit home computer
+series. The emulator faithfully imitates the CPC464, CPC664, and CPC6128
+models. By recreating the operations of all hardware components at a
+low level, the emulator achieves a high degree of compatibility with
+original CPC software. These programs or games can be run unmodified at
+real-time or higher speeds, depending on the emulator host environment.
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/MESSAGE       Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,14 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+For copyright reasons ROM files cannot be redistributed with the package.
+
+Caprice32 searches ${PREFIX}/share/caprice32/rom for BASIC and AMSDOS ROM
+images in MAME/MESS format (only not compressed), e.g. cpc6128.rom and
+amsdos.rom.
+
+Note that Caprice32's executable name is "cap32" rather than "caprice32".
+
+The F1 key opens Caprice32's menu.
+
+===========================================================================
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/Makefile      Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+DISTNAME=      caprice32-4.5.0
+CATEGORIES=    emulators
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=ColinPitrat/}
+GITHUB_TAG=    v${PKGVERSION_NOREV}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/ColinPitrat/caprice32
+COMMENT=       Emulator of the Amstrad CPC 8bit home computer range
+LICENSE=       gnu-gpl-v2
+
+USE_TOOLS+=    gmake pkg-config
+USE_LANGUAGES= c c++
+MAKE_FILE=     makefile
+
+MAKE_FLAGS+=   prefix=${PREFIX}
+MAKE_FLAGS+=   GIT_HASH="pkgsrc"
+
+SUBST_CLASSES+=                conf
+SUBST_STAGE.conf=      pre-configure
+SUBST_MESSAGE.conf=    Fix paths.
+SUBST_FILES.conf+=     cap32.cfg
+SUBST_FILES.conf+=     src/cap32.cfg
+SUBST_FILES.conf+=     src/cap32.cpp
+SUBST_FILES.conf+=     doc/man6/cap32.6
+SUBST_VARS.conf+=      PREFIX
+SUBST_VARS.conf+=      PKG_SYSCONFDIR
+
+EGDIR=         ${PREFIX}/share/examples/caprice32
+
+CONF_FILES+=   ${EGDIR}/cap32.cfg ${PKG_SYSCONFDIR}/cap32.cfg
+
+RESTRICTED=    Questionable ROM images in source tree
+NO_SRC_ON_FTP= ${RESTRICTED}
+
+.include "../../devel/SDL/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/PLIST Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,20 @@
+@comment $NetBSD: PLIST,v 1.1 2020/03/06 12:23:01 nia Exp $
+bin/cap32
+man/man6/cap32.6
+share/caprice32/resources/audio.bmp
+share/caprice32/resources/cap32logo.bmp
+share/caprice32/resources/disk.bmp
+share/caprice32/resources/general.bmp
+share/caprice32/resources/input.bmp
+share/caprice32/resources/keymap_es_linux.map
+share/caprice32/resources/keymap_es_win.map
+share/caprice32/resources/keymap_fr_linux.map
+share/caprice32/resources/keymap_fr_win.map
+share/caprice32/resources/keymap_uk_linux.map
+share/caprice32/resources/keymap_uk_win.map
+share/caprice32/resources/keymap_us.map
+share/caprice32/resources/rom.bmp
+share/caprice32/resources/vera_mono.ttf
+share/caprice32/resources/vera_sans.ttf
+share/caprice32/resources/video.bmp
+share/examples/caprice32/cap32.cfg
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/distinfo      Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+SHA1 (caprice32-4.5.0.tar.gz) = c1f824023a0cee23488e238cb518d4b176594ee2
+RMD160 (caprice32-4.5.0.tar.gz) = b803d7f0f8742fc7bb10d23e24c71dbaa7484f6b
+SHA512 (caprice32-4.5.0.tar.gz) = 9f4c2583fa7d5215901765109177eef60c89dc322b59c352473bdc00dabc5d65dba112bcf4c41b47322c98e9b76d11fc7ecdf9e9973c57ba42b6966ceaba5efd
+Size (caprice32-4.5.0.tar.gz) = 577297 bytes
+SHA1 (patch-cap32.cfg) = 862cb8eff1235e3cbd95410a5e2074cf7a48df09
+SHA1 (patch-doc_man6_cap32.6) = 9779e2fb84d22f4f74bb8540872239e4359d0aeb
+SHA1 (patch-makefile) = 8a25b98eeb0e7b2c016628bb3dda0e8a8e084915
+SHA1 (patch-src_cap32.cpp) = c6d6c23f8a0cc59cdecbe63d99cca5b87f1eb274
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/patches/patch-cap32.cfg
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/patches/patch-cap32.cfg       Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,24 @@
+$NetBSD: patch-cap32.cfg,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+Fix paths.
+
+--- cap32.cfg.orig     2019-01-04 19:01:29.000000000 +0000
++++ cap32.cfg
+@@ -50,7 +50,7 @@ joystick_menu_button=9
+ joystick_vkeyboard_button=10
+ # resources_path
+ #   path to resources (menu images...)
+-resources_path=/usr/local/share/caprice32/resources
++resources_path=@PREFIX@/share/caprice32/resources
+ # boot_time
+ #   Estimated time in video frames the CPC takes to boot.
+ #   Caprice will emulate this number of frames before starting to send a provided autocmd.
+@@ -167,7 +167,7 @@ printer_file=./printer.dat
+ sdump_dir=./screenshots
+ 
+ [rom]
+-rom_path=/usr/local/share/caprice32/rom
++rom_path=@PREFIX@/share/caprice32/rom
+ slot00=
+ slot01=
+ slot02=
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/patches/patch-doc_man6_cap32.6
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/patches/patch-doc_man6_cap32.6        Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,24 @@
+$NetBSD: patch-doc_man6_cap32.6,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+Fix path.
+
+--- doc/man6/cap32.6.orig      2019-01-04 19:01:29.000000000 +0000
++++ doc/man6/cap32.6
+@@ -26,7 +26,7 @@ The \fBrom_path\fR entry in the configur
+ .PP
+ \fBConfiguration\fR
+ .RS
+-When launched, Caprice32 will look for a configuration file in several locations. If a configuration file was specified using the \fB\-\-cfg_file\fR command line switch, Caprice32 will try and use 
it. If no configuration file was specified, or the configuration file specified does not exist, Caprice32 will try and open, in this order: \fB$CWD/cap32.cfg\fR ($CWD being the directory where the 
cap32 executable resides), then a \fB.cap32.cfg\fR file in the user home directory, then \fB/etc/cap32.cfg\fR. Caprice32 will use the first valid file it finds. If no configuration file is found, a 
default configuration will be used.
++When launched, Caprice32 will look for a configuration file in several locations. If a configuration file was specified using the \fB\-\-cfg_file\fR command line switch, Caprice32 will try and use 
it. If no configuration file was specified, or the configuration file specified does not exist, Caprice32 will try and open, in this order: \fB$CWD/cap32.cfg\fR ($CWD being the directory where the 
cap32 executable resides), then a \fB.cap32.cfg\fR file in the user home directory, then \fB@PKG_SYSCONFDIR@/cap32.cfg\fR. Caprice32 will use the first valid file it finds. If no configuration file 
is found, a default configuration will be used.
+ .PP
+ The configuration file contains various configuration parameters, some of which can be modified from the GUI.
+ When saving the configuration from the GUI, it will be written in the configuration file specified by the \fB\-\-cfg_file\fR switch, if it exists, else in $CWD/cap32.cfg if it exists, otherwise in 
$HOME/.cap32.cfg.
+@@ -138,7 +138,7 @@ The screen capture code uses driedfruit 
+ .SH FILES
+ $HOME/.cap32.cfg
+ .br
+-/etc/cap32.cfg
++@PKG_SYSCONFDIR@/cap32.cfg
+ 
+ .SH SEE ALSO
+ https://github.com/ColinPitrat/caprice32
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/patches/patch-makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/patches/patch-makefile        Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,53 @@
+$NetBSD: patch-makefile,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+We pass our own flags.
+
+--- makefile.orig      2019-01-04 19:01:29.000000000 +0000
++++ makefile
+@@ -50,7 +50,6 @@ COMMON_CFLAGS += -DWITH_IPF
+ LIBS += $(MINGW_PATH)/bin/$(CAPSIPFDLL)
+ endif
+ else
+-prefix = /usr/local
+ TARGET = cap32
+ TEST_TARGET = test_runner
+ IPATHS = -Isrc/ -Isrc/gui/includes `pkg-config --cflags freetype2` `sdl-config --cflags` `pkg-config --cflags libpng`
+@@ -97,7 +96,7 @@ TEST_OBJECTS:=$(TEST_DEPENDS:.d=.o)
+ WARNINGS = -Wall -Wextra -Wzero-as-null-pointer-constant -Wformat=2 -Wold-style-cast -Wmissing-include-dirs -Wlogical-op -Woverloaded-virtual -Wpointer-arith -Wredundant-decls
+ COMMON_CFLAGS += $(CFLAGS) -std=c++11 $(IPATHS)
+ DEBUG_FLAGS = -Werror -g -O0 -DDEBUG
+-RELEASE_FLAGS = -O2 -funroll-loops -ffast-math -fomit-frame-pointer -fno-strength-reduce -finline-functions -s
++RELEASE_FLAGS = -ffast-math -fno-strength-reduce -finline-functions
+ BUILD_FLAGS = $(RELEASE_FLAGS)
+ 
+ debug: BUILD_FLAGS:=$(DEBUG_FLAGS)
+@@ -117,7 +116,7 @@ ifdef DEBUG
+ BUILD_FLAGS = $(DEBUG_FLAGS)
+ all: check_deps debug
+ else
+-all: check_deps distrib
++all: check_deps $(TARGET)
+ endif
+ 
+ # gtest doesn't build with warnings flags, hence the COMMON_CFLAGS
+@@ -204,11 +203,15 @@ distrib: $(TARGET)
+       ln -s caprice32-$(VERSION).tar.bz2 $(ARCHIVE)/caprice32_$(VERSION).orig.tar.bz2 || true
+ 
+ install: $(TARGET)
+-      install -D $(TARGET) $(DESTDIR)$(prefix)/bin/$(TARGET)
+-      install -D $(GROFF_DOC) $(DESTDIR)$(prefix)/share/man/man6/cap32.6
+-      install -D -m664 cap32.cfg $(DESTDIR)/etc/cap32.cfg
+-      mkdir -p $(DESTDIR)$(prefix)/share/caprice32
+-      cp -r resources rom $(DESTDIR)$(prefix)/share/caprice32
++      $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(prefix)/bin
++      $(BSD_INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(prefix)/bin/$(TARGET)
++      $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(prefix)/$(PKGMANDIR)/man6
++      $(BSD_INSTALL_MAN) $(GROFF_DOC) $(DESTDIR)$(prefix)/$(PKGMANDIR)/man6/cap32.6
++      $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(prefix)/share/examples/caprice32
++      $(BSD_INSTALL_DATA) cap32.cfg $(DESTDIR)$(prefix)/share/examples/caprice32/cap32.cfg
++      $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(prefix)/share/caprice32/resources
++      $(BSD_INSTALL_DATA) resources/* $(DESTDIR)$(prefix)/share/caprice32/resources
++      $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(prefix)/share/caprice32/rom
+ endif
+ 
+ ####################################
diff -r ac5f2101d783 -r 88bb028488b1 emulators/caprice32/patches/patch-src_cap32.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/caprice32/patches/patch-src_cap32.cpp   Fri Mar 06 12:23:01 2020 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_cap32.cpp,v 1.1 2020/03/06 12:23:01 nia Exp $
+
+Fix paths.
+
+--- src/cap32.cpp.orig 2019-01-04 19:01:29.000000000 +0000
++++ src/cap32.cpp
+@@ -1578,7 +1578,7 @@ std::string getConfigurationFilename(boo
+         configFilename = std::string(getenv("HOME")) + "/.cap32.cfg";
+         // If still not found, look for cap32.cfg in /etc
+         if (!forWrite && access(configFilename.c_str(), F_OK) != 0) {
+-           configFilename = "/etc/cap32.cfg";
++           configFilename = "@PKG_SYSCONFDIR@/cap32.cfg";
+         }
+      }
+   }



Home | Main Index | Thread Index | Old Index