pkgsrc-WIP-changes archive

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

Add caprice32.



Module Name:	pkgsrc-wip
Committed By:	nia <nia%netbsd.org@localhost>
Pushed By:	nee
Date:		Mon Jun 24 12:59:17 2019 +0100
Changeset:	d86774731304572cbbfb2ebbf09ccf2e193914fd

Modified Files:
	Makefile
Added Files:
	caprice32/DESCR
	caprice32/MESSAGE
	caprice32/Makefile
	caprice32/PLIST
	caprice32/distinfo
	caprice32/patches/patch-cap32.cfg
	caprice32/patches/patch-doc_man6_cap32.6
	caprice32/patches/patch-makefile
	caprice32/patches/patch-src_cap32.cpp

Log Message:
Add caprice32.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=d86774731304572cbbfb2ebbf09ccf2e193914fd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                 |  1 +
 caprice32/DESCR                          |  6 ++++
 caprice32/MESSAGE                        | 14 +++++++++
 caprice32/Makefile                       | 40 ++++++++++++++++++++++++
 caprice32/PLIST                          | 20 ++++++++++++
 caprice32/distinfo                       | 10 ++++++
 caprice32/patches/patch-cap32.cfg        | 24 +++++++++++++++
 caprice32/patches/patch-doc_man6_cap32.6 | 24 +++++++++++++++
 caprice32/patches/patch-makefile         | 53 ++++++++++++++++++++++++++++++++
 caprice32/patches/patch-src_cap32.cpp    | 15 +++++++++
 10 files changed, 207 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index d5f6b83ce2..bacfcbb855 100644
--- a/Makefile
+++ b/Makefile
@@ -350,6 +350,7 @@ SUBDIR+=	canto-curses
 SUBDIR+=	canto-daemon
 SUBDIR+=	canu
 SUBDIR+=	capicxx-core-runtime
+SUBDIR+=	caprice32
 SUBDIR+=	cardpeek
 SUBDIR+=	caribou
 SUBDIR+=	cartago
diff --git a/caprice32/DESCR b/caprice32/DESCR
new file mode 100644
index 0000000000..f2a6c28d2d
--- /dev/null
+++ b/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/caprice32/MESSAGE b/caprice32/MESSAGE
new file mode 100644
index 0000000000..907fccbf6d
--- /dev/null
+++ b/caprice32/MESSAGE
@@ -0,0 +1,14 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2018/08/11 00:19:58 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/caprice32/Makefile b/caprice32/Makefile
new file mode 100644
index 0000000000..46377a2a50
--- /dev/null
+++ b/caprice32/Makefile
@@ -0,0 +1,40 @@
+# $NetBSD$
+
+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}
+
+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/caprice32/PLIST b/caprice32/PLIST
new file mode 100644
index 0000000000..e3814ee82b
--- /dev/null
+++ b/caprice32/PLIST
@@ -0,0 +1,20 @@
+@comment $NetBSD$
+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/caprice32/distinfo b/caprice32/distinfo
new file mode 100644
index 0000000000..64ac101548
--- /dev/null
+++ b/caprice32/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+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/caprice32/patches/patch-cap32.cfg b/caprice32/patches/patch-cap32.cfg
new file mode 100644
index 0000000000..1a20ab3188
--- /dev/null
+++ b/caprice32/patches/patch-cap32.cfg
@@ -0,0 +1,24 @@
+$NetBSD$
+
+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/caprice32/patches/patch-doc_man6_cap32.6 b/caprice32/patches/patch-doc_man6_cap32.6
new file mode 100644
index 0000000000..f98de65976
--- /dev/null
+++ b/caprice32/patches/patch-doc_man6_cap32.6
@@ -0,0 +1,24 @@
+$NetBSD$
+
+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/caprice32/patches/patch-makefile b/caprice32/patches/patch-makefile
new file mode 100644
index 0000000000..118d7f0423
--- /dev/null
+++ b/caprice32/patches/patch-makefile
@@ -0,0 +1,53 @@
+$NetBSD$
+
+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/caprice32/patches/patch-src_cap32.cpp b/caprice32/patches/patch-src_cap32.cpp
new file mode 100644
index 0000000000..9dd067b4b6
--- /dev/null
+++ b/caprice32/patches/patch-src_cap32.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+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