From 2e27a06889c7f39fd0880f43afd6aba695246f1c Mon Sep 17 00:00:00 2001 From: Michael Gratton Date: Mon, 14 Sep 2020 22:43:41 +1000 Subject: [PATCH] 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 , updated to current head. --- build-aux/patches/shared-library.diff | 115 ++++++++++++++++++++++++++ org.gnome.Geary.json | 24 ++++++ org.gnome.Geary.yaml | 17 ++++ 3 files changed, 156 insertions(+) create mode 100644 build-aux/patches/shared-library.diff diff --git a/build-aux/patches/shared-library.diff b/build-aux/patches/shared-library.diff new file mode 100644 index 00000000..9fd094e7 --- /dev/null +++ b/build-aux/patches/shared-library.diff @@ -0,0 +1,115 @@ +Description: Build libstemmer as a shared library. +Author: Stefano Rivera +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 '$