a49df2a894
Using `rev = "v${revision}"` results in a "bad reference" error; use the plain revision instead.
78 lines
2.4 KiB
Nix
78 lines
2.4 KiB
Nix
{ stdenv, fetchgit, pythonPackages, makeWrapper, nettools, libtorrentRasterbar, imagemagick
|
|
, enablePlayer ? true, vlc ? null }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "tribler";
|
|
name = "${pname}-${version}";
|
|
version = "7.0.0-beta";
|
|
revision = "1d3ddb8";
|
|
|
|
src = fetchgit {
|
|
url = "https://github.com/Tribler/tribler";
|
|
rev = revision;
|
|
sha256 = "16mk76qgg7fgca11yvpygicxqbkc0kn6r82x73fly2310pagd845";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
buildInputs = [
|
|
pythonPackages.python
|
|
pythonPackages.wrapPython
|
|
makeWrapper
|
|
imagemagick
|
|
];
|
|
|
|
pythonPath = [
|
|
libtorrentRasterbar
|
|
pythonPackages.apsw
|
|
pythonPackages.twisted
|
|
pythonPackages.netifaces
|
|
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
|
|
];
|
|
|
|
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'"
|
|
''}
|
|
'';
|
|
|
|
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 = 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 = licenses.lgpl21;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|