dev86: 1.0.1-unstable-2025-02-12 -> 1.0.1-unstable-2026-05-15

Git log: https://codeberg.org/jbruchon/dev86/commits/branch/master

The patch originally introduced in
https://github.com/NixOS/nixpkgs/commit/036187d0a49977c6fb6177b9af579980a994a675
for C23 compatibility as well as several other fixes from the Debian
package have been merged, so we update to grab those fixes.
This commit is contained in:
whispers
2026-05-29 11:34:25 -04:00
parent d544d3b80a
commit 679238e99b
2 changed files with 3 additions and 254 deletions
+3 -9
View File
@@ -6,21 +6,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dev86";
version = "1.0.1-unstable-2025-02-12";
version = "1.0.1-unstable-2026-05-15";
src = fetchFromCodeberg {
owner = "jbruchon";
repo = "dev86";
rev = "0332db1ceb238fa7f98603cdf4223a1d839d4b31";
hash = "sha256-f6C7ykOmOHwxeMsF1Wm81FBBJNwTP0cF4+mFMzsc208=";
rev = "8cf785fc11516b31404ea6593d9fc5a411f59dad";
hash = "sha256-nY5awJzEO+xbJRAbeRJgKjJf30SNz2Bg346KMNDtmls=";
};
patches = [
# Fix for GCC 15/C23 by de-K&R-ing function definitions and adding
# missing parameters to function declarations where necessary.
./unproto-c23-compatibility.patch
];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = {
@@ -1,245 +0,0 @@
diff --git a/unproto/error.c b/unproto/error.c
index 667d978cbb..2fbccacb4d 100644
--- a/unproto/error.c
+++ b/unproto/error.c
@@ -53,7 +53,7 @@
#include <stdio.h>
-extern void exit();
+extern void exit(int status);
/* Application-specific stuff */
diff --git a/unproto/error.h b/unproto/error.h
index dfb27e9067..cb52ae646b 100644
--- a/unproto/error.h
+++ b/unproto/error.h
@@ -1,6 +1,6 @@
/* @(#) error.h 1.2 92/01/15 21:53:14 */
extern int errcount; /* error counter */
-extern void error(); /* default context */
-extern void error_where(); /* user-specified context */
-extern void fatal(); /* fatal error */
+extern void error(char *text); /* default context */
+extern void error_where(char *path, int line, char *text); /* user-specified context */
+extern void fatal(char *text); /* fatal error */
diff --git a/unproto/strsave.c b/unproto/strsave.c
index 2ee00b4172..faa4e18686 100644
--- a/unproto/strsave.c
+++ b/unproto/strsave.c
@@ -28,7 +28,7 @@
#include <string.h>
extern int hash(register char *s, unsigned size);
-extern char *malloc();
+extern char *malloc(long size);
/* Application-specific stuff */
diff --git a/unproto/symbol.c b/unproto/symbol.c
index 67a4bf0bc6..a4beab5e92 100644
--- a/unproto/symbol.c
+++ b/unproto/symbol.c
@@ -45,7 +45,7 @@
#include <string.h>
extern int hash(register char *s, unsigned size);
-extern char *malloc();
+extern char *malloc(long size);
/* Application-specific stuff */
diff --git a/unproto/symbol.h b/unproto/symbol.h
index 0711c1f4dc..0e2b1d88f8 100644
--- a/unproto/symbol.h
+++ b/unproto/symbol.h
@@ -6,6 +6,6 @@
struct symbol *next;
};
-extern void sym_enter(); /* add symbol to table */
-extern struct symbol *sym_find(); /* locate symbol */
+extern void sym_enter(char *name, int type); /* add symbol to table */
+extern struct symbol *sym_find(register char *name); /* locate symbol */
extern void sym_init(); /* prime the table */
diff --git a/unproto/tok_class.c b/unproto/tok_class.c
index 04207a07f3..9af67188ca 100644
--- a/unproto/tok_class.c
+++ b/unproto/tok_class.c
@@ -51,8 +51,8 @@
#include <stdio.h>
#include <string.h>
-extern long time();
-extern char* ctime();
+extern long time(long *tloc);
+extern char* ctime(long *clock);
/* Application-specific stuff */
@@ -61,13 +61,13 @@
#include "token.h"
#include "symbol.h"
-static struct token *tok_list();
-static void tok_list_struct();
-static void tok_list_append();
-static void tok_strcat();
-static void tok_time();
-static void tok_date();
-static void tok_space_append();
+static struct token *tok_list(struct token *t);
+static void tok_list_struct(register struct token *list, register struct token *t);
+static void tok_list_append(struct token *h, struct token *t);
+static void tok_strcat(register struct token *t1);
+static void tok_time(struct token *t);
+static void tok_date(struct token *t);
+static void tok_space_append(register struct token *list, register struct token *t);
#if defined(MAP_VOID_STAR) || defined(MAP_VOID)
static void tok_void(); /* rewrite void keyword */
diff --git a/unproto/tok_io.c b/unproto/tok_io.c
index 288950b3ac..773ca5bf4d 100644
--- a/unproto/tok_io.c
+++ b/unproto/tok_io.c
@@ -89,7 +89,7 @@
#include "vstring.h"
#include "error.h"
-extern char *strsave(); /* XXX need include file */
+extern char *strsave(register char *str); /* XXX need include file */
/* Stuff to keep track of original source file name and position */
@@ -104,12 +104,12 @@
/* Forward declarations */
-static int read_quoted();
-static void read_comment();
+static int read_quoted(register struct vstring *vs, int ch);
+static void read_comment(register struct vstring *vs);
static int backslash_newline();
-static char *read_hex();
-static char *read_octal();
-static void fix_line_control();
+static char *read_hex(struct vstring *vs, register char *cp);
+static char *read_octal(register struct vstring *vs, register char *cp, register int c);
+static void fix_line_control(register char *path, register int line);
/*
* Character input with one level of pushback. The INPUT() macro recursively
diff --git a/unproto/tok_pool.c b/unproto/tok_pool.c
index e2ed107ce7..bbe3d184c5 100644
--- a/unproto/tok_pool.c
+++ b/unproto/tok_pool.c
@@ -37,7 +37,7 @@
/* C library */
-extern char *malloc();
+extern char *malloc(long size);
/* Application-specific stuff */
diff --git a/unproto/token.h b/unproto/token.h
index bb2f50a106..e3752a0eb3 100644
--- a/unproto/token.h
+++ b/unproto/token.h
@@ -27,11 +27,11 @@
/* Input/output functions and macros */
extern struct token *tok_get(); /* read next single token */
-extern void tok_show(); /* display (composite) token */
+extern void tok_show(register struct token *t); /* display (composite) token */
extern struct token *tok_class(); /* classify tokens */
-extern void tok_unget(); /* stuff token back into input */
+extern void tok_unget(register struct token *t); /* stuff token back into input */
extern void put_nl(); /* print newline character */
-extern void tok_show_ch(); /* emit single-character token */
+extern void tok_show_ch(register struct token *t); /* emit single-character token */
#define tok_flush(t) (tok_show(t), tok_free(t))
@@ -46,7 +46,7 @@
/* Memory management */
struct token *tok_alloc(); /* allocate token storage */
-extern void tok_free(); /* re-cycle storage */
+extern void tok_free(register struct token *t); /* re-cycle storage */
/* Context */
diff --git a/unproto/unproto.c b/unproto/unproto.c
index 18fc2aaecf..802b91dd3e 100644
--- a/unproto/unproto.c
+++ b/unproto/unproto.c
@@ -140,7 +140,7 @@
#include <errno.h>
#include <string.h>
-extern void exit();
+extern void exit(int status);
extern int optind;
extern char *optarg;
extern int getopt();
@@ -159,16 +159,16 @@
/* Forward declarations. */
-static struct token *dcl_flush();
-static void block_flush();
+static struct token *dcl_flush(register struct token *t);
+static void block_flush(register struct token *t);
static void block_dcls();
-static struct token *show_func_ptr_type();
-static struct token *show_struct_type();
-static void show_arg_name();
-static void show_type();
-static void pair_flush();
-static void check_cast();
-static void show_empty_list();
+static struct token *show_func_ptr_type(struct token *t1, struct token *t2);
+static struct token *show_struct_type(register struct token *p);
+static void show_arg_name(register struct token *s);
+static void show_type(register struct token *s);
+static void pair_flush(register struct token *t, register int start, register int stop);
+static void check_cast(struct token *t);
+static void show_empty_list(register struct token *t);
#define check_cast_flush(t) (check_cast(t), tok_free(t))
diff --git a/unproto/vstring.c b/unproto/vstring.c
index 220bd530fe..ef9bcffa3c 100644
--- a/unproto/vstring.c
+++ b/unproto/vstring.c
@@ -67,8 +67,8 @@
/* C library */
-extern char *malloc();
-extern char *realloc();
+extern char *malloc(long size);
+extern char *realloc(char *p, long size);
/* Application-specific stuff */
diff --git a/unproto/vstring.h b/unproto/vstring.h
index c2e1f88a77..16a17aa815 100644
--- a/unproto/vstring.h
+++ b/unproto/vstring.h
@@ -5,9 +5,9 @@
char *last; /* last position */
};
-extern struct vstring *vs_alloc(); /* initial allocation */
-extern char *vs_realloc(); /* string extension */
-extern char *vs_strcpy(); /* copy string */
+extern struct vstring *vs_alloc(int len); /* initial allocation */
+extern char *vs_realloc(register struct vstring *vp, char *cp); /* string extension */
+extern char *vs_strcpy(register struct vstring *vp, register char *dst, register char *src); /* copy string */
/* macro to add one character to auto-resized string */