6 Commits

4 changed files with 128 additions and 11 deletions

74
kakasi-gcc15.patch Normal file
View File

@@ -0,0 +1,74 @@
diff -upr kakasi-2.3.6.orig/src/jj2.c kakasi-2.3.6/src/jj2.c
--- kakasi-2.3.6.orig/src/jj2.c 2025-06-19 08:17:47.991893099 +0000
+++ kakasi-2.3.6/src/jj2.c 2025-06-19 09:28:56.547581582 +0000
@@ -201,7 +201,7 @@ static void
J2convert(m, n, proc)
Character *m;
Character *n;
- int (*proc)();
+ int (*proc)(Character *c, Character *n);
{
int mp=0, np=0;
int ret;
diff -upr kakasi-2.3.6.orig/src/kakasi.c kakasi-2.3.6/src/kakasi.c
--- kakasi-2.3.6.orig/src/kakasi.c 2025-06-19 08:17:47.992576362 +0000
+++ kakasi-2.3.6/src/kakasi.c 2025-06-19 09:27:47.585376192 +0000
@@ -97,7 +97,7 @@ Character right_paren[KAKASIBUF];
#ifdef LIBRARY
extern FILE *kanwadict;
-static int (*proc[8])()={NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+static int (*proc[8])(Character *c, Character *n)={NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
/* ASCII, JISROMAN, KATAKANA, GRAPHIC, ZENKAKU-KIGOU, ZENKAKU-KATAKANA, ZENKAKU-HIRAGANA, KANJI, */
#endif
@@ -121,7 +121,7 @@ KAKASI_ATTR void digest_start_copy PARAM
KAKASI_ATTR void put_separator PARAMS((void));
KAKASI_ATTR void putchars PARAMS((Character *results));
KAKASI_ATTR void digest_out PARAMS((Character *c, int ret));
-KAKASI_ATTR int digest PARAMS((Character *c, int clen, Character *r, int rlen, int type, int (*proc)(void)));
+KAKASI_ATTR int digest PARAMS((Character *c, int clen, Character *r, int rlen, int type, int (*proc)(Character *c, Character *n)));
KAKASI_ATTR void digest_shift PARAMS((Character *c, int s));
#ifdef LIBRARY
static void free_jisyo PARAMS((void));
@@ -240,7 +240,7 @@ digest(c, clen, r, rlen, type, proc)
Character *r;
int rlen;
int type;
- int (*proc)();
+ int (*proc)(Character *c, Character *n);
{
int ret, i, j, k;
Character new;
@@ -337,7 +337,7 @@ kakasi_getopt_argv(argc, argv)
#ifndef LIBRARY
Character c[KAKASIBUF], r[KAKASIBUF];
int clen, ptype, pctype;
- static int (*proc[8])()={NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+ static int (*proc[8])(Character *c, Character *n)={NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
/* ASCII, JISROMAN, KATAKANA, GRAPHIC, ZENKAKU-KIGOU, ZENKAKU-KATAKANA, ZENKAKU-HIRAGANA, KANJI, */
#endif
diff -upr kakasi-2.3.6.orig/lib/libkakasi.h kakasi-2.3.6/lib/libkakasi.h
--- kakasi-2.3.6.orig/lib/libkakasi.h 2025-06-19 09:38:26.229459429 +0000
+++ kakasi-2.3.6/lib/libkakasi.h 2025-06-19 09:43:30.076519441 +0000
@@ -38,12 +38,12 @@ int kakasi_free PARAMS((char *p));
/*
* NOTE: these are internal functions. Do not use.
*/
-void digest_start_copy();
-void put_separator();
-void putchars();
-void digest_out();
-int digest();
-void digest_shift();
+void digest_start_copy PARAMS((Character *c, Character *r));
+void put_separator PARAMS((void));
+void putchars PARAMS((Character *results));
+void digest_out PARAMS((Character *c, int ret));
+int digest PARAMS((Character *c, int clen, Character *r, int rlen, int type, int (*proc)(Character *c, Character *n)));
+void digest_shift PARAMS((Character *c, int s));
void setcharbuffer PARAMS((unsigned char *s));
char *getpbstr PARAMS((void));

View File

@@ -1,3 +1,23 @@
-------------------------------------------------------------------
Tue Aug 19 13:52:40 UTC 2025 - Alessio Biancalana <dottorblaster@opensuse.org>
- Fix patch typedef-character.patch
+ need the Character typedef to be above actual usage
-------------------------------------------------------------------
Fri Aug 15 15:38:01 UTC 2025 - Alessio Biancalana <dottorblaster@opensuse.org>
- Fix build using newer gettext versions
- Add patch for missing type definition:
+ typedef-character.patch
-------------------------------------------------------------------
Thu Jun 19 09:45:31 UTC 2025 - pgajdos@suse.com
- added patches
fix build with gcc15
+ kakasi-gcc15.patch
-------------------------------------------------------------------
Fri Aug 23 15:39:32 UTC 2024 - Takashi Iwai <tiwai@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package kakasi
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,10 +27,13 @@ Source: http://kakasi.namazu.org/stable/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM marguerite@opensuse.org
Patch0: kakasi-2.3.6-no-return-in-nonvoid-function.patch
Patch1: kakasi-gcc14-fix.patch
# fix build with gcc15
Patch2: kakasi-gcc15.patch
Patch3: typedef-character.patch
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
Requires: kakasi-dict = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
KAKASI is the language processing filter to convert Kanji characters to
@@ -66,7 +69,16 @@ Obsoletes: kakasidi < %{version}
The base dictionary of KAKASI
%prep
%if %{pkg_vcmp gettext-devel >= 0.25}
%setup -q
%autopatch -p1
# see https://lists.gnu.org/archive/html/bug-gettext/2025-06/msg00009.html
autopoint -f
autoreconf -fvi -I %{_datadir}/gettext/m4
%else
%autosetup -p1
autoreconf -fi
%endif
# w: version-control-internal-file
rm -rf doc/CVS
@@ -74,21 +86,18 @@ rm -rf doc/CVS
rm -rf doc/README.*OS*
%build
autoreconf -fi
# cp %{_datadir}/automake*/config.{guess,sub} .
%configure --disable-static --with-pic
make %{?_smp_mflags}
%make_build
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc AUTHORS NEWS ONEWS README* THANKS TODO ChangeLog
%doc ./doc/*
%license COPYING
@@ -102,16 +111,14 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_libdir}/libkakasi.so.2.1.0
%dir %{_datadir}/kakasi
%{_datadir}/kakasi/itaijidict
%{_mandir}/man1/kakasi.1.gz
%{_mandir}/man1/kakasi-config.1.gz
%{_mandir}/man1/kakasi.1%{?ext_man}
%{_mandir}/man1/kakasi-config.1%{?ext_man}
%files devel
%defattr(-,root,root)
%{_includedir}/libkakasi.h
%{_libdir}/libkakasi.so
%files dict
%defattr(-,root,root)
%{_datadir}/kakasi/kanwadict
%changelog

16
typedef-character.patch Normal file
View File

@@ -0,0 +1,16 @@
diff --git a/lib/libkakasi.h b/lib/libkakasi.h
index 54cebe0..68685ad 100644
--- a/lib/libkakasi.h
+++ b/lib/libkakasi.h
@@ -38,6 +38,11 @@ int kakasi_free PARAMS((char *p));
/*
* NOTE: these are internal functions. Do not use.
*/
+typedef struct character {
+ char type;
+ unsigned char c1, c2;
+} Character;
+
void digest_start_copy PARAMS((Character *c, Character *r));
void put_separator PARAMS((void));
void putchars PARAMS((Character *results));