nixpkgs/pkgs/applications/video/popcorntime/default.nix

62 lines
2 KiB
Nix

{ lib, stdenv, fetchurl, runCommand, makeWrapper, node_webkit_0_9,
fromCi ? true,
build ? "652",
version ? if fromCi then "0.3.7-2-0ac62b848" else "0.3.7.2"
}:
let
config =
if stdenv.system == "x86_64-linux" then
{sys = "Linux32";
sha256 =
if fromCi then "06av40b68xy2mv2fp9qg8npqmnvkl00p2jvbm2fdfnpc9jj746iy"
else "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b";
}
else if stdenv.system == "i686-linux" then
{sys = "Linux64";
sha256 =
if fromCi then "1nr2zaixdr5vqynga7jig3fw9dckcnzcbdmbr8haq4a486x2nq0f"
else "1dz1cp31qbwamm9pf8ydmzzhnb6d9z73bigdv3y74dgicz3dpr91";
}
else throw "Unsupported system ${stdenv.system}";
fetchurlConf =
let
ciBase = "https://ci.popcorntime.io/job/Popcorn-Experimental/652/artifact/build/releases/Popcorn-Time";
relBase = "https://get.popcorntime.io/build";
in {
url =
if fromCi then "${ciBase}/${lib.toLower config.sys}/Popcorn-Time-${version}-${config.sys}.tar.xz"
else "${relBase}/Popcorn-Time-${version}-Linux64.tar.xz";
sha256 = config.sha256;
};
popcorntimePackage = stdenv.mkDerivation rec {
name =
if fromCi then "popcorntime-git-2015-07-07"
else "popcorntime-${version}";
src = fetchurl fetchurlConf;
sourceRoot = ".";
installPhase = ''
mkdir -p $out
cp -r *.so *.pak $out/
cat ${node_webkit_0_9}/bin/nw package.nw > $out/Popcorn-Time
chmod 555 $out/Popcorn-Time
'';
};
in
runCommand "popcorntime-${version}" {
buildInputs = [ makeWrapper ];
meta = with stdenv.lib; {
homepage = http://popcorntime.io/;
description = "An application that streams movies and TV shows from torrents";
license = stdenv.lib.licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ bobvanderlinden ];
};
}
''
mkdir -p $out/bin
makeWrapper ${popcorntimePackage}/Popcorn-Time $out/bin/popcorntime
''