Étape 0a.2 : gnubg de référence et 32 positions de référence

Fusion du travail du sous-agent (branche moteur-reference-travail) ; plan
supprimé à la clôture, son résultat est repris dans la merge request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 14:00:06 +01:00
co-authored by Claude Opus 5.5
40 changed files with 8088 additions and 4 deletions
+46
View File
@@ -0,0 +1,46 @@
# GNU Backgammon de référence pour les tests d'Ustagammon (ADR 0005).
#
# Compile gnubg en ligne de commande, sans interface graphique, depuis le
# commit figé 14b67984737ded0f6de43d63dcb789f729d9b06b (1.08.003), avec le
# scripting Python intégré. Produit aussi, avec les outils officiels de gnubg,
# les données dont le moteur embarqué devra se servir à l'identique :
# gnubg.wd : poids du réseau, binaires, par `makeweights` ;
# gnubg_os0.bd : base de sortie à un côté, par `makebearoff -o 6 -s 7999999` ;
# gnubg_ts0.bd : base de sortie à deux côtés, par `makebearoff -t 6x6`.
# `make` les produit et `make install` les installe dans /usr/local/share/gnubg/ ;
# leurs sommes SHA-256 sont dans /usr/local/share/gnubg/donnees.sha256.
FROM debian:trixie
ARG GNUBG_DEPOT=https://git.savannah.gnu.org/git/gnubg.git
ARG GNUBG_COMMIT=14b67984737ded0f6de43d63dcb789f729d9b06b
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
autoconf automake autopoint bison build-essential ca-certificates \
flex gettext git libglib2.0-dev libtool pkgconf python3-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src/gnubg
RUN git init -q . \
&& git remote add origin "$GNUBG_DEPOT" \
&& git fetch -q --depth 1 origin "$GNUBG_COMMIT" \
&& git checkout -q FETCH_HEAD \
&& test "$(git rev-parse HEAD)" = "$GNUBG_COMMIT"
# Options figées pour un résultat indépendant de la machine hôte :
# - pas d'interface graphique, pas de plateau 3D, pas de SQLite ;
# - SIMD forcé à SSE2 (présent sur tout x86-64) au lieu de la détection
# automatique du processeur de la machine qui construit l'image ;
# - drapeaux de compilation par défaut de gnubg (-O3 -ffast-math).
RUN ./autogen.sh \
&& ./configure --without-gtk --without-board3d --without-sqlite \
--with-python=python3 --enable-simd=sse2 \
&& make -j2 \
&& make install \
&& cd /usr/local/share/gnubg \
&& sha256sum /src/gnubg/gnubg.weights gnubg.wd gnubg_os0.bd gnubg_ts0.bd met/Kazaross-XG2.xml > donnees.sha256 \
&& printf '%s\n' "$GNUBG_COMMIT" > commit
ENV LANG=C.UTF-8
WORKDIR /travail