Merge pull request #6119 from lethalman/go

Go packages, buildGoPackage
This commit is contained in:
lethalman
2015-02-07 21:30:30 +01:00
38 changed files with 1211 additions and 1222 deletions
+14 -48
View File
@@ -1,57 +1,23 @@
{ stdenv, lib, pkgconfig, libmtp, go, fetchFromGitHub }:
{ lib, goPackages, pkgconfig, libmtp, fetchFromGitHub }:
let
goDeps = [
{
root = "github.com/hanwen/go-mtpfs";
src = fetchFromGitHub {
owner = "hanwen";
repo = "go-mtpfs";
rev = "9c2b46050e8ea8574eaec2124867ac7b11e6471d";
sha256 = "0kxi18cb078q4wikfajp3yvp802wzfsfdp431j0dg2jdw8y7gfii";
};
}
{
root = "github.com/hanwen/go-fuse";
src = fetchFromGitHub {
owner = "hanwen";
repo = "go-fuse";
rev = "5d16aa11eef4643de2d91e88a64dcb6138705d58";
sha256 = "0lycfhchn88kbs81ypz8m5jh032fpbv14gldrjirf32wm1d4f8pj";
};
}
{
root = "github.com/hanwen/usb";
src = fetchFromGitHub {
owner = "hanwen";
repo = "usb";
rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1";
sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky";
};
}
];
with goPackages;
sources = stdenv.mkDerivation rec {
name = "go-deps";
buildCommand =
lib.concatStrings
(map (dep: ''
mkdir -p $out/src/`dirname ${dep.root}`
ln -s ${dep.src} $out/src/${dep.root}
'') goDeps);
buildGoPackage rec {
rev = "9c2b46050e8ea8574eaec2124867ac7b11e6471d";
name = "go-mtpfs-${lib.strings.substring 0 7 rev}";
goPackagePath = "github.com/hanwen/go-mtpfs";
src = fetchFromGitHub {
inherit rev;
owner = "hanwen";
repo = "go-mtpfs";
sha256 = "0kxi18cb078q4wikfajp3yvp802wzfsfdp431j0dg2jdw8y7gfii";
};
in stdenv.mkDerivation rec {
name = "go-mtpfs";
src = sources;
buildInputs = [ go-fuse libmtp usb ];
buildInputs = [ go pkgconfig libmtp ];
subPackages = [ "./" ];
installPhase = ''
mkdir -p $out/bin
export GOPATH=$src
go build -v -o $out/bin/go-mtpfs github.com/hanwen/go-mtpfs
'';
dontInstallSrc = true;
meta = with lib; {
description = "A simple FUSE filesystem for mounting Android devices as a MTP device";