summary refs log tree commit diff
path: root/pkgs/applications/misc/perkeep
diff options
context:
space:
mode:
authoradisbladis <adis@blad.is>2018-02-23 01:41:24 +0800
committeradisbladis <adis@blad.is>2018-02-23 01:41:33 +0800
commit4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e (patch)
treebb9c76041c48c10206dd72fda3b40ef04672d910 /pkgs/applications/misc/perkeep
parentd328ba753ef3d2aa567ff0dfcdb19cecb97cd81c (diff)
downloadnixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar.gz
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar.bz2
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar.lz
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar.xz
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.tar.zst
nixlib-4b73b8ccc31da62d2bc5fe2cd9cf6db564beb02e.zip
perkeep: Build with go 1.9
Diffstat (limited to 'pkgs/applications/misc/perkeep')
-rw-r--r--pkgs/applications/misc/perkeep/default.nix45
1 files changed, 43 insertions, 2 deletions
diff --git a/pkgs/applications/misc/perkeep/default.nix b/pkgs/applications/misc/perkeep/default.nix
index 3b64cf4aa6c0..746a319c2e1e 100644
--- a/pkgs/applications/misc/perkeep/default.nix
+++ b/pkgs/applications/misc/perkeep/default.nix
@@ -1,5 +1,29 @@
-{ stdenv, lib, go_1_8, fetchzip, git }:
+{ stdenv, lib, go, fetchzip, git, fetchpatch, fetchFromGitHub, fetchgit }:
 
+# When perkeep is updated all deps in the let block should be removed
+let
+  gopherjs = fetchFromGitHub {
+    owner = "gopherjs";
+    repo = "gopherjs";
+    # Rev matching https://github.com/perkeep/perkeep/commit/2e46fca5cc1179dbd90bec49fec3870e6eca6c45
+    rev = "b40cd48c38f9a18eb3db20d163bad78de12cf0b7";
+    sha256 = "0kniz8dg5bymb03qriizza1h3gpymf97vsgq9vd222282pdj0vyc";
+  };
+
+  gotool = fetchFromGitHub {
+    owner = "kisielk";
+    repo = "gotool";
+    rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
+    sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+  };
+
+  gcimporter15 = fetchgit {
+    url = "https://go.googlesource.com/tools";
+    rev = "f8f2f88271bf2c23f28a09d288d26507a9503c97";
+    sha256 = "1pchwizx1sdli59g8r0p4djfjkchcvh8msfpp3ibvz3xl250jh0n";
+  };
+
+in
 stdenv.mkDerivation rec {
   name = "perkeep-${version}";
   version = "20170505";
@@ -9,7 +33,24 @@ stdenv.mkDerivation rec {
     sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
   };
 
-  buildInputs = [ git go_1_8 ];
+  # When perkeep is updated postPatch should be removed
+  postPatch = ''
+    rm -r ./vendor/github.com/gopherjs/gopherjs/
+    cp -a ${gopherjs} ./vendor/github.com/gopherjs/gopherjs
+    mkdir -p ./vendor/github.com/kisielk/
+    cp -a ${gotool} ./vendor/github.com/kisielk/gotool
+    mkdir -p ./vendor/golang.org/x/tools/go
+    cp -a ${gcimporter15}/go/gcimporter15 ./vendor/golang.org/x/tools/go/gcimporter15
+
+    substituteInPlace vendor/github.com/gopherjs/gopherjs/build/build.go \
+      --replace '"github.com/fsnotify/fsnotify"' 'fsnotify "camlistore.org/pkg/misc/fakefsnotify"'
+
+    substituteInPlace ./make.go \
+      --replace "goVersionMinor  = '8'" "goVersionMinor  = '9'" \
+      --replace "gopherJSGoMinor = '8'" "gopherJSGoMinor = '9'"
+  '';
+
+  buildInputs = [ git go ];
 
   goPackagePath = "";
   buildPhase = ''