about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libguestfs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-08 17:57:14 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-13 11:31:47 +0000
commitee7984efa14902a2ddd820c937457667a4f40c6a (patch)
treec9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/development/libraries/libguestfs
parentffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff)
parentb3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff)
downloadnixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libguestfs')
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch11
2 files changed, 29 insertions, 28 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
index 47f6ffe2c52f..ebb431ae199a 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
@@ -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,41 +12,53 @@ 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 ];
+  strictDeps = true;
+  nativeBuildInputs = [
+    autoreconfHook bison cdrkit cpio flex getopt gperf makeWrapper pkg-config qemu
+  ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
+    ++ (with ocamlPackages; [ ocaml findlib ]);
   buildInputs = [
-    ncurses cpio gperf jansson
-    cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
+    ncurses jansson
+    pcre augeas libxml2 acl libcap libcap_ng libconfig
     systemd fuse yajl libvirt gmp readline file hivex db
-    numactl libapparmor getopt perlPackages.ModuleBuild
+    numactl libapparmor perlPackages.ModuleBuild
     libtirpc
-  ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
-    ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt gettext-stub ounit ])
+  ] ++ (with ocamlPackages; [ ocamlbuild ocaml_libvirt gettext-stub ounit ])
     ++ lib.optional javaSupport jdk;
 
   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;
@@ -87,7 +99,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for accessing and modifying virtual machine disk images";
-    license = with licenses; [ gpl2 lgpl21 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
     homepage = "https://libguestfs.org/";
     maintainers = with maintainers; [offline];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch b/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch
deleted file mode 100644
index 032527d57130..000000000000
--- a/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/common/mlstdutils/std_utils.ml	2019-02-07 15:45:56.516955598 +0100
-+++ b/common/mlstdutils/std_utils.ml	2019-02-07 15:45:56.516955598 +0100
-@@ -305,7 +305,7 @@
-       | x::xs, y::ys, z::zs -> (x, y, z) :: combine3 xs ys zs
-       | _ -> invalid_arg "combine3"
- 
--    let rec assoc_lbl ?(cmp = compare) ~default x = function
-+    let rec assoc_lbl ?(cmp = Pervasives.compare) ~default x = function
-       | [] -> default
-       | (y, y') :: _ when cmp x y = 0 -> y'
-       | _ :: ys -> assoc_lbl ~cmp ~default x ys