summary refs log tree commit diff
path: root/pkgs/tools/misc/lnav
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-05-31 09:59:33 +0000
committerAlyssa Ross <hi@alyssa.is>2022-05-31 09:59:57 +0000
commit9ff36293d1e428cd7bf03e8d4b03611b6d361c28 (patch)
tree1ab51a42b868c55b83f6ccdb80371b9888739dd9 /pkgs/tools/misc/lnav
parent1c4fcd0d4b0541e674ee56ace1053e23e562cc80 (diff)
parentddc3c396a51918043bb0faa6f676abd9562be62c (diff)
downloadnixpkgs-archive.tar
nixpkgs-archive.tar.gz
nixpkgs-archive.tar.bz2
nixpkgs-archive.tar.lz
nixpkgs-archive.tar.xz
nixpkgs-archive.tar.zst
nixpkgs-archive.zip
Last good Nixpkgs for Weston+nouveau? archive
I came this commit hash to terwiz[m] on IRC, who is trying to figure out
what the last version of Spectrum that worked on their NUC with Nvidia
graphics is.
Diffstat (limited to 'pkgs/tools/misc/lnav')
-rw-r--r--pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch38
-rw-r--r--pkgs/tools/misc/lnav/default.nix56
2 files changed, 94 insertions, 0 deletions
diff --git a/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch b/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch
new file mode 100644
index 00000000000..afbec1d7e47
--- /dev/null
+++ b/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch
@@ -0,0 +1,38 @@
+From 20c3fe76340981c43eeed16a5509480a0f5cb56d Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 6 Aug 2021 10:55:01 +0200
+Subject: [PATCH] Forcefully disable docs build
+
+This currently affects the following statement in `src/Makefile.am`
+only:
+
+    if !DISABLE_DOCUMENTATION
+    all-local: lnav
+            if test -w $(srcdir)/internals; then \
+                    env DUMP_INTERNALS_DIR=$(srcdir)/internals DUMP_CRASH=1 ./lnav Makefile; \
+                    mv $(srcdir)/internals/*.schema.json $(top_srcdir)/docs/schemas; \
+            fi
+    endif
+
+We cannot do this (even on non-cross builds) since `lnav` requires e.g.
+`/etc/nsswitch.conf` and other impurities here.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce311fd8..e3c9ebe0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -287,7 +287,7 @@ AS_IF([test $? -eq 0],
+ 
+ AM_CONDITIONAL(USE_INCLUDED_YAJL, test $HAVE_LOCAL_YAJL -eq 0)
+ AM_CONDITIONAL(HAVE_LIBCURL, test x"$LIBCURL" != x"")
+-AM_CONDITIONAL([DISABLE_DOCUMENTATION], [ test x"$cross_compiling" != x"no" ])
++AM_CONDITIONAL([DISABLE_DOCUMENTATION], [ true ])
+ 
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_CONFIG_FILES([Makefile])
+-- 
+2.31.1
+
diff --git a/pkgs/tools/misc/lnav/default.nix b/pkgs/tools/misc/lnav/default.nix
new file mode 100644
index 00000000000..ce541e8f567
--- /dev/null
+++ b/pkgs/tools/misc/lnav/default.nix
@@ -0,0 +1,56 @@
+{ lib, stdenv, fetchFromGitHub, pcre-cpp, sqlite, ncurses
+, readline, zlib, bzip2, autoconf, automake, curl }:
+
+stdenv.mkDerivation rec {
+  pname = "lnav";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "tstack";
+    repo = "lnav";
+    rev = "v${version}";
+    sha256 = "sha256-1b4mVKIUotMSK/ADHnpiM42G98JF0abL8sXXGFyS3sw=";
+  };
+
+  patches = [ ./0001-Forcefully-disable-docs-build.patch ];
+  postPatch = ''
+    substituteInPlace Makefile.am \
+      --replace "SUBDIRS = src test" "SUBDIRS = src"
+  '';
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [
+    zlib
+    bzip2
+    ncurses
+    pcre-cpp
+    readline
+    sqlite
+    curl
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/tstack/lnav";
+    description = "The Logfile Navigator";
+    longDescription = ''
+      The log file navigator, lnav, is an enhanced log file viewer that takes
+      advantage of any semantic information that can be gleaned from the files
+      being viewed, such as timestamps and log levels. Using this extra
+      semantic information, lnav can do things like interleaving messages from
+      different files, generate histograms of messages over time, and providing
+      hotkeys for navigating through the file. It is hoped that these features
+      will allow the user to quickly and efficiently zero in on problems.
+    '';
+    downloadPage = "https://github.com/tstack/lnav/releases";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dochang ma27 ];
+    platforms = platforms.unix;
+  };
+
+}