dictd-db: get rid of builderDefs #4210

This commit is contained in:
Domen Kožar 2016-08-31 10:41:12 +02:00
parent 7b3a36132a
commit 557b329608

View File

@ -1,92 +1,85 @@
{ builderDefs }: { stdenv, fetchurl }:
let makeDictdDB = _src: _name: _subdir: _locale: let
with builderDefs; # Probably a bug in some FreeDict release files, but easier to trivially
let localDefs = builderDefs.passthru.function (rec { # work around than report. Not that it can cause any other problems..
src=_src; makeDictdDBFreedict = src: name: locale:
doInstall = fullDepEntry ('' makeDictdDB src name "{.,bin}" locale;
mkdir -p $out/share/dictd
tar xf ${src}
cp $(ls ./${_subdir}/*.{dict*,index} || true) $out/share/dictd
echo "${_locale}" >$out/share/dictd/locale
'') ["minInit" "addInputs" "defEnsureDir"];
buildInputs = []; makeDictdDB = src: _name: _subdir: _locale:
configureFlags = []; stdenv.mkDerivation rec {
}); name = "dictd-db-${_name}";
in with localDefs; inherit src;
stdenv.mkDerivation rec { locale = _locale;
name = "dictd-db-${_name}"; dbName = _name;
locale = _locale; buildPhase = ":";
dbName = _name; unpackPhase = ''
builder = writeScript (name + "-builder") tar xf ${src}
(textClosure localDefs '';
[doInstall doForceShare doPropagate]); installPhase = ''
meta = { mkdir -p $out/share/dictd
description = "${name} dictionary for dictd"; cp $(ls ./${_subdir}/*.{dict*,index} || true) $out/share/dictd
platforms = stdenv.lib.platforms.linux; echo "${_locale}" >$out/share/dictd/locale
}; '';
};
# Probably a bug in some FreeDict release files, but easier to trivially
# work around than report. Not that it can cause any other problems..
makeDictdDBFreedict = _src: _name: _locale: makeDictdDB _src _name "{.,bin}" _locale;
fetchurl = builderDefs.fetchurl;
in meta = {
description = "dictd-db dictionary for dictd";
rec { platforms = stdenv.lib.platforms.linux;
nld2eng = makeDictdDBFreedict (fetchurl { };
url = http://prdownloads.sourceforge.net/freedict/nld-eng.tar.gz; };
sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07"; in rec {
}) "nld-eng" "nl_NL"; nld2eng = makeDictdDBFreedict (fetchurl {
eng2nld = makeDictdDBFreedict (fetchurl { url = http://prdownloads.sourceforge.net/freedict/nld-eng.tar.gz;
url = mirror://sourceforge/freedict/eng-nld.tar.gz; sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07";
sha256 = "0rcg28ldykv0w2mpxc6g4rqmfs33q7pbvf68ssy1q9gpf6mz7vcl"; }) "nld-eng" "nl_NL";
}) "eng-nld" "en_UK"; eng2nld = makeDictdDBFreedict (fetchurl {
eng2rus = makeDictdDBFreedict (fetchurl { url = mirror://sourceforge/freedict/eng-nld.tar.gz;
url = mirror://sourceforge/freedict/eng-rus.tar.gz; sha256 = "0rcg28ldykv0w2mpxc6g4rqmfs33q7pbvf68ssy1q9gpf6mz7vcl";
sha256 = "15409ivhww1wsfjr05083pv6mg10bak8v5pg1wkiqybk7ck61rry"; }) "eng-nld" "en_UK";
}) "eng-rus" "en_UK"; eng2rus = makeDictdDBFreedict (fetchurl {
fra2eng = makeDictdDBFreedict (fetchurl { url = mirror://sourceforge/freedict/eng-rus.tar.gz;
url = mirror://sourceforge/freedict/fra-eng.tar.gz; sha256 = "15409ivhww1wsfjr05083pv6mg10bak8v5pg1wkiqybk7ck61rry";
sha256 = "0sdd88s2zs5whiwdf3hd0s4pzzv75sdsccsrm1wxc87l3hjm85z3"; }) "eng-rus" "en_UK";
}) "fra-eng" "fr_FR"; fra2eng = makeDictdDBFreedict (fetchurl {
eng2fra = makeDictdDBFreedict (fetchurl { url = mirror://sourceforge/freedict/fra-eng.tar.gz;
url = mirror://sourceforge/freedict/eng-fra.tar.gz; sha256 = "0sdd88s2zs5whiwdf3hd0s4pzzv75sdsccsrm1wxc87l3hjm85z3";
sha256 = "0fi6rrnbqnhc6lq8d0nmn30zdqkibrah0mxfg27hsn9z7alwbj3m"; }) "fra-eng" "fr_FR";
}) "eng-fra" "en_UK"; eng2fra = makeDictdDBFreedict (fetchurl {
mueller_eng2rus_pkg = makeDictdDB (fetchurl { url = mirror://sourceforge/freedict/eng-fra.tar.gz;
url = mirror://sourceforge/mueller-dict/mueller-dict-3.1.tar.gz; sha256 = "0fi6rrnbqnhc6lq8d0nmn30zdqkibrah0mxfg27hsn9z7alwbj3m";
sha256 = "04r5xxznvmcb8hkxqbjgfh2gxvbdd87jnhqn5gmgvxxw53zpwfmq"; }) "eng-fra" "en_UK";
}) "mueller-eng-rus" "mueller-dict-*/dict" "en_UK"; mueller_eng2rus_pkg = makeDictdDB (fetchurl {
mueller_enru_abbr = { url = mirror://sourceforge/mueller-dict/mueller-dict-3.1.tar.gz;
outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-abbrev"; sha256 = "04r5xxznvmcb8hkxqbjgfh2gxvbdd87jnhqn5gmgvxxw53zpwfmq";
name = "mueller-abbr"; }) "mueller-eng-rus" "mueller-dict-*/dict" "en_UK";
dbName = "mueller-abbr"; mueller_enru_abbr = {
locale = "en_UK"; outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-abbrev";
}; name = "mueller-abbr";
mueller_enru_base = { dbName = "mueller-abbr";
outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-base"; locale = "en_UK";
name = "mueller-base"; };
dbName = "mueller-base"; mueller_enru_base = {
locale = "en_UK"; outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-base";
}; name = "mueller-base";
mueller_enru_dict = { dbName = "mueller-base";
outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-dict"; locale = "en_UK";
name = "mueller-dict"; };
dbName = "mueller-dict"; mueller_enru_dict = {
locale = "en_UK"; outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-dict";
}; name = "mueller-dict";
mueller_enru_geo = { dbName = "mueller-dict";
outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-geo"; locale = "en_UK";
name = "mueller-geo"; };
dbName = "mueller-geo"; mueller_enru_geo = {
locale = "en_UK"; outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-geo";
}; name = "mueller-geo";
mueller_enru_names = { dbName = "mueller-geo";
outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-names"; locale = "en_UK";
name = "mueller-names"; };
dbName = "mueller-names"; mueller_enru_names = {
locale = "en_UK"; outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-names";
}; name = "mueller-names";
dbName = "mueller-names";
locale = "en_UK";
};
} }