diff --git a/pkgs/applications/networking/p2p/transmission/2.60.nix b/pkgs/applications/networking/p2p/transmission/2.60.nix new file mode 100644 index 00000000000..c59fddf6364 --- /dev/null +++ b/pkgs/applications/networking/p2p/transmission/2.60.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent, + file, inotifyTools, gtk ? null }: + +stdenv.mkDerivation rec { + name = "transmission-2.60"; # transmission >= 2.61 requires gtk3 + + src = fetchurl { + url = "http://download.transmissionbt.com/files/${name}.tar.xz"; + sha256 = "1ramdliyy8j7qqpkxg643lda11ynxwfhq6qcs31fr3h9x72l0rg4"; + }; + + buildInputs = [ pkgconfig openssl curl intltool libevent + file inotifyTools gtk ]; + + preConfigure = '' + sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure + ''; + + postInstall = '' + rm -f $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = { + 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 = [ "GPLv2" ]; + maintainers = [ stdenv.lib.maintainers.astsmtl ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index c59fddf6364..14ec49c4e8d 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -1,12 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent, - file, inotifyTools, gtk ? null }: +{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent +, file, inotifyTools +, enableGtk ? false, gtk ? null }: + +assert enableGtk -> gtk != null; stdenv.mkDerivation rec { - name = "transmission-2.60"; # transmission >= 2.61 requires gtk3 + name = "transmission-2.77"; # transmission >= 2.61 requires gtk3 src = fetchurl { url = "http://download.transmissionbt.com/files/${name}.tar.xz"; - sha256 = "1ramdliyy8j7qqpkxg643lda11ynxwfhq6qcs31fr3h9x72l0rg4"; + sha256 = "1phzhj4wds6r2ziclva1b5l6l9xjsx5ji7s3m4xia44aq4znbcam"; }; buildInputs = [ pkgconfig openssl curl intltool libevent @@ -16,6 +19,8 @@ stdenv.mkDerivation rec { sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure ''; + configureFlags = stdenv.lib.optional enableGtk "--with-gtk"; + postInstall = '' rm -f $out/share/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e59923c85b4..ba6f934f01e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7860,6 +7860,9 @@ let wrapPython = pythonPackages.wrapPython; }; + # This builds the gtk client + transmission_260 = callPackage ../applications/networking/p2p/transmission/2.60.nix { }; + transmission = callPackage ../applications/networking/p2p/transmission { }; transmission_remote_gtk = callPackage ../applications/networking/p2p/transmission-remote-gtk {};