[packages/xmorph] - build fixes, release 2

qboosh qboosh at pld-linux.org
Sat Oct 4 19:49:11 CEST 2025


commit df7b34e19daa61fdedb7253da13e5a8ee5e6f5f9
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Oct 4 19:52:21 2025 +0200

    - build fixes, release 2

 xmorph-includes.patch | 246 ++++++++++++++++++++++++++++++++++++++++++++++++++
 xmorph-types.patch    | 197 ++++++++++++++++++++++++++++++++++++++++
 xmorph.spec           |   9 +-
 3 files changed, 450 insertions(+), 2 deletions(-)
---
diff --git a/xmorph.spec b/xmorph.spec
index 848283e..1d49cae 100644
--- a/xmorph.spec
+++ b/xmorph.spec
@@ -6,8 +6,8 @@ Summary:	An X Window System tool for creating morphed images
 Summary(pl.UTF-8):	Narzędzie do morphingu pod X Window System
 Name:		xmorph
 Version:	20060817
-Release:	1
-License:	GPL
+Release:	2
+License:	GPL v2+
 Group:		X11/Applications/Graphics
 Source0:	https://downloads.sourceforge.net/xmorph/%{name}_%{version}.tar.gz
 # Source0-md5:	b4128d90c458be6d2fca9fc6045b6ddb
@@ -16,6 +16,8 @@ Patch1:		%{name}-libname.patch
 Patch2:		%{name}-info.patch
 Patch3:		%{name}-format.patch
 Patch4:		%{name}-inline.patch
+Patch5:		%{name}-includes.patch
+Patch6:		%{name}-types.patch
 URL:		https://xmorph.sourceforge.net/
 BuildRequires:	autoconf >= 2.50
 BuildRequires:	automake
@@ -88,8 +90,11 @@ Statyczna biblioteka xmorph.
 %patch -P2 -p1
 %patch -P3 -p1
 %patch -P4 -p1
+%patch -P5 -p1
+%patch -P6 -p1
 
 echo 'AM_DEFUN([AM_PATH_GTK],[$3])' > acinclude.m4
+echo 'fr it' > po/LINGUAS
 
 %build
 %{__gettextize}
diff --git a/xmorph-includes.patch b/xmorph-includes.patch
new file mode 100644
index 0000000..7cfb0ea
--- /dev/null
+++ b/xmorph-includes.patch
@@ -0,0 +1,246 @@
+--- xmorph-20060817/libmorph/RgbaImage.c.orig	2025-10-04 12:01:48.672122852 +0200
++++ xmorph-20060817/libmorph/RgbaImage.c	2025-10-04 12:09:27.934755233 +0200
+@@ -42,6 +42,7 @@ extern int prog_nsteps;
+ 
+ #include "my_malloc.h"
+ #include "tga.h"
++#include "warp2.h"
+ #include "RgbaImage.h"
+ 
+ 
+--- xmorph-20060817/libmorph/relax.c.orig	2006-03-05 16:13:00.000000000 +0100
++++ xmorph-20060817/libmorph/relax.c	2025-10-04 12:13:23.372772370 +0200
+@@ -1,5 +1,6 @@
+ 
+-#include "stdio.h"
++#include <stdio.h>
++#include <stdlib.h>
+ 
+ #include "mesh.h"
+ 
+--- xmorph-20060817/morph/main.c.orig	2025-10-04 12:13:35.782843554 +0200
++++ xmorph-20060817/morph/main.c	2025-10-04 12:17:35.327550913 +0200
+@@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA.
+ #include <string.h>
+ #include <math.h>
+ 
++#define RGBA_MESH_WARP
+ #include "mesh.h"
+ #include "RgbaImage.h"
+ 
+--- xmorph-20060817/xmorph/sequence.c.orig	2025-10-04 12:17:51.934312836 +0200
++++ xmorph-20060817/xmorph/sequence.c	2025-10-04 12:21:50.152345919 +0200
+@@ -31,6 +31,7 @@ int prog_nsteps = 0;
+ #include "diw_map.h"
+ #include "mjg_dialog.h"
+ #include "warp.h"
++#include "warp2.h"
+ #include "mesh.h"
+ #include "RgbaImage.h"
+ #include "image_diw.h"
+--- xmorph-20060817/gtkmorph/dialogs.c.orig	2006-01-27 11:04:16.000000000 +0100
++++ xmorph-20060817/gtkmorph/dialogs.c	2025-10-04 12:48:59.685053164 +0200
+@@ -17,6 +17,7 @@
+ #include "interface.h"
+ #include "support.h"
+ #include "dialogs.h"
++#include "utils.h"
+ //#include "settings.h"
+ 
+ /****************************************************************************/
+--- xmorph-20060817/gtkmorph/callbacks_help.c.orig	2006-01-08 17:52:31.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_help.c	2025-10-04 16:41:15.739665077 +0200
+@@ -9,6 +9,7 @@
+ 
+ #include "support.h"
+ #include "callbacks.h"
++#include "dialogs.h"
+ 
+ 
+ void
+--- xmorph-20060817/gtkmorph/main.c.orig	2006-08-19 17:56:51.000000000 +0200
++++ xmorph-20060817/gtkmorph/main.c	2025-10-04 16:42:38.133480314 +0200
+@@ -26,6 +26,7 @@
+ #include <string.h>
+  #include <stdlib.h>
+ 
++#include "colors.h"
+ #include "interface.h"
+ #include "support.h"
+ #include "callbacks.h"
+@@ -57,6 +58,9 @@
+ #include "fourier.hh"
+ #include "wavelet.hh"
+ 
++void feature_init(void);
++void fourier_init(void);
++
+ GtkFileSelection   *fileselection_g=NULL; 
+ 
+ 
+--- xmorph-20060817/gtkmorph/callbacks_edit.c.orig	2006-03-04 22:50:40.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_edit.c	2025-10-04 16:46:27.344820239 +0200
+@@ -21,8 +21,11 @@
+ #include "support.h"
+ #include "dialogs.h"
+ #include "gtktopdata.h"
++#include "feature.h"
+ #include "fourier.hh"
+ 
++void mag_draw(void);
++
+ /***************************************************************
+ 
+  *		drawing area mesh editing
+--- xmorph-20060817/gtkmorph/gtk_subimagesel.c.orig	2006-03-05 13:09:08.000000000 +0100
++++ xmorph-20060817/gtkmorph/gtk_subimagesel.c	2025-10-04 16:56:14.184914352 +0200
+@@ -31,6 +31,7 @@ but I am too lazy to
+ #include "utils.h"
+ #include "main.h"
+ #include "dialogs.h"
++#include "loadsave_mesh.h"
+ 
+ 
+ 
+--- xmorph-20060817/gtkmorph/callbacks_subimg.c.orig	2006-01-28 17:26:42.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_subimg.c	2025-10-04 17:03:01.463960234 +0200
+@@ -5,6 +5,7 @@
+ #include <gtk/gtk.h>
+ 
+ #include "gtk-meta.h"
++#include "gtktopdata.h"
+ 
+ #ifdef USE_IMLIB
+ #include <gdk_imlib.h>
+@@ -15,6 +16,9 @@
+ #include "main.h"
+ #include "support.h"
+ 
++void on_interpolate_meshes1_activate(GtkMenuItem *menuitem, gpointer user_data);
++void on_do_mixing_clicked(GtkButton *button, gpointer user_data);
++
+ /***************************************************************************
+ **************************************************************************
+ 
+--- xmorph-20060817/gtkmorph/callbacks_main.c.orig	2006-08-17 18:05:04.000000000 +0200
++++ xmorph-20060817/gtkmorph/callbacks_main.c	2025-10-04 17:53:44.658573290 +0200
+@@ -15,6 +15,7 @@
+ 
+ 
+ 
++#include "gdk-pixbuf-extra.h"
+ #include "gtk-meta.h"
+ 
+ #include <math.h>
+--- xmorph-20060817/gtkmorph/movies.c.orig	2006-05-25 11:22:46.000000000 +0200
++++ xmorph-20060817/gtkmorph/movies.c	2025-10-04 18:02:50.348484785 +0200
+@@ -40,11 +40,13 @@
+ #include "loadsave_ply.h"
+ #endif
+ 
+-//#include "mesh-gtk.h"
+-//#include "utils.h"
++#include "mesh-gtk.h"
++#include "utils.h"
++#include "support.h"
+ //#include "../libmorph/relax.h"
+ #include "movies.h"
+ 
++void create_list_of_formats();
+ 
+ //#define PRINT_MORPH_TIME
+ 
+--- xmorph-20060817/gtkmorph/utils.c.orig	2006-03-05 19:05:58.000000000 +0100
++++ xmorph-20060817/gtkmorph/utils.c	2025-10-04 18:19:37.504503904 +0200
+@@ -14,6 +14,7 @@
+ #include <gtk/gtk.h>
+ 
+ #include "gtk-meta.h"
++#include "gtksettings.h"
+ 
+ #ifdef USE_IMLIB
+ #include <gdk_imlib.h>
+--- xmorph-20060817/gtkmorph/loadsave.c.orig	2006-03-04 16:23:33.000000000 +0100
++++ xmorph-20060817/gtkmorph/loadsave.c	2025-10-04 18:28:44.864456981 +0200
+@@ -30,6 +30,7 @@
+ 
+ 
+ #include "callbacks.h"
++#include "callbacks_fs.h"
+ #include "interface.h"
+ #include "support.h"
+ 
+@@ -44,7 +45,10 @@
+ //#include "settings.h"
+ #include "dialogs.h"
+ #include "loadsave.h"
++#include "loadsave_mesh.h"
+ 
++void subimages_spinbuttons_set(int i);
++void spinbutton_res_set();
+ 
+ 
+ /************************************************************************
+--- xmorph-20060817/gtkmorph/loadsave_mesh.c.orig	2006-03-05 13:19:28.000000000 +0100
++++ xmorph-20060817/gtkmorph/loadsave_mesh.c	2025-10-04 18:31:06.525303740 +0200
+@@ -48,6 +48,9 @@
+ #include "utils.h"
+ #include "feature.h"
+ 
++gboolean is_null(const gchar *s);
++void subimages_spinbuttons_set(int i);
++void scale_loaded_pixbuf_et_rrggbb(int lp);
+ 
+ /***************************************************************
+  synch mesh labels
+--- xmorph-20060817/gtkmorph/utils-mesh.c.orig	2006-01-28 17:29:06.000000000 +0100
++++ xmorph-20060817/gtkmorph/utils-mesh.c	2025-10-04 19:13:13.703767900 +0200
+@@ -9,7 +9,9 @@
+ #include "dialogs.h"
+ #include "gtk-meta.h"
+ #include "support.h"
++#include "callbacks_subimg.h"
+ 
++void do_mesh_factors_equal();
+ 
+ 
+ /* gboolean mesh_need_saving(int lp){ */
+--- xmorph-20060817/gtkmorph/guide.c.orig	2006-01-25 20:44:14.000000000 +0100
++++ xmorph-20060817/gtkmorph/guide.c	2025-10-04 19:14:32.890911023 +0200
+@@ -27,10 +27,13 @@
+ #include "guide.h"
+ #include "support.h"
+ #include "callbacks.h"
++#include "utils.h"
+ 
+ 
+ #include "main.h"
+ 
++void guide_init_text(void);
++
+ /* trick to have a translation that is not immediate 
+ //#ifdef ENABLE_NLS 
+ //#undef _
+--- xmorph-20060817/gtkmorph/settings.c.orig	2006-01-28 09:36:38.000000000 +0100
++++ xmorph-20060817/gtkmorph/settings.c	2025-10-04 19:16:53.005087400 +0200
+@@ -27,7 +27,9 @@
+ #include "support.h"
+ #include "main.h"
+ #include "utils.h"
++#include "mesh-gtk.h"
+ 
++void set_state(void);
+ 
+ 
+ void
+--- xmorph-20060817/gtkmorph/mesh-gtk.c.orig	2006-03-04 22:52:08.000000000 +0100
++++ xmorph-20060817/gtkmorph/mesh-gtk.c	2025-10-04 19:21:54.883571399 +0200
+@@ -53,6 +53,8 @@
+ #include "utils.h"
+ #include "support.h"
+ 
++void redraw_images(void);
++void adjust_1_point_wrt_morph(MeshT *dstmesh, GdkPixbuf *dst, int mi, int mj);
+ 
+ #ifdef  G_THREADS_ENABLED
+ #if GLIB_MAJOR_VERSION >= 2
diff --git a/xmorph-types.patch b/xmorph-types.patch
new file mode 100644
index 0000000..dba9781
--- /dev/null
+++ b/xmorph-types.patch
@@ -0,0 +1,197 @@
+--- xmorph-20060817/gtkmorph/callbacks_warped.c.orig	2006-03-05 19:05:36.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_warped.c	2025-10-04 12:28:23.281269218 +0200
+@@ -51,7 +51,7 @@ on_drawingarea_warped_expose_event     (
+   //extern movie_pixmaps_num ;
+ 
+   //if(movie_pixmaps_num == 0) return FALSE ;
+-  g_return_if_fail(pixmap);
++  g_return_val_if_fail(pixmap, FALSE);
+   //g_return_if_fail(movie_pixmaps[0]);
+ 
+   //g_(pixmap);
+--- xmorph-20060817/gtkmorph/gtksettings.c.orig	2006-01-27 12:28:10.000000000 +0100
++++ xmorph-20060817/gtkmorph/gtksettings.c	2025-10-04 12:36:13.883976367 +0200
+@@ -146,7 +146,7 @@ gtk_settings_set_sensitive(char *name,gp
+     if(strcmp(name,thesettings[lp])==0)
+       {
+ 	GtkObject  *item = thesettings[lp+4];
+-	gtk_widget_set_sensitive(item ,(value)?TRUE:FALSE);
++	gtk_widget_set_sensitive(GTK_WIDGET(item) ,(value)?TRUE:FALSE);
+ 	return ;
+       }
+     lp+=GTKSETTINGS_BLOCKS_SIZE;
+@@ -172,11 +172,11 @@ gtk_settings_set_value(char *name,gpoint
+ 	  gpointer p=gtk_object_get_data(item,"submenu"); 
+ 	  if (p) {
+ 	    GList* L= gtk_container_get_children(p);
+-	    int len=g_slist_length (L);
+-	    g_return_if_fail(value>=0 && value< len );
+-	    GSList* nth=g_slist_nth(L,value);
++	    int len=g_list_length (L);
++	    g_return_val_if_fail(value>=0 && value< len, FALSE);
++	    GList* nth=g_list_nth(L,value);
+ 	    GtkWidget* radio_menu_item= nth->data;
+-	    g_return_if_fail(radio_menu_item);
++	    g_return_val_if_fail(radio_menu_item, FALSE);
+ 	    gtk_check_menu_item_set_active
+ 	      (GTK_CHECK_MENU_ITEM (radio_menu_item),TRUE);
+ 	  } else	  
+--- xmorph-20060817/gtkmorph/callbacks_fs_mesh.c.orig	2006-01-28 10:07:40.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_fs_mesh.c	2025-10-04 12:48:03.794730767 +0200
+@@ -146,8 +146,8 @@ on_save_diff_clicked                   (
+   int i = GPOINTER_TO_UINT(gtk_widget_get_data_top(GTK_WIDGET(button),"imagenum")); 
+ 
+   if(sp->im_mesh_diff[i]==NULL)    {
+-    GtkWidget *m=create_menu_of_images(i,diff_save_it,TRUE);
+-      gtk_menu_popup(m,//GtkMenu *menu,
++    GtkWidget *m=create_menu_of_images(i,(GtkSignalFunc)diff_save_it,TRUE);
++      gtk_menu_popup(GTK_MENU(m),//GtkMenu *menu,
+ 		 NULL,//GtkWidget *parent_menu_shell,
+ 		 NULL,//GtkWidget *parent_menu_item,
+ 		 NULL,//GtkMenuPositionFunc func,
+--- xmorph-20060817/gtkmorph/callbacks_fs.c.orig	2006-01-27 10:44:11.000000000 +0100
++++ xmorph-20060817/gtkmorph/callbacks_fs.c	2025-10-04 16:45:04.411002529 +0200
+@@ -202,7 +202,7 @@ void create_list_of_formats()
+ {
+   if(readable_formats==NULL) {
+     readable_formats =gdk_pixbuf_get_formats ();
+-    g_slist_foreach (readable_formats, add_if_writable, &writable_formats);
++    g_slist_foreach (readable_formats, (GFunc)add_if_writable, &writable_formats);
+   }
+ }
+  // find image type according to extension (if any)
+@@ -278,7 +278,7 @@ GtkWidget * create_image_type_combo()
+   } 
+   gtk_combo_box_append_text(GTK_COMBO_BOX(C),"ppm");  
+   gtk_widget_set_name (C,"file_type_combo");
+-  g_signal_connect ((gpointer) C,"changed",on_image_type_changed,NULL);
++  g_signal_connect ((gpointer) C,"changed",(GCallback)on_image_type_changed,NULL);
+   return C;
+ }
+ // set image type according to extension (if any)
+--- xmorph-20060817/gtkmorph/callbacks_subimg.c.orig	2025-10-04 17:03:01.463960234 +0200
++++ xmorph-20060817/gtkmorph/callbacks_subimg.c	2025-10-04 17:04:59.984653758 +0200
+@@ -199,7 +199,9 @@ void on_hscale_mesh_changed    (GtkRange
+   if(spin) {
+     gtk_spin_button_set_value (spin, range->adjustment->value);
+   } else g_critical("no adjustment");
++#if GTK_MAJOR_VERSION == 1
+   return FALSE;
++#endif
+ }
+ 
+ /**************/
+@@ -222,7 +224,9 @@ void on_hscale_image_changed    (GtkRang
+   if(spin) {  
+     gtk_spin_button_set_value (spin, range->adjustment->value);
+   } else g_critical("no adjustment");
++#if GTK_MAJOR_VERSION == 1
+   return FALSE;
++#endif
+ }
+ 
+ 
+--- xmorph-20060817/gtkmorph/movies.c.orig	2025-10-04 18:03:03.331895314 +0200
++++ xmorph-20060817/gtkmorph/movies.c	2025-10-04 18:07:15.523394762 +0200
+@@ -327,9 +327,9 @@ on_stop_clicked                        (
+ static void
+ __movie_set_sensitives__(GtkButton       *button,gboolean b)
+ {
+-  GtkWidget * stop=lookup_widget(button,"stop");
++  GtkWidget * stop=lookup_widget(GTK_WIDGET(button),"stop");
+   gtk_widget_set_sensitive(stop,!b);
+-  gtk_widget_set_sensitive(button,b);
++  gtk_widget_set_sensitive(GTK_WIDGET(button),b);
+ }
+ 
+ 
+@@ -479,13 +479,13 @@ on_movie_ok_clicked                    (
+ 	} else 	  rem=g_strdup_printf(" 0");
+       }
+       //#endif      
+-      GtkWidget* hb= lookup_widget  ( button  ,"information_label");
++      GtkWidget* hb= lookup_widget(GTK_WIDGET(button), "information_label");
+       if(hb) {
+ 	s=g_strdup_printf("F %d ETA %s",ima,rem);
+-	gtk_label_set_text(hb,s);
++	gtk_label_set_text(GTK_LABEL(hb),s);
+       }   else {
+ 	s=g_strdup_printf("frame %d estimated time %s",ima,rem);
+-	gtk_label_set_text(hb,s);
++	gtk_label_set_text(GTK_LABEL(hb),s);
+       }
+       g_free(s); g_free(rem);
+     }
+@@ -580,7 +580,7 @@ on_movie_replay_clicked                (
+ #endif
+ 	  gtk_widget_show_all(animator);
+ 	  gtk_signal_connect (GTK_OBJECT (animator), "delete-event",
+-			      (movie_pixmap_free_callback),
++			      (GCallback)(movie_pixmap_free_callback),
+ 			      NULL);	  
+ 	  animator_loop=g_timeout_add ((int)ceil(3000/tot),draw_frame, g);
+ 	}	else
+--- xmorph-20060817/gtkmorph/utils2_c.orig	2006-05-12 10:36:28.000000000 +0200
++++ xmorph-20060817/gtkmorph/utils2_c	2025-10-04 18:16:37.896758600 +0200
+@@ -59,7 +59,7 @@ void set_info_label(gchar *t)
+   static GtkWidget *m=NULL;
+   if(!m) m=lookup_widget(sp->im_widget[MAIN_WIN],"main_info_label");
+   if(m) {
+-    gtk_label_set_text(m,t);
++    gtk_label_set_text(GTK_LABEL(m),t);
+   } 
+ }
+ 
+--- xmorph-20060817/gtkmorph/feature.c.orig	2006-03-05 12:49:05.000000000 +0100
++++ xmorph-20060817/gtkmorph/feature.c	2025-10-04 18:34:10.519736875 +0200
+@@ -504,13 +504,13 @@ on_ok_button_color_clicked             (
+     show_warning(_("sorry this functions is as yet unimplemented"));
+ #else
+     GdkColor color;
+-    gtk_color_selection_get_current_color(csd->colorsel, &color);
++    gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(csd->colorsel), &color);
+     if(gdk_colormap_alloc_color (gdk_colormap_get_system (),
+ 				 & color,FALSE ,TRUE)) {
+       gdk_gc_set_foreground ( features_gc[feature_n+2], &color); 
+       MY_GTK_DRAW(dac_lookup());
+     }
+-    GtkWidget *csd=lookup_widget(button,"colorselectiondialog");
++    GtkWidget *csd=lookup_widget(GTK_WIDGET(button),"colorselectiondialog");
+     if(csd) gtk_widget_destroy(csd);
+ #endif
+   } else gdk_beep();
+--- xmorph-20060817/gtkmorph/loadsave.c.orig	2025-10-04 18:32:23.832432499 +0200
++++ xmorph-20060817/gtkmorph/loadsave.c	2025-10-04 18:35:14.783454336 +0200
+@@ -471,10 +471,10 @@ internal error: the image doesnt exist!"
+     GSList *F;
+ #ifdef HAVE_GTK_COMBO
+     if(fileselection_g) {
+-      GtkWidget*  C=lookup_widget (fileselection_g,"file_type_combo");
++      GtkWidget*  C=lookup_widget (GTK_WIDGET(fileselection_g),"file_type_combo");
+       //if(!C)      { g_critical("cannot save! internal error"); return TRUE; }
+       if(C)
+-	sel = gtk_combo_box_get_active(C);
++	sel = gtk_combo_box_get_active(GTK_COMBO_BOX(C));
+     }
+ #endif
+     if(sel<0 || sel >wl) 
+--- xmorph-20060817/gtkmorph/settings.c.orig	2025-10-04 19:16:53.005087400 +0200
++++ xmorph-20060817/gtkmorph/settings.c	2025-10-04 19:17:54.822126010 +0200
+@@ -378,7 +378,7 @@ show_diff_show (GtkMenuItem     *menuite
+ 			gpointer         data)
+ {
+   unsigned int to , from = GPOINTER_TO_INT(data);
+-  GtkWidget *m=create_menu_of_images(from,show_diff_set_it,FALSE);  
++  GtkWidget *m=create_menu_of_images(from,(GtkSignalFunc)show_diff_set_it,FALSE);  
+   {
+     GtkWidget *i = gtk_separator_menu_item_new     ();
+     gtk_widget_show(i);gtk_container_add (GTK_CONTAINER (m), i);
+@@ -388,7 +388,7 @@ show_diff_show (GtkMenuItem     *menuite
+ 			GTK_SIGNAL_FUNC (show_diff_set_it ),
+ 			GINT_TO_POINTER( 256 * from) );
+   }
+-  gtk_menu_popup(m,//GtkMenu *menu,
++  gtk_menu_popup(GTK_MENU(m),//GtkMenu *menu,
+ 		 NULL,//GtkWidget *parent_menu_shell,
+ 		 NULL,//GtkWidget *parent_menu_item,
+ 		 NULL,//GtkMenuPositionFunc func,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xmorph.git/commitdiff/df7b34e19daa61fdedb7253da13e5a8ee5e6f5f9



More information about the pld-cvs-commit mailing list