diff options
author | Winter <winter@winter.cafe> | 2022-04-21 19:26:44 -0400 |
---|---|---|
committer | Winter <winter@winter.cafe> | 2022-04-21 19:26:44 -0400 |
commit | 69e661230508bf2c4b7b8dbb0518de6c951986ce (patch) | |
tree | 06684fc5db88ed531feaa5107bed00fb18e902c7 /pkgs/applications/networking/p2p | |
parent | 659b91df0a8115c767b74b2667c2218e279c1c62 (diff) |
{jesec-,}rtorrent: don't use package sets
Diffstat (limited to 'pkgs/applications/networking/p2p')
4 files changed, 225 insertions, 0 deletions
diff --git a/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix new file mode 100644 index 0000000000000..7fe444228d374 --- /dev/null +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, curl +, gtest +, libtorrent +, ncurses +, jsonRpcSupport ? true, nlohmann_json +, xmlRpcSupport ? true, xmlrpc_c +}: + +stdenv.mkDerivation rec { + pname = "jesec-rtorrent"; + version = "0.9.8-r15"; + + src = fetchFromGitHub { + owner = "jesec"; + repo = "rtorrent"; + rev = "v${version}"; + hash = "sha256-yYOw8wsiQd478JijLgPtEWsw2/ewd46re+t9D705rmk="; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + curl + libtorrent + ncurses + ] + ++ lib.optional jsonRpcSupport nlohmann_json + ++ lib.optional xmlRpcSupport xmlrpc_c; + + cmakeFlags = [ + "-DUSE_RUNTIME_CA_DETECTION=NO" + ] + ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO" + ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO"; + + + doCheck = true; + checkInputs = [ + gtest + ]; + + prePatch = '' + substituteInPlace src/main.cc \ + --replace "/etc/rtorrent/rtorrent.rc" "${placeholder "out"}/etc/rtorrent/rtorrent.rc" + ''; + + postFixup = '' + mkdir -p $out/etc/rtorrent + cp $src/doc/rtorrent.rc $out/etc/rtorrent/rtorrent.rc + ''; + + meta = with lib; { + description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach (jesec's fork)"; + homepage = "https://github.com/jesec/rtorrent"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ winter AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix new file mode 100644 index 0000000000000..d46e4a159399a --- /dev/null +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, gtest +, openssl +, zlib +}: + +stdenv.mkDerivation rec { + pname = "jesec-libtorrent"; + version = "0.13.8-r3"; + + src = fetchFromGitHub { + owner = "jesec"; + repo = "libtorrent"; + rev = "v${version}"; + hash = "sha256-S3DOKzXkvU+ZJxfrxwLXCVBnepzmiZ+3iiQqz084BEk="; + }; + + nativeBuildInputs = [ + cmake + ]; + buildInputs = [ + openssl + zlib + ]; + + doCheck = true; + preCheck = '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD + ''; + checkInputs = [ + gtest + ]; + + meta = with lib; { + homepage = "https://github.com/jesec/libtorrent"; + description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code (jesec's fork)"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ winter AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix new file mode 100644 index 0000000000000..f166f6d0e29f2 --- /dev/null +++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchurl +, fetchFromGitHub +, autoreconfHook +, autoconf-archive +, cppunit +, curl +, libsigcxx +, libtool +, libtorrent +, ncurses +, openssl +, pkg-config +, xmlrpc_c +, zlib +}: + +stdenv.mkDerivation rec { + pname = "rakshasa-rtorrent"; + version = "0.9.8+date=2021-08-07"; + + src = fetchFromGitHub { + owner = "rakshasa"; + repo = "rtorrent"; + rev = "a6bc99bb821d86b3b0633552db3fbd0a22497657"; + hash = "sha256-HTwAs8dfZVXfLRNiT6QpjKGnuahHfoMfYWqdKkedUL0="; + }; + + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + pkg-config + ]; + + buildInputs = [ + cppunit + curl + libsigcxx + libtool + libtorrent + ncurses + openssl + xmlrpc_c + zlib + ]; + + configureFlags = [ + "--with-xmlrpc-c" + "--with-posix-fallocate" + ]; + + enableParallelBuilding = true; + + postInstall = '' + mkdir -p $out/share/man/man1 $out/share/doc/rtorrent + mv doc/old/rtorrent.1 $out/share/man/man1/rtorrent.1 + mv doc/rtorrent.rc $out/share/doc/rtorrent/rtorrent.rc + ''; + + meta = with lib; { + homepage = "https://rakshasa.github.io/rtorrent/"; + description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ebzzry codyopel ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix new file mode 100644 index 0000000000000..fff4cbb36cf62 --- /dev/null +++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix @@ -0,0 +1,48 @@ +# Note: this is rakshasa's version of libtorrent, used mainly by rtorrent. +# *Do not* mistake it by libtorrent-rasterbar, used by Deluge, qbitttorent etc. +{ lib +, stdenv +, fetchFromGitHub +, autoconf-archive +, autoreconfHook +, cppunit +, libsigcxx +, openssl +, pkg-config +, zlib +}: + +stdenv.mkDerivation rec { + pname = "rakshasa-libtorrent"; + version = "0.13.8+date=2021-08-07"; + + src = fetchFromGitHub { + owner = "rakshasa"; + repo = "libtorrent"; + rev = "53596afc5fae275b3fb5753a4bb2a1a7f7cf6a51"; + hash = "sha256-gyl/jfbptHz/gHkkVGWShhv1Z7o9fa9nJIz27U2A6wg="; + }; + + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + pkg-config + ]; + + buildInputs = [ + cppunit + libsigcxx + openssl + zlib + ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://github.com/rakshasa/libtorrent"; + description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ebzzry codyopel ]; + platforms = platforms.unix; + }; +} |