From b09182d7e573b88f1f1ca427158eb78c7f3df5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Tue, 23 Apr 2019 12:50:14 +0100 Subject: [PATCH] Refactor etesync dependencies' definitions --- nixos/packages/etesync-dav/default.nix | 92 ++++++++++++++++---------- 1 file changed, 57 insertions(+), 35 deletions(-) diff --git a/nixos/packages/etesync-dav/default.nix b/nixos/packages/etesync-dav/default.nix index bb3dc14d..209785f0 100644 --- a/nixos/packages/etesync-dav/default.nix +++ b/nixos/packages/etesync-dav/default.nix @@ -1,10 +1,12 @@ with import {}; let - pyscrypt = python37.pkgs.buildPythonPackage { - name = "pyscrypt-1.6.2"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/c6/56/51603b5714d221b784e4cbc2790b1215b3fb108e4d308a0bd52e4c3ce532/pyscrypt-1.6.2.tar.gz"; - sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9"; }; + pyscrypt = python37.pkgs.buildPythonPackage rec { + pname = "pyscrypt"; + version = "1.6.2"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9"; + }; doCheck = false; meta = with stdenv.lib; { homepage = "https://github.com/ricmoo/pyscrypt"; @@ -12,25 +14,31 @@ let description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library"; }; }; - orderedmultidict = python37.pkgs.buildPythonPackage { - name = "orderedmultidict-1.0"; - src = pkgs.fetchurl { - url = "https://files.pythonhosted.org/packages/19/67/2e1462785b84f40812e61d349f77063939f8f220345b0dfc26c4e3e07af0/orderedmultidict-1.0.tar.gz"; - sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5"; }; - doCheck = false; + + orderedmultidict = python37.pkgs.buildPythonPackage rec { + pname = "orderedmultidict"; + version = "1.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5"; + }; + checkInputs = [ python37Packages.pycodestyle ]; propagatedBuildInputs = [ python37Packages.six ]; meta = with pkgs.stdenv.lib; { homepage = "https://github.com/gruns/orderedmultidict"; - license = "License :: Freely Distributable"; + license = licenses.unlicense; description = "Ordered Multivalue Dictionary - omdict."; }; }; - furl = python37.pkgs.buildPythonPackage { - name = "furl-2.0.0"; - src = pkgs.fetchurl { - url = "https://files.pythonhosted.org/packages/93/70/e266a29c3c1c9ec94d7fcb3232e0d77bfa04c281f44a9edeb9946a256d91/furl-2.0.0.tar.gz"; - sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec"; }; - doCheck = false; + + furl = python37.pkgs.buildPythonPackage rec { + pname = "furl"; + version = "2.0.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec"; + }; + checkInputs = [ python37Packages.flake8 ]; propagatedBuildInputs = [ orderedmultidict python37Packages.six ]; meta = with pkgs.stdenv.lib; { homepage = "https://github.com/gruns/furl"; @@ -38,6 +46,7 @@ let description = "URL manipulation made simple."; }; }; + etesync = python37.pkgs.buildPythonPackage rec { pname = "etesync"; version = "0.8.1"; @@ -45,7 +54,7 @@ let inherit pname version; sha256 = "007zsdn0zv0f80wpyf8fzl446wmv7jr8a0pdp4wj1y61b14f4q0p"; }; - doCheck = false; + checkInputs = [ python37Packages.pytest ]; meta = with pkgs.stdenv.lib; { homepage = "https://github.com/etesync/pyetesync"; license = licenses.lgpl3; @@ -77,13 +86,20 @@ let ]; }; - Radicale = python37.pkgs.buildPythonPackage rec { - name = "Radicale-2.1.11"; - src = pkgs.fetchurl { - url = "https://files.pythonhosted.org/packages/be/50/b5094950d53f11e56eb17932469e0e313275da0c5e633590c939863f3c37/Radicale-2.1.11.tar.gz"; + radicale = python37.pkgs.buildPythonPackage rec { + pname = "Radicale"; + version = "2.1.11"; + src = pythonPackages.fetchPypi { + inherit pname version; sha256 = "02273fcc6ae10e0f74aa12652e24d0001eec8dbf467d54ddb4dfcc2af7d7a5db"; }; doCheck = false; + checkInputs = [ + python37Packages.pytestrunner + python37Packages.pytest-isort + python37Packages.pytest-flake8 + python37Packages.pytestcov + ]; propagatedBuildInputs = [ python37Packages.dateutil python37Packages.vobject ]; meta = with pkgs.stdenv.lib; { homepage = "http://www.radicale.org/"; @@ -93,21 +109,27 @@ let }; radicale-storage-etesync = python37.pkgs.buildPythonPackage rec { - name = "radicale-storage-etesync-0.7.0"; - src = pkgs.fetchurl { - url = "https://files.pythonhosted.org/packages/55/77/c9f3f9a86e2e31204cb5f0f1fbf24745ac86f8c739618db41e52390c73c2/radicale_storage_etesync-0.7.0.tar.gz"; - sha256 = "0542fbcbd245b723e78d4e8ff2e211f052408897eb515147a86351a8654208ef"; + pname = "radicale_storage_etesync"; + version = "0.7.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "1vq889jshlb3m13m2lgbjy440lph27ig53sfipkj7ds5sb5znhh5"; }; - doCheck = false; - propagatedBuildInputs = [ etesync Radicale pyscrypt orderedmultidict furl - python37Packages.coverage python37Packages.pyasn1 python37Packages.appdirs - python37Packages.vobject python37Packages.py python37Packages.cffi - python37Packages.pyparsing python37Packages.requests python37Packages.peewee + propagatedBuildInputs = [ etesync radicale pyscrypt orderedmultidict furl + python37Packages.coverage + python37Packages.pyasn1 + python37Packages.appdirs + python37Packages.vobject + python37Packages.py + python37Packages.cffi + python37Packages.pyparsing + python37Packages.requests + python37Packages.peewee ]; meta = with pkgs.stdenv.lib; { homepage = "https://github.com/etesync/radicale_storage_etesync"; - license = "GPL"; - description = "An EteSync storage plugin for Radicale"; + license = licenses.gpl3; + description = "An EteSync storage plugin for radicale"; }; }; @@ -141,7 +163,7 @@ python37.pkgs.buildPythonPackage rec { python37Packages.six python37Packages.urllib3 python37Packages.vobject - Radicale + radicale furl orderedmultidict pyscrypt