summaryrefslogtreecommitdiff
path: root/games-emulation/fbzx
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation/fbzx')
-rw-r--r--games-emulation/fbzx/Manifest4
-rw-r--r--games-emulation/fbzx/fbzx-3.0.0-r1.ebuild38
-rw-r--r--games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch118
-rw-r--r--games-emulation/fbzx/metadata.xml15
4 files changed, 175 insertions, 0 deletions
diff --git a/games-emulation/fbzx/Manifest b/games-emulation/fbzx/Manifest
new file mode 100644
index 000000000000..8ca6b3508aed
--- /dev/null
+++ b/games-emulation/fbzx/Manifest
@@ -0,0 +1,4 @@
+AUX fbzx-3.0.0-gentoo.patch 6372 BLAKE2B 0e218a83a4eee9f7fbb632f74eb64358149715835f566c4256cecfa5857c615d732073a1346b0e8f4998fb5c560d7c2d39a083e5c1ae99cf4c889b6de42b8cde SHA512 4de9830dcfe015833939c1795f016d37afa0d364b94de2cc64b941f8d4df2acbe7220be951fa403bab6eba0db4882a8c15c376eac108fe6331e67708515b876e
+DIST fbzx-3.0.0.tar.gz 435239 BLAKE2B 5105995a7972c7310628c0e4d3af7f1a749192bc24ac312e493d8821edf5ec329a65eedcbfa6c8479a4f4d134ca730acef7ee27ef2f89253f2e179c7cf8c2bf1 SHA512 cf2a01a1dde62da03c1f04e91f226859ae4cf06d099597dc1a1554c4ff9782dd287f9d924083829eee40cf0450c053d818f963f68381f9e16e0e61ca1f3d3083
+EBUILD fbzx-3.0.0-r1.ebuild 852 BLAKE2B c2c32bf293dc5803cbbc21b56cc5baee95bfc28f6e258482c3b9499f94cbe2f909329869e86bd1b49a4a5d6fb24054cb999d4bfc1dbbe45dc60ab9a0065e57c0 SHA512 775bfb04e9ba7c1bf47aa69260d4413caa5270202ca12434dd15f870570657d584eb2dee11cb4abeba57765dde96b4df2352a60504429203fa0ff7f44532cebf
+MISC metadata.xml 469 BLAKE2B 9c35e70c04d622fbda873c4f3d225b5a7813627bfc6bb01e14ebf011869385d9449652d056e3f2a4ff175337b55e63f987234fa2b3b600576611ec42f01187ca SHA512 72d484a764834cd1691665dea6904f154af7a4a6f4c8dc43eaeafe71ec775c8bf0b62ffe42d3cf244829292ff4d0f8a677eccce1902110b94e6f1fdd31219a25
diff --git a/games-emulation/fbzx/fbzx-3.0.0-r1.ebuild b/games-emulation/fbzx/fbzx-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..8fcb34dbfc9c
--- /dev/null
+++ b/games-emulation/fbzx/fbzx-3.0.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit desktop
+
+DESCRIPTION="Full Screen Sinclair Spectrum emulator"
+HOMEPAGE="https://github.com/rastersoft/fbzx"
+SRC_URI="https://github.com/rastersoft/fbzx/archive/3.0.0.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/libsdl[video]
+ media-sound/pulseaudio
+ media-libs/alsa-lib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+ sed -i -e "s|/usr/share/|/usr/share/${PN}/|g" src/llscreen.cpp || die
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_install() {
+ dobin src/fbzx
+ insinto "/usr/share/${PN}"
+ doins -r data/{keymap.bmp,spectrum-roms}
+ dodoc AMSTRAD CAPABILITIES FAQ PORTING README* TODO VERSIONS
+ doicon data/fbzx.svg
+ make_desktop_entry fbzx FBZX
+}
diff --git a/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch b/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch
new file mode 100644
index 000000000000..0e1f02337146
--- /dev/null
+++ b/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch
@@ -0,0 +1,118 @@
+diff -ru fbzx-3.0.0.orig/src/Makefile fbzx-3.0.0/src/Makefile
+--- fbzx-3.0.0.orig/src/Makefile 2015-04-01 17:22:47.000000000 -0400
++++ fbzx-3.0.0/src/Makefile 2016-04-01 13:15:27.230190807 -0400
+@@ -1,78 +1,74 @@
+-CC=g++ -c -O2
+-CPP=g++ -c -O2
+-LN=g++ -O2
+-
+ CFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
+-CPPFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
++CXXFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
+ LDFLAGS += `pkg-config --libs sdl libpulse-simple alsa`
+
+
+ fbzx: cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o
+- $(LN) -o fbzx cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o $(LDFLAGS)
++ $(CXX) -o fbzx cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o $(LDFLAGS)
+
+ Z80free.o: z80free/Z80free.c z80free/Z80free.h
+- $(CC) -o Z80free.o z80free/Z80free.c
++ $(CXX) -c $(CFLAGS) -o Z80free.o z80free/Z80free.c
+
+ Z80free_codes.o: z80free/Z80free_codes.c z80free/Z80free.h
+- $(CC) -o Z80free_codes.o z80free/Z80free_codes.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codes.o z80free/Z80free_codes.c
+
+ Z80free_codesCB.o: z80free/Z80free_codesCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesCB.o z80free/Z80free_codesCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesCB.o z80free/Z80free_codesCB.c
+
+ Z80free_codesED.o: z80free/Z80free_codesED.c z80free/Z80free.h
+- $(CC) -o Z80free_codesED.o z80free/Z80free_codesED.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesED.o z80free/Z80free_codesED.c
+
+ Z80free_codesDD.o: z80free/Z80free_codesDD.c z80free/Z80free.h
+- $(CC) -o Z80free_codesDD.o z80free/Z80free_codesDD.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesDD.o z80free/Z80free_codesDD.c
+
+ Z80free_codesFD.o: z80free/Z80free_codesFD.c z80free/Z80free.h
+- $(CC) -o Z80free_codesFD.o z80free/Z80free_codesFD.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesFD.o z80free/Z80free_codesFD.c
+
+ Z80free_codesDDCB.o: z80free/Z80free_codesDDCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesDDCB.o z80free/Z80free_codesDDCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesDDCB.o z80free/Z80free_codesDDCB.c
+
+ Z80free_codesFDCB.o: z80free/Z80free_codesFDCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesFDCB.o z80free/Z80free_codesFDCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesFDCB.o z80free/Z80free_codesFDCB.c
+
+ cargador.o: cargador.cpp spk_ay.hh keyboard.hh emulator.hh screen.hh osd.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o cargador.o cargador.cpp
++ $(CXX) -c $(CXXFLAGS) -o cargador.o cargador.cpp
+
+ cmdline.o: cmdline.cpp cmdline.hh
+- $(CPP) $(CPPFLAGS) -o cmdline.o cmdline.cpp
++ $(CXX) -c $(CXXFLAGS) -o cmdline.o cmdline.cpp
+
+ computer.o: computer.cpp z80free/Z80free.h llsound.hh keyboard.hh computer.hh screen.hh signals.hh llscreen.hh tape.hh emulator.hh osd.hh spk_ay.hh microdrive.hh menus.hh
+- $(CPP) $(CPPFLAGS) -o computer.o computer.cpp
++ $(CXX) -c $(CXXFLAGS) -o computer.o computer.cpp
+
+ emulator.o: emulator.cpp spk_ay.hh keyboard.hh llsound.hh cmdline.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh microdrive.hh menus.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o emulator.o emulator.cpp
++ $(CXX) -c $(CXXFLAGS) -o emulator.o emulator.cpp
+
+ keyboard.o: keyboard.cpp menus.hh llscreen.hh llsound.hh computer.hh screen.hh signals.hh z80free/Z80free.h tape.hh emulator.hh osd.hh keyboard.hh
+- $(CPP) $(CPPFLAGS) -o keyboard.o keyboard.cpp
++ $(CXX) -c $(CXXFLAGS) -o keyboard.o keyboard.cpp
+
+ llscreen.o: llscreen.cpp osd.hh font.h llscreen.hh
+- $(CPP) $(CPPFLAGS) -o llscreen.o llscreen.cpp
++ $(CXX) -c $(CXXFLAGS) -o llscreen.o llscreen.cpp
+
+ llsound.o: llsound.cpp emulator.hh screen.hh osd.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh llsound.hh
+- $(CPP) $(CPPFLAGS) -o llsound.o llsound.cpp
++ $(CXX) -c $(CXXFLAGS) -o llsound.o llsound.cpp
+
+ menus.o: menus.cpp spk_ay.hh microdrive.hh z80free/Z80free.h keyboard.hh llsound.hh llscreen.hh menus.hh tape.hh signals.hh emulator.hh screen.hh osd.hh computer.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o menus.o menus.cpp
++ $(CXX) -c $(CXXFLAGS) -o menus.o menus.cpp
+
+ microdrive.o: microdrive.cpp osd.hh emulator.hh screen.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh microdrive.hh
+- $(CPP) $(CPPFLAGS) -o microdrive.o microdrive.cpp
++ $(CXX) -c $(CXXFLAGS) -o microdrive.o microdrive.cpp
+
+ osd.o: osd.cpp osd.hh
+- $(CPP) $(CPPFLAGS) -o osd.o osd.cpp
++ $(CXX) -c $(CXXFLAGS) -o osd.o osd.cpp
+
+ screen.o: screen.cpp keyboard.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh
+- $(CPP) $(CPPFLAGS) -o screen.o screen.cpp
++ $(CXX) -c $(CXXFLAGS) -o screen.o screen.cpp
+
+ signals.o: signals.cpp signals.hh
+- $(CPP) $(CPPFLAGS) -o signals.o signals.cpp
++ $(CXX) -c $(CXXFLAGS) -o signals.o signals.cpp
+
+ spk_ay.o: spk_ay.cpp spk_ay.hh llsound.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh
+- $(CPP) $(CPPFLAGS) -o spk_ay.o spk_ay.cpp
++ $(CXX) -c $(CXXFLAGS) -o spk_ay.o spk_ay.cpp
+
+ tape.o: tape.cpp z80free/Z80free.h tape.hh signals.hh emulator.hh screen.hh osd.hh computer.hh llscreen.hh
+- $(CPP) $(CPPFLAGS) -o tape.o tape.cpp
++ $(CXX) -c $(CXXFLAGS) -o tape.o tape.cpp
+
+diff -ru fbzx-3.0.0.orig/src/menus.cpp fbzx-3.0.0/src/menus.cpp
+--- fbzx-3.0.0.orig/src/menus.cpp 2015-04-01 17:22:47.000000000 -0400
++++ fbzx-3.0.0/src/menus.cpp 2016-04-01 13:15:33.213974823 -0400
+@@ -1691,7 +1691,7 @@
+
+ void keyboard_menu() {
+
+- llscreen->paint_picture("fbzx/keymap.bmp");
++ llscreen->paint_picture("keymap.bmp");
+ print_copy();
+ wait_key();
+ llscreen->clear_screen();
diff --git a/games-emulation/fbzx/metadata.xml b/games-emulation/fbzx/metadata.xml
new file mode 100644
index 000000000000..375b39e89bcb
--- /dev/null
+++ b/games-emulation/fbzx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+ FBZX is a Sinclair Spectrum emulator, designed to work at full screen
+ using the FrameBuffer.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rastersoft/fbzx</remote-id>
+ </upstream>
+</pkgmetadata>