pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/emulators
Module Name: pkgsrc
Committed By: nia
Date: Fri Feb 13 15:09:13 UTC 2026
Modified Files:
pkgsrc/emulators: Makefile
Added Files:
pkgsrc/emulators/elkulator: DESCR Makefile PLIST distinfo
pkgsrc/emulators/elkulator/files: elkulator.desktop elkulator.sh.in
pkgsrc/emulators/elkulator/patches: patch-src_config.c
patch-src_debugger.c patch-src_fdi2raw.c
patch-src_linux-keydefine.c patch-src_main.c patch-src_palfilt.c
patch-src_uef.c
Log Message:
elkulator: Initial import.
Elkulator is a freeware Acorn Electron emulator.
This package has been verified to build on SunOS, FreeBSD, NetBSD,
and Linux.
To generate a diff of this commit:
cvs rdiff -u -r1.377 -r1.378 pkgsrc/emulators/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/elkulator/DESCR \
pkgsrc/emulators/elkulator/Makefile pkgsrc/emulators/elkulator/PLIST \
pkgsrc/emulators/elkulator/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/elkulator/files/elkulator.desktop \
pkgsrc/emulators/elkulator/files/elkulator.sh.in
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/elkulator/patches/patch-src_config.c \
pkgsrc/emulators/elkulator/patches/patch-src_debugger.c \
pkgsrc/emulators/elkulator/patches/patch-src_fdi2raw.c \
pkgsrc/emulators/elkulator/patches/patch-src_linux-keydefine.c \
pkgsrc/emulators/elkulator/patches/patch-src_main.c \
pkgsrc/emulators/elkulator/patches/patch-src_palfilt.c \
pkgsrc/emulators/elkulator/patches/patch-src_uef.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/emulators/Makefile
diff -u pkgsrc/emulators/Makefile:1.377 pkgsrc/emulators/Makefile:1.378
--- pkgsrc/emulators/Makefile:1.377 Sun Dec 21 10:01:55 2025
+++ pkgsrc/emulators/Makefile Fri Feb 13 15:09:13 2026
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.377 2025/12/21 10:01:55 nia Exp $
+# $NetBSD: Makefile,v 1.378 2026/02/13 15:09:13 nia Exp $
#
COMMENT= Emulators for other machines and systems
@@ -58,6 +58,7 @@ SUBDIR+= duckstation-qt
SUBDIR+= dynagen
SUBDIR+= dynamips
SUBDIR+= e-uae
+SUBDIR+= elkulator
SUBDIR+= emulationstation
SUBDIR+= fbneo
SUBDIR+= fceu
Added files:
Index: pkgsrc/emulators/elkulator/DESCR
diff -u /dev/null pkgsrc/emulators/elkulator/DESCR:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/DESCR Fri Feb 13 15:09:13 2026
@@ -0,0 +1,3 @@
+Freeware Acorn Electron emulator.
+
+Press F11 to bring up the menu.
Index: pkgsrc/emulators/elkulator/Makefile
diff -u /dev/null pkgsrc/emulators/elkulator/Makefile:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/Makefile Fri Feb 13 15:09:13 2026
@@ -0,0 +1,62 @@
+# $NetBSD: Makefile,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+DISTNAME= ElkulatorV1.0Linux
+PKGNAME= elkulator-1.0
+CATEGORIES= emulators
+MASTER_SITES= https://www.elkulator.acornelectron.co.uk/
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.elkulator.acornelectron.co.uk/
+COMMENT= Freeware Acorn Electron emulator
+LICENSE= gnu-gpl-v3
+
+WRKSRC= ${WRKDIR}
+
+USE_TOOLS+= autoconf automake autoreconf
+USE_TOOLS+= pax
+
+TOOL_DEPENDS+= dos2unix-[0-9]*:../../converters/dos2unix
+
+GNU_CONFIGURE= yes
+
+CONFIGURE_ARGS+= --disable-allegrotest
+
+LIBS+= -lm # fmodf, sin...
+
+INSTALLATION_DIRS+= bin
+INSTALLATION_DIRS+= libexec
+INSTALLATION_DIRS+= share/applications
+INSTALLATION_DIRS+= share/examples/${PKGBASE}
+INSTALLATION_DIRS+= share/pixmaps
+INSTALLATION_DIRS+= share/${PKGBASE}/roms
+
+pre-patch:
+ find ${WRKSRC} -name "*.c" -type f | xargs dos2unix
+ find ${WRKSRC} -name "*.h" -type f | xargs dos2unix
+
+pre-configure:
+ cd ${WRKSRC} && autoreconf -fi
+ ${SED} -e 's,@PREFIX@,${PREFIX},g' \
+ < ${FILESDIR}/elkulator.sh.in > \
+ ${WRKDIR}/elkulator.sh
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/${PKGBASE} \
+ ${DESTDIR}${PREFIX}/libexec/
+ ${INSTALL_SCRIPT} ${WRKSRC}/${PKGBASE}.sh \
+ ${DESTDIR}${PREFIX}/bin/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/elk.cfg \
+ ${DESTDIR}${PREFIX}/share/examples/${PKGBASE}/
+ ${INSTALL_DATA} ${WRKSRC}/icon/${PKGBASE}.png \
+ ${DESTDIR}${PREFIX}/share/pixmaps/
+ ${INSTALL_DATA} ${FILESDIR}/${PKGBASE}.desktop \
+ ${DESTDIR}${PREFIX}/share/applications/
+ cd ${WRKSRC}/roms && ${PAX} -rw -pp . \
+ ${DESTDIR}${PREFIX}/share/elkulator/roms
+
+.include "../../audio/freealut/buildlink3.mk"
+.include "../../audio/openal-soft/buildlink3.mk"
+.include "../../devel/allegro/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/emulators/elkulator/PLIST
diff -u /dev/null pkgsrc/emulators/elkulator/PLIST:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/PLIST Fri Feb 13 15:09:13 2026
@@ -0,0 +1,13 @@
+@comment $NetBSD: PLIST,v 1.1 2026/02/13 15:09:13 nia Exp $
+bin/elkulator
+libexec/elkulator
+share/applications/elkulator.desktop
+share/elkulator/roms/adfs.rom
+share/elkulator/roms/basic.rom
+share/elkulator/roms/dfs.rom
+share/elkulator/roms/os
+share/elkulator/roms/os300.rom
+share/elkulator/roms/plus1.rom
+share/elkulator/roms/sndrom
+share/examples/elkulator/elk.cfg
+share/pixmaps/elkulator.png
Index: pkgsrc/emulators/elkulator/distinfo
diff -u /dev/null pkgsrc/emulators/elkulator/distinfo:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/distinfo Fri Feb 13 15:09:13 2026
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+BLAKE2s (ElkulatorV1.0Linux.tar.gz) = 5229e0535289edf00fdcb11f43e669fa8d0111b318c5edb43288f996f683c58c
+SHA512 (ElkulatorV1.0Linux.tar.gz) = 09caed6fc140fe41b63f673e5d8208f7273eec8ffaab733388b6fcc5dba971b7ca81143087d1e13a1cb5af66e203182aa009d6137292205f09d3aa15ae14b884
+Size (ElkulatorV1.0Linux.tar.gz) = 689325 bytes
+SHA1 (patch-src_config.c) = ab86c22fcb7d36c8c529f86ea18370e5156488dd
+SHA1 (patch-src_debugger.c) = 572e7deb7c02982a22e37cacbed256cde3df84a9
+SHA1 (patch-src_fdi2raw.c) = ad9db03afb553101ab59d8b4ef818381441ce5d7
+SHA1 (patch-src_linux-keydefine.c) = 7a8dc5167faae3add64955dcf299909c458039ad
+SHA1 (patch-src_main.c) = dd6c987069f21e5ad9c8433d44c8b75c6e772608
+SHA1 (patch-src_palfilt.c) = 5a825adad71af9fe58575a96b076772700ec19b2
+SHA1 (patch-src_uef.c) = 0f4c6fa947ddfdde18b23556d03160bada20eaa4
Index: pkgsrc/emulators/elkulator/files/elkulator.desktop
diff -u /dev/null pkgsrc/emulators/elkulator/files/elkulator.desktop:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/files/elkulator.desktop Fri Feb 13 15:09:13 2026
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=Elkulator
+GenericName=Acorn Electron Emulator
+Comment=Acorn Electron emulator
+Icon=elkulator
+Exec=elkulator
+Categories=Game;Emulator;
Index: pkgsrc/emulators/elkulator/files/elkulator.sh.in
diff -u /dev/null pkgsrc/emulators/elkulator/files/elkulator.sh.in:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/files/elkulator.sh.in Fri Feb 13 15:09:13 2026
@@ -0,0 +1,11 @@
+#!/bin/sh
+DIR="${HOME}/.elkulator"
+mkdir -p "${DIR}"
+if ! [ -e "${DIR}/elk.cfg" ]; then
+ cp -p @PREFIX@/share/examples/elkulator/elk.cfg "${DIR}/elk.cfg"
+fi
+if ! [ -e "${DIR}/roms" ]; then
+ mkdir -p "${DIR}/roms"
+ cp -Rp @PREFIX@/share/elkulator/roms/* "${DIR}/roms"
+fi
+exec "@PREFIX@/libexec/elkulator" "$@"
Index: pkgsrc/emulators/elkulator/patches/patch-src_config.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_config.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_config.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_config.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+From f938c5828f88de9bc87601a7108452c763d20887 Mon Sep 17 00:00:00 2001
+From: Richard Cook <rcook%rcook.org@localhost>
+Date: Sun, 31 May 2015 14:37:27 -0700
+Subject: [PATCH] Fix variable signedness
+
+--- src/config.c.orig 2026-02-13 13:47:19.569907832 +0000
++++ src/config.c
+@@ -6,7 +6,7 @@
+ #include "elk.h"
+
+ FILE *cfgfile;
+-uint8_t cfgbuffer[1024];
++char cfgbuffer[1024];
+ int sndex;
+ int sndint;
+ int firstbyte;
+@@ -84,6 +84,11 @@ void loadconfig()
+ char fn[256];
+ sprintf(fn,"%s/elk.cfg",exedir);
+ cfgfile=fopen(fn,"rt");
++ if (!cfgfile)
++ {
++ fprintf(stderr, "elkulator: Config file %s does not exist\n", fn);
++ exit(1);
++ }
+ tapespeed=getintcfg("tapespeed",0);
+ plus1=getintcfg("plus1",0);
+ plus3=getintcfg("plus3",0);
Index: pkgsrc/emulators/elkulator/patches/patch-src_debugger.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_debugger.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_debugger.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,34 @@
+$NetBSD: patch-src_debugger.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+Various fixes from
+https://github.com/dmcoles/elkulator
+
+--- src/debugger.c.orig 2026-02-13 13:35:14.833535357 +0000
++++ src/debugger.c
+@@ -206,7 +206,7 @@ void debugout(char *s)
+
+ void debugout(char *s)
+ {
+- printf(s);
++ printf("%s", s);
+ fflush(stdout);
+ }
+
+@@ -271,7 +271,7 @@ int dopaddr[256]=
+ /*F0*/ BRA, INDY, IND, IMP, ZP, ZPX, ZPX, IMP, IMP, ABSY, IMP, IMP, ABS, ABSX, ABSX, IMP,
+ };
+
+-uint8_t dopnamenmos[256][6]=
++char dopnamenmos[256][6]=
+ {
+ /*00*/ "BRK","ORA","HLT","SLO","NOP","ORA","ASL","SLO","PHP","ORA","ASL","ANC","NOP","ORA","ASL","SLO",
+ /*10*/ "BPL","ORA","HLT","SLO","NOP","ORA","ASL","SLO","CLC","ORA","NOP","SLO","NOP","ORA","ASL","SLO",
+@@ -495,7 +495,7 @@ void dodebugger()
+ c=ReadConsoleA(cinf,ins,255,(LPDWORD)&d,NULL);
+ ins[d]=0;
+ #else
+- d=(int)fgets(ins,255,stdin);
++ fgets(ins, 255, stdin);
+ #endif
+ d=0;
+ while (ins[d]!=32 && ins[d]!=0xA && ins[d]!=0xD && ins[d]!=0) d++;
Index: pkgsrc/emulators/elkulator/patches/patch-src_fdi2raw.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_fdi2raw.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_fdi2raw.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_fdi2raw.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+From f938c5828f88de9bc87601a7108452c763d20887 Mon Sep 17 00:00:00 2001
+From: Richard Cook <rcook%rcook.org@localhost>
+Date: Sun, 31 May 2015 14:37:27 -0700
+Subject: [PATCH] Fix variable signedness
+
+--- src/fdi2raw.c.orig 2026-02-13 13:35:14.835174982 +0000
++++ src/fdi2raw.c
+@@ -1945,7 +1945,7 @@ static int decode_lowlevel_track (FDI *f
+ return 1;
+ }
+
+-static unsigned char fdiid[]={"Formatted Disk Image file"};
++static char fdiid[]={"Formatted Disk Image file"};
+ static int bit_rate_table[16] = { 125,150,250,300,500,1000 };
+
+ void fdi2raw_header_free (FDI *fdi)
Index: pkgsrc/emulators/elkulator/patches/patch-src_linux-keydefine.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_linux-keydefine.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_linux-keydefine.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_linux-keydefine.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+From 5758c64c9c058aa196254eb85d090eef246c551a Mon Sep 17 00:00:00 2001
+From: Richard Cook <rcook%rcook.org@localhost>
+Date: Sat, 30 May 2015 00:19:37 -0700
+Subject: [PATCH] Use format strings with printf-style functions
+
+--- src/linux-keydefine.c.orig 2026-02-13 13:35:14.836793916 +0000
++++ src/linux-keydefine.c
+@@ -77,7 +77,7 @@ int d_getkey(int msg, DIALOG *d, int cd)
+ }
+ }
+
+- textprintf_ex(screen,font,x+8,y+40,makecol(255,255,255),0,s);
++ textprintf_ex(screen, font, x + 8, y + 40, makecol(255, 255, 255), 0, "%s", s);
+
+ textprintf_ex(screen,font,x+8,y+56,makecol(255,255,255),0,"Please press new key...");
+ getnewkey:
Index: pkgsrc/emulators/elkulator/patches/patch-src_main.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_main.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_main.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_main.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+Trick elkulator into not loading files from its executable
+directory.
+
+--- src/main.c.orig 2026-02-13 13:47:19.571347885 +0000
++++ src/main.c
+@@ -66,8 +66,15 @@ void initelk(int argc, char *argv[])
+ {
+ int c;
+ char *p;
++ char *home = getenv("HOME");
+ int tapenext=0,discnext=0;
+- get_executable_name(exedir,511);
++
++ if (home == NULL)
++ {
++ home = "/";
++ }
++ snprintf(exedir, 511, "%s/.elkulator/foobar", home);
++
+ p=get_filename(exedir);
+ p[0]=0;
+ discname[0]=discname2[0]=tapename[0]=0;
Index: pkgsrc/emulators/elkulator/patches/patch-src_palfilt.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_palfilt.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_palfilt.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_palfilt.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+Not sure what their intention was, but fmul doesn't exist...
+
+From cdf4b8d7162edfa195da1b5fc040fdb9f289961c Mon Sep 17 00:00:00 2001
+From: Richard Cook <rcook%rcook.org@localhost>
+Date: Sun, 31 May 2015 14:50:01 -0700
+Subject: [PATCH] Fix upper bound of coefficient arrays
+
+--- src/palfilt.c.orig 2026-02-13 13:35:14.838506802 +0000
++++ src/palfilt.c
+@@ -3,8 +3,12 @@
+ #include <allegro.h>
+ #include "elk.h"
+
+-fixed ACoef[2],ACoef2[2];
+-fixed BCoef[2],BCoef2[2];
++#ifndef fmul
++#define fmul(x,y) (x*y)
++#endif
++
++fixed ACoef[2],ACoef2[3];
++fixed BCoef[2],BCoef2[3];
+
+ void initcoef()
+ {
Index: pkgsrc/emulators/elkulator/patches/patch-src_uef.c
diff -u /dev/null pkgsrc/emulators/elkulator/patches/patch-src_uef.c:1.1
--- /dev/null Fri Feb 13 15:09:13 2026
+++ pkgsrc/emulators/elkulator/patches/patch-src_uef.c Fri Feb 13 15:09:13 2026
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_uef.c,v 1.1 2026/02/13 15:09:13 nia Exp $
+
+gzFile is already a pointer.
+
+--- src/uef.c.orig 2026-02-13 13:26:21.688298594 +0000
++++ src/uef.c
+@@ -12,7 +12,7 @@ int reallyfasttapebreak;
+
+ int tapelcount,tapellatch,pps;
+ int intone=0;
+-gzFile *uef;
++gzFile uef;
+ int cswena;
+
+ int inchunk=0,chunkid=0,chunklen=0;
+@@ -256,6 +256,6 @@ void closeuef()
+ if (uef)
+ {
+ gzclose(uef);
+- uef=(gzFile *)NULL;
++ uef=NULL;
+ }
+ }
Home |
Main Index |
Thread Index |
Old Index