Merge pull request #239423 from NixOS/backport-239230-to-release-23.05

[Backport release-23.05] Fix dictdDBs reproducibility with faketime
This commit is contained in:
Nick Cao
2023-06-24 10:25:14 +08:00
committed by GitHub
3 changed files with 13 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
{ stdenv, lib, dict }:
{ stdenv, lib, dict, libfaketime }:
({ dictlist, allowList ? [ "127.0.0.1" ], denyList ? [ ] }:
/*
@@ -56,7 +56,8 @@ let
ln -s "$i".dict.dz
else
cp "$i".dict .
dictzip "$base".dict
source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T")
faketime -f "$source_date" dictzip "$base".dict
fi
ln -s "$i".index .
dictfmt_index2word --locale $locale < "$base".index > "$base".word || true
@@ -76,6 +77,7 @@ in
stdenv.mkDerivation {
name = "dictd-dbs";
nativeBuildInputs = [ libfaketime ];
buildInputs = [ dict ];
dontUnpack = true;

View File

@@ -1,10 +1,10 @@
{lib, stdenv, python3, wordnet, writeScript}:
{lib, stdenv, python3, wordnet, writeScript, libfaketime}:
stdenv.mkDerivation rec {
version = "542";
pname = "dict-db-wordnet";
buildInputs = [python3 wordnet];
buildInputs = [python3 wordnet libfaketime];
convert = ./wordnet_structures.py;
builder = writeScript "builder.sh" ''
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
DATA="$DATA `echo $i | sed -e s,data,index,` $i";
done
python ${convert} $DATA
source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T")
faketime -f "$source_date" python ${convert} $DATA
echo en_US.UTF-8 > locale
'';

View File

@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, python3, dict, glibcLocales }:
{ lib, stdenv, fetchurl, python3, dict, glibcLocales, libfaketime }:
stdenv.mkDerivation rec {
pname = "dict-db-wiktionary";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "qsha26LL2513SDtriE/0zdPX1zlnpzk1KKk+R9dSdew=";
};
nativeBuildInputs = [ python3 dict glibcLocales ];
nativeBuildInputs = [ python3 dict glibcLocales libfaketime ];
dontUnpack = true;
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/dictd/
cd $out/share/dictd
${python3.interpreter} -O ${./wiktionary2dict.py} "${src}"
dictzip wiktionary-en.dict
source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T")
faketime -f "$source_date" ${python3.interpreter} -O ${./wiktionary2dict.py} "${src}"
faketime -f "$source_date" dictzip wiktionary-en.dict
echo en_US.UTF-8 > locale
'';