{ stdenv, fetchFromGitHub, nodejs, which, python27, utillinux }: let date = "20141023"; rev = "c7eed6b14688458e16fab368f68904e530651a30"; in stdenv.mkDerivation { name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}"; src = fetchFromGitHub { owner = "cjdelisle"; repo = "cjdns"; inherit rev; sha256 = "11z8dk7byxh9pfv7mhfvnk465qln1g7z8c8f822623d59lwjpbs1"; }; # Make the NixOS service work a little better. patches = [ ./makekeys-sigpipe.patch ]; buildInputs = [ which python27 nodejs ] ++ # for flock stdenv.lib.optional stdenv.isLinux [ utillinux ]; buildPhase = "bash do"; installPhase = '' installBin cjdroute makekeys privatetopublic publictoip6 sed -i 's,/usr/bin/env node,'$(type -P node), \ $(find contrib -name "*.js") sed -i 's,/usr/bin/env python,'$(type -P python), \ $(find contrib -type f) mkdir -p $out/share/cjdns cp -R contrib node_build node_modules $out/share/cjdns/ ''; meta = with stdenv.lib; { homepage = https://github.com/cjdelisle/cjdns; description = "Encrypted networking for regular people"; license = licenses.gpl3; maintainers = with maintainers; [ viric emery ]; platforms = platforms.unix; }; }