lol
1{ stdenv, fetchurl, pkgconfig, libevent, openssl, zlib, torsocks
2, libseccomp, systemd, libcap
3}:
4
5stdenv.mkDerivation rec {
6 name = "tor-0.3.0.10";
7
8 src = fetchurl {
9 url = "https://dist.torproject.org/${name}.tar.gz";
10 sha256 = "1cas30wk4bhcivi6l9dj7wwlz6pc2jj883x1vijax3b8l54nx3ls";
11 };
12
13 outputs = [ "out" "geoip" ];
14
15 nativeBuildInputs = [ pkgconfig ];
16 buildInputs = [ libevent openssl zlib ] ++
17 stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ];
18
19 NIX_CFLAGS_LINK = stdenv.lib.optionalString stdenv.cc.isGNU "-lgcc_s";
20
21 postPatch = ''
22 substituteInPlace contrib/client-tools/torify \
23 --replace 'pathfind torsocks' true \
24 --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks'
25 '';
26
27 postInstall = ''
28 mkdir -p $geoip/share/tor
29 mv $out/share/tor/geoip{,6} $geoip/share/tor
30 rm -rf $out/share/tor
31 '';
32
33 doCheck = true;
34
35 meta = with stdenv.lib; {
36 homepage = https://www.torproject.org/;
37 repositories.git = https://git.torproject.org/git/tor;
38 description = "Anonymizing overlay network";
39
40 longDescription = ''
41 Tor helps improve your privacy by bouncing your communications around a
42 network of relays run by volunteers all around the world: it makes it
43 harder for somebody watching your Internet connection to learn what sites
44 you visit, and makes it harder for the sites you visit to track you. Tor
45 works with many of your existing applications, including web browsers,
46 instant messaging clients, remote login, and other applications based on
47 the TCP protocol.
48 '';
49
50 license = licenses.bsd3;
51
52 maintainers = with maintainers;
53 [ phreedom doublec thoughtpolice joachifm ];
54 platforms = platforms.unix;
55 };
56}