94ba105523
These are used by libguestfs's optional appliance builder program. I haven't been able to get that working yet, but this is a prerequisite.
48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper, perlPackages
|
|
, ocamlPackages, libxml2, libintl
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "hivex";
|
|
version = "1.3.21";
|
|
|
|
src = fetchurl {
|
|
url = "https://libguestfs.org/download/hivex/${pname}-${version}.tar.gz";
|
|
sha256 = "sha256-ms4+9KL/LKUKmb4Gi2D7H9vJ6rivU+NF6XznW6S2O1Y=";
|
|
};
|
|
|
|
patches = [ ./hivex-syms.patch ];
|
|
|
|
postPatch = ''
|
|
substituteInPlace ocaml/Makefile.am \
|
|
--replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib'
|
|
'';
|
|
|
|
strictDeps = true;
|
|
nativeBuildInputs = [ autoreconfHook makeWrapper perlPackages.perl pkg-config ]
|
|
++ (with ocamlPackages; [ ocaml findlib ]);
|
|
buildInputs = [
|
|
libxml2
|
|
]
|
|
++ (with perlPackages; [ perl IOStringy ])
|
|
++ lib.optionals stdenv.isDarwin [ libintl ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/hivexregedit \
|
|
--set PERL5LIB "$out/${perlPackages.perl.libPrefix}" \
|
|
--prefix "PATH" : "$out/bin"
|
|
|
|
wrapProgram $out/bin/hivexml \
|
|
--prefix "PATH" : "$out/bin"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Windows registry hive extraction library";
|
|
license = licenses.lgpl2Only;
|
|
homepage = "https://github.com/libguestfs/hivex";
|
|
maintainers = with maintainers; [offline];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|