diffstat for irsim-9.7.104 irsim-9.7.104

 changelog                                                               |   11 
 patches/0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch |  173 ++++++++++
 patches/series                                                          |    1 
 rules                                                                   |    3 
 4 files changed, 186 insertions(+), 2 deletions(-)

diff -Nru irsim-9.7.104/debian/changelog irsim-9.7.104/debian/changelog
--- irsim-9.7.104/debian/changelog	2024-11-19 23:03:02.000000000 +0200
+++ irsim-9.7.104/debian/changelog	2025-10-03 18:11:52.000000000 +0300
@@ -1,3 +1,14 @@
+irsim (9.7.104-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Build with -std=gnu17 to workaround FTBFS with GCC 15.
+    (Closes: #1096862)
+  * Backport the upstream fix instead of ignoring compile errors
+    for missing function declarations.
+  * Stop adding -Wl,--as-needed, it's now the default.
+
+ -- Adrian Bunk <bunk@debian.org>  Fri, 03 Oct 2025 18:11:52 +0300
+
 irsim (9.7.104-1.1) unstable; urgency=medium
 
   * Non-maintainer upload
diff -Nru irsim-9.7.104/debian/patches/0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch irsim-9.7.104/debian/patches/0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch
--- irsim-9.7.104/debian/patches/0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch	1970-01-01 02:00:00.000000000 +0200
+++ irsim-9.7.104/debian/patches/0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch	2025-10-03 18:08:48.000000000 +0300
@@ -0,0 +1,173 @@
+From 0bbf2d46c75e2df1cfca9ee4e391ca4e60d8015b Mon Sep 17 00:00:00 2001
+From: "R. Timothy Edwards" <tim@opencircuitdesign.com>
+Date: Mon, 17 Mar 2025 12:49:11 -0400
+Subject: Corrected a number of issues arising from a stricter gcc compiler 
+ setting, mainly missing standard headers and missing function prototype
+ declarations.
+
+---
+ analyzer/base.c     | 2 ++
+ analyzer/defaults.c | 1 +
+ analyzer/graphics.c | 2 +-
+ base/eval.c         | 1 +
+ base/network.c      | 1 +
+ base/rsim.c         | 2 ++
+ base/sched.c        | 2 ++
+ base/sim.c          | 2 ++
+ tcltk/tclirsim.c    | 2 ++
+ usersubckt/subckt.c | 4 +++-
+ 10 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/analyzer/base.c b/analyzer/base.c
+index 0be10e5..aa1b696 100644
+--- a/analyzer/base.c
++++ b/analyzer/base.c
+@@ -12,6 +12,8 @@
+  *     *********************************************************************
+  */
+ 
++#include <ctype.h>
++
+ #include "ana.h"
+ #include "ana_glob.h"
+ #include "graphics.h"
+diff --git a/analyzer/defaults.c b/analyzer/defaults.c
+index 89e51dc..4ede287 100644
+--- a/analyzer/defaults.c
++++ b/analyzer/defaults.c
+@@ -89,6 +89,7 @@ public int IsDefault( key, val )
+ 
+ 
+ public char *ProgDefault( key )
++  int	key;
+   {
+     return( assoc[ key ].defl );
+   }
+diff --git a/analyzer/graphics.c b/analyzer/graphics.c
+index 3cad1b1..16f2727 100644
+--- a/analyzer/graphics.c
++++ b/analyzer/graphics.c
+@@ -225,7 +225,7 @@ private void InitBitmaps()
+ private Cursor MakeCursor( fg, bg, curs, mask, w, h, x, y )
+   XColor  *fg, *bg;
+   char    *curs, *mask;
+-  int     w, h;
++  int     w, h, x, y;
+   {
+     Pixmap  pcurs, pmask;
+     Cursor  cu;
+diff --git a/base/eval.c b/base/eval.c
+index 90ee1ca..9988af1 100644
+--- a/base/eval.c
++++ b/base/eval.c
+@@ -13,6 +13,7 @@
+  */
+ 
+ #include <stdio.h>
++#include <stdlib.h>
+ 
+ #ifdef TCL_IRSIM
+ #include <tk.h>
+diff --git a/base/network.c b/base/network.c
+index 6a8ddfa..f806aab 100644
+--- a/base/network.c
++++ b/base/network.c
+@@ -14,6 +14,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ 
+ #include "defs.h"
+ #include "net.h"
+diff --git a/base/rsim.c b/base/rsim.c
+index 29ed994..fb7a5b0 100644
+--- a/base/rsim.c
++++ b/base/rsim.c
+@@ -3395,6 +3395,8 @@ private int doprintAlias()
+ {
+     char *aliasroot = NULL;
+ 
++    void alias();	/* Forward declaration */
++
+     if (targc >= 3) {
+        alias(targc, targv);
+     }
+diff --git a/base/sched.c b/base/sched.c
+index 5b65b4f..5c3cdfa 100644
+--- a/base/sched.c
++++ b/base/sched.c
+@@ -238,6 +238,7 @@ public void free_event( event )
+  */
+ public void enqueue_event( n, newvalue, delta, rtime )
+   register nptr  n;
++  int		newvalue;
+   long           delta, rtime;
+   {
+     register evptr  marker, new;
+@@ -311,6 +312,7 @@ public void enqueue_event( n, newvalue, delta, rtime )
+ /* same as enqueue_event, but assumes 0 delay and rise/fall time */
+ public void enqueue_input( n, newvalue )
+   register nptr  n;
++  int		newvalue;
+   {
+     register evptr  marker, new;
+     register Ulong  etime;
+diff --git a/base/sim.c b/base/sim.c
+index 09d9135..1934e28 100644
+--- a/base/sim.c
++++ b/base/sim.c
+@@ -27,6 +27,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
++#include <math.h>
+ 
+ #include "defs.h"
+ #include "net.h"
+@@ -99,6 +100,7 @@ private void PrArgs( argc, argv )
+ 
+ 
+ private void CheckErrs( n )
++  int n;
+   {
+     nerrs += n;
+     if( nerrs > MAX_ERRS )
+diff --git a/tcltk/tclirsim.c b/tcltk/tclirsim.c
+index 5e5db90..d9bd8f4 100644
+--- a/tcltk/tclirsim.c
++++ b/tcltk/tclirsim.c
+@@ -207,6 +207,8 @@ void vlprintf(FILE *f, const char *fmt, va_list args_in)
+     int i, nchars, result, escapes = 0;
+     Tcl_Interp *printinterp = (UseTkConsole) ? consoleinterp : irsiminterp;
+ 
++    void logprint();	/* Forward declaration */
++
+     strcpy (outstr + 19, (f == stderr) ? "err \"" : "out \"");
+     outptr = outstr;
+ 
+diff --git a/usersubckt/subckt.c b/usersubckt/subckt.c
+index 5e4027b..409d2fc 100644
+--- a/usersubckt/subckt.c
++++ b/usersubckt/subckt.c
+@@ -1,6 +1,8 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include <string.h>
++#include <ctype.h>
+ 
+ #ifdef TCL_IRSIM
+ #include <tk.h>
+@@ -41,7 +43,7 @@ extern Tcl_Interp *irsiminterp;
+ /* Tcl procedure characters representing states	*/
+ /*----------------------------------------------*/
+ 
+-static pot2ch[] = {'0', 'x', 'z', '1'};
++static char pot2ch[] = {'0', 'x', 'z', '1'};
+ 
+ /*------------------------------*/
+ /* Method 1:			*/
+-- 
+2.30.2
+
diff -Nru irsim-9.7.104/debian/patches/series irsim-9.7.104/debian/patches/series
--- irsim-9.7.104/debian/patches/series	2024-11-19 23:03:02.000000000 +0200
+++ irsim-9.7.104/debian/patches/series	2025-10-03 18:11:51.000000000 +0300
@@ -5,3 +5,4 @@
 05-reproducible-build.patch
 0006-Fix-spelling-errors.patch
 0007-Fix-cross-build.patch
+0001-Corrected-a-number-of-issues-arising-from-a-stricter.patch
diff -Nru irsim-9.7.104/debian/rules irsim-9.7.104/debian/rules
--- irsim-9.7.104/debian/rules	2024-11-19 23:03:02.000000000 +0200
+++ irsim-9.7.104/debian/rules	2025-10-03 18:11:52.000000000 +0300
@@ -3,8 +3,7 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
-export DEB_CFLAGS_MAINT_APPEND = -Wno-error=implicit-int -Wno-error=format -Wno-error=declaration-missing-parameter-type -Wno-error=implicit-function-declaration
+export DEB_CFLAGS_MAINT_APPEND = -std=gnu17
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 %:
