diff --git a/common/shlibs b/common/shlibs index 7e6b6fb0d1d..b8fda590d5f 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4027,3 +4027,4 @@ librnnoise.so.0 rnnoise-0.4.1_1 liblhasa.so.0 lhasa-0.3.1_2 libmt32emu.so.2 libmt32emu-2.5.1_1 libqrtr-glib.so.0 libqrtr-glib-1.0.0_1 +libstemmer.so.2 libstemmer-2.1.0_1 diff --git a/srcpkgs/libstemmer b/srcpkgs/libstemmer new file mode 120000 index 00000000000..80a797598ae --- /dev/null +++ b/srcpkgs/libstemmer @@ -0,0 +1 @@ +snowball \ No newline at end of file diff --git a/srcpkgs/libstemmer-devel b/srcpkgs/libstemmer-devel new file mode 120000 index 00000000000..80a797598ae --- /dev/null +++ b/srcpkgs/libstemmer-devel @@ -0,0 +1 @@ +snowball \ No newline at end of file diff --git a/srcpkgs/snowball/patches/libstemmer-library.patch b/srcpkgs/snowball/patches/libstemmer-library.patch new file mode 100644 index 00000000000..4dbb89061be --- /dev/null +++ b/srcpkgs/snowball/patches/libstemmer-library.patch @@ -0,0 +1,33 @@ +based on alpine patches which are based on gentoo patches +https://gitlab.alpinelinux.org/alpine/aports/-/blob/d16eed94064539a7a1f0242709e8d7b76448c51a/community/snowball/libstemmer-library.patch + +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -165,7 +165,7 @@ + CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations + CPPFLAGS=-Iinclude + +-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) ++all: snowball libstemmer.so libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) + + clean: + rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \ +@@ -212,6 +212,9 @@ + libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) + $(AR) -cru $@ $^ + ++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) ++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.$(shell echo $(SNOWBALL_VERSION) | cut -d. -f1),-version-script,libstemmer/symbol.map -o $@.$(SNOWBALL_VERSION) $^ ++ + stemwords: $(STEMWORDS_OBJECTS) libstemmer.o + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + +--- /dev/null ++++ b/libstemmer/symbol.map +@@ -0,0 +1,6 @@ ++SB_STEMMER_0 { ++ global: ++ sb_stemmer_*; ++ local: ++ *; ++}; diff --git a/srcpkgs/snowball/template b/srcpkgs/snowball/template new file mode 100644 index 00000000000..784d281e145 --- /dev/null +++ b/srcpkgs/snowball/template @@ -0,0 +1,60 @@ +# Template file for 'snowball' +pkgname=snowball +version=2.1.0 +revision=1 +build_style=gnu-makefile +build_helper=qemu +make_check_target=check_stemtest # other checks are missing targets in the makefile +hostmakedepends="perl" +short_desc="Small string processing language for creating stemming algorithms" +maintainer="Michal Vasilek " +license="BSD-3-Clause" +homepage="https://snowballstem.org/" +distfiles="https://github.com/snowballstem/snowball/archive/refs/tags/v${version}.tar.gz" +checksum=24ae0b28d6531190c2cd960d515ec9374d3a3d9420c4a0accdf89b7f02fc9caa + +post_patch() { + if [ -n "$CROSS_BUILD" ]; then + vsed -i GNUmakefile \ + -e 's|\t\./snowball|\tqemu-${XBPS_TARGET_QEMU_MACHINE}-static ./snowball|' + fi +} + +do_install() { + vbin snowball + vbin stemwords + + vinstall include/libstemmer.h 644 usr/include + vinstall libstemmer.so.$version 644 usr/lib + ln -s libstemmer.so.$version ${DESTDIR}/usr/lib/libstemmer.so + ln -s libstemmer.so.$version ${DESTDIR}/usr/lib/libstemmer.so.${version%.*.*} + + # the static library has .o suffix + # https://github.com/snowballstem/snowball/pull/150 + vinstall libstemmer.o 644 usr/lib libstemmer.a + + vlicense COPYING +} + +# XXX: upstream doesn't generate a dynamic library for libstemmer +# each distribution patches this on their own: +# Arch: https://github.com/archlinux/svntogit-packages/tree/packages/snowball/trunk +# Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/snowball +# Gentoo: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/snowball-stemmer + +libstemmer_package() { + short_desc="Stemming algorithm library" + pkg_install() { + vmove "usr/lib/libstemmer.so.*" + } +} + +libstemmer-devel_package() { + depends="libstemmer>=${version}_${revision}" + short_desc="Stemming algorithm library - development files" + pkg_install() { + vmove usr/lib/libstemmer.a + vmove usr/lib/libstemmer.so + vmove usr/include + } +}