Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 20.09 1.1 kB view raw
1{ stdenv, lib, buildPythonPackage, fetchurl, jieba, pkuseg, spacy }: 2let 3 buildModelPackage = { pname, version, sha256, license }: 4 let 5 lang = builtins.substring 0 2 pname; 6 in buildPythonPackage { 7 inherit pname version; 8 9 src = fetchurl { 10 url = "https://github.com/explosion/spacy-models/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; 11 inherit sha256; 12 }; 13 14 propagatedBuildInputs = [ spacy ] 15 ++ lib.optionals (lang == "zh") [ jieba pkuseg ]; 16 17 pythonImportsCheck = [ pname ]; 18 19 meta = with stdenv.lib; { 20 description = "Models for the spaCy NLP library"; 21 homepage = "https://github.com/explosion/spacy-models"; 22 license = licenses.${license}; 23 maintainers = with maintainers; [ rvl ]; 24 }; 25 }; 26 27 makeModelSet = models: with stdenv.lib; listToAttrs (map (m: nameValuePair m.pname (buildModelPackage m)) models); 28 29in makeModelSet (stdenv.lib.importJSON ./models.json) 30 31# cat models.json | jq -r '.[] | @uri "https://github.com/explosion/spacy-models/releases/download/\(.pname)-\(.version)/\(.pname)-\(.version).tar.gz"' | xargs -n1 nix-prefetch-url