{ lib, stdenvNoCC, src, database-tool, jmdict, radkfile, kanjidic2, tanos-jlpt, sqlite, wal ? false, }: stdenvNoCC.mkDerivation { name = "jadb"; inherit src; nativeBuildInputs = [ database-tool sqlite ]; env = { JMDICT_PATH = "${jmdict}/JMdict.xml"; JMDICT_VERSION = jmdict.version; JMDICT_DATE = jmdict.date; JMDICT_HASH = jmdict.hash; KANJIDIC_PATH = "${kanjidic2}/kanjidic2.xml"; KANJIDIC_VERSION = kanjidic2.version; KANJIDIC_DATE = kanjidic2.date; KANJIDIC_HASH = kanjidic2.hash; RADKFILE_PATH = "${radkfile}/RADKFILE"; RADKFILE_VERSION = radkfile.version; RADKFILE_DATE = radkfile.date; RADKFILE_HASH = radkfile.hash; TANOS_JLPT_PATH = toString tanos-jlpt; TANOS_JLPT_VERSION = tanos-jlpt.version; TANOS_JLPT_DATE = tanos-jlpt.date; TANOS_JLPT_HASH = tanos-jlpt.hash; }; buildPhase = '' runHook preBuild for migration in migrations/*.sql; do sqlite3 jadb.sqlite < "$migration" done "${lib.getExe database-tool}" create-db \ ${lib.optionalString wal "--wal"} \ --libsqlite "${sqlite.out}/lib/libsqlite3.so" runHook postBuild ''; installPhase = '' runHook preInstall install -Dm644 -t "$out" jadb.sqlite runHook postInstall ''; }