diff options
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/Makefile | 3 | ||||
-rw-r--r-- | emulators/caprice32/DESCR | 6 | ||||
-rw-r--r-- | emulators/caprice32/MESSAGE | 14 | ||||
-rw-r--r-- | emulators/caprice32/Makefile | 41 | ||||
-rw-r--r-- | emulators/caprice32/PLIST | 20 | ||||
-rw-r--r-- | emulators/caprice32/distinfo | 10 | ||||
-rw-r--r-- | emulators/caprice32/patches/patch-cap32.cfg | 24 | ||||
-rw-r--r-- | emulators/caprice32/patches/patch-doc_man6_cap32.6 | 24 | ||||
-rw-r--r-- | emulators/caprice32/patches/patch-makefile | 53 | ||||
-rw-r--r-- | emulators/caprice32/patches/patch-src_cap32.cpp | 15 |
10 files changed, 209 insertions, 1 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index 04c6fd951c8..e8c958e659c 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -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+= blastem SUBDIR+= blinkensim SUBDIR+= bochs SUBDIR+= cannonball +SUBDIR+= caprice32 SUBDIR+= ckmame SUBDIR+= cmdpack SUBDIR+= compat12 diff --git a/emulators/caprice32/DESCR b/emulators/caprice32/DESCR new file mode 100644 index 00000000000..f2a6c28d2d3 --- /dev/null +++ b/emulators/caprice32/DESCR @@ -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 --git a/emulators/caprice32/MESSAGE b/emulators/caprice32/MESSAGE new file mode 100644 index 00000000000..0374c11481b --- /dev/null +++ b/emulators/caprice32/MESSAGE @@ -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 --git a/emulators/caprice32/Makefile b/emulators/caprice32/Makefile new file mode 100644 index 00000000000..d25472fc12f --- /dev/null +++ b/emulators/caprice32/Makefile @@ -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 +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 --git a/emulators/caprice32/PLIST b/emulators/caprice32/PLIST new file mode 100644 index 00000000000..b1f5fbb9c3f --- /dev/null +++ b/emulators/caprice32/PLIST @@ -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 --git a/emulators/caprice32/distinfo b/emulators/caprice32/distinfo new file mode 100644 index 00000000000..7543cb98adb --- /dev/null +++ b/emulators/caprice32/distinfo @@ -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 --git a/emulators/caprice32/patches/patch-cap32.cfg b/emulators/caprice32/patches/patch-cap32.cfg new file mode 100644 index 00000000000..3b4062815b4 --- /dev/null +++ b/emulators/caprice32/patches/patch-cap32.cfg @@ -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 --git a/emulators/caprice32/patches/patch-doc_man6_cap32.6 b/emulators/caprice32/patches/patch-doc_man6_cap32.6 new file mode 100644 index 00000000000..26934087aef --- /dev/null +++ b/emulators/caprice32/patches/patch-doc_man6_cap32.6 @@ -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 --git a/emulators/caprice32/patches/patch-makefile b/emulators/caprice32/patches/patch-makefile new file mode 100644 index 00000000000..e32556062b8 --- /dev/null +++ b/emulators/caprice32/patches/patch-makefile @@ -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 --git a/emulators/caprice32/patches/patch-src_cap32.cpp b/emulators/caprice32/patches/patch-src_cap32.cpp new file mode 100644 index 00000000000..3e384b02408 --- /dev/null +++ b/emulators/caprice32/patches/patch-src_cap32.cpp @@ -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"; + } + } + } |