diff --git a/0001-build-fix-build-failure-with-ICU-75.patch b/0001-build-fix-build-failure-with-ICU-75.patch deleted file mode 100644 index a0f55ae..0000000 --- a/0001-build-fix-build-failure-with-ICU-75.patch +++ /dev/null @@ -1,243 +0,0 @@ -From 6b2fd057b6efe178d3501b4dcc9fe1fde9a206bd Mon Sep 17 00:00:00 2001 -From: Jan Engelhardt -Date: Tue, 4 Jun 2024 11:20:48 +0200 -Subject: [PATCH] build: fix build failure with ICU 75 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: https://github.com/hfst/hfst/pull/579 - -ICU 75 needs C++17. Knowing that, I did: - -``` -./configure CXXFLAGS=-std=c++17 && make -``` - -but, configure.ac erroneously overrides this with c++14: - -``` -libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. --I../../../libhfst/src -I../../../libhfst/src -I../../../back-ends --I/usr/include -I../../../back-ends/openfst/src/include -Wno-deprecated -g -O2 --Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong --funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection --Werror=return-type -flto=auto -g -std=c++17 -std=c++14 -c -ConvertFomaTransducer.cc -fPIC -DPIC -o .libs/ConvertFomaTransducer.o -``` - -Stop overriding user-provided CXXFLAGS as per automake.info ยง3.6 -"Variables reserved for the user" and move things over to my_CXXFLAGS -and into AM_CXXFLAGS. ---- - back-ends/foma/Makefile.am | 1 + - back-ends/foma/cpp-version/Makefile.am | 1 + - back-ends/openfst/src/lib/Makefile.am | 1 + - back-ends/openfstwin/src/lib/Makefile.am | 1 + - back-ends/sfst/Makefile.am | 1 + - configure.ac | 10 ++++++---- - libhfst/src/Makefile.am | 2 +- - libhfst/src/implementations/Makefile.am | 2 +- - libhfst/src/parsers/Makefile.am | 1 + - test/libhfst/Makefile.am | 2 +- - tools/src/Makefile.am | 2 +- - tools/src/hfst-proc/Makefile.am | 1 + - tools/src/hfst-tagger/src/Makefile.am | 2 +- - tools/src/hfst-twolc/src/Makefile.am | 2 +- - tools/src/parsers/Makefile.am | 1 + - 15 files changed, 20 insertions(+), 10 deletions(-) - -Index: hfst-3.16.0/back-ends/foma/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/back-ends/foma/Makefile.am -+++ hfst-3.16.0/back-ends/foma/Makefile.am -@@ -2,6 +2,7 @@ AUTOMAKE_OPTIONS=std-options - - .NOTPARALLEL: - -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS= -Wno-deprecated -std=c99 -D_XOPEN_SOURCE=500 - - if WANT_MINGW -Index: hfst-3.16.0/back-ends/foma/cpp-version/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/back-ends/foma/cpp-version/Makefile.am -+++ hfst-3.16.0/back-ends/foma/cpp-version/Makefile.am -@@ -2,6 +2,7 @@ AUTOMAKE_OPTIONS=std-options - - .NOTPARALLEL: - -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS= -Wno-deprecated -D_XOPEN_SOURCE=500 -fpermissive -std=c++11 - - if WANT_MINGW -Index: hfst-3.16.0/back-ends/openfst/src/lib/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/back-ends/openfst/src/lib/Makefile.am -+++ hfst-3.16.0/back-ends/openfst/src/lib/Makefile.am -@@ -10,6 +10,7 @@ - # information. - - AUTOMAKE_OPTIONS=subdir-objects -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS = -I $(srcdir)/../include $(ICU_CPPFLAGS) - noinst_LTLIBRARIES = libfst.la - libfst_la_SOURCES = compat.cc flags.cc fst.cc properties.cc \ -Index: hfst-3.16.0/back-ends/openfstwin/src/lib/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/back-ends/openfstwin/src/lib/Makefile.am -+++ hfst-3.16.0/back-ends/openfstwin/src/lib/Makefile.am -@@ -16,6 +16,7 @@ - ## along with this program. If not, see . - - AUTOMAKE_OPTIONS=subdir-objects -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS = -I $(srcdir)/../include -I $(srcdir)/../../../dlfcn \ - $(ICU_CPPFLAGS) -DMSC_VER -DOPENFSTEXPORT - -Index: hfst-3.16.0/back-ends/sfst/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/back-ends/sfst/Makefile.am -+++ hfst-3.16.0/back-ends/sfst/Makefile.am -@@ -1,3 +1,4 @@ -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS=-Wno-deprecated - - if WANT_SFST -Index: hfst-3.16.0/configure.ac -=================================================================== ---- hfst-3.16.0.orig/configure.ac -+++ hfst-3.16.0/configure.ac -@@ -47,6 +47,8 @@ AC_SUBST([LIBHFST_MINOR], [16]) - AC_SUBST([LIBHFST_EXTENSION], [0]) - AC_SUBST([LIBHFST_VERSION], [3.16.0]) - AC_SUBST([LIBHFST_NAME], [hfst]) -+my_CXXFLAGS="" -+AC_SUBST([my_CXXFLAGS]) - - # long version = version vector cast in base 10000, for automatic comparisons - # e.g.: 3.3.2 = 0003 0000 0000 + 0003 0000 + 0002 -@@ -658,12 +660,12 @@ AC_CHECK_HEADERS([limits.h stdlib.h stri - AC_LANG_PUSH([C++]) - - # If we're using upstream OpenFST then use C++17, otherwise limit to C++14 --AM_COND_IF([WANT_OPENFST_UPSTREAM], [CXXFLAGS="$CXXFLAGS -std=c++17"], [CXXFLAGS="$CXXFLAGS -std=c++14"]) -+AM_COND_IF([WANT_OPENFST_UPSTREAM], [my_CXXFLAGS="-std=c++17"], [my_CXXFLAGS="-std=c++14"]) - - # On 32bit x86, we need to use SSE for precise floating point arithmetics in OpenFST --AX_CHECK_COMPILE_FLAG([-msse], [CXXFLAGS="$CXXFLAGS -msse"], []) --AX_CHECK_COMPILE_FLAG([-msse2], [CXXFLAGS="$CXXFLAGS -msse2"], []) --AX_CHECK_COMPILE_FLAG([-mfpmath=sse], [CXXFLAGS="$CXXFLAGS -mfpmath=sse"], []) -+AX_CHECK_COMPILE_FLAG([-msse], [my_CXXFLAGS="$my_CXXFLAGS -msse"], []) -+AX_CHECK_COMPILE_FLAG([-msse2], [my_CXXFLAGS="$my_CXXFLAGS -msse2"], []) -+AX_CHECK_COMPILE_FLAG([-mfpmath=sse], [my_CXXFLAGS="$my_CXXFLAGS -mfpmath=sse"], []) - - AC_CHECK_HEADERS([ext/slist]) - -Index: hfst-3.16.0/libhfst/src/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/libhfst/src/Makefile.am -+++ hfst-3.16.0/libhfst/src/Makefile.am -@@ -13,7 +13,7 @@ SUBDIRS=implementations parsers - AUTOMAKE_OPTIONS=subdir-objects - lib_LTLIBRARIES = libhfst.la - --AM_CXXFLAGS=-Wno-deprecated -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -g -+AM_CXXFLAGS = ${my_CXXFLAGS} -Wno-deprecated -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -g - AM_CPPFLAGS = -I${top_srcdir}/libhfst/src - - # HFST bridge specific stuff -Index: hfst-3.16.0/libhfst/src/implementations/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/libhfst/src/implementations/Makefile.am -+++ hfst-3.16.0/libhfst/src/implementations/Makefile.am -@@ -25,7 +25,7 @@ IMPLEMENTATION_SRCS=ConvertTransducerFor - compose_intersect/ComposeIntersectFst.cc \ - compose_intersect/ComposeIntersectUtilities.cc - --AM_CXXFLAGS=-Wno-deprecated -g -+AM_CXXFLAGS = ${my_CXXFLAGS} -Wno-deprecated -g - - AM_CPPFLAGS = -I${top_srcdir}/libhfst/src -I${top_srcdir}/back-ends ${ICU_CPPFLAGS} - if ! WANT_FOMA_UPSTREAM -Index: hfst-3.16.0/libhfst/src/parsers/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/libhfst/src/parsers/Makefile.am -+++ hfst-3.16.0/libhfst/src/parsers/Makefile.am -@@ -9,6 +9,7 @@ - # See the file COPYING included with this distribution for more - # information. - -+AM_CXXFLAGS = ${my_CXXFLAGS} - noinst_LTLIBRARIES=libhfstparsers.la - - XRE_SRCS=xre_lex.ll xre_parse.yy xre_utils.cc XreCompiler.cc -Index: hfst-3.16.0/test/libhfst/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/test/libhfst/Makefile.am -+++ hfst-3.16.0/test/libhfst/Makefile.am -@@ -15,7 +15,7 @@ else - endif - endif - --AM_CXXFLAGS = -Wno-deprecated -+AM_CXXFLAGS = ${my_CXXFLAGS} -Wno-deprecated - - # programs to build before unit etc. testing - check_PROGRAMS=test_rules test_constructors test_streams test_tokenizer \ -Index: hfst-3.16.0/tools/src/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/tools/src/Makefile.am -+++ hfst-3.16.0/tools/src/Makefile.am -@@ -19,7 +19,7 @@ SUBDIRS=hfst-proc hfst-twolc hfst-tagger - AUTOMAKE_OPTIONS=std-options subdir-objects - LDADD = $(top_builddir)/libhfst/src/libhfst.la $(ICU_LIBS) - AM_CPPFLAGS = -I${top_srcdir}/libhfst/src -I${top_srcdir}/libhfst/src/parsers -I${top_srcdir}/tools/src/parsers -Wno-sign-compare ${GLIB_CPPFLAGS} ${ICU_CPPFLAGS} --AM_CXXFLAGS = -Wno-deprecated -Wno-sign-compare -+AM_CXXFLAGS = ${my_CXXFLAGS} -Wno-deprecated -Wno-sign-compare - - # sort alphabetically: - if WANT_AFFIX_GUESSIFY -Index: hfst-3.16.0/tools/src/hfst-proc/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/tools/src/hfst-proc/Makefile.am -+++ hfst-3.16.0/tools/src/hfst-proc/Makefile.am -@@ -15,6 +15,7 @@ - ## You should have received a copy of the GNU General Public License - ## along with this program. If not, see . - -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS = -I${top_srcdir}/libhfst/src -I${top_srcdir}/lib -I${top_builddir}/lib $(GLIB_CPPFLAGS) $(ICU_CPPFLAGS) - - if WANT_PROC -Index: hfst-3.16.0/tools/src/hfst-tagger/src/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/tools/src/hfst-tagger/src/Makefile.am -+++ hfst-3.16.0/tools/src/hfst-tagger/src/Makefile.am -@@ -1,4 +1,4 @@ --AM_CXXFLAGS= -O3 -g -Wall -Wextra -Wcast-qual -Wno-deprecated -Wfatal-errors -Wno-sign-compare\ -+AM_CXXFLAGS= ${my_CXXFLAGS} -O3 -g -Wall -Wextra -Wcast-qual -Wno-deprecated -Wfatal-errors -Wno-sign-compare\ - -I$(top_builddir)/tools/src/inc -I$(top_builddir)/tools/src - - if WANT_TRAIN_TAGGER -Index: hfst-3.16.0/tools/src/hfst-twolc/src/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/tools/src/hfst-twolc/src/Makefile.am -+++ hfst-3.16.0/tools/src/hfst-twolc/src/Makefile.am -@@ -1,4 +1,4 @@ --AM_CXXFLAGS= -Wcast-qual -Wno-deprecated -Wfatal-errors -+AM_CXXFLAGS = ${my_CXXFLAGS} -Wcast-qual -Wno-deprecated -Wfatal-errors - - if WANT_TWOLC_SCRIPT - bin_PROGRAMS=hfst-twolc htwolcpre1 htwolcpre2 htwolcpre3 -Index: hfst-3.16.0/tools/src/parsers/Makefile.am -=================================================================== ---- hfst-3.16.0.orig/tools/src/parsers/Makefile.am -+++ hfst-3.16.0/tools/src/parsers/Makefile.am -@@ -19,6 +19,7 @@ SUBDIRS=test - - hfst_xfst_SOURCES = hfst-xfst.cc $(HFST_COMMON_SRC) - -+AM_CXXFLAGS = ${my_CXXFLAGS} - AM_CPPFLAGS = -I${top_srcdir}/libhfst/src -I${top_srcdir}/libhfst/src/parsers -I${top_srcdir}/tools/src $(GLIB_CPPFLAGS) $(ICU_CPPFLAGS) -Wno-deprecated - - if WANT_XFST diff --git a/hfst-nodate.diff b/hfst-nodate.diff deleted file mode 100644 index d3adfae..0000000 --- a/hfst-nodate.diff +++ /dev/null @@ -1,36 +0,0 @@ -Date: 2014-09-12 12:01:59.975770528 +0200 -From: Jan Engelhardt - -__DATE__ and __TIME__ is useless because we may rebuild regularly, -automatically, and when we do, it changes the binary output for -no reason, defeating the "same result" checker. - ---- - tools/src/hfst-optimized-lookup.cc | 1 - - tools/src/hfst-proc/hfst-proc.cc | 1 - - 2 files changed, 2 deletions(-) - -Index: hfst-3.12.2/tools/src/hfst-optimized-lookup.cc -=================================================================== ---- hfst-3.12.2.orig/tools/src/hfst-optimized-lookup.cc -+++ hfst-3.12.2/tools/src/hfst-optimized-lookup.cc -@@ -97,7 +97,6 @@ bool print_version(void) - std::cout << - "\n" << - PACKAGE_STRING << std::endl << -- __DATE__ << " " __TIME__ << std::endl << - "copyright (C) 2009 University of Helsinki\n"; - return true; - } -Index: hfst-3.12.2/tools/src/hfst-proc/hfst-proc.cc -=================================================================== ---- hfst-3.12.2.orig/tools/src/hfst-proc/hfst-proc.cc -+++ hfst-3.12.2/tools/src/hfst-proc/hfst-proc.cc -@@ -154,7 +154,6 @@ bool print_version(void) - " (" << PACKAGE_STRING << ")" << - #endif - std::endl << -- __DATE__ << " " __TIME__ << std::endl << - "copyright (C) 2009-2011 University of Helsinki\n"; - return true; - } diff --git a/hfst-sse.diff b/hfst-sse.diff index e8c9856..6984eef 100644 --- a/hfst-sse.diff +++ b/hfst-sse.diff @@ -1,18 +1,20 @@ --- - configure.ac | 3 --- - 1 file changed, 3 deletions(-) + configure.ac | 5 ----- + 1 file changed, 5 deletions(-) -Index: hfst-3.16.0/configure.ac +Index: hfst-3.16.1/configure.ac =================================================================== ---- hfst-3.16.0.orig/configure.ac -+++ hfst-3.16.0/configure.ac -@@ -663,9 +663,6 @@ AC_LANG_PUSH([C++]) - AM_COND_IF([WANT_OPENFST_UPSTREAM], [my_CXXFLAGS="-std=c++17"], [my_CXXFLAGS="-std=c++14"]) - - # On 32bit x86, we need to use SSE for precise floating point arithmetics in OpenFST --AX_CHECK_COMPILE_FLAG([-msse], [my_CXXFLAGS="$my_CXXFLAGS -msse"], []) --AX_CHECK_COMPILE_FLAG([-msse2], [my_CXXFLAGS="$my_CXXFLAGS -msse2"], []) --AX_CHECK_COMPILE_FLAG([-mfpmath=sse], [my_CXXFLAGS="$my_CXXFLAGS -mfpmath=sse"], []) +--- hfst-3.16.1.orig/configure.ac ++++ hfst-3.16.1/configure.ac +@@ -647,11 +647,6 @@ CXXFLAGS="$CXXFLAGS -std=c++17" + # Needed for M_LN2 and friends + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE -D_USE_MATH_DEFINES" +-# On 32bit x86, we need to use SSE for precise floating point arithmetics in OpenFST +-AX_CHECK_COMPILE_FLAG([-msse], [CPPFLAGS="$CPPFLAGS -msse"], []) +-AX_CHECK_COMPILE_FLAG([-msse2], [CPPFLAGS="$CPPFLAGS -msse2"], []) +-AX_CHECK_COMPILE_FLAG([-mfpmath=sse], [CPPFLAGS="$CPPFLAGS -mfpmath=sse"], []) +- AC_CHECK_HEADERS([ext/slist]) + AS_IF([test "x$with_sfst" != "xno"], diff --git a/hfst.changes b/hfst.changes index 4026179..620e280 100644 --- a/hfst.changes +++ b/hfst.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Sat Jan 18 15:56:21 UTC 2025 - Jan Engelhardt + +- Update to release 3.16.2 + * Removal of n-best paths search for log weight automata + * Added an experimental C interface library + +------------------------------------------------------------------- +Wed Nov 20 10:58:42 UTC 2024 - Jan Engelhardt + +- Update to release 3.16.1 + * hfst-tokenize escapes both \r and \n now + * regexp parsing more robust with comments and linebreaks + * new tool "hfst-check-alpha" for checking and comparing + alphabets in automata and their metadata + * new tool "hfst-dump-alphabets" for reviewing alphabets easier + than hfst-summarize grepping + * new tool "hfst-kill-paths" for efficient path removal +- Delete 0001-build-fix-build-failure-with-ICU-75.patch, + hfst-nodate.diff (merged) + ------------------------------------------------------------------- Tue Jun 4 09:34:43 UTC 2024 - Jan Engelhardt diff --git a/hfst.spec b/hfst.spec index 3c9cff9..cc3c02b 100644 --- a/hfst.spec +++ b/hfst.spec @@ -1,7 +1,7 @@ # # spec file for package hfst # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: hfst -Version: 3.16.0 +Version: 3.16.2 Release: 0 Summary: Helsinki Finite-State Transducer Technology License: Apache-2.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND GPL-3.0-only @@ -25,8 +25,6 @@ Group: Development/Tools/Other URL: https://hfst.github.io/ Source: https://github.com/hfst/hfst/archive/refs/tags/v%version.tar.gz -Patch1: 0001-build-fix-build-failure-with-ICU-75.patch -Patch2: hfst-nodate.diff Patch3: hfst-sse.diff BuildRequires: autoconf BuildRequires: automake @@ -41,7 +39,7 @@ BuildRequires: ncurses-devel BuildRequires: pkg-config BuildRequires: python3-base BuildRequires: readline-devel -#BuildRequires: pkgconfig(glib-2.0) +BuildRequires: openfst-devel BuildRequires: pkgconfig(icu-uc) >= 50 BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(zlib) @@ -54,7 +52,7 @@ implementation of morphological analyzers and other tools which are based on weighted and unweighted finite-state transducer technology. %package -n libhfst55 -Summary: Helsinki Finite-State Transducer Technology Libraries +Summary: Helsinki Finite-State Transducer C++ API Library License: GPL-3.0-only Group: System/Libraries @@ -63,11 +61,22 @@ The Helsinki Finite-State Transducer software is intended for the implementation of morphological analyzers and other tools which are based on weighted and unweighted finite-state transducer technology. +%package -n libhfst_c0 +Summary: Helsinki Finite-State Transducer C API Library +License: GPL-3.0-only +Group: System/Libraries + +%description -n libhfst_c0 +The Helsinki Finite-State Transducer software is intended for the +implementation of morphological analyzers and other tools which are +based on weighted and unweighted finite-state transducer technology. + %package devel Summary: Development files for the Helsinki Finite-State Transducer License: GPL-3.0-only Group: Development/Libraries/C and C++ Requires: libhfst55 = %version +Requires: libhfst_c0 = %version %description devel The Helsinki Finite-State Transducer software is intended for the @@ -98,8 +107,8 @@ rm -fv "%buildroot/%_libdir/"{libfoma,libfst,libsfst}.so %check %make_build check -j1 -%post -n libhfst55 -p /sbin/ldconfig -%postun -n libhfst55 -p /sbin/ldconfig +%ldconfig_scriptlets -n libhfst55 +%ldconfig_scriptlets -n libhfst_c0 %files %_bindir/hfst* @@ -110,9 +119,13 @@ rm -fv "%buildroot/%_libdir/"{libfoma,libfst,libsfst}.so %files -n libhfst55 %_libdir/libhfst.so.55* +%files -n libhfst_c0 +%_libdir/libhfst_c.so.0* + %files devel %_includedir/* %_libdir/libhfst.so +%_libdir/libhfst_c.so %_libdir/pkgconfig/*.pc %_datadir/aclocal/ diff --git a/v3.16.0.tar.gz b/v3.16.0.tar.gz deleted file mode 100644 index 792182d..0000000 --- a/v3.16.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba8b29226189183414dd0da30b2267a917b483e8da60966b36ff956bd8eba2fd -size 23948916 diff --git a/v3.16.2.tar.gz b/v3.16.2.tar.gz new file mode 100644 index 0000000..84c4b5b --- /dev/null +++ b/v3.16.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:425fac0ca0d7b251d87911ea95636f60e041e1cee712f399ad0acea4b3339175 +size 22846953