Skip to content

Commit

Permalink
tribler: from 6.4.3 to 7.0.0-beta
Browse files Browse the repository at this point in the history
removed old unused dependencies,
changed enablePlayer to true by default,
added myself as maintainer.
  • Loading branch information
xvapx authored and globin committed Mar 22, 2017
1 parent f9e688e commit ad75bff
Showing 1 changed file with 48 additions and 31 deletions.
79 changes: 48 additions & 31 deletions pkgs/applications/networking/p2p/tribler/default.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
{ stdenv, fetchurl, pythonPackages, makeWrapper, nettools, libtorrentRasterbar, imagemagick
, enablePlayer ? false, vlc ? null }:

{ stdenv, fetchgit, pythonPackages, makeWrapper, nettools, libtorrentRasterbar, imagemagick
, enablePlayer ? true, vlc ? null }:

stdenv.mkDerivation rec {
name = "tribler-${version}";
version = "v6.4.3";
pname = "tribler";
name = "${pname}-${version}";
version = "7.0.0-beta";
revision = "1d3ddb8";

src = fetchurl {
url = "https://github.com/Tribler/tribler/releases/download/${version}/Tribler-${version}.tar.xz";
sha256 = "1n5qi3jlby41w60zg6dvl933ypyiflq3rb0qkwhxi4b26s3vwvgr";
src = fetchgit {
url = "https://github.com/Tribler/tribler";
rev = "v${revision}";
sha256 = "16mk76qgg7fgca11yvpygicxqbkc0kn6r82x73fly2310pagd845";
fetchSubmodules = true;
};

buildInputs = [
Expand All @@ -20,42 +23,56 @@ stdenv.mkDerivation rec {

pythonPath = [
libtorrentRasterbar
pythonPackages.wxPython
pythonPackages.apsw
pythonPackages.twisted
pythonPackages.gmpy
pythonPackages.netifaces
pythonPackages.pillow
pythonPackages.pycrypto
pythonPackages.pyasn1
pythonPackages.requests
pythonPackages.setuptools
pythonPackages.m2crypto
pythonPackages.pyqt5
pythonPackages.chardet
pythonPackages.cherrypy
pythonPackages.cryptography
pythonPackages.libnacl
pythonPackages.configobj
pythonPackages.matplotlib
pythonPackages.plyvel
pythonPackages.decorator
pythonPackages.feedparser
];

installPhase =
''
find . -name '*.png' -exec convert -strip {} {} \;
# Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
wrapPythonPrograms
mkdir -p $out/share/tribler
cp -prvd Tribler $out/share/tribler/
postPatch = ''
${stdenv.lib.optionalString enablePlayer ''
substituteInPlace "./TriblerGUI/vlc.py" --replace "ctypes.CDLL(p)" "ctypes.CDLL('${vlc}/lib/libvlc.so')"
substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "if vlc and vlc.plugin_path" "if vlc"
substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "os.environ['VLC_PLUGIN_PATH'] = vlc.plugin_path" "os.environ['VLC_PLUGIN_PATH'] = '${vlc}/lib/vlc/plugins'"
''}
'';

makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
--set _TRIBLERPATH $out/share/tribler \
--set PYTHONPATH $out/share/tribler:$program_PYTHONPATH \
--run 'cd $_TRIBLERPATH' \
--add-flags "-O $out/share/tribler/Tribler/Main/tribler.py" \
${stdenv.lib.optionalString enablePlayer ''
--prefix LD_LIBRARY_PATH : ${vlc}/lib
''}
'';
installPhase = ''
find . -name '*.png' -exec convert -strip {} {} \;
mkdir -pv $out
# Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
wrapPythonPrograms
cp -prvd ./* $out/
makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
--set _TRIBLERPATH $out \
--set PYTHONPATH $out:$program_PYTHONPATH \
--set NO_AT_BRIDGE 1 \
--run 'cd $_TRIBLERPATH' \
--add-flags "-O $out/run_tribler.py" \
${stdenv.lib.optionalString enablePlayer ''
--prefix LD_LIBRARY_PATH : ${vlc}/lib
''}
'';

meta = {
meta = with stdenv.lib; {
maintainers = with maintainers; [ xvapx ];
homepage = http://www.tribler.org/;
description = "A completely decentralised P2P filesharing client based on the Bittorrent protocol";
license = stdenv.lib.licenses.lgpl21;
platforms = stdenv.lib.platforms.linux;
license = licenses.lgpl21;
platforms = platforms.linux;
};
}

0 comments on commit ad75bff

Please sign in to comment.