about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/package-management/apt-dater/default.nix50
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/apt-dater/default.nix b/pkgs/tools/package-management/apt-dater/default.nix
new file mode 100644
index 0000000000000..988147d7ab002
--- /dev/null
+++ b/pkgs/tools/package-management/apt-dater/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub
+, autoreconfHook, pkgconfig, gettext
+, vim, glib, libxml2, openssl, ncurses, popt, screen
+}:
+
+stdenv.mkDerivation rec {
+  name = "apt-dater-${version}";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "DE-IBH";
+    repo = "apt-dater";
+    rev = "v${version}";
+    sha256 = "1flr6cm72cywmwp5h7pbmmpq057xsi9shkczyplxqaqrb2gns5fl";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig autoreconfHook gettext
+  ];
+
+  buildInputs = [
+    libxml2 ncurses vim glib popt screen
+  ];
+
+  configureFlags = [ "--disable-history" ];
+
+  prePatch = ''
+    substituteInPlace etc/Makefile.am \
+      --replace 02770 0770
+  '';
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace "/usr/bin/screen" "${screen}/bin/screen"
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/DE-IBH/apt-dater;
+    description = "Terminal-based remote package update manager";
+    longDescription = ''
+      Provides an ncurses frontend for managing package updates on a large
+      number of remote hosts using SSH. It supports Debian-based managed hosts
+      as well as rug (e.g. openSUSE) and yum (e.g. CentOS) based systems.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ c0bw3b ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cdb487c80ff84..2e935c02e4d3f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -635,6 +635,8 @@ with pkgs;
     stdenv = overrideCC stdenv gcc5;
   };
 
+  apt-dater = callPackage ../tools/package-management/apt-dater { };
+
   autorevision = callPackage ../tools/misc/autorevision { };
 
   bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };