default.nix (2065B)
1 { lib 2 , stdenv 3 , fetchFromGitHub 4 , python2Packages 5 , postgresql 6 , openssl 7 }: 8 let 9 psycopg2 = python2Packages.buildPythonPackage rec { 10 pname = "psycopg2"; 11 version = "2.8.6"; 12 13 src = python2Packages.fetchPypi { 14 inherit pname version; 15 hash = "sha256-+yP2xxEHw3/WZ8tOo2Pd65NrNIu9ZEknjrksGJaZ9UM="; 16 }; 17 18 buildInputs = lib.optional stdenv.isDarwin openssl; 19 nativeBuildInputs = [ postgresql ]; 20 21 doCheck = false; 22 23 meta = with lib; { 24 description = "PostgreSQL database adapter for the Python programming language"; 25 license = with licenses; [ gpl2 zpl20 ]; 26 }; 27 }; 28 in 29 python2Packages.buildPythonApplication rec { 30 pname = "tracks_storage_server"; 31 version = "2018-03-24"; 32 33 src = fetchFromGitHub { 34 owner = "wladich"; 35 repo = "tracks_storage_server"; 36 rev = "58ecde50bdc41e8b71590f62b7019d641e69da88"; 37 hash = "sha256-rHh3iuhQhhVzGAfyNXfhBB41PzQF7rSmOMtYM10bFkU="; 38 }; 39 40 dontUseSetuptoolsBuild = true; 41 dontUseSetuptoolsCheck = true; 42 43 installPhase = 44 let 45 pythonEnv = python2Packages.python.withPackages (p: with p; [ 46 msgpack 47 (protobuf.overrideAttrs (old: { 48 dontUsePythonImportsCheck = true; 49 })) 50 psycopg2 51 ]); 52 in 53 '' 54 site_packages=$out/lib/${python2Packages.python.libPrefix}/site-packages 55 mkdir -p $site_packages 56 cp *.py *.sql $site_packages 57 58 substitute config.py.example $site_packages/config.py \ 59 --replace-fail "'password" "#'password" 60 61 makeWrapper ${pythonEnv.interpreter} $out/bin/tracks_storage_server \ 62 --add-flags "$site_packages/server.py" 63 makeWrapper ${pythonEnv.interpreter} $out/bin/init_db \ 64 --add-flags "$site_packages/init_db.py" 65 ''; 66 67 passthru.psycopg2 = psycopg2; 68 69 meta = with lib; { 70 description = "Tracks storage server"; 71 inherit (src.meta) homepage; 72 license = licenses.free; 73 maintainers = with maintainers; [ sikmir ]; 74 broken = true; # python2Packages.protobuf (error: mox-0.7.8 not supported for interpreter python2.7) 75 }; 76 }