diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix index 24c17daa759d..ef50dad86bcc 100644 --- a/pkgs/applications/video/webtorrent_desktop/default.nix +++ b/pkgs/applications/video/webtorrent_desktop/default.nix @@ -1,14 +1,16 @@ { - alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype, - gdk-pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor, + alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fetchzip, fontconfig, freetype, + gdk-pixbuf, glib, gnome3, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, - libxcb, nspr, nss, stdenv, udev + libxcb, nspr, nss, stdenv, udev, libuuid, pango, at-spi2-atk, at-spi2-core }: let rpath = stdenv.lib.makeLibraryPath ([ alsaLib atk + at-spi2-core + at-spi2-atk cairo cups dbus @@ -17,9 +19,9 @@ freetype gdk-pixbuf glib - gnome2.GConf - gnome2.gtk - gnome2.pango + gnome3.gtk + pango + libuuid libX11 libXScrnSaver libXcomposite @@ -39,29 +41,33 @@ ]); in stdenv.mkDerivation rec { pname = "webtorrent-desktop"; - version = "0.20.0"; + version = "0.21.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"; + fetchzip { + url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v${version}/WebTorrent-v${version}-linux.zip"; + sha256 = "13gd8isq2l10kibsc1bsc15dbgpnwa7nw4cwcamycgx6pfz9a852"; } else throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}"; + desktopFile = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/applications/webtorrent-desktop.desktop"; + sha256 = "1v16dqbxqds3cqg3xkzxsa5fyd8ssddvjhy9g3i3lz90n47916ca"; + }; + icon256File = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/256x256/apps/webtorrent-desktop.png"; + sha256 = "1dapxvvp7cx52zhyaby4bxm4rll9xc7x3wk8k0il4g3mc7zzn3yk"; + }; + icon48File = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png"; + sha256 = "00y96w9shbbrdbf6xcjlahqd08154kkrxmqraik7qshiwcqpw7p4"; + }; 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 + mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps} + cp -R . $out/libexec # Patch WebTorrent patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ @@ -71,9 +77,11 @@ 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 + cp $icon48File $out/share/icons/hicolor/48x48/apps/webtorrent-desktop.png + cp $icon256File $out/share/icons/hicolor/256x256/apps/webtorrent-desktop.png + ## Fix the desktop link + substitute $desktopFile $out/share/applications/webtorrent-desktop.desktop \ + --replace /opt/webtorrent-desktop $out/libexec ''; meta = with stdenv.lib; {