about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/newt
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/newt')
-rw-r--r--nixpkgs/pkgs/development/libraries/newt/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/newt/default.nix b/nixpkgs/pkgs/development/libraries/newt/default.nix
new file mode 100644
index 000000000000..1e6f8de2d589
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/newt/default.nix
@@ -0,0 +1,61 @@
+{ lib, fetchurl, stdenv, slang, popt, python }:
+
+let
+  pythonIncludePath = "${lib.getDev python}/include/python";
+in
+stdenv.mkDerivation rec {
+  pname = "newt";
+  version = "0.52.24";
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-Xe1+Ih+F9kJSHEmxgmyN4ZhFqjcrr11jClF3S1RPvbs=";
+  };
+
+  postPatch = ''
+    sed -i -e s,/usr/bin/install,install, -e s,-I/usr/include/slang,, Makefile.in po/Makefile
+
+    substituteInPlace configure \
+      --replace "/usr/include/python" "${pythonIncludePath}"
+    substituteInPlace configure.ac \
+      --replace "/usr/include/python" "${pythonIncludePath}"
+
+    substituteInPlace Makefile.in \
+      --replace "ar rv" "${stdenv.cc.targetPrefix}ar rv"
+  '';
+
+  strictDeps = true;
+  nativeBuildInputs = [ python ];
+  buildInputs = [ slang popt ];
+
+  NIX_LDFLAGS = "-lncurses";
+
+  preConfigure = ''
+    # If CPP is set explicitly, configure and make will not agree about which
+    # programs to use at different stages.
+    unset CPP
+  '';
+
+  configureFlags = lib.optionals stdenv.isDarwin [
+    "--disable-nls"
+  ];
+
+  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+  ];
+
+  postFixup = lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libnewt.so.${version} $out/lib/libnewt.so.${version}
+    install_name_tool -change libnewt.so.${version} $out/lib/libnewt.so.${version} $out/bin/whiptail
+  '';
+
+  meta = with lib; {
+    description = "Library for color text mode, widget based user interfaces";
+    mainProgram = "whiptail";
+    homepage = "https://pagure.io/newt";
+    changelog = "https://pagure.io/newt/blob/master/f/CHANGES";
+    license = licenses.lgpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ viric ];
+  };
+}