nixpkgs/pkgs/applications/audio/groovebasin/default.nix
Christine Koppelt 162c65fc87
nodejs-0_10: remove
node.js 0.10 reaches end of LTS in a few days (see https://github.com/nodejs/LTS for details). Therefore I removed it and set 3 dependant packages to broken as they don't build anymore
2016-10-28 07:43:04 -04:00

70 lines
2.6 KiB
Nix

{ stdenv, fetchFromGitHub, makeWrapper, callPackage, libgroove, python, utillinux, nodejs }:
with stdenv.lib;
let
nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
inherit nodejs;
neededNatives = [ libgroove python utillinux ];
self = nodePackages;
generated = ./package.nix;
};
in nodePackages.buildNodePackage rec {
version = "1.5.1";
name = "groovebasin-${version}";
src = fetchFromGitHub {
owner = "andrewrk";
repo = "groovebasin";
rev = "${version}";
sha256 = "1g7v0qhvgzpb050hf45pibp68qd67hnnry5npw58f4dvaxdd8yhd";
};
deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
buildInputs = [ makeWrapper ];
postInstall = ''
mkdir -p "$out/lib/node_modules/groovebasin/public"
stylus -o "$out/lib/node_modules/groovebasin/public/" -c --include-css "$out/lib/node_modules/groovebasin/src/client/styles"
browserify-lite "$out/lib/node_modules/groovebasin/src/client/app.js" --outfile "$out/lib/node_modules/groovebasin/public/app.js"
wrapProgram "$out/bin/groovebasin" --set NODE_PATH "$out/lib/node_modules/groovebasin/node_modules/"
'';
passthru.names = ["groovebasin"];
meta = {
description = "Music player server with a web-based user interface";
homepage = http://groovebasin.com/;
license = licenses.mit;
platforms = platforms.unix;
maintainers = [ maintainers.andrewrk ];
longDescription = ''
Groove Basin runs on a server optionally connected to speakers. Guests can
control the music player by connecting with a laptop, tablet, or smart phone.
Further, users can stream their music libraries remotely.
Groove Basin comes with a fast, responsive web interface that supports keyboard
shortcuts and drag drop. It also provides the ability to upload songs,
download songs, and import songs by URL, including YouTube URLs.
Groove Basin supports Dynamic Mode which automatically queues random songs,
favoring songs that have not been queued recently.
Groove Basin automatically performs ReplayGain scanning on every song using
the EBU R128 loudness standard, and automatically switches between track
and album mode.
Groove Basin supports the MPD protocol, which means it is compatible with MPD
clients. There is also a more powerful Groove Basin protocol which you can
use if the MPD protocol does not meet your needs.
Groove Basin supports Last.fm scrobbling.
'';
# groovebasin was built with nodejs 0.10 which reached end of LTS
# in October 216, it doesn't built with nodejs 4.x
broken = true;
};
}