{ python2Packages, python2, fetchFromGitHub, fetchurl }: let Flask-Gravatar = python2Packages.buildPythonPackage { name = "Flask-Gravatar"; src = python2Packages.fetchPypi { pname = "Flask-Gravatar"; version = "0.5.0"; sha256 = "1qb2ylirjajdqsmldhwfdhf8i86k7vlh3y4gnqfqj4n6q8qmyrk0"; }; propagatedBuildInputs = with python2Packages; [ pytestrunner flask ]; checkInputs = with python2Packages; [ check-manifest coverage isort pydocstyle pytestcache pytestcov pytestpep8 pytest pygments ]; }; utopia = python2Packages.buildPythonPackage { name = "utopia"; src = fetchFromGitHub { owner = "notifico"; repo = "utopia"; rev = "70293ed5e1ca55232e0fae71061e7e9b9b29be6f"; sha256 = "11cnh9l4d9jlhafnfis9si6kgk9zsdd5439qnhxh6dca3x4a986q"; }; propagatedBuildInputs = with python2Packages; [ gevent blinker ]; doCheck = false; }; Flask-WTF = python2Packages.flask_wtf.overrideAttrs(oa: rec { version = "0.8.4"; src = python2Packages.fetchPypi { pname = "Flask-WTF"; inherit version; sha256 = "1khbwmlrcnk9f46f7kf531n06pkyfs6nc8fk273js9mj2igngg2y"; }; }); Flask-XML-RPC = python2Packages.flask_wtf.overrideAttrs(oa: rec { version = "0.1.2"; src = python2Packages.fetchPypi { pname = "Flask-XML-RPC"; inherit version; sha256 = "1dwalj7pc5iid9l1k50q5mllirnn9f5s7jq54a66x48a4j179p2a"; }; }); in python2Packages.buildPythonApplication { name = "notifico"; src = fetchFromGitHub { owner = "notifico"; repo = "notifico"; rev = "6af849e4c75dff4d740051676f5a2093a44efcee"; sha256 = "18jifqdvjy4x5s1bh7vx501pin52g4n3hhw1z4m2c0h512z4spdr"; }; patches = [ (fetchurl { url = https://github.com/whitequark/notifico/commit/22b582fad6cb97af6f7437e8462d720ddacc42ef.patch; sha256 = "0w8i8hf1r8b0p1y1zn9vyvnyi20qp120aiyalqymhsxsh17mma52"; }) ]; propagatedBuildInputs = with python2Packages; [ flask Flask-WTF Flask-Gravatar flask_sqlalchemy Flask-XML-RPC flask_mail flask-caching Fabric sqlalchemy utopia gevent oauth2 redis gunicorn requests PyGithub xmltodict unidecode raven blinker docopt celery ]; postInstall = '' mkdir $out/bin cat << EOF > $out/bin/notifico #!${python2}/bin/python import sys from notifico.__main__ import main sys.exit(main(sys.argv)) EOF chmod +x $out/bin/notifico ''; }