[info=bf719ddd54bf5cf61438eb32dc0e89704e0d51bbd959d687a2b1df22fd8c0e43]

OBS-URL: https://build.opensuse.org/package/show/devel:tools/hfst?expand=0&rev=19
This commit is contained in:
OBS User unknown 2025-01-18 16:23:17 +00:00 committed by Git OBS Bridge
parent 1686c3bf02
commit bb80946211
9 changed files with 62 additions and 305 deletions

View File

@ -1,243 +0,0 @@
From 6b2fd057b6efe178d3501b4dcc9fe1fde9a206bd Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
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 <http://www.gnu.org/licenses/>.
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 <http://www.gnu.org/licenses/>.
+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

View File

@ -1,4 +1,4 @@
mtime: 1717601980
commit: 99a5bcc8a28ff276c02ebfbbdf9a1729686797cd2efe74ff6f6477d8d6d308ec
mtime: 1737217365
commit: bf719ddd54bf5cf61438eb32dc0e89704e0d51bbd959d687a2b1df22fd8c0e43
url: https://src.opensuse.org/jengelh/hfst
revision: master

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3918b38674c8e7620caf275931bcb0a89c4f6e65fce8f9de82c7d661dbfeb0f
oid sha256:629e003804ad161e2f2e446845365e230c896c72e117bdc785fa8991c5b82369
size 256

View File

@ -1,36 +0,0 @@
Date: 2014-09-12 12:01:59.975770528 +0200
From: Jan Engelhardt <jengelh@inai.de>
__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;
}

View File

@ -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"],

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Sat Jan 18 15:56:21 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- 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 <jengelh@inai.de>
- 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 <jengelh@inai.de>

View File

@ -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/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba8b29226189183414dd0da30b2267a917b483e8da60966b36ff956bd8eba2fd
size 23948916

BIN
v3.16.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.