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