From 8fd42c55a9d7a0dfc442296258811a5af4d09f03 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 4 Feb 2015 15:53:59 +0100 Subject: Port go-mtpfs to buildGoPackage --- pkgs/tools/filesystems/go-mtpfs/default.nix | 62 ++++++----------------------- pkgs/top-level/go-packages.nix | 30 +++++++++++++- 2 files changed, 41 insertions(+), 51 deletions(-) diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix index 2dd37acfe84..7b92f98d5f3 100644 --- a/pkgs/tools/filesystems/go-mtpfs/default.nix +++ b/pkgs/tools/filesystems/go-mtpfs/default.nix @@ -1,57 +1,21 @@ -{ 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 ]; - - installPhase = '' - mkdir -p $out/bin - export GOPATH=$src - go build -v -o $out/bin/go-mtpfs github.com/hanwen/go-mtpfs - ''; + subPackages = [ "./" ]; meta = with lib; { description = "A simple FUSE filesystem for mounting Android devices as a MTP device"; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index ae71cd5382c..1060a78ce60 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1,7 +1,7 @@ /* This file defines the composition for Go packages. */ -{ overrides, stdenv, go, buildGoPackage, git -,fetchgit, fetchhg, fetchurl, fetchFromGitHub }: +{ overrides, stdenv, go, buildGoPackage, git, pkgconfig, libusb +, fetchgit, fetchhg, fetchurl, fetchFromGitHub }: let self = _self // overrides; _self = with self; { @@ -258,6 +258,19 @@ let self = _self // overrides; _self = with self; { }; }; + go-fuse = buildGoPackage rec { + rev = "5d16aa11eef4643de2d91e88a64dcb6138705d58"; + name = "go-fuse-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hanwen/go-fuse"; + src = fetchFromGitHub { + inherit rev; + owner = "hanwen"; + repo = "go-fuse"; + sha256 = "0lycfhchn88kbs81ypz8m5jh032fpbv14gldrjirf32wm1d4f8pj"; + }; + subPackages = [ "fuse" "fuse/nodefs" "fuse/pathfs" ]; + }; + rcrowley.go-metrics = buildGoPackage rec { rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df"; name = "rcrowley.go-metrics-${stdenv.lib.strings.substring 0 7 rev}"; @@ -550,6 +563,19 @@ let self = _self // overrides; _self = with self; { subPackages = [ "./" ]; # prevent building _demos }; + usb = buildGoPackage rec { + rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1"; + name = "usb-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/hanwen/usb"; + src = fetchFromGitHub { + inherit rev; + owner = "hanwen"; + repo = "usb"; + sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky"; + }; + buildInputs = [ pkgconfig libusb ]; + }; + websocket = buildGoPackage rec { rev = "f4076986b69612ecb8bc7ce06d742eda6286200d"; name = "websocket-${stdenv.lib.strings.substring 0 7 rev}"; -- cgit 1.4.1