Dear maintainer,

I've uploaded an NMU for galculator (versioned as 2.1.4-2.1).
The diff is attached to this message.

Cheers
-- 
Sebastian Ramacher
diffstat for galculator-2.1.4 galculator-2.1.4

 changelog                                                         |    9 
 patches/0002-Declare-function-parameters-as-required-by-C23.patch |  106 ++++++++++
 patches/series                                                    |    1 
 3 files changed, 116 insertions(+)

diff -Nru galculator-2.1.4/debian/changelog galculator-2.1.4/debian/changelog
--- galculator-2.1.4/debian/changelog	2024-12-04 08:28:23.000000000 +0100
+++ galculator-2.1.4/debian/changelog	2025-12-30 10:29:58.000000000 +0100
@@ -1,3 +1,12 @@
+galculator (2.1.4-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Henrique F. Simoes ]
+  * Fix FTBFS with GCC 15 (Closes: #1096669)
+
+ -- Sebastian Ramacher <[email protected]>  Tue, 30 Dec 2025 10:29:58 +0100
+
 galculator (2.1.4-2) unstable; urgency=medium
 
   * Team upload of Debian team.
diff -Nru galculator-2.1.4/debian/patches/0002-Declare-function-parameters-as-required-by-C23.patch galculator-2.1.4/debian/patches/0002-Declare-function-parameters-as-required-by-C23.patch
--- galculator-2.1.4/debian/patches/0002-Declare-function-parameters-as-required-by-C23.patch	1970-01-01 01:00:00.000000000 +0100
+++ galculator-2.1.4/debian/patches/0002-Declare-function-parameters-as-required-by-C23.patch	2025-12-30 10:29:07.000000000 +0100
@@ -0,0 +1,106 @@
+From: "Henrique F. Simoes" <[email protected]>
+Date: Wed, 15 Oct 2025 21:17:51 -0300
+Subject: Declare function parameters as required by C23
+
+In C23, having no parameter in a function declaration no longer means an
+"unspecified" number of arguments [1]. Therefore, this code fails to
+build with this standard. Declare the missing function arguments, so
+that it compiles once again with the default standard from modern
+compilers, such as GCC 15.
+
+The exception here is the set_{basic,scientific}_object_data functions,
+which actually don't use their argument at all. Thus, their unique calls
+are changed instead.
+
+Because functions registered by set_disp_ctrl_object_data don't receive
+a button pointer as argument as the others, declare a new struct for
+holding the entries for that. It is named after "display" as it is only
+used for display control buttons.
+
+[1] https://gcc.gnu.org/gcc-15/porting_to.html
+
+Bug-Debian: https://bugs.debian.org/1096669
+---
+ src/callbacks.c  | 2 +-
+ src/galculator.h | 8 +++++++-
+ src/ui.c         | 6 +++---
+ src/ui.h         | 2 +-
+ 4 files changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/src/callbacks.c b/src/callbacks.c
+index 503fb13..7259afe 100644
+--- a/src/callbacks.c
++++ b/src/callbacks.c
+@@ -262,7 +262,7 @@ void
+ on_gfunc_button_clicked                (GtkToggleButton       *button,
+                                         gpointer         user_data)
+ {
+-    void    (*func)();
++    void    (*func)(GtkToggleButton *);
+     char     *display_string;
+ 
+     if (gtk_toggle_button_get_active(button) == FALSE) return;
+diff --git a/src/galculator.h b/src/galculator.h
+index 22a4060..bb2ff9f 100644
+--- a/src/galculator.h
++++ b/src/galculator.h
+@@ -180,9 +180,15 @@ typedef struct {
+ typedef struct {
+ 	char		*button_name;
+ 	char 		*display_string;
+-	void		(*func)();
++	void		(*func)(GtkToggleButton *button);
+ } s_gfunc_map;
+ 
++typedef struct {
++	char		*button_name;
++	char 		*display_string;
++	void		(*func)();
++} s_disp_func_map;
++
+ typedef struct {
+ 	char		*button_name;
+ 	/* display_string: what to display in history or formula entry. hasn't 
+diff --git a/src/ui.c b/src/ui.c
+index 6eaac7d..3ed50a5 100644
+--- a/src/ui.c
++++ b/src/ui.c
+@@ -244,7 +244,7 @@ static void set_disp_ctrl_object_data ()
+ {
+ 	int	counter=0;
+ 	
+-	s_gfunc_map map[] = {\
++	s_disp_func_map map[] = {\
+ 		{"button_clr", NULL, clear},\
+ 		{"button_backspace", NULL, backspace},\
+ 		{"button_allclr", NULL, all_clear},\
+@@ -433,14 +433,14 @@ void ui_main_window_buttons_create (int mode)
+ 		button_box_xml = gtk_builder_file_open (BASIC_GLADE_FILE, TRUE);
+         box = GTK_WIDGET(gtk_builder_get_object (view_xml, "classic_view_vbox"));
+ 		ui_pack_from_xml (box, 2, button_box_xml, "button_box", TRUE, TRUE);
+-		set_basic_object_data (button_box_xml);
++		set_basic_object_data ();
+ 		break;
+ 	case SCIENTIFIC_MODE:
+ 		if (button_box_xml) g_object_unref (G_OBJECT(button_box_xml));
+ 		button_box_xml = gtk_builder_file_open (SCIENTIFIC_GLADE_FILE, TRUE);
+         box = GTK_WIDGET(gtk_builder_get_object (view_xml, "classic_view_vbox"));
+ 		ui_pack_from_xml (box, 2, button_box_xml, "button_box", TRUE, TRUE);
+-		set_scientific_object_data (button_box_xml);
++		set_scientific_object_data ();
+ 		break;
+ 	case PAPER_MODE:
+ 		return;
+diff --git a/src/ui.h b/src/ui.h
+index 90992a2..a20ac3c 100644
+--- a/src/ui.h
++++ b/src/ui.h
+@@ -74,7 +74,7 @@ void ui_formula_entry_activate ();
+ void ui_formula_entry_set (G_CONST_RETURN gchar *text);
+ void ui_formula_entry_insert (G_CONST_RETURN gchar *text);
+ void ui_formula_entry_backspace ();
+-void ui_formula_entry_state ();
++void ui_formula_entry_state (gboolean error);
+ void ui_button_set_pan ();
+ void ui_button_set_rpn ();
+ void ui_relax_fmod_buttons ();
diff -Nru galculator-2.1.4/debian/patches/series galculator-2.1.4/debian/patches/series
--- galculator-2.1.4/debian/patches/series	2024-12-04 08:28:23.000000000 +0100
+++ galculator-2.1.4/debian/patches/series	2025-12-30 10:29:07.000000000 +0100
@@ -1,2 +1,3 @@
 potfiles.patch
 0001-Fix-multiple-definition-of-prefs-compile-error-with-.patch
+0002-Declare-function-parameters-as-required-by-C23.patch

Reply via email to