diff options
author | Ben Siraphob <bensiraphob@gmail.com> | 2021-07-27 21:13:58 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-27 21:13:58 +0700 |
commit | ab04fe7bc21cabc0791fc82e4d48093532ee4686 (patch) | |
tree | 7e09e755c6d9398e5c986bb5487c94b8bbda5bec /pkgs/servers | |
parent | 483b32bb732a412afe0d261cc85874243428ecd8 (diff) | |
parent | 9b6c409fb441915da659307a94655fa978ddf256 (diff) | |
download | nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar.gz nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar.bz2 nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar.lz nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar.xz nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.tar.zst nixlib-ab04fe7bc21cabc0791fc82e4d48093532ee4686.zip |
Merge pull request #131393 from Stunkymonkey/dictd-dbs-phases
dict-dbs: deprecate phases
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/dict/dictd-db-collector.nix | 134 |
1 files changed, 68 insertions, 66 deletions
diff --git a/pkgs/servers/dict/dictd-db-collector.nix b/pkgs/servers/dict/dictd-db-collector.nix index f635c98602d9..faf0fd24831c 100644 --- a/pkgs/servers/dict/dictd-db-collector.nix +++ b/pkgs/servers/dict/dictd-db-collector.nix @@ -1,80 +1,82 @@ -{stdenv, lib, dict}: -({dictlist, allowList ? ["127.0.0.1"], denyList ? []}: +{ stdenv, lib, dict }: +({ dictlist, allowList ? [ "127.0.0.1" ], denyList ? [ ] }: + /* - dictlist is a list of form - [ { filename = /path/to/files/basename; - name = "name"; } ] - basename.dict.dz and basename.index should be - dict files. Or look below for other options. - allowList is a list of IP/domain *-wildcarded strings - denyList is the same.. + dictlist is a list of form + [ { filename = /path/to/files/basename; + name = "name"; } ] + basename.dict.dz and basename.index should be + dict files. Or look below for other options. + allowList is a list of IP/domain *-wildcarded strings + denyList is the same.. */ let - link_arguments = map - (x: '' "${x.filename}" '') - dictlist; - databases = lib.concatStrings (map (x : - "${x.name} ${x.filename}\n") dictlist); - allow = lib.concatStrings (map (x: "allow ${x}\n") allowList); - deny = lib.concatStrings (map (x: "deny ${x}\n") denyList); - accessSection = " - access { - ${allow} - ${deny} - } - "; - installPhase = '' - mkdir -p $out/share/dictd - cd $out/share/dictd - echo "${databases}" >databases.names - echo "${accessSection}" > dictd.conf - for j in ${toString link_arguments}; do - name="$(egrep ' '"$j"\$ databases.names)" - name=''${name% $j} - if test -d "$j"; then - if test -d "$j"/share/dictd ; then - echo "Got store path $j" - j="$j"/share/dictd - fi - echo "Directory reference: $j" - i=$(ls "$j""/"*.index) - i="''${i%.index}"; - else - i="$j"; - fi - echo "Basename is $i" - locale=$(cat "$(dirname "$i")"/locale) - base="$(basename "$i")" - echo "Locale is $locale" - export LC_ALL=$locale - export LANG=$locale - if test -e "$i".dict.dz; then - ln -s "$i".dict.dz - else - cp "$i".dict . - dictzip "$base".dict - fi - ln -s "$i".index . - dictfmt_index2word --locale $locale < "$base".index > "$base".word || true - dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true + link_arguments = map + (x: '' "${x.filename}" '') + dictlist; + databases = lib.concatStrings (map + (x: + "${x.name} ${x.filename}\n") + dictlist); + allow = lib.concatStrings (map (x: "allow ${x}\n") allowList); + deny = lib.concatStrings (map (x: "deny ${x}\n") denyList); + accessSection = " + access { + ${allow} + ${deny} + } +"; + installPhase = '' + mkdir -p $out/share/dictd + cd $out/share/dictd + echo "${databases}" >databases.names + echo "${accessSection}" > dictd.conf + for j in ${toString link_arguments}; do + name="$(egrep ' '"$j"\$ databases.names)" + name=''${name% $j} + if test -d "$j"; then + if test -d "$j"/share/dictd ; then + echo "Got store path $j" + j="$j"/share/dictd + fi + echo "Directory reference: $j" + i=$(ls "$j""/"*.index) + i="''${i%.index}"; + else + i="$j"; + fi + echo "Basename is $i" + locale=$(cat "$(dirname "$i")"/locale) + base="$(basename "$i")" + echo "Locale is $locale" + export LC_ALL=$locale + export LANG=$locale + if test -e "$i".dict.dz; then + ln -s "$i".dict.dz + else + cp "$i".dict . + dictzip "$base".dict + fi + ln -s "$i".index . + dictfmt_index2word --locale $locale < "$base".index > "$base".word || true + dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true - echo "database $name {" >> dictd.conf - echo " data $out/share/dictd/$base.dict.dz" >> dictd.conf - echo " index $out/share/dictd/$base.index" >> dictd.conf - echo " index_word $out/share/dictd/$base.word" >> dictd.conf - echo " index_suffix $out/share/dictd/$base.suffix" >> dictd.conf - echo "}" >> dictd.conf - done - ''; + echo "database $name {" >> dictd.conf + echo " data $out/share/dictd/$base.dict.dz" >> dictd.conf + echo " index $out/share/dictd/$base.index" >> dictd.conf + echo " index_word $out/share/dictd/$base.word" >> dictd.conf + echo " index_suffix $out/share/dictd/$base.suffix" >> dictd.conf + echo "}" >> dictd.conf + done + ''; in stdenv.mkDerivation { name = "dictd-dbs"; - phases = ["installPhase"]; - buildInputs = [dict]; + buildInputs = [ dict ]; inherit installPhase; }) |