From d59563b64de1442aa88523cbf1cf73f8d3548499 Mon Sep 17 00:00:00 2001 From: extrowerk <5569059+extrowerk@users.noreply.github.com> Date: Tue, 23 Nov 2021 17:30:51 +0100 Subject: [PATCH] Snowball Stemmer: new recipe (#6418) --- .../patches/snowball_stemmer-2.2.0.patchset | 62 +++++++++++++++ .../snowball_stemmer-2.2.0.recipe | 79 +++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 dev-libs/snowball_stemmer/patches/snowball_stemmer-2.2.0.patchset create mode 100644 dev-libs/snowball_stemmer/snowball_stemmer-2.2.0.recipe diff --git a/dev-libs/snowball_stemmer/patches/snowball_stemmer-2.2.0.patchset b/dev-libs/snowball_stemmer/patches/snowball_stemmer-2.2.0.patchset new file mode 100644 index 000000000..7b145ce91 --- /dev/null +++ b/dev-libs/snowball_stemmer/patches/snowball_stemmer-2.2.0.patchset @@ -0,0 +1,62 @@ +From 21cb12c426601aef2d97de01801a4c1979029707 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sun, 21 Nov 2021 04:01:06 +0100 +Subject: Imported alpine linux shared lib patch + https://git.alpinelinux.org/aports/tree/community/snowball/libstemmer-library.patch + + +diff --git a/GNUmakefile b/GNUmakefile +index 98eb1fa..d94c845 100644 +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -8,6 +8,8 @@ ifeq ($(OS),Windows_NT) + EXEEXT = .exe + endif + ++MAJOR_VERSION := $(shell echo $(SNOWBALL_VERSION) | cut -d. -f1) ++ + c_src_dir = src_c + + JAVAC ?= javac +@@ -170,12 +172,12 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o) + JAVA_CLASSES = $(JAVA_SOURCES:.java=.class) + JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class) + +-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations ++CFLAGS=-fPIC -O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations + CPPFLAGS= + + INCLUDES=-Iinclude + +-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) ++all: snowball$(EXEEXT) libstemmer.a libstemmer.so stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) + + algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt + libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt +@@ -225,6 +227,11 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS) + libstemmer.a: 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,$@.$(MAJOR_VERSION),-version-script,libstemmer/symbol.map -o $@.$(SNOWBALL_VERSION) $^ ++ ln -s $@.$(SNOWBALL_VERSION) $@.$(MAJOR_VERSION) ++ ln -s $@.$(SNOWBALL_VERSION) $@ ++ + examples/%.o: examples/%.c + $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $< + +diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map +new file mode 100644 +index 0000000..7a3d423 +--- /dev/null ++++ b/libstemmer/symbol.map +@@ -0,0 +1,6 @@ ++SB_STEMMER_0 { ++ global: ++ sb_stemmer_*; ++ local: ++ *; ++}; +-- +2.30.2 + diff --git a/dev-libs/snowball_stemmer/snowball_stemmer-2.2.0.recipe b/dev-libs/snowball_stemmer/snowball_stemmer-2.2.0.recipe new file mode 100644 index 000000000..d29907f22 --- /dev/null +++ b/dev-libs/snowball_stemmer/snowball_stemmer-2.2.0.recipe @@ -0,0 +1,79 @@ +SUMMARY="Snowball compiler and stemming algorithms" +DESCRIPTION="Snowball is a small string processing language for creating \ +stemming algorithms for use in Information Retrieval, plus a collection of \ +stemming algorithms implemented using it." +HOMEPAGE="https://github.com/snowballstem/snowball" +COPYRIGHT="2001 Dr Martin Porter + 2004,2005 Richard Boulton + 2013 Yoshiki Shibukawa + 2006,2007,2009,2010,2011,2014-2019 Olly Betts" +LICENSE="BSD (3-clause)" +REVISION="1" +SOURCE_URI="https://github.com/snowballstem/snowball/archive/refs/tags/v${portVersion}.tar.gz" +CHECKSUM_SHA256="425cdb5fba13a01db59a1713780f0662e984204f402d3dae1525bda9e6d30f1a" +PATCHES="snowball_stemmer-$portVersion.patchset" +SOURCE_DIR="snowball-$portVersion" + +ARCHITECTURES="all ?x86" +SECONDARY_ARCHITECTURES="x86" + +libVersion="2.2.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + snowball_stemmer$secondaryArchSuffix = $portVersion + cmd:snowball$secondaryArchSuffix = portVersion compat >= 2 + cmd:stemwords$secondaryArchSuffix = portVersion compat >= 2 + lib:libstemmer$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +PROVIDES_devel=" + snowball_stemmer${secondaryArchSuffix}_devel = portVersion + devel:libstemmer$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + snowball_stemmer$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:perl + " + +defineDebugInfoPackage snowball_stemmer$secondaryArchSuffix \ + $libDir/libstemmer.so.2 + +BUILD() +{ + make $jobArgs +} + +INSTALL() +{ + install -d $binDir $libDir $includeDir + install snowball stemwords $binDir + install libstemmer.a $libDir + install include/libstemmer.h $includeDir + install libstemmer.so.* $libDir + + # prepare develop/lib + prepareInstalledDevelLibs libstemmer + fixPkgconfig + + # devel package + packageEntries devel \ + $developDir +} + +TEST() +{ + make check_stemtest +}