From 1c49316e4de56f3b52de39bdb7144806651d0537 Mon Sep 17 00:00:00 2001 From: Angus Trau Date: Sat, 14 Aug 2021 22:33:39 +1000 Subject: [PATCH 1/4] dht: init at 0.25 (cherry picked from commit 54099a0676c1bc5c598dc475230d7c931a48abd4) --- .../networking/p2p/dht/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/networking/p2p/dht/default.nix diff --git a/pkgs/applications/networking/p2p/dht/default.nix b/pkgs/applications/networking/p2p/dht/default.nix new file mode 100644 index 00000000000..0088e517914 --- /dev/null +++ b/pkgs/applications/networking/p2p/dht/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "dht"; + version = "0.25"; + + src = fetchFromGitHub { + # Use transmission fork from post-0.25-transmission branch + owner = "transmission"; + repo = pname; + rev = "25e12bb39eea3d433602de6390796fec8a8f3620"; + sha256 = "fksi8WBQPydgSlISaZMMnxzt4xN7/Hh7aN6QQ+g/L7s="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "BitTorrent DHT library"; + homepage = "https://github.com/transmission/dht"; + license = licenses.mit; + maintainers = with maintainers; [ angustrau ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9d2809ba21..31a6f4488c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23052,6 +23052,8 @@ in dfilemanager = libsForQt5.callPackage ../applications/misc/dfilemanager { }; + dht = callPackage ../applications/networking/p2p/dht { }; + dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome2) libart_lgpl libgnomeui; }; From cbb56e483743d108576202a83cf251609bcbe098 Mon Sep 17 00:00:00 2001 From: Angus Trau Date: Sat, 14 Aug 2021 22:34:37 +1000 Subject: [PATCH 2/4] libutp: init at unstable-2017-01-02 (cherry picked from commit adc89ca60d3dada24549f00d65fe2fea1ce33c84) --- .../networking/p2p/libutp/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/networking/p2p/libutp/default.nix diff --git a/pkgs/applications/networking/p2p/libutp/default.nix b/pkgs/applications/networking/p2p/libutp/default.nix new file mode 100644 index 00000000000..6fba4faf50c --- /dev/null +++ b/pkgs/applications/networking/p2p/libutp/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "libutp"; + version = "unstable-2017-01-02"; + + src = fetchFromGitHub { + # Use transmission fork from post-3.3-transmission branch + owner = "transmission"; + repo = pname; + rev = "fda9f4b3db97ccb243fcbed2ce280eb4135d705b"; + sha256 = "CvuZLOBksIl/lS6LaqOIuzNvX3ihlIPjI3Eqwo7YJH0="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "uTorrent Transport Protocol library"; + homepage = "https://github.com/transmission/libutp"; + license = licenses.mit; + maintainers = with maintainers; [ angustrau ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31a6f4488c7..377f03b0886 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24833,6 +24833,8 @@ in libvmi = callPackage ../development/libraries/libvmi { }; + libutp = callPackage ../applications/networking/p2p/libutp { }; + lifelines = callPackage ../applications/misc/lifelines { }; liferea = callPackage ../applications/networking/newsreaders/liferea { }; From 1f61c32532dc9dd871b1dc82bb87f80efbafae06 Mon Sep 17 00:00:00 2001 From: Angus Trau Date: Sat, 14 Aug 2021 22:35:44 +1000 Subject: [PATCH 3/4] transmission: fix missing optional dependencies (cherry picked from commit 37134b6072dd01e55f12a8c3a501f7969398a808) --- .../networking/p2p/transmission/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index 1efa9ec76da..6e1367a6b4e 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -10,6 +10,11 @@ , systemd , zlib , pcre +, libb64 +, libutp +, miniupnpc +, dht +, libnatpmp # Build options , enableGTK3 ? false , gtk3 @@ -69,6 +74,11 @@ in stdenv.mkDerivation { libevent zlib pcre + libb64 + libutp + miniupnpc + dht + libnatpmp ] ++ lib.optionals enableQt [ qt5.qttools qt5.qtbase ] ++ lib.optionals enableGTK3 [ gtk3 xorg.libpthreadstubs ] @@ -123,7 +133,7 @@ in stdenv.mkDerivation { * Full encryption, DHT, and PEX support ''; homepage = "http://www.transmissionbt.com/"; - license = lib.licenses.gpl2; # parts are under MIT + license = lib.licenses.gpl2Plus; # parts are under MIT maintainers = with lib.maintainers; [ astsmtl vcunat wizeman ]; platforms = lib.platforms.unix; }; From ccbc5e9a0e5766bb9b702056649bdfd55438126b Mon Sep 17 00:00:00 2001 From: Angus Trau Date: Sat, 14 Aug 2021 22:36:03 +1000 Subject: [PATCH 4/4] fragments: init at 1.5 (cherry picked from commit 1a7238dd323483d3929865bea8c6223ae7cad484) --- .../networking/p2p/fragments/default.nix | 78 +++++++++++++++++++ .../p2p/fragments/dependency-resolution.patch | 25 ++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 105 insertions(+) create mode 100644 pkgs/applications/networking/p2p/fragments/default.nix create mode 100644 pkgs/applications/networking/p2p/fragments/dependency-resolution.patch diff --git a/pkgs/applications/networking/p2p/fragments/default.nix b/pkgs/applications/networking/p2p/fragments/default.nix new file mode 100644 index 00000000000..721f0ca259f --- /dev/null +++ b/pkgs/applications/networking/p2p/fragments/default.nix @@ -0,0 +1,78 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, vala +, ninja +, pkg-config +, wrapGAppsHook +, desktop-file-utils +, appstream-glib +, python3 +, glib +, gtk3 +, libhandy +, libtransmission +, libb64 +, libutp +, miniupnpc +, dht +, libnatpmp +, libevent +, curl +, openssl +, zlib +}: + +stdenv.mkDerivation rec { + pname = "fragments"; + version = "1.5"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "Fragments"; + rev = version; + sha256 = "0x1kafhlgyi65l4w67c24r8mpvasg3q3c4wlgnjc9sxvp6ki7xbn"; + }; + + patches = [ + # Fix dependency resolution + ./dependency-resolution.patch + ]; + + nativeBuildInputs = [ + meson + vala + ninja + pkg-config + wrapGAppsHook + desktop-file-utils + appstream-glib + python3 + ]; + + buildInputs = [ + glib + gtk3 + libhandy + libtransmission + libb64 + libutp + miniupnpc + dht + libnatpmp + libevent + curl + openssl + zlib + ]; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/World/Fragments"; + description = "A GTK3 BitTorrent Client"; + maintainers = with maintainers; [ angustrau ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/fragments/dependency-resolution.patch b/pkgs/applications/networking/p2p/fragments/dependency-resolution.patch new file mode 100644 index 00000000000..0446bc1390c --- /dev/null +++ b/pkgs/applications/networking/p2p/fragments/dependency-resolution.patch @@ -0,0 +1,25 @@ +diff --git a/meson.build b/meson.build +index 5030d0c..6de7a20 100644 +--- a/meson.build ++++ b/meson.build +@@ -32,10 +32,11 @@ transmission_dep = declare_dependency( + meson.get_compiler('c').find_library('dht'), + meson.get_compiler('c').find_library('natpmp'), + meson.get_compiler('c').find_library('event'), +- meson.get_compiler('c').find_library('libcurl'), +- meson.get_compiler('c').find_library('libcrypto'), ++ meson.get_compiler('c').find_library('curl'), ++ meson.get_compiler('c').find_library('crypto'), ++ meson.get_compiler('c').find_library('ssl'), + meson.get_compiler('c').find_library('libpthread'), +- meson.get_compiler('c').find_library('libz'), ++ meson.get_compiler('c').find_library('z'), + transmission_vapi, + transmission_lib + ]) +@@ -45,4 +46,4 @@ subdir('data') + subdir('po') + subdir('src') + +-meson.add_install_script('build-aux/postinstall.py') ++meson.add_install_script('python3', '../build-aux/postinstall.py') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 377f03b0886..08b04fa878b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23737,6 +23737,8 @@ in fractal = callPackage ../applications/networking/instant-messengers/fractal { }; + fragments = callPackage ../applications/networking/p2p/fragments { }; + freecad = libsForQt5.callPackage ../applications/graphics/freecad { inherit (python3Packages) GitPython