nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix
2020-04-10 17:54:53 +01:00

89 lines
2.2 KiB
Nix

{
alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype,
gdk-pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor,
libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst,
libxcb, nspr, nss, stdenv, udev
}:
let
rpath = stdenv.lib.makeLibraryPath ([
alsaLib
atk
cairo
cups
dbus
expat
fontconfig
freetype
gdk-pixbuf
glib
gnome2.GConf
gnome2.gtk
gnome2.pango
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libxcb
nspr
nss
stdenv.cc.cc
udev
]);
in stdenv.mkDerivation rec {
pname = "webtorrent-desktop";
version = "0.20.0";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.20.0/webtorrent-desktop_${version}-1_amd64.deb";
sha256 = "1kkrnbimiip5pn2nwpln35bbdda9gc3cgrjwphq4fqasbjf2781k";
}
else
throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}";
phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ dpkg ];
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p $out
cp -R opt $out
mv ./usr/share $out/share
mv $out/opt/webtorrent-desktop $out/libexec
chmod +x $out/libexec/WebTorrent
rmdir $out/opt
chmod -R g-w $out
# Patch WebTorrent
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${rpath}:$out/libexec $out/libexec/WebTorrent
# Symlink to bin
mkdir -p $out/bin
ln -s $out/libexec/WebTorrent $out/bin/WebTorrent
# Fix the desktop link
substituteInPlace $out/share/applications/webtorrent-desktop.desktop \
--replace /opt/webtorrent-desktop $out/bin
'';
meta = with stdenv.lib; {
description = "Streaming torrent app for Mac, Windows, and Linux.";
homepage = "https://webtorrent.io/desktop";
license = licenses.mit;
maintainers = [ maintainers.flokli ];
platforms = [
"x86_64-linux"
];
};
}