about summary refs log tree commit diff
path: root/pkgs/tools/misc/vdirsyncer/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/vdirsyncer/default.nix')
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix43
1 files changed, 22 insertions, 21 deletions
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 49583ee28902..2212ba870c4a 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,27 +1,28 @@
-{ stdenv, python3Packages, fetchpatch, glibcLocales, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, glibcLocales, rustPlatform, pkgconfig, openssl, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
-let
-  pythonPackages = python3Packages;
-  version = "0.17.0a3";
+python3Packages.buildPythonApplication rec {
+  version = "unstable-2018-08-05";
   pname = "vdirsyncer";
-  name = pname + "-" + version;
-  src = pythonPackages.fetchPypi {
-    inherit pname version;
-    sha256 = "1n7izfa5x9mh0b4zp20gd8qxfcca5wpjh834bsbi5pk6zam5pfdy";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pimutils";
+    repo = pname;
+    rev = "ac45cf144b0ceb72cc2a9f454808688f3ac9ba4f";
+    sha256 = "0hqsjdpgvm7d34q5b2hzmrzfxk43ald1bx22mvgg559kw1ck54s9";
   };
+
   native = rustPlatform.buildRustPackage {
-    name = name + "-native";
+    name = "${name}-native";
     inherit src;
-    sourceRoot = name + "/rust";
-    cargoSha256 = "08xq9q5fx37azzkqqgwcnds1yd8687gh26dsl3ivql5h13fa2w3q";
+    sourceRoot = "source/rust";
+    cargoSha256 = "02fxxw4vr6rpdbslrc9c1zhzs704bw7i40akrmh5cxl26rsffdgk";
     buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   };
-in pythonPackages.buildPythonApplication rec {
-  inherit version pname src native;
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     click click-log click-threading
     requests_toolbelt
     requests
@@ -31,15 +32,12 @@ in pythonPackages.buildPythonApplication rec {
     shippai
   ];
 
-  buildInputs = with pythonPackages; [ setuptools_scm ];
+  buildInputs = with python3Packages; [ setuptools_scm ];
 
-  checkInputs = with pythonPackages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
+  checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
 
   patches = [
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/80a42e4c6c18ca4db737bc6700c50a3866832bbb.patch;
-      sha256 = "1vrhn0ma3y08w6f5abhl3r5rq30g60h1bp3wmyszw909hyvyzp5l";
-    })
+    # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779
     (fetchpatch {
       url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch;
       sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl";
@@ -51,6 +49,9 @@ in pythonPackages.buildPythonApplication rec {
   ];
 
   postPatch = ''
+    # for setuptools_scm:
+    echo 'Version: ${version}' >PKG-INFO
+
     sed -i 's/spec.add_external_build(cmd=cmd/spec.add_external_build(cmd="true"/g' setup.py
   '';
 
@@ -63,7 +64,7 @@ in pythonPackages.buildPythonApplication rec {
 
   checkPhase = ''
     rm -rf vdirsyncer
-    export PYTHONPATH=$out/${pythonPackages.python.sitePackages}:$PYTHONPATH
+    export PYTHONPATH=$out/${python3Packages.python.sitePackages}:$PYTHONPATH
     make DETERMINISTIC_TESTS=true test
   '';