perkeep: 20170505 -> 0.10.1

Also rewrite the derivation to use buildGoPackage
This commit is contained in:
Wael M. Nasreddine 2018-07-19 23:28:24 -07:00
parent f03238525c
commit 928c93ea7b
2 changed files with 14 additions and 57 deletions

View File

@ -1,72 +1,32 @@
{ stdenv, go, fetchzip, git, fetchFromGitHub, fetchgit }:
{ buildGo110Package, fetchzip, lib }:
# 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 {
buildGo110Package rec {
name = "perkeep-${version}";
version = "20170505";
version = "0.10.1";
src = fetchzip {
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
url = "https://perkeep.org/dl/perkeep-${version}-src.zip";
sha256 = "0rqibc6w4m1r50i2pjcgz1k9dxh18v7jwj4s29y470bc526wv422";
};
# 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
goPackagePath = "perkeep.org";
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 = ''
cd "$NIX_BUILD_TOP/go/src/$goPackagePath"
go run make.go
'';
installPhase = ''
mkdir -p $out/bin
cp bin/* $out/bin
# devcam is only useful when developing perkeep, we should not install it as
# part of this derivation.
postInstall = ''
rm -f $out/bin/devcam
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
homepage = https://perkeep.org;
license = licenses.asl20;
maintainers = with maintainers; [ cstrahan ];
maintainers = with maintainers; [ cstrahan kalbasit ];
platforms = platforms.unix;
};
}

View File

@ -15399,10 +15399,7 @@ with pkgs;
openjpeg = openjpeg_1;
};
perkeep = callPackage ../applications/misc/perkeep {
# Perkeep is very particular about which go version to build with.
go = go_1_9;
};
perkeep = callPackage ../applications/misc/perkeep { };
canto-curses = callPackage ../applications/networking/feedreaders/canto-curses { };