nixpkgs/pkgs/servers/web-apps/pump.io/default.nix

69 lines
2.1 KiB
Nix
Raw Normal View History

{ stdenv, fetchFromGitHub, makeWrapper, callPackage, nodejs, python, utillinux, graphicsmagick }:
with stdenv.lib;
let
nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
inherit stdenv nodejs fetchurl fetchgit;
neededNatives = [ python ] ++ optional stdenv.isLinux utillinux;
self = nodePackages;
generated = ./node-packages.nix;
};
in nodePackages.buildNodePackage rec {
version = "git-2015-11-09";
name = "pump.io-${version}";
src = fetchFromGitHub {
owner = "e14n";
repo = "pump.io";
rev = "2f8d6b3518607ed02b594aee0db6ccacbe631b2d";
sha256 = "1xym3jzpxlni1n2i0ixwrnpkx5fbnd1p6sm1hf9n3w5m2lx6gdw5";
};
deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
buildInputs = [ makeWrapper ];
postInstall = ''
for prog in pump pump-authorize pump-follow pump-post-note pump-register-app pump-register-user pump-stop-following; do
wrapProgram "$out/bin/$prog" \
--set NODE_PATH "$out/lib/node_modules/pump.io/node_modules/" \
--prefix PATH : ${graphicsmagick}/bin:$out/bin
done
'';
passthru.names = ["pump.io"];
meta = {
description = "Social server with an ActivityStreams API";
homepage = http://pump.io/;
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers.rvl ];
longDescription = ''
This is pump.io. It's a stream server that does most of what
people really want from a social network.
What's it for?
I post something and my followers see it. That's the rough idea
behind the pump.
There's an API defined in the API.md file. It uses
activitystrea.ms JSON as the main data and command format.
You can post almost anything that can be represented with
activity streams -- short or long text, bookmarks, images,
video, audio, events, geo checkins. You can follow friends,
create lists of people, and so on.
The software is useful for at least these scenarios:
* Mobile-first social networking
* Activity stream functionality for an existing app
* Experimenting with social software
'';
};
}