summary refs log tree commit diff
path: root/pkgs/os-specific/linux/fsverity-utils
diff options
context:
space:
mode:
author06kellyjac <dev@j-k.io>2022-05-21 13:52:19 +0100
committer06kellyjac <dev@j-k.io>2022-05-21 13:52:19 +0100
commit1a170493e56b5a322317d2d70798e5dbce213e20 (patch)
tree85a4863c8d8cc0f2fbbdfdd3d012512ee032b4a5 /pkgs/os-specific/linux/fsverity-utils
parentdfd01d846502dd5f33b6fa5aab44429e445f4866 (diff)
downloadnixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar.gz
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar.bz2
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar.lz
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar.xz
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.tar.zst
nixpkgs-1a170493e56b5a322317d2d70798e5dbce213e20.zip
fsverity-utils: init at 1.5
Diffstat (limited to 'pkgs/os-specific/linux/fsverity-utils')
-rw-r--r--pkgs/os-specific/linux/fsverity-utils/default.nix51
-rw-r--r--pkgs/os-specific/linux/fsverity-utils/remove-dynamic-libs.patch27
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/fsverity-utils/default.nix b/pkgs/os-specific/linux/fsverity-utils/default.nix
new file mode 100644
index 00000000000..c5bed075338
--- /dev/null
+++ b/pkgs/os-specific/linux/fsverity-utils/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, lib
+, fetchgit
+, openssl
+, enableShared ? !stdenv.hostPlatform.isStatic
+, enableManpages ? false
+, pandoc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fsverity-utils";
+  version = "1.5";
+
+  outputs = [ "out" "lib" "dev" ] ++ lib.optional enableManpages "man";
+
+  src = fetchgit {
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/fsverity-utils.git";
+    rev = "v${version}";
+    sha256 = "sha256-ygBOkp2PBe8Z2ak6SXEJ6HHuT4NRKmIsbJDHcY+h8PQ=";
+  };
+
+  patches = lib.optionals (!enableShared) [
+    ./remove-dynamic-libs.patch
+  ];
+
+  enableParallelBuilding = true;
+  strictDeps = true;
+
+  nativeBuildInputs = lib.optional enableManpages pandoc;
+  buildInputs = [ openssl ];
+
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ] ++ lib.optional enableShared "USE_SHARED_LIB=1";
+
+  doCheck = true;
+
+  installTargets = [ "install" ] ++ lib.optional enableManpages "install-man";
+
+  postInstall = ''
+    mkdir -p $lib
+    mv $out/lib $lib/lib
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.kernel.org/doc/html/latest/filesystems/fsverity.html#userspace-utility";
+    changelog = "https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/fsverity-utils.git/tree/NEWS.md";
+    description = "A set of userspace utilities for fs-verity";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/fsverity-utils/remove-dynamic-libs.patch b/pkgs/os-specific/linux/fsverity-utils/remove-dynamic-libs.patch
new file mode 100644
index 00000000000..95635cbccdb
--- /dev/null
+++ b/pkgs/os-specific/linux/fsverity-utils/remove-dynamic-libs.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile b/Makefile
+index 2304a21..697ccd4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -149,13 +149,11 @@ libfsverity.so.$(SOVERSION):$(SHARED_LIB_OBJ)
+ 	$(QUIET_CCLD) $(CC) -o $@ -Wl,-soname=$@ -shared $+ \
+ 		$(CFLAGS) $(LDFLAGS) $(LDLIBS)
+ 
+-DEFAULT_TARGETS += libfsverity.so.$(SOVERSION)
+ 
+ # Create the symlink libfsverity.so => libfsverity.so.$(SOVERSION)
+ libfsverity.so:libfsverity.so.$(SOVERSION)
+ 	$(QUIET_LN) ln -sf $+ $@
+ 
+-DEFAULT_TARGETS += libfsverity.so
+ 
+ ##############################################################################
+ 
+@@ -263,8 +261,6 @@ install:all
+ 	install -d $(DESTDIR)$(LIBDIR)/pkgconfig $(DESTDIR)$(INCDIR) $(DESTDIR)$(BINDIR)
+ 	install -m755 $(FSVERITY) $(DESTDIR)$(BINDIR)
+ 	install -m644 libfsverity.a $(DESTDIR)$(LIBDIR)
+-	install -m755 libfsverity.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)
+-	ln -sf libfsverity.so.$(SOVERSION) $(DESTDIR)$(LIBDIR)/libfsverity.so
+ 	install -m644 include/libfsverity.h $(DESTDIR)$(INCDIR)
+ 	sed -e "s|@PREFIX@|$(PREFIX)|" \
+ 		-e "s|@LIBDIR@|$(LIBDIR)|" \