summary refs log tree commit diff
path: root/pkgs/tools/networking/p2p
diff options
context:
space:
mode:
authorDoron Behar <doron.behar@gmail.com>2020-03-21 13:16:05 +0200
committerDoron Behar <doron.behar@gmail.com>2020-03-30 13:44:17 +0300
commit98f5d0574f941f1fd7b08f0f895b76b4d2656373 (patch)
tree966bd425dc4cb88819554d201a4a81c069481b4e /pkgs/tools/networking/p2p
parentecfb2b41ced59fc107a82dc3a0df288f519c461c (diff)
downloadnixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar.gz
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar.bz2
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar.lz
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar.xz
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.tar.zst
nixpkgs-98f5d0574f941f1fd7b08f0f895b76b4d2656373.zip
gtk-gnutella: 1.1.14 -> 1.1.15
Remove patches applied between 1.1.14 and 1.1.15 and switch to GitHub
source.
gtk-gnutella: several changes.
Disable internal malloc implementation.
Add @doronbehar as maintainer.
Comment about hardeningDisable regarding next release.
Format arguments and inputs.
Enable to disable GUI.
Diffstat (limited to 'pkgs/tools/networking/p2p')
-rw-r--r--pkgs/tools/networking/p2p/gtk-gnutella/default.nix70
1 files changed, 46 insertions, 24 deletions
diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
index 70e36cb7ec5..08163bd8a9e 100644
--- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
+++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
@@ -1,37 +1,58 @@
-{ stdenv, fetchurl, fetchpatch, bison, pkgconfig, gettext, desktop-file-utils
-, glib, gtk2, libxml2, libbfd, zlib, binutils, gnutls
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, bison
+, pkgconfig
+, gettext
+, desktop-file-utils
+, glib
+, gtk2
+, libxml2
+, libbfd
+, zlib
+, binutils
+, gnutls
+, enableGui ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gtk-gnutella";
-  version = "1.1.14";
+  # NOTE: Please remove hardeningDisable on the next release, see:
+  # https://sourceforge.net/p/gtk-gnutella/bugs/555/#5c19
+  version = "1.1.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0sljjha4anfz1r1xq1c6qnnkjv62ld56p7xgj4bsi6lqmq1azvii";
+  src = fetchFromGitHub {
+    owner = "gtk-gnutella";
+    repo = "gtk-gnutella";
+    rev = "v${version}";
+    sha256 = "1g7w6ywwp2g4qdgmfqkrl1rldk1b4rx50yb7h75hh15mh6nr159r";
   };
 
-  patches = [
-    (fetchpatch {
-      # Avoid namespace conflict with glibc 2.28 'statx' struct / remove after v1.1.14
-      url = "https://github.com/gtk-gnutella/gtk-gnutella/commit/e4205a082eb32161e28de81f5cba8095eea8ecc7.patch";
-      sha256 = "0ffkw2cw2b2yhydii8jm40vd40p4xl224l8jvhimg02lgs3zfbca";
-    })
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/gtk-gnutella/raw/f30/f/gtk-gnutella-1.1.14-endian.patch";
-      sha256 = "19q4lq8msknfz4mkbjdqmmgld16p30j2yx371p8spmr19q5i0sfn";
-    })
+  nativeBuildInputs = [
+    bison
+    desktop-file-utils
+    gettext
+    pkgconfig
   ];
-
-  postPatch = ''
-    substituteInPlace Makefile.SH --replace "@exit 0" "@echo done"
-  '';
-
-  nativeBuildInputs = [ bison desktop-file-utils gettext pkgconfig ];
-  buildInputs = [ binutils glib gnutls gtk2 libbfd libxml2 zlib ];
+  buildInputs = [
+    glib
+    gnutls
+    libbfd
+    libxml2
+    zlib
+  ]
+  ++
+    stdenv.lib.optionals (enableGui) [ gtk2 ]
+  ;
 
   configureScript = "./build.sh";
-  configureFlags = [ "--configure-only" ];
+  configureFlags = [
+    "--configure-only"
+    # See https://sourceforge.net/p/gtk-gnutella/bugs/555/
+    "--disable-malloc"
+  ]
+    ++ stdenv.lib.optionals (!enableGui) [ "--topless" ]
+  ;
 
   hardeningDisable = [ "bindnow" "fortify" "pic" "relro" ];
 
@@ -45,6 +66,7 @@ stdenv.mkDerivation rec {
     description = "A GTK Gnutella client, optimized for speed and scalability";
     homepage = "http://gtk-gnutella.sourceforge.net/"; # Code: https://github.com/gtk-gnutella/gtk-gnutella
     changelog = "https://raw.githubusercontent.com/gtk-gnutella/gtk-gnutella/v${version}/ChangeLog";
+    maintainers = [ maintainers.doronbehar ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };