# aspell 0.50.5 and the aspell-en 0.50-2 dictionary, as Psion pinned them. # # meta/soho-image.oe -> meta-psion.oe lists aspell-en in psion-apps, so every # soho image had spellchecking for Word and Sheet. It was the one genuine gap # in this build against Psion's own manifest. # # Psion carry two recipes: aspell-native_0.50.5.oe and aspell-en_0.50-2.oe. # The dictionary needs word-list-compress from a NATIVE aspell to compress its # word lists; on a cross build that means building aspell twice. Here the # chroot IS the target, so one build serves both, the same way cdump did for # abiword. # # Psion's configure.patch on the dictionary is already applied in the source # tree; it adds the missing optarg extraction to that hand-rolled configure # (without it --vars DICT_DIR=... silently sets nothing) and turns on sh -x. # # gcc 3.4 for the libstdc++ reason in docs/04-CROSS-COMPILING.md: aspell is C++. set -x rm -rf /build/out; mkdir -p /build/out/bin /build/out/lib /build/out/dict export LC_ALL=C export CC=gcc-3.4 export CXX=g++-3.4 echo "=== VERIFY: Psion's optarg fix is in the dictionary's configure" grep -c 'optarg=`expr' /build/aspell-en-0.50-2/configure echo "=== 1. aspell itself" cd /build/aspell-0.50.5 || { echo NO_ASPELL_SRC; exit 1; } ./configure --prefix=/usr --disable-static \ --enable-curses=no --disable-nls \ > /build/out/aspell-conf.log 2>&1 echo "RC_conf=$?" tail -12 /build/out/aspell-conf.log make > /build/out/aspell-make.log 2>&1 echo "RC_make=$?" grep -E 'error:|Error [0-9]|undefined reference' /build/out/aspell-make.log | head -8 for f in prog/aspell prog/word-list-compress; do [ -f "$f" ] && { cp "$f" /build/out/bin/; echo "GOT_$(basename $f)=$(wc -c < $f)"; } || echo "MISSING_$(basename $f)" done for l in lib/.libs/libaspell.so*; do [ -f "$l" ] && cp -a "$l" /build/out/lib/ 2>/dev/null done ls -l /build/out/lib/ | head echo "=== install aspell into the chroot so the dictionary can use it" make install > /build/out/aspell-install.log 2>&1 echo "RC_install=$?" which aspell word-list-compress aspell --version 2>&1 | head -2 echo "=== 2. the English dictionary (UK, US, CN)" cd /build/aspell-en-0.50-2 || { echo NO_DICT_SRC; exit 1; } # exactly Psion's do_configure ./configure --vars DICT_DIR="/usr/lib/aspell" DATA_DIR="/usr/share/aspell" \ > /build/out/dict-conf.log 2>&1 echo "RC_dictconf=$?" tail -12 /build/out/dict-conf.log make > /build/out/dict-make.log 2>&1 echo "RC_dictmake=$?" grep -E 'error|Error [0-9]' /build/out/dict-make.log | head -8 make install > /build/out/dict-install.log 2>&1 echo "RC_dictinstall=$?" echo "=== what landed, per Psion's FILES_: /usr/lib/aspell and /usr/share/aspell" ls -l /usr/lib/aspell/ 2>/dev/null | head -20 ls -l /usr/share/aspell/ 2>/dev/null | head -20 mkdir -p /build/out/dict/lib /build/out/dict/share cp -a /usr/lib/aspell/* /build/out/dict/lib/ 2>/dev/null cp -a /usr/share/aspell/* /build/out/dict/share/ 2>/dev/null echo "DICT_LIB_COUNT=$(ls /build/out/dict/lib 2>/dev/null | wc -l)" echo "DICT_SHARE_COUNT=$(ls /build/out/dict/share 2>/dev/null | wc -l)" echo "=== VERIFY: does it actually spellcheck?" echo "recieve teh speling" | aspell -l en list 2>&1 | head -5 echo "=== OABI and linkage" for f in /build/out/bin/* /build/out/lib/*; do [ -f "$f" ] || continue echo "--- $f" readelf -h "$f" 2>/dev/null | grep -iE 'class|flags' readelf -d "$f" 2>/dev/null | grep NEEDED done echo BUILD_SCRIPT_DONE