Bug#1066463: gnome-paint: FTBFS: cv_resize.c:368:9: error: implicit declaration of function ‘undo_add_resize’ [-Werror=implicit-function-declaration]

2024-04-09 Thread Steve Langasek
Package: gnome-paint
Followup-For: Bug #1066463
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Please find attached a patch for this issue which has been uploaded to
Ubuntu.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru gnome-paint-0.4.0/debian/patches/no-implicit-declarations.patch 
gnome-paint-0.4.0/debian/patches/no-implicit-declarations.patch
--- gnome-paint-0.4.0/debian/patches/no-implicit-declarations.patch 
1969-12-31 16:00:00.0 -0800
+++ gnome-paint-0.4.0/debian/patches/no-implicit-declarations.patch 
2024-04-09 22:03:59.0 -0700
@@ -0,0 +1,192 @@
+Description: Add missing includes, don't set GTK_DISABLE_DEPRECATED
+ deprecated APIs are in use.
+Author: Steve Langasek 
+Bug-Debian: https://bugs.debian.org/1066463
+Last-Update: 2024-04-09
+Forwarded: no
+
+Index: gnome-paint-0.4.0/src/Makefile.am
+===
+--- gnome-paint-0.4.0.orig/src/Makefile.am
 gnome-paint-0.4.0/src/Makefile.am
+@@ -78,7 +78,6 @@
+ gnome_paint_CFLAGS = \
+   -DG_DISABLE_DEPRECATED\
+   -DG_DISABLE_SINGLE_INCLUDES\
+-  -DGTK_DISABLE_DEPRECATED\
+   -DGDK_DISABLE_SINGLE_INCLUDES\
+   -DGTK_DISABLE_SINGLE_INCLUDES
+ 
+Index: gnome-paint-0.4.0/src/color.c
+===
+--- gnome-paint-0.4.0.orig/src/color.c
 gnome-paint-0.4.0/src/color.c
+@@ -20,6 +20,8 @@
+ #include "common.h"
+ #include "color.h"
+ #include "cv_drawing.h"
++#include "cv_eraser_tool.h"
++#include "cv_paintbrush_tool.h"
+ #include "pixbuf_util.h"
+ 
+ #include 
+Index: gnome-paint-0.4.0/src/undo.c
+===
+--- gnome-paint-0.4.0.orig/src/undo.c
 gnome-paint-0.4.0/src/undo.c
+@@ -28,7 +28,7 @@
+ #include "gp-image.h"
+ #include "gp_point_array.h"
+ #include "file.h"
+-
++#include "selection.h"
+ 
+ 
+ typedef enum
+Index: gnome-paint-0.4.0/src/cv_rectangle_tool.c
+===
+--- gnome-paint-0.4.0.orig/src/cv_rectangle_tool.c
 gnome-paint-0.4.0/src/cv_rectangle_tool.c
+@@ -25,6 +25,7 @@
+ #include 
+ 
+ #include "cv_rectangle_tool.h"
++#include "cv_drawing.h"
+ #include "file.h"
+ #include "undo.h"
+ #include "gp_point_array.h"
+Index: gnome-paint-0.4.0/src/cv_pencil_tool.c
+===
+--- gnome-paint-0.4.0.orig/src/cv_pencil_tool.c
 gnome-paint-0.4.0/src/cv_pencil_tool.c
+@@ -23,6 +23,7 @@
+  
+  #include 
+ 
++#include "cv_drawing.h"
+ #include "cv_pencil_tool.h"
+ #include "gp_point_array.h"
+ #include "undo.h"
+Index: gnome-paint-0.4.0/src/cv_resize.c
+===
+--- gnome-paint-0.4.0.orig/src/cv_resize.c
 gnome-paint-0.4.0/src/cv_resize.c
+@@ -28,6 +28,7 @@
+ #include "cv_resize.h"
+ #include "cv_drawing.h"
+ #include "file.h"
++#include "undo.h"
+ 
+ 
+ #define BOX_EDGE_SIZE 4
+Index: gnome-paint-0.4.0/src/cv_ellipse_tool.c
+===
+--- gnome-paint-0.4.0.orig/src/cv_ellipse_tool.c
 gnome-paint-0.4.0/src/cv_ellipse_tool.c
+@@ -24,6 +24,7 @@
+  
+  #include 
+ 
++#include "cv_drawing.h"
+ #include "cv_ellipse_tool.h"
+ #include "file.h"
+ #include "undo.h"
+Index: gnome-paint-0.4.0/src/cv_polygon_tool.c
+===
+--- gnome-paint-0.4.0.orig/src/cv_polygon_tool.c
 gnome-paint-0.4.0/src/cv_polygon_tool.c
+@@ -24,6 +24,7 @@
+  
+  #include 
+ 
++#include "cv_drawing.h"
+ #include "cv_polygon_tool.h"
+ #include "gp_point_array.h"
+ #include "undo.h"
+Index: gnome-paint-0.4.0/src/image_menu.c
+===
+--- gnome-paint-0.4.0.orig/src/image_menu.c
 gnome-paint-0.4.0/src/image_menu.c
+@@ -28,6 +28,7 @@
+ #include "selection.h"
+ #include "image_menu.h"
+ #include "gp-image.h"
++#include "undo.h"
+ 
+ typedef enum{
+   GP_FILP_VERT = 0,
+Index: gnome-paint-0.4.0/src/selection.h
+===
+--- gnome-paint-0.4.0.orig/src/selection.h
 gnome-paint-0.4.0/src/selection.h
+@@ -38,6 +38,10 @@
+ gbooleangp_selection_start_action   ( GdkPoint *p );
+ voidgp_selection_do_action  ( GdkPoint *p );
+ voidgp_selection_draw   ( GdkDrawable *gdkd );
++voidgp_selection_invert ( void );
++voidgp_selection_rotate ( GdkPixbufRotation 
angle );
++void

Bug#1066463: gnome-paint: FTBFS: cv_resize.c:368:9: error: implicit declaration of function ‘undo_add_resize’ [-Werror=implicit-function-declaration]

2024-03-13 Thread Lucas Nussbaum
Source: gnome-paint
Version: 0.4.0-9
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration

Relevant part (hopefully):
> gcc -DHAVE_CONFIG_H -I. -I..  -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" 
> -DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/share"\" 
> -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include 
> -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz 
> -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount 
> -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo 
> -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 
> -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/atk-1.0 
> -pthread  -Wdate-time -D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED 
> -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED 
> -DGDK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -g -O2 
> -Werror=implicit-function-declaration -ffile-prefix-map=/<>=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -c -o 
> gnome_paint-pixbuf-file-chooser.o `test -f 'pixbuf-file-chooser.c' || echo 
> './'`pixbuf-file-chooser.c
> cv_resize.c: In function ‘cv_resize_stop’:
> cv_resize.c:368:9: error: implicit declaration of function ‘undo_add_resize’ 
> [-Werror=implicit-function-declaration]
>   368 | undo_add_resize ( width, height );
>   | ^~~
> toolbar.c: In function ‘get_gtk_image’:
> toolbar.c:505:48: warning: passing argument 1 of 
> ‘gdk_pixbuf_new_from_xpm_data’ from incompatible pointer type 
> [-Wincompatible-pointer-types]
>   505 | pixbuf = gdk_pixbuf_new_from_xpm_data (xpm);
>   |^~~
>   ||
>   |gchar ** {aka char **}
> In file included from /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:34,
>  from /usr/include/gtk-2.0/gdk/gdkpixbuf.h:37,
>  from /usr/include/gtk-2.0/gdk/gdkcairo.h:28,
>  from /usr/include/gtk-2.0/gdk/gdk.h:33,
>  from /usr/include/gtk-2.0/gtk/gtk.h:32,
>  from toolbar.h:28,
>  from toolbar.c:27:
> /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:294:55: note: 
> expected ‘const char **’ but argument is of type ‘gchar **’ {aka ‘char **’}
>   294 | GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);
>   |  ~^~~~
> color.c: In function ‘on_color_palette_entry_button_press_event’:
> color.c:178:17: error: implicit declaration of function 
> ‘notify_brush_of_fg_color_change’ [-Werror=implicit-function-declaration]
>   178 | notify_brush_of_fg_color_change();
>   | ^~~
> pixbuf-file-chooser.c: In function ‘pixbuf_file_chooser_class_init’:
> pixbuf-file-chooser.c:91:9: warning: ‘g_type_class_add_private’ is deprecated 
> [-Wdeprecated-declarations]
>91 | g_type_class_add_private (object_class, sizeof 
> (PixbufFileChooserPrivate));
>   | ^~~~
> In file included from /usr/include/glib-2.0/gobject/gobject.h:26,
>  from /usr/include/glib-2.0/gobject/gbinding.h:31,
>  from /usr/include/glib-2.0/glib-object.h:24,
>  from /usr/include/glib-2.0/gio/gioenums.h:30,
>  from /usr/include/glib-2.0/gio/giotypes.h:30,
>  from /usr/include/glib-2.0/gio/gio.h:28,
>  from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
>  from /usr/include/gtk-2.0/gdk/gdk.h:32,
>  from /usr/include/gtk-2.0/gtk/gtk.h:32,
>  from pixbuf-file-chooser.h:29,
>  from pixbuf-file-chooser.c:30:
> /usr/include/glib-2.0/gobject/gtype.h:1495:10: note: declared here
>  1495 | void g_type_class_add_private   (gpointer
> g_class,
>   |  ^~~~
> pixbuf-file-chooser.c: In function ‘pixbuf_file_chooser_init’:
> pixbuf-file-chooser.c:97:20: warning: Deprecated pre-processor symbol: 
> replace with "G_ADD_PRIVATE"
>97 | chooser->priv = PIXBUF_FILE_CHOOSER_GET_PRIVATE (chooser);
>   |^~~
>   
> main.c: In function ‘main’:
> main.c:83:9: error: implicit declaration of function ‘gtk_set_locale’;