diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix b/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix new file mode 100644 index 000000000000..b94864a0b40f --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/p2p/transmission/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook +, openssl, curl, libevent, inotify-tools, systemd, zlib, hicolor-icon-theme +, enableGTK3 ? false, gtk3 +, enableSystemd ? stdenv.isLinux +, enableDaemon ? true +, enableCli ? true +}: + +let inherit (stdenv.lib) optional optionals optionalString; in + +stdenv.mkDerivation rec { + name = "transmission-" + optionalString enableGTK3 "gtk-" + version; + version = "2.94"; + + src = fetchurl { + url = "https://github.com/transmission/transmission-releases/raw/master/transmission-2.94.tar.xz"; + sha256 = "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"; + }; + + nativeBuildInputs = [ pkgconfig ] + ++ optionals enableGTK3 [ wrapGAppsHook ]; + buildInputs = [ intltool file openssl curl libevent zlib ] + ++ optionals enableGTK3 [ gtk3 ] + ++ optionals enableSystemd [ systemd ] + ++ optionals stdenv.isLinux [ inotify-tools ] + ++ optionals enableGTK3 [ hicolor-icon-theme ]; + + postPatch = '' + substituteInPlace ./configure \ + --replace "libsystemd-daemon" "libsystemd" \ + --replace "/usr/bin/file" "${file}/bin/file" \ + --replace "test ! -d /Developer/SDKs/MacOSX10.5.sdk" "false" + ''; + + configureFlags = [ + ("--enable-cli=" + (if enableCli then "yes" else "no")) + ("--enable-daemon=" + (if enableDaemon then "yes" else "no")) + "--disable-mac" # requires xcodebuild + ] + ++ optional enableSystemd "--with-systemd-daemon" + ++ optional enableGTK3 "--with-gtk"; + + NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation"; + + meta = with stdenv.lib; { + description = "A fast, easy and free BitTorrent client"; + longDescription = '' + Transmission is a BitTorrent client which features a simple interface + on top of a cross-platform back-end. + Feature spotlight: + * Uses fewer resources than other clients + * Native Mac, GTK+ and Qt GUI clients + * Daemon ideal for servers, embedded systems, and headless use + * All these can be remote controlled by Web and Terminal clients + * Bluetack (PeerGuardian) blocklists with automatic updates + * Full encryption, DHT, and PEX support + ''; + homepage = http://www.transmissionbt.com/; + license = licenses.gpl2; # parts are under MIT + maintainers = with maintainers; [ astsmtl vcunat wizeman ]; + platforms = platforms.unix; + }; +} + |