From 935e016c401defb0ec37a5cd70d463672df8fe30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Katariina=20J=C3=A4rvenm=C3=A4ki?= Date: Sun, 29 Mar 2026 13:34:44 +0300 Subject: [PATCH] Ignore Tampio output and add fi-x-morpho dictionary to Docker --- .gitignore | 6 ++++++ Dockerfile | 15 ++++++++++++++- Makefile | 22 ++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index 29115ae..ab6cc1e 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,9 @@ npm-debug.log* # Mac and Windows breadcrumbs .DS_Store Thumbs.db + +# Compiled Tampio output — generated from .itp source files via `make` +examples/**/*.html + +# Hiding temp files +diff.txt \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8a9cd99..88b7686 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,15 +4,28 @@ FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive # libvoikko: the Finnish morphology library Tampio depends on -# voikko-fi: the actual Finnish dictionary data +# voikko-fi: provides only mor-standard; fi-x-morpho must be downloaded separately RUN apt-get update && apt-get install -y \ libvoikko-dev \ voikko-fi \ python3 \ python3-libvoikko \ git \ + curl \ + unzip \ && rm -rf /var/lib/apt/lists/* +# Install the fi-x-morpho dictionary that Tampio requires. +# The voikko-fi apt package only ships mor-standard; the morpho variant is a +# separate snapshot published by the voikko-fi project. The zip unpacks to +# 5/mor-morpho/ which is exactly where libvoikko looks for it under a search +# path. We install it system-wide under /usr/lib/voikko so it is available to +# all users (including non-interactive Docker runs). +RUN curl -fsSL https://www.puimula.org/htp/testing/voikko-snapshot-v5/dict-morpho.zip \ + -o /tmp/dict-morpho.zip \ + && unzip /tmp/dict-morpho.zip -d /usr/lib/voikko \ + && rm /tmp/dict-morpho.zip + # Install Tampio directly from source (not on PyPI or npm) RUN git clone https://github.com/fergusq/tampio.git /opt/tampio diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..21e931f --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +TAMPIO = docker compose run --rm tampio tampio -i -p + +EXAMPLES = \ + examples/basics/hello.html \ + examples/basics/factorial.html \ + examples/basics/fibonacci.html \ + examples/basics/index.html \ + examples/data-structures/lista.html \ + examples/data-structures/vektori.html \ + examples/strings/merkkijono.html \ + examples/async/nappi.html \ + examples/program/kasvutaulukko.html + +.PHONY: all clean + +all: $(EXAMPLES) + +%.html: %.itp + $(TAMPIO) $< 2>/dev/null > $@ + +clean: + rm -f $(EXAMPLES)