igerman98 (20091006-4.2) 18_aspell.dpatch

Summary

 Makefile               |   41 +++++++++++++++++++++++++++++++++++++++++
 aspell/de_all.multi.in |    3 ++-
 2 files changed, 43 insertions(+), 1 deletion(-)

    
download this patch

Patch contents

#! /bin/sh /usr/share/dpatch/dpatch-run
## 18_aspell.dpatch by Roland Rosenfeld <roland@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Build aspell cwl files for de_DE, de_AT, de_CH and de-common.

@DPATCH@
diff -urNad igerman98~/Makefile igerman98/Makefile
--- igerman98~/Makefile
+++ igerman98/Makefile
@@ -88,6 +88,7 @@
 #UNSQ = unsq.pl
 
 ASPELL = aspell
+PREZIP = prezip
 
 # if you don't have ispell around, you may change this to aspell:
 AFFIX_EXPANDER = ispell
@@ -203,6 +204,13 @@
 	# the warnings about skipped words should be ignorable...
 	$(ASPELL) --lang=$(1) --dict-dir=./aspell/ --local-data-dir=./aspell/ create master $(1).rws < myspell/$(1).dic
 
+aspell/$(1)-special.wl: $$(WORDS_$(1)) aspell/$(1).multi aspell/$(1).alias
+	cat $$(WORDS_$(1)) \
+		| (test -e ./bin/conv_dict_$(1) && ./bin/conv_dict_$(1) || cat) \
+		| ./bin/myspell-generic-process.sh \
+		| $(SED) -f ./bin/dic2iso \
+		> $$@
+
 myspell/$(1).dic: $$(WORDS_$(1)) $$(WORDS_de_all) dicts/abkuerzpunkt.txt
 	cat $$(WORDS_$(1)) $$(WORDS_de_all) dicts/abkuerzpunkt.txt \
 		| (test -e ./bin/conv_dict_$(1) && ./bin/conv_dict_$(1) || cat) \
@@ -215,7 +223,40 @@
 endef
 $(foreach langcode,$(LANGS) liglist,$(eval $(call LANG_myspell_template,$(langcode))))
 
+aspell/de-common-szlig.wl: $(WORDS_de_all)
+	cat $(WORDS_de_all) | ./bin/myspell-generic-process.sh \
+		| $(SED) -f ./bin/dic2iso \
+		| sort -u > $@
+
+aspell/szlig.wl: aspell/de-common-szlig.wl
+	grep ß $< > $@
+
+aspell/ss.wl: aspell/szlig.wl
+	$(SED) 's/ß/ss/g' < $< > $@
+
+aspell/de-common.wl: aspell/de-common-szlig.wl aspell/de.dat aspell/de_affix.dat aspell/de_phonet.dat
+	grep -v ß aspell/de-common-szlig.wl > $@
 
+aspell/de_DE-only.wl: aspell/szlig.wl aspell/de_DE-special.wl
+	sort -u $< > $@
+
+aspell/de_AT-only.wl: aspell/szlig.wl aspell/de_AT-special.wl
+	sort -u $< > $@
+
+aspell/de_CH-only.wl: aspell/ss.wl aspell/de_CH-special.wl
+	sort -u $< > $@
+
+aspell/de.dat: aspell/de_all.dat.in
+	$(SED) "s/LANG_REPLACE/de/g" < aspell/de_all.dat.in > $@
+
+aspell/de_affix.dat: myspell/de_DE.aff
+	$(CP) $< $@
+
+aspell/de_phonet.dat: aspell/de_all_phonet.dat.in
+	$(CP) $< $@
+
+%.cwl: %.wl
+	$(PREZIP) < $< > $@
 
 define LANG_aff_template
 
diff -urNad igerman98~/aspell/de_all.multi.in igerman98/aspell/de_all.multi.in
--- igerman98~/aspell/de_all.multi.in
+++ igerman98/aspell/de_all.multi.in
@@ -1 +1,2 @@
-add de_DE.rws
+add de-common.rws
+add LANG_REPLACE-only.rws