mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-19 07:49:00 -04:00
app-emulation/x48ng: new package, HP48 emulator
Signed-off-by: Istvan Szenasi <szeist@pm.me>
This commit is contained in:
parent
81b6f5cdfd
commit
ffc7513c2b
1
app-emulation/x48ng/Manifest
Normal file
1
app-emulation/x48ng/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST x48ng-0_pre20240613.tar.gz 2636798 BLAKE2B f80ef1a89fbf6dcf157ec56f4be521fcb99655996bfc3b0b34de6885c82d47a037a8bbccce4992e8f5f5091b02561946428affc5856537be3f40483d9b73f909 SHA512 52cae6be049a0bb59ab5cf744cecdda9659c9ccb04ecf65a403a3a045bbafe95589d9dc75290849f1b8198032d8f4d7976275a3fcd9d99cd9c2766952eda7526
|
13
app-emulation/x48ng/files/x48ng-0_pre20240613-cflags.patch
Normal file
13
app-emulation/x48ng/files/x48ng-0_pre20240613-cflags.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Keep original CFLAGS
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -31,7 +31,7 @@ WITH_SDL ?= yes
|
||||
|
||||
OPTIM ?= 2
|
||||
|
||||
-CFLAGS = -std=c11 -g -O$(OPTIM) -I./src/ -D_GNU_SOURCE=1 -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) -DPATCHLEVEL=$(PATCHLEVEL)
|
||||
+CFLAGS += -std=c11 -g -O$(OPTIM) -I./src/ -D_GNU_SOURCE=1 -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) -DPATCHLEVEL=$(PATCHLEVEL)
|
||||
LIBS = -lm
|
||||
|
||||
### lua
|
15
app-emulation/x48ng/files/x48ng-0_pre20240613-luajit.patch
Normal file
15
app-emulation/x48ng/files/x48ng-0_pre20240613-luajit.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Use luajit to avoid lua version specific pkg-config
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -35,8 +35,8 @@ CFLAGS = -std=c11 -g -O$(OPTIM) -I./src/ -D_GNU_SOURCE=1 -DVERSION_MAJOR=$(VERSI
|
||||
LIBS = -lm
|
||||
|
||||
### lua
|
||||
-CFLAGS += $(shell pkg-config --cflags lua)
|
||||
-LIBS += $(shell pkg-config --libs lua)
|
||||
+CFLAGS += $(shell pkg-config --cflags luajit)
|
||||
+LIBS += $(shell pkg-config --libs luajit)
|
||||
|
||||
### debugger
|
||||
CFLAGS += $(shell pkg-config --cflags readline)
|
12
app-emulation/x48ng/files/x48ng-0_pre20240613-manpages.patch
Normal file
12
app-emulation/x48ng/files/x48ng-0_pre20240613-manpages.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Don't zip man pages
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -180,7 +180,6 @@ install: all get-roms dist/config.lua
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(MANDIR)/man1
|
||||
sed "s|@VERSION@|$(VERSION_MAJOR).$(VERSION_MINOR).$(PATCHLEVEL)|g" dist/x48ng.man.1 > $(DESTDIR)$(MANDIR)/man1/x48ng.1
|
||||
- gzip -9 $(DESTDIR)$(MANDIR)/man1/x48ng.1
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(DOCDIR)
|
||||
cp -R AUTHORS LICENSE README* doc* romdump/ $(DESTDIR)$(DOCDIR)
|
@ -0,0 +1,19 @@
|
||||
Replace the PREFIX placeholder to the /usr dir instead of the image dir
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -175,7 +175,7 @@ install: all get-roms dist/config.lua
|
||||
install -c -m 755 dist/checkrom $(DESTDIR)$(PREFIX)/share/x48ng/checkrom
|
||||
install -c -m 644 dist/hplogo.png $(DESTDIR)$(PREFIX)/share/x48ng/hplogo.png
|
||||
cp -R dist/ROMs/ $(DESTDIR)$(PREFIX)/share/x48ng/
|
||||
- sed "s|@PREFIX@|$(PREFIX)|g" dist/setup-x48ng-home.sh > $(DESTDIR)$(PREFIX)/share/x48ng/setup-x48ng-home.sh
|
||||
+ sed "s|@PREFIX@|/usr|g" dist/setup-x48ng-home.sh > $(DESTDIR)$(PREFIX)/share/x48ng/setup-x48ng-home.sh
|
||||
chmod 755 $(DESTDIR)$(PREFIX)/share/x48ng/setup-x48ng-home.sh
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(MANDIR)/man1
|
||||
@@ -187,4 +187,4 @@ install: all get-roms dist/config.lua
|
||||
install -c -m 644 dist/config.lua $(DESTDIR)$(DOCDIR)/config.lua
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(PREFIX)/share/applications
|
||||
- sed "s|@PREFIX@|$(PREFIX)|g" dist/x48ng.desktop > $(DESTDIR)$(PREFIX)/share/applications/x48ng.desktop
|
||||
+ sed "s|@PREFIX@|/usr|g" dist/x48ng.desktop > $(DESTDIR)$(PREFIX)/share/applications/x48ng.desktop
|
27
app-emulation/x48ng/metadata.xml
Normal file
27
app-emulation/x48ng/metadata.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>szeist@pm.me</email>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
This emulator is capable of providing a faithful replication of the
|
||||
HP48. In order to do so, it requires a copy of the ROM software
|
||||
from YOUR calculator. In order to avoid breaking copyright laws,
|
||||
and upsetting HP, you MUST BE THE PROUD OWNER OF AN HP48 before
|
||||
running this program. Of course you can run this program without a
|
||||
copy of the ROM software in order to write trivial machine code
|
||||
programs but you will not be able to access any of the calculator
|
||||
functionality.
|
||||
|
||||
Instructions on how to download a copy of the ROM are provided
|
||||
later in this document.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="X">X11 frontend</flag>
|
||||
<flag name="sdl">SDL fronted</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">gwenhael-le-moine/x48ng</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
64
app-emulation/x48ng/x48ng-0_pre20240613.ebuild
Normal file
64
app-emulation/x48ng/x48ng-0_pre20240613.ebuild
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="HP48 emulator"
|
||||
|
||||
HOMEPAGE="https://github.com/gwenhael-le-moine/x48ng"
|
||||
|
||||
GIT_COMMIT="c72a393498887f8628006d8a64fad31d23abd0d5"
|
||||
SRC_URI="https://github.com/gwenhael-le-moine/x48ng/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${GIT_COMMIT}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="X sdl"
|
||||
|
||||
RDEPEND="sys-libs/ncurses
|
||||
dev-lang/luajit
|
||||
sys-libs/readline
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
)
|
||||
sdl? (
|
||||
=media-libs/libsdl-1.2*
|
||||
media-libs/sdl-gfx
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/x48ng-${PVR}-cflags.patch"
|
||||
"${FILESDIR}/x48ng-${PVR}-luajit.patch"
|
||||
"${FILESDIR}/x48ng-${PVR}-setupscript.patch"
|
||||
"${FILESDIR}/x48ng-${PVR}-manpages.patch"
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
local conf
|
||||
|
||||
if use X; then
|
||||
conf+=" WITH_X11=yes"
|
||||
else
|
||||
conf+=" WITH_X11=no"
|
||||
fi
|
||||
|
||||
if use sdl; then
|
||||
conf+=" WITH_SDL=yes"
|
||||
else
|
||||
conf+=" WITH_SDL=no"
|
||||
fi
|
||||
|
||||
emake ${conf}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install PREFIX="${D}/usr" MANDIR="${D}/usr/share/man" DOCDIR="${D}/usr/share/doc/${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Run /usr/share/x48ng/setup-x48ng-home.sh to setup your ~/.x48ng/. It sets up a HP 48GX with a 128KB card in port 1 and a 4MB card in port 2"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user