app-emulation/x48ng: new package, add 0_pre20240812

ROMs are removed from the tarball in the upstream

Signed-off-by: Istvan Szenasi <szeist@pm.me>
This commit is contained in:
Istvan Szenasi
2024-08-12 22:19:32 +02:00
parent 18d68ea8ac
commit 02935dc58e
6 changed files with 138 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST x48ng-0_pre20240812.tar.gz 189817 BLAKE2B e3a69a4cacbaf78254391023f3b5ace6d090ac5ea9b68560dfc3d164c85f27ac9f75308a3ff3b6eec8ae16af70ce9d6dc81d2eeb1d0bd1b31ea3ba5d0af4c859 SHA512 f6a2f77b208d125692e9bb40229b5fea81dbea7d27bc65e24f7082e4278af0d21ab69adea40bbd44081eca40d522facbc31c16b956a6c9b3a815d2d2ac2742cd

View File

@@ -0,0 +1,16 @@
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=$(VERS
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)
lines 1-15/15 (END)

View File

@@ -0,0 +1,12 @@
Don't zip man pages
--- a/Makefile
+++ b/Makefile
@@ -181,7 +181,6 @@ install: all 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)

View File

@@ -0,0 +1,19 @@
Replace the PREFIX placeholder to the /usr dir instead of the image dir
--- a/Makefile
+++ b/Makefile
@@ -176,7 +176,7 @@ install: all 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
@@ -188,4 +188,4 @@ install: all 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

View 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>

View File

@@ -0,0 +1,63 @@
# 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="249d50c44c7b5344841abbfcc6d16409546e514a"
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}-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 ~/.config/x48ng/. It sets up a HP 48GX with a 128KB card in port 1 and a 4MB card in port 2"
}