about summary refs log tree commit diff
path: root/pkgs/servers/dict
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/dict')
-rw-r--r--pkgs/servers/dict/default.nix23
-rw-r--r--pkgs/servers/dict/dictd-db.nix178
-rw-r--r--pkgs/servers/dict/dictd-wiktionary.nix6
-rw-r--r--pkgs/servers/dict/dictd-wordnet.nix4
-rw-r--r--pkgs/servers/dict/libmaa.nix2
5 files changed, 115 insertions, 98 deletions
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index ee0477734c2f..6868c0f81664 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -1,22 +1,35 @@
 { stdenv, fetchurl, which, bison, flex, libmaa, zlib, libtool }:
 
 stdenv.mkDerivation rec {
-  version = "1.12.1";
   name = "dictd-${version}";
+  version = "1.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/dict/dictd-${version}.tar.gz";
     sha256 = "0min6v60b6z5mrymyjfwzx8nv6rdm8pd8phlwl6v2jl5vkngcdx2";
   };
 
-  buildInputs = [ flex bison which libmaa zlib libtool ];
+  buildInputs = [ libmaa zlib ];
+
+  nativeBuildInputs = [ bison flex libtool which ];
+
+  # Makefile(.in) contains "clientparse.c clientparse.h: clientparse.y" which
+  # causes bison to run twice, and break the build when this happens in
+  # parallel.  Test with "make -j clientparse.c clientparse.h".  The error
+  # message may be "mv: cannot move 'y.tab.c' to 'clientparse.c'".
+  enableParallelBuilding = false;
 
   patchPhase = "patch -p0 < ${./buildfix.diff}";
-  configureFlags = "--datadir=/var/run/current-system/share/dictd";
+  configureFlags = [
+    "--enable-dictorg"
+    "--datadir=/run/current-system/share/dictd"
+  ];
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = [ maintainers.mornfall ];
-    platforms = platforms.linux;
+    homepage    = http://www.dict.org;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix
index 5f109c58e6e4..70cd362c5ea3 100644
--- a/pkgs/servers/dict/dictd-db.nix
+++ b/pkgs/servers/dict/dictd-db.nix
@@ -1,91 +1,95 @@
-{ builderDefs }:
+{ stdenv, fetchurl, callPackage }:
 
-let makeDictdDB = _src: _name: _subdir: _locale:
-with builderDefs;
-	let localDefs = builderDefs.passthru.function (rec {
-		src=_src;
-		doInstall = fullDepEntry (''
-			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"];
+let
+ # 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;
 
-		buildInputs = [];
-		configureFlags = [];
-	});
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "dictd-db-${_name}";
-	locale = _locale;
-	dbName = _name;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			[doInstall doForceShare doPropagate]);
-	meta = {
-		description = "${name} dictionary for dictd";
-	};
-};
-# 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;
+ makeDictdDB = src: _name: _subdir: _locale:
+   stdenv.mkDerivation rec {
+     name = "dictd-db-${_name}";
+     inherit src;
+     locale = _locale;
+     dbName = _name;
+     buildPhase = ":";
+     unpackPhase = ''
+       tar xf  ${src}
+     '';
+     installPhase = ''
+       mkdir -p $out/share/dictd
+       cp $(ls ./${_subdir}/*.{dict*,index} || true) $out/share/dictd
+       echo "${_locale}" >$out/share/dictd/locale
+     '';
 
-in 
-
-rec {
-	nld2eng = makeDictdDBFreedict (fetchurl {
-		url = http://prdownloads.sourceforge.net/freedict/nld-eng.tar.gz;
-		sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07";
-	}) "nld-eng" "nl_NL";
-	eng2nld =  makeDictdDBFreedict (fetchurl {
-		url = http://downloads.sourceforge.net/freedict/eng-nld.tar.gz;
-		sha256 = "0rcg28ldykv0w2mpxc6g4rqmfs33q7pbvf68ssy1q9gpf6mz7vcl";
-	}) "eng-nld" "en_UK";
-	eng2rus = makeDictdDBFreedict (fetchurl {
-		url = http://downloads.sourceforge.net/freedict/eng-rus.tar.gz;
-		sha256 = "15409ivhww1wsfjr05083pv6mg10bak8v5pg1wkiqybk7ck61rry";
-	}) "eng-rus" "en_UK";
-	fra2eng = makeDictdDBFreedict (fetchurl {
-		url = http://downloads.sourceforge.net/freedict/fra-eng.tar.gz;
-		sha256 = "0sdd88s2zs5whiwdf3hd0s4pzzv75sdsccsrm1wxc87l3hjm85z3";
-	}) "fra-eng" "fr_FR";
-	eng2fra = makeDictdDBFreedict (fetchurl {
-		url = http://downloads.sourceforge.net/freedict/eng-fra.tar.gz;
-		sha256 = "0fi6rrnbqnhc6lq8d0nmn30zdqkibrah0mxfg27hsn9z7alwbj3m";
-	}) "eng-fra" "en_UK";
-	mueller_eng2rus_pkg = makeDictdDB (fetchurl {
-		url = http://downloads.sourceforge.net/mueller-dict/mueller-dict-3.1.tar.gz;
-		sha256 = "04r5xxznvmcb8hkxqbjgfh2gxvbdd87jnhqn5gmgvxxw53zpwfmq";
-	}) "mueller-eng-rus" "mueller-dict-*/dict" "en_UK";
-	mueller_enru_abbr = {
-		outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-abbrev";
-		name = "mueller-abbr";
-		dbName = "mueller-abbr";
-		locale = "en_UK";
-	};
-	mueller_enru_base = {
-		outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-base";
-		name = "mueller-base";
-		dbName = "mueller-base";
-		locale = "en_UK";
-	};
-	mueller_enru_dict = {
-		outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-dict";
-		name = "mueller-dict";
-		dbName = "mueller-dict";
-		locale = "en_UK";
-	};
-	mueller_enru_geo = {
-		outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-geo";
-		name = "mueller-geo";
-		dbName = "mueller-geo";
-		locale = "en_UK";
-	};
-	mueller_enru_names = {
-		outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-names";
-		name = "mueller-names";
-		dbName = "mueller-names";
-		locale = "en_UK";
-	};
+     meta = {
+       description = "dictd-db dictionary for dictd";
+       platforms = stdenv.lib.platforms.linux;
+     };
+   };
+in rec {
+  deu2eng = makeDictdDBFreedict (fetchurl {
+    url = http://prdownloads.sourceforge.net/freedict/deu-eng.tar.gz;
+    sha256 = "0dqrhv04g4f5s84nbgisgcfwk5x0rpincif0yfhfh4sc1bsvzsrb";
+  }) "deu-eng" "de_DE";
+  eng2deu = makeDictdDBFreedict (fetchurl {
+    url = http://prdownloads.sourceforge.net/freedict/eng-deu.tar.gz;
+    sha256 = "01x12p72sa3071iff3jhzga8588440f07zr56r3x98bspvdlz73r";
+  }) "eng-deu" "en_EN";
+  nld2eng = makeDictdDBFreedict (fetchurl {
+    url = http://prdownloads.sourceforge.net/freedict/nld-eng.tar.gz;
+    sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07";
+  }) "nld-eng" "nl_NL";
+  eng2nld =  makeDictdDBFreedict (fetchurl {
+    url = mirror://sourceforge/freedict/eng-nld.tar.gz;
+    sha256 = "0rcg28ldykv0w2mpxc6g4rqmfs33q7pbvf68ssy1q9gpf6mz7vcl";
+  }) "eng-nld" "en_UK";
+  eng2rus = makeDictdDBFreedict (fetchurl {
+    url = mirror://sourceforge/freedict/eng-rus.tar.gz;
+    sha256 = "15409ivhww1wsfjr05083pv6mg10bak8v5pg1wkiqybk7ck61rry";
+  }) "eng-rus" "en_UK";
+  fra2eng = makeDictdDBFreedict (fetchurl {
+    url = mirror://sourceforge/freedict/fra-eng.tar.gz;
+    sha256 = "0sdd88s2zs5whiwdf3hd0s4pzzv75sdsccsrm1wxc87l3hjm85z3";
+  }) "fra-eng" "fr_FR";
+  eng2fra = makeDictdDBFreedict (fetchurl {
+    url = mirror://sourceforge/freedict/eng-fra.tar.gz;
+    sha256 = "0fi6rrnbqnhc6lq8d0nmn30zdqkibrah0mxfg27hsn9z7alwbj3m";
+  }) "eng-fra" "en_UK";
+  mueller_eng2rus_pkg = makeDictdDB (fetchurl {
+    url = mirror://sourceforge/mueller-dict/mueller-dict-3.1.tar.gz;
+    sha256 = "04r5xxznvmcb8hkxqbjgfh2gxvbdd87jnhqn5gmgvxxw53zpwfmq";
+  }) "mueller-eng-rus" "mueller-dict-*/dict" "en_UK";
+  mueller_enru_abbr = {
+    outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-abbrev";
+    name = "mueller-abbr";
+    dbName = "mueller-abbr";
+    locale = "en_UK";
+  };
+  mueller_enru_base = {
+    outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-base";
+    name = "mueller-base";
+    dbName = "mueller-base";
+    locale = "en_UK";
+  };
+  mueller_enru_dict = {
+    outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-dict";
+    name = "mueller-dict";
+    dbName = "mueller-dict";
+    locale = "en_UK";
+  };
+  mueller_enru_geo = {
+    outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-geo";
+    name = "mueller-geo";
+    dbName = "mueller-geo";
+    locale = "en_UK";
+  };
+  mueller_enru_names = {
+    outPath = "${mueller_eng2rus_pkg}/share/dictd/mueller-names";
+    name = "mueller-names";
+    dbName = "mueller-names";
+    locale = "en_UK";
+  };
+  wordnet = callPackage ./dictd-wordnet.nix {};
+  wiktionary = callPackage ./dictd-wiktionary.nix {};
 }
diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix
index 42eb3c0757e3..13e4757fe89e 100644
--- a/pkgs/servers/dict/dictd-wiktionary.nix
+++ b/pkgs/servers/dict/dictd-wiktionary.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, python, dict, glibcLocales, writeScript}:
 
 stdenv.mkDerivation rec {
-  version = "20140118";
+  version = "20161001";
   name = "dict-db-wiktionary-${version}";
   data = fetchurl {
     url = "http://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
-    sha256 = "892c9fc16b248a31e2d3e42590267161c1b899b31fe923eb1ede1deb6d24cfa8";
+    sha256 = "0g3k7kxp2nzg0v56i4cz253af3aqvhn1lwkys2fnam51cn3yqm7m";
   };
 
   convert = ./wiktionary2dict.py;
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "DICT version of English Wiktionary";
     homepage = http://en.wiktionary.org/;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/dict/dictd-wordnet.nix b/pkgs/servers/dict/dictd-wordnet.nix
index b6680e8b21c4..13a78d61098b 100644
--- a/pkgs/servers/dict/dictd-wordnet.nix
+++ b/pkgs/servers/dict/dictd-wordnet.nix
@@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
          the wordnet data available to dictd and by extension for lookup with
          the dict command. '';
 
-    homepage = http://wordnet.princeton.edu/;
+    homepage = https://wordnet.princeton.edu/;
 
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index 833aaa95b0ca..d35a9a683031 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }