|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper |
|
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, makeWrapper |
|
|
|
|
, ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre, augeas, libxml2 |
|
|
|
|
, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db |
|
|
|
|
, gmp, readline, file, numactl, libapparmor, jansson |
|
|
|
@ -12,11 +12,11 @@ assert javaSupport -> jdk != null; |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "libguestfs"; |
|
|
|
|
version = "1.40.2"; |
|
|
|
|
version = "1.44.1"; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "https://libguestfs.org/download/1.40-stable/${pname}-${version}.tar.gz"; |
|
|
|
|
sha256 = "ad6562c48c38e922a314cb45a90996843d81045595c4917f66b02a6c2dfe8058"; |
|
|
|
|
url = "https://libguestfs.org/download/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; |
|
|
|
|
sha256 = "09dhmlbfdwirlmkasa28x69vqs5xndq0lnng6b4if76s6bfxrdvj"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ]; |
|
|
|
@ -33,20 +33,29 @@ stdenv.mkDerivation rec { |
|
|
|
|
prePatch = '' |
|
|
|
|
# build-time scripts |
|
|
|
|
substituteInPlace run.in --replace '#!/bin/bash' '#!${stdenv.shell}' |
|
|
|
|
substituteInPlace ocaml-link.sh --replace '#!/bin/bash' '#!${stdenv.shell}' |
|
|
|
|
substituteInPlace ocaml-link.sh.in --replace '#!/bin/bash' '#!${stdenv.shell}' |
|
|
|
|
|
|
|
|
|
# $(OCAMLLIB) is read-only "${ocamlPackages.ocaml}/lib/ocaml" |
|
|
|
|
substituteInPlace ocaml/Makefile.am --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml' |
|
|
|
|
substituteInPlace ocaml/Makefile.in --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml' |
|
|
|
|
substituteInPlace v2v/test-harness/Makefile.am --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml' |
|
|
|
|
substituteInPlace v2v/test-harness/Makefile.in --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml' |
|
|
|
|
|
|
|
|
|
# some scripts hardcore /usr/bin/env which is not available in the build env |
|
|
|
|
patchShebangs . |
|
|
|
|
''; |
|
|
|
|
configureFlags = [ "--disable-appliance" "--disable-daemon" "--with-distro=NixOS" ] |
|
|
|
|
++ lib.optionals (!javaSupport) [ "--disable-java" "--without-java" ]; |
|
|
|
|
patches = [ ./libguestfs-syms.patch ./ocaml-4.12.patch ]; |
|
|
|
|
configureFlags = [ |
|
|
|
|
"--disable-appliance" |
|
|
|
|
"--disable-daemon" |
|
|
|
|
"--with-distro=NixOS" |
|
|
|
|
"--with-guestfs-path=${placeholder "out"}/lib/guestfs" |
|
|
|
|
] ++ lib.optionals (!javaSupport) [ "--without-java" ]; |
|
|
|
|
patches = [ |
|
|
|
|
./libguestfs-syms.patch |
|
|
|
|
# Set HAVE_RPM, HAVE_DPKG, HAVE_PACMAN |
|
|
|
|
(fetchpatch { |
|
|
|
|
url = "https://github.com/libguestfs/libguestfs/commit/210959cc344d6a4a1e3afa26d276b130651def74.patch"; |
|
|
|
|
sha256 = "121l58mk2mwhhqc3rcisdw3di7y729b30hyffc8a50mq5k7fvsdb"; |
|
|
|
|
}) |
|
|
|
|
]; |
|
|
|
|
NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/"; |
|
|
|
|
installFlags = [ "REALLY_INSTALL=yes" ]; |
|
|
|
|
enableParallelBuilding = true; |
|
|
|
|