build: Fix flatpak CI failing
Build libstemmer as a shared library. Use current mainline since that at least supports build system args. Shared lib patch courtesy of Stefano Rivera <stefanor@debian.org>, updated to current head.
This commit is contained in:
parent
4f9df7d74a
commit
2e27a06889
3 changed files with 156 additions and 0 deletions
115
build-aux/patches/shared-library.diff
Normal file
115
build-aux/patches/shared-library.diff
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
Description: Build libstemmer as a shared library.
|
||||
Author: Stefano Rivera <stefanor@debian.org>
|
||||
Forwarded: http://news.gmane.org/find-root.php?message_id=%3c20110821220427.GC1738%40bach.rivera.co.za%3e
|
||||
Last-Update: 2019-10-17
|
||||
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -154,12 +154,13 @@ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURC
|
||||
override CFLAGS += -W -Wall -Wmissing-prototypes -Wmissing-declarations
|
||||
override CPPFLAGS += -Iinclude
|
||||
|
||||
-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
|
||||
+all: snowball libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
|
||||
|
||||
clean:
|
||||
rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
|
||||
$(LIBSTEMMER_OBJECTS) $(LIBSTEMMER_UTF8_OBJECTS) $(STEMWORDS_OBJECTS) snowball \
|
||||
- libstemmer.o stemwords \
|
||||
+ $(wildcard libstemmer.so*) libstemmer.a \
|
||||
+ stemwords \
|
||||
libstemmer/modules.h \
|
||||
libstemmer/modules_utf8.h \
|
||||
$(C_LIB_SOURCES) $(C_LIB_HEADERS) $(C_LIB_OBJECTS) \
|
||||
@@ -173,7 +174,7 @@ clean:
|
||||
libstemmer/mkinc.mak libstemmer/mkinc_utf8.mak \
|
||||
libstemmer/libstemmer.c libstemmer/libstemmer_utf8.c \
|
||||
algorithms.mk
|
||||
- rm -rf dist
|
||||
+ rm -rf dist .shared
|
||||
-rmdir $(c_src_dir)
|
||||
-rmdir $(python_output_dir)
|
||||
-rmdir $(js_output_dir)
|
||||
@@ -197,11 +198,17 @@ libstemmer/modules_utf8.h libstemmer/mki
|
||||
|
||||
libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
|
||||
|
||||
-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,libstemmer.so.0 \
|
||||
+ -o $@.0.0.0 ${^:%=.shared/%}
|
||||
+ ln -s $@.0.0.0 $@.0
|
||||
+ ln -s $@.0.0.0 $@
|
||||
+ $(AR) -crs ${@:.so=.a} $^
|
||||
|
||||
-stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
|
||||
+stemwords: $(STEMWORDS_OBJECTS) libstemmer.so
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $(STEMWORDS_OBJECTS) -L. -lstemmer
|
||||
|
||||
csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
|
||||
$(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
|
||||
@@ -241,7 +248,6 @@ $(c_src_dir)/stem_ISO_8859_2_%.c $(c_src
|
||||
./snowball charsets/ISO-8859-2.sbl $< -o $${o} -eprefix $${l}_ISO_8859_2_ -r ../runtime
|
||||
|
||||
$(c_src_dir)/stem_%.o: $(c_src_dir)/stem_%.c $(c_src_dir)/stem_%.h
|
||||
- $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
||||
|
||||
$(java_src_dir)/%Stemmer.java: algorithms/%.sbl snowball
|
||||
@mkdir -p $(java_src_dir)
|
||||
@@ -473,13 +479,14 @@ check_koi8r: $(KOI8_R_algorithms:%=check
|
||||
# a sibling to this one.
|
||||
STEMMING_DATA ?= ../snowball-data
|
||||
STEMMING_DATA_ABS := $(abspath $(STEMMING_DATA))
|
||||
+STEMWORDS=LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./stemwords
|
||||
|
||||
check_utf8_%: $(STEMMING_DATA)/% stemwords
|
||||
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with UTF-8"
|
||||
@if test -f '$</voc.txt.gz' ; then \
|
||||
- gzip -dc '$</voc.txt.gz'|./stemwords -c UTF_8 -l `echo $<|sed 's!.*/!!'` -o tmp.txt; \
|
||||
+ gzip -dc '$</voc.txt.gz'|$(STEMWORDS) -c UTF_8 -l `echo $<|sed 's!.*/!!'` -o tmp.txt; \
|
||||
else \
|
||||
- ./stemwords -c UTF_8 -l `echo $<|sed 's!.*/!!'` -i $</voc.txt -o tmp.txt; \
|
||||
+ $(STEMWORDS) -c UTF_8 -l `echo $<|sed 's!.*/!!'` -i $</voc.txt -o tmp.txt; \
|
||||
fi
|
||||
@if test -f '$</output.txt.gz' ; then \
|
||||
gzip -dc '$</output.txt.gz'|diff -u - tmp.txt; \
|
||||
@@ -491,7 +498,7 @@ check_utf8_%: $(STEMMING_DATA)/% stemwor
|
||||
check_iso_8859_1_%: $(STEMMING_DATA)/% stemwords
|
||||
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with ISO_8859_1"
|
||||
@$(ICONV) -fUTF8 -tISO8859-1 '$</voc.txt' |\
|
||||
- ./stemwords -c ISO_8859_1 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
+ $(STEMWORDS) -c ISO_8859_1 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
@$(ICONV) -fUTF8 -tISO8859-1 '$</output.txt' |\
|
||||
diff -u - tmp.txt
|
||||
@rm tmp.txt
|
||||
@@ -499,7 +506,7 @@ check_iso_8859_1_%: $(STEMMING_DATA)/% s
|
||||
check_iso_8859_2_%: $(STEMMING_DATA)/% stemwords
|
||||
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with ISO_8859_2"
|
||||
@$(ICONV) -fUTF8 -tISO8859-2 '$</voc.txt' |\
|
||||
- ./stemwords -c ISO_8859_2 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
+ $(STEMWORDS) -c ISO_8859_2 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
@$(ICONV) -fUTF8 -tISO8859-2 '$</output.txt' |\
|
||||
diff -u - tmp.txt
|
||||
@rm tmp.txt
|
||||
@@ -507,7 +514,7 @@ check_iso_8859_2_%: $(STEMMING_DATA)/% s
|
||||
check_koi8r_%: $(STEMMING_DATA)/% stemwords
|
||||
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with KOI8R"
|
||||
@$(ICONV) -fUTF8 -tKOI8-R '$</voc.txt' |\
|
||||
- ./stemwords -c KOI8_R -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
+ $(STEMWORDS) -c KOI8_R -l `echo $<|sed 's!.*/!!'` -o tmp.txt
|
||||
@$(ICONV) -fUTF8 -tKOI8-R '$</output.txt' |\
|
||||
diff -u - tmp.txt
|
||||
@rm tmp.txt
|
||||
@@ -663,4 +670,9 @@ update_version:
|
||||
csharp/Snowball/AssemblyInfo.cs \
|
||||
python/setup.py
|
||||
|
||||
+%.o: %.c
|
||||
+ @mkdir -p $(shell dirname ${@:%=.shared/%})
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -fPIC -o ${@:%=.shared/%} $<
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
||||
+
|
||||
.SUFFIXES: .class .java
|
||||
Loading…
Add table
Add a link
Reference in a new issue