diff options
author | Vladimír Čunát <v@cunat.cz> | 2022-03-15 09:42:01 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2022-03-15 09:52:04 +0100 |
commit | f48c1fda6b457520c1214b29992af0c0c9872b6c (patch) | |
tree | 1bb43ae46bf2c035c48361c764ad4c5995881a10 /pkgs/development/libraries | |
parent | 415d23fb4d2b2823a87d410da9beef8332d82d7b (diff) | |
parent | aa6313a23d749f0d73f91af35a2fe15e74501451 (diff) | |
download | nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar.gz nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar.bz2 nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar.lz nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar.xz nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.tar.zst nixpkgs-f48c1fda6b457520c1214b29992af0c0c9872b6c.zip |
Merge branch 'master' into staging-next
Conflict in pkgs/development/libraries/libvirt/default.nix required manual adjustments. The fetched patch is already in src. I checked that libvirt builds.
Diffstat (limited to 'pkgs/development/libraries')
8 files changed, 471 insertions, 299 deletions
diff --git a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch b/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch deleted file mode 100644 index 8a14fb3a5fa..00000000000 --- a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -u a/Makefile b/Makefile ---- a/Makefile 2020-12-27 18:48:53.934098765 +0100 -+++ b/Makefile 2020-12-27 18:50:44.022674117 +0100 -@@ -19,13 +19,13 @@ - # http://www.gnu.org/prep/standards/html_node/Directory-Variables.html - PREFIX ?= /usr/local - EXEC_PREFIX = $(PREFIX) --BINDIR = $(EXEC_PREFIX)/bin -+BINDIR ?= $(EXEC_PREFIX)/bin - DATAROOTDIR = $(PREFIX)/share - DOCDIR = $(DATAROOTDIR)/doc/$(CPROG) - SYSCONFDIR ?= $(PREFIX)/etc - HTMLDIR = $(DOCDIR) --INCLUDEDIR = $(DESTDIR)$(PREFIX)/include --LIBDIR = $(DESTDIR)$(EXEC_PREFIX)/lib -+INCLUDEDIR ?= $(DESTDIR)$(PREFIX)/include -+LIBDIR ?= $(DESTDIR)$(EXEC_PREFIX)/lib - PID_FILE ?= /var/run/$(CPROG).pid - - # build tools -@@ -337,10 +337,10 @@ - install -m 755 $(CPROG) "$(BINDIR)/" - - install-headers: -- install -m 644 $(HEADERS) "$(INCLUDEDIR)" -+ install -m 644 $(HEADERS) "$(INCLUDEDIR)/" - - install-lib: lib$(CPROG).a -- install -m 644 $< "$(LIBDIR)" -+ install -m 644 $< "$(LIBDIR)/" - - install-slib: lib$(CPROG).so - $(eval version=$(shell grep -w "define CIVETWEB_VERSION" include/civetweb.h | sed 's|.*VERSION "\(.*\)"|\1|g')) diff --git a/pkgs/development/libraries/civetweb/default.nix b/pkgs/development/libraries/civetweb/default.nix index 93ac618bcac..bf737972612 100644 --- a/pkgs/development/libraries/civetweb/default.nix +++ b/pkgs/development/libraries/civetweb/default.nix @@ -1,5 +1,7 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub +, cmake }: stdenv.mkDerivation rec { @@ -13,33 +15,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-Qh6BGPk7a01YzCeX42+Og9M+fjXRs7kzNUCyT4mYab4="; }; - makeFlags = [ - "WITH_CPP=1" - "PREFIX=${placeholder "out"}" - "LIBDIR=${placeholder "out"}/lib" - "INCLUDEDIR=${placeholder "dev"}/include" - ]; - - patches = [ - ./0001-allow-setting-paths-in-makefile.patch - ]; + outputs = [ "out" "dev" ]; strictDeps = true; - outputs = [ "out" "dev" ]; - - installTargets = [ - "install-headers" - "install-lib" - "install-slib" - "install" + nativeBuildInputs = [ + cmake ]; - preInstall = '' - mkdir -p $dev/include - mkdir -p $out/lib + # The existence of the "build" script causes `mkdir -p build` to fail: + # mkdir: cannot create directory 'build': File exists + preConfigure = '' + rm build ''; + cmakeFlags = [ + "-DCIVETWEB_ENABLE_CXX=ON" + "-DBUILD_SHARED_LIBS=ON" + + # The civetweb unit tests rely on downloading their fork of libcheck. + "-DCIVETWEB_BUILD_TESTING=OFF" + ]; + meta = { description = "Embedded C/C++ web server"; homepage = "https://github.com/civetweb/civetweb"; diff --git a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch index 86dd461ea07..0945f21211d 100644 --- a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch +++ b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch @@ -1,4 +1,4 @@ -From a896b0be849455edb83a9305dfec9b41447ef3e4 Mon Sep 17 00:00:00 2001 +From ad42041cfedcf25716429d2aad16641e0e2a012f Mon Sep 17 00:00:00 2001 From: Euan Kemp <euank@euank.com> Date: Thu, 14 Jan 2021 00:32:00 -0800 Subject: [PATCH] meson: patch in an install prefix for building on nix @@ -6,22 +6,28 @@ Subject: [PATCH] meson: patch in an install prefix for building on nix Used in the nixpkgs version of libvirt so that we can install things in the nix store, but read them from the root filesystem. --- - meson.build | 9 +++++++++ + meson.build | 9 ++++++++ meson_options.txt | 2 ++ - src/libxl/meson.build | 6 +++--- - src/locking/meson.build | 8 ++++---- - src/lxc/meson.build | 6 +++--- - src/meson.build | 18 +++++++++--------- - src/network/meson.build | 12 ++++++------ + src/ch/meson.build | 6 ++--- + src/interface/meson.build | 2 +- + src/libxl/meson.build | 18 +++++++-------- + src/locking/meson.build | 8 +++---- + src/lxc/meson.build | 10 ++++---- + src/meson.build | 18 +++++++-------- + src/network/meson.build | 14 ++++++------ + src/node_device/meson.build | 2 +- + src/nwfilter/meson.build | 6 ++--- src/nwfilter/xml/meson.build | 2 +- - src/qemu/meson.build | 14 +++++++------- - src/remote/meson.build | 6 +++--- - src/security/apparmor/meson.build | 8 ++++---- - tools/meson.build | 4 ++-- - 12 files changed, 53 insertions(+), 42 deletions(-) + src/qemu/meson.build | 38 +++++++++++++++---------------- + src/remote/meson.build | 10 ++++---- + src/secret/meson.build | 4 ++-- + src/security/apparmor/meson.build | 8 +++---- + src/storage/meson.build | 6 ++--- + tools/meson.build | 2 +- + 18 files changed, 88 insertions(+), 77 deletions(-) diff --git a/meson.build b/meson.build -index b5164f6..33719f1 100644 +index 9016c0458a..b26e690194 100644 --- a/meson.build +++ b/meson.build @@ -39,6 +39,8 @@ if host_machine.system() == 'windows' @@ -48,7 +54,7 @@ index b5164f6..33719f1 100644 # sysconfdir as this makes a lot of things break in testing situations if prefix == '/usr' diff --git a/meson_options.txt b/meson_options.txt -index e5d79c2..081cd32 100644 +index 5b43cdbd6b..e9dff18441 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,5 @@ @@ -57,27 +63,67 @@ index e5d79c2..081cd32 100644 option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update') option('packager', type: 'string', value: '', description: 'Extra packager name') option('packager_version', type: 'string', value: '', description: 'Extra packager version') +diff --git a/src/ch/meson.build b/src/ch/meson.build +index 66b77907b0..6aa9bbc548 100644 +--- a/src/ch/meson.build ++++ b/src/ch/meson.build +@@ -64,8 +64,8 @@ if conf.has('WITH_CH') + } + + virt_install_dirs += [ +- localstatedir / 'lib' / 'libvirt' / 'ch', +- localstatedir / 'log' / 'libvirt' / 'ch', +- runstatedir / 'libvirt' / 'ch', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'ch', ++ install_prefix + localstatedir / 'log' / 'libvirt' / 'ch', ++ install_prefix + runstatedir / 'libvirt' / 'ch', + ] + endif +diff --git a/src/interface/meson.build b/src/interface/meson.build +index 828f274422..2a6b1f8c5e 100644 +--- a/src/interface/meson.build ++++ b/src/interface/meson.build +@@ -56,6 +56,6 @@ if conf.has('WITH_INTERFACE') + } + + virt_install_dirs += [ +- runstatedir / 'libvirt' / 'interface', ++ install_prefix + runstatedir / 'libvirt' / 'interface', + ] + endif diff --git a/src/libxl/meson.build b/src/libxl/meson.build -index 3bb6cc5..78d7be0 100644 +index 0cc277db82..48d8c5b962 100644 --- a/src/libxl/meson.build +++ b/src/libxl/meson.build -@@ -84,8 +84,8 @@ if conf.has('WITH_LIBXL') +@@ -79,14 +79,14 @@ if conf.has('WITH_LIBXL') } virt_install_dirs += [ +- confdir / 'libxl', +- confdir / 'libxl' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'libxl', -- runstatedir / 'libvirt' / 'libxl', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save', - localstatedir / 'log' / 'libvirt' / 'libxl', +- runstatedir / 'libvirt' / 'libxl', ++ install_prefix + confdir / 'libxl', ++ install_prefix + confdir / 'libxl' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl', -+ install_prefix + runstatedir / 'libvirt' / 'libxl', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save', + install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl', ++ install_prefix + runstatedir / 'libvirt' / 'libxl', ] endif diff --git a/src/locking/meson.build b/src/locking/meson.build -index 8a28310..9da81cc 100644 +index 72f7780438..abe70d20d5 100644 --- a/src/locking/meson.build +++ b/src/locking/meson.build -@@ -243,14 +243,14 @@ if conf.has('WITH_LIBVIRTD') +@@ -238,14 +238,14 @@ if conf.has('WITH_LIBVIRTD') } virt_install_dirs += [ @@ -97,26 +143,39 @@ index 8a28310..9da81cc 100644 endif endif diff --git a/src/lxc/meson.build b/src/lxc/meson.build -index f8e2a88..96d6687 100644 +index 99d4a34213..aae477c1ee 100644 --- a/src/lxc/meson.build +++ b/src/lxc/meson.build -@@ -182,8 +182,8 @@ if conf.has('WITH_LXC') +@@ -176,10 +176,10 @@ if conf.has('WITH_LXC') } virt_install_dirs += [ +- confdir / 'lxc', +- confdir / 'lxc' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'lxc', -- runstatedir / 'libvirt' / 'lxc', - localstatedir / 'log' / 'libvirt' / 'lxc', +- runstatedir / 'libvirt' / 'lxc', ++ install_prefix + confdir / 'lxc', ++ install_prefix + confdir / 'lxc' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc', -+ install_prefix + runstatedir / 'libvirt' / 'lxc', + install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc', ++ install_prefix + runstatedir / 'libvirt' / 'lxc', ] endif diff --git a/src/meson.build b/src/meson.build -index 7c47821..d33d16a 100644 +index b2d951d36c..305716010f 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -669,7 +669,7 @@ endforeach +@@ -210,7 +210,7 @@ openrc_init_files = [] + + # virt_install_dirs: + # list of directories to create during installation +-virt_install_dirs = [ confdir ] ++virt_install_dirs = [ install_prefix + confdir ] + + # driver_source_files: + # driver source files to check +@@ -663,7 +663,7 @@ endforeach virt_conf_files += 'libvirt.conf' @@ -125,7 +184,7 @@ index 7c47821..d33d16a 100644 install_data(virt_aug_files, install_dir: virt_aug_dir) # augeas_test_data: -@@ -729,7 +729,7 @@ foreach data : virt_daemon_confs +@@ -723,7 +723,7 @@ foreach data : virt_daemon_confs output: '@0@.conf'.format(data['name']), configuration: daemon_conf, install: true, @@ -134,15 +193,16 @@ index 7c47821..d33d16a 100644 ) if data.get('with_ip', false) -@@ -853,14 +853,14 @@ if conf.has('WITH_LIBVIRTD') +@@ -847,7 +847,7 @@ if conf.has('WITH_LIBVIRTD') install_data( init_file, - install_dir: sysconfdir / 'init.d', + install_dir: install_prefix + sysconfdir / 'init.d', + install_mode: 'rwxr-xr-x', rename: [ init['name'] ], ) - +@@ -855,7 +855,7 @@ if conf.has('WITH_LIBVIRTD') if init.has_key('confd') install_data( init['confd'], @@ -151,16 +211,7 @@ index 7c47821..d33d16a 100644 rename: [ init['name'] ], ) endif -@@ -872,7 +872,7 @@ if init_script != 'none' - foreach sysconf : sysconf_files - install_data( - sysconf['file'], -- install_dir: sysconfdir / 'sysconfig', -+ install_dir: install_prefix + sysconfdir / 'sysconfig', - rename: [ sysconf['name'] ], - ) - endforeach -@@ -897,10 +897,10 @@ endif +@@ -882,10 +882,10 @@ endif # Install empty directories virt_install_dirs += [ @@ -176,23 +227,27 @@ index 7c47821..d33d16a 100644 meson.add_install_script( diff --git a/src/network/meson.build b/src/network/meson.build -index 3ec598c..b02040b 100644 +index b5eff0c3ab..a0f26d624e 100644 --- a/src/network/meson.build +++ b/src/network/meson.build -@@ -79,9 +79,9 @@ if conf.has('WITH_NETWORK') +@@ -73,11 +73,11 @@ if conf.has('WITH_NETWORK') } virt_install_dirs += [ +- confdir / 'qemu' / 'networks', +- confdir / 'qemu' / 'networks' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'network', - localstatedir / 'lib' / 'libvirt' / 'dnsmasq', - runstatedir / 'libvirt' / 'network', ++ install_prefix + confdir / 'qemu' / 'networks', ++ install_prefix + confdir / 'qemu' / 'networks' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'network', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq', + install_prefix + runstatedir / 'libvirt' / 'network', ] configure_file( -@@ -89,12 +89,12 @@ if conf.has('WITH_NETWORK') +@@ -85,12 +85,12 @@ if conf.has('WITH_NETWORK') output: '@BASENAME@', copy: true, install: true, @@ -207,8 +262,37 @@ index 3ec598c..b02040b 100644 '../default.xml', 'default.xml', ) +diff --git a/src/node_device/meson.build b/src/node_device/meson.build +index 1c95975c37..a7831242db 100644 +--- a/src/node_device/meson.build ++++ b/src/node_device/meson.build +@@ -64,6 +64,6 @@ if conf.has('WITH_NODE_DEVICES') + } + + virt_install_dirs += [ +- runstatedir / 'libvirt' / 'nodedev', ++ install_prefix + runstatedir / 'libvirt' / 'nodedev', + ] + endif +diff --git a/src/nwfilter/meson.build b/src/nwfilter/meson.build +index 55cf8fcce4..d331086f2e 100644 +--- a/src/nwfilter/meson.build ++++ b/src/nwfilter/meson.build +@@ -62,9 +62,9 @@ if conf.has('WITH_NWFILTER') + } + + virt_install_dirs += [ +- confdir / 'nwfilter', +- runstatedir / 'libvirt' / 'nwfilter-binding', +- runstatedir / 'libvirt' / 'nwfilter', ++ install_prefix + confdir / 'nwfilter', ++ install_prefix + runstatedir / 'libvirt' / 'nwfilter-binding', ++ install_prefix + runstatedir / 'libvirt' / 'nwfilter', + ] + + subdir('xml') diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build -index 0d96c54..66c92a1 100644 +index 0d96c54ebe..66c92a1016 100644 --- a/src/nwfilter/xml/meson.build +++ b/src/nwfilter/xml/meson.build @@ -25,4 +25,4 @@ nwfilter_xml_files = [ @@ -218,43 +302,71 @@ index 0d96c54..66c92a1 100644 -install_data(nwfilter_xml_files, install_dir: sysconfdir / 'libvirt' / 'nwfilter') +install_data(nwfilter_xml_files, install_dir: install_prefix + sysconfdir / 'libvirt' / 'nwfilter') diff --git a/src/qemu/meson.build b/src/qemu/meson.build -index 90640b0..8802cec 100644 +index 39f0f615cc..5f6f30f82b 100644 --- a/src/qemu/meson.build +++ b/src/qemu/meson.build -@@ -171,12 +171,12 @@ if conf.has('WITH_QEMU') - } +@@ -175,24 +175,24 @@ if conf.has('WITH_QEMU') + endif virt_install_dirs += [ -- localstatedir / 'lib' / 'libvirt' / 'qemu', -- runstatedir / 'libvirt' / 'qemu', +- confdir / 'qemu', +- confdir / 'qemu' / 'autostart', - localstatedir / 'cache' / 'libvirt' / 'qemu', -- localstatedir / 'log' / 'libvirt' / 'qemu', +- localstatedir / 'lib' / 'libvirt' / 'qemu', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot', - localstatedir / 'lib' / 'libvirt' / 'swtpm', -- runstatedir / 'libvirt' / 'qemu' / 'swtpm', +- localstatedir / 'log' / 'libvirt' / 'qemu', - localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu', -+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu', -+ install_prefix + runstatedir / 'libvirt' / 'qemu', +- runstatedir / 'libvirt' / 'qemu', +- runstatedir / 'libvirt' / 'qemu' / 'dbus', +- runstatedir / 'libvirt' / 'qemu' / 'slirp', +- runstatedir / 'libvirt' / 'qemu' / 'swtpm', ++ install_prefix + confdir / 'qemu', ++ install_prefix + confdir / 'qemu' / 'autostart', + install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu', -+ install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm', -+ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm', ++ install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu', + install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu', ++ install_prefix + runstatedir / 'libvirt' / 'qemu', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'dbus', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'slirp', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm', ] endif diff --git a/src/remote/meson.build b/src/remote/meson.build -index 9ad2f6a..429a15b 100644 +index b2aafe6320..6972d254ca 100644 --- a/src/remote/meson.build +++ b/src/remote/meson.build -@@ -245,7 +245,7 @@ if conf.has('WITH_REMOTE') +@@ -235,9 +235,9 @@ if conf.has('WITH_REMOTE') } virt_install_dirs += [ - localstatedir / 'log' / 'libvirt', +- runstatedir / 'libvirt', +- runstatedir / 'libvirt' / 'common', + install_prefix + localstatedir / 'log' / 'libvirt', ++ install_prefix + runstatedir / 'libvirt', ++ install_prefix + runstatedir / 'libvirt' / 'common', ] logrotate_conf = configuration_data() -@@ -259,7 +259,7 @@ if conf.has('WITH_REMOTE') +@@ -251,7 +251,7 @@ if conf.has('WITH_REMOTE') ) install_data( log_file, @@ -263,7 +375,7 @@ index 9ad2f6a..429a15b 100644 rename: [ name ], ) endforeach -@@ -309,7 +309,7 @@ endif +@@ -301,7 +301,7 @@ endif if conf.has('WITH_SASL') install_data( 'libvirtd.sasl', @@ -272,11 +384,25 @@ index 9ad2f6a..429a15b 100644 rename: [ 'libvirt.conf' ], ) endif +diff --git a/src/secret/meson.build b/src/secret/meson.build +index 1bda59849b..392bc2cb2e 100644 +--- a/src/secret/meson.build ++++ b/src/secret/meson.build +@@ -45,7 +45,7 @@ if conf.has('WITH_SECRETS') + } + + virt_install_dirs += [ +- confdir / 'secrets', +- runstatedir / 'libvirt' / 'secrets', ++ install_prefix + confdir / 'secrets', ++ install_prefix + runstatedir / 'libvirt' / 'secrets', + ] + endif diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build -index af43780..e2d6c81 100644 +index 990f00b4f3..e5a7a14e1d 100644 --- a/src/security/apparmor/meson.build +++ b/src/security/apparmor/meson.build -@@ -17,22 +17,22 @@ foreach name : apparmor_gen_profiles +@@ -19,22 +19,22 @@ foreach name : apparmor_gen_profiles output: name, configuration: apparmor_gen_profiles_conf, install: true, @@ -303,11 +429,28 @@ index af43780..e2d6c81 100644 + install_dir: install_prefix + apparmor_dir / 'local', rename: 'usr.lib.libvirt.virt-aa-helper', ) +diff --git a/src/storage/meson.build b/src/storage/meson.build +index 26e7ff1a1a..ad5c6eddc3 100644 +--- a/src/storage/meson.build ++++ b/src/storage/meson.build +@@ -127,9 +127,9 @@ if conf.has('WITH_STORAGE') + } + + virt_install_dirs += [ +- confdir / 'storage', +- confdir / 'storage' / 'autostart', +- runstatedir / 'libvirt' / 'storage', ++ install_prefix + confdir / 'storage', ++ install_prefix + confdir / 'storage' / 'autostart', ++ install_prefix + runstatedir / 'libvirt' / 'storage', + ] + endif + diff --git a/tools/meson.build b/tools/meson.build -index b8c6802..dacd0ff 100644 +index f4b4a16c29..059c73a955 100644 --- a/tools/meson.build +++ b/tools/meson.build -@@ -115,7 +115,7 @@ if conf.has('WITH_LOGIN_SHELL') +@@ -120,7 +120,7 @@ if conf.has('WITH_LOGIN_SHELL') install_rpath: libvirt_rpath, ) @@ -316,11 +459,6 @@ index b8c6802..dacd0ff 100644 endif if host_machine.system() == 'windows' -@@ -274,7 +274,7 @@ configure_file( - if init_script == 'systemd' - install_data( - 'libvirt-guests.sysconf', -- install_dir: sysconfdir / 'sysconfig', -+ install_dir: install_prefix + sysconfdir / 'sysconfig', - rename: 'libvirt-guests', - ) +-- +2.35.1 + diff --git a/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch b/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch deleted file mode 100644 index ae97c6455c6..00000000000 --- a/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/ch/meson.build b/src/ch/meson.build -index e34974d56c..4767763c2c 100644 ---- a/src/ch/meson.build -+++ b/src/ch/meson.build -@@ -68,7 +68,7 @@ if conf.has('WITH_CH') - } - - virt_install_dirs += [ -- localstatedir / 'lib' / 'libvirt' / 'ch', -- runstatedir / 'libvirt' / 'ch', -+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'ch', -+ install_prefix + runstatedir / 'libvirt' / 'ch', - ] - endif diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 41e4d2d88c8..14e0e478790 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -1,85 +1,122 @@ { lib -, stdenv -, fetchurl -, fetchFromGitLab -, makeWrapper , autoreconfHook -, fetchpatch +, bash-completion +, bridge-utils +, cmake , coreutils -, libxml2 -, gnutls -, perl -, python3 -, attr -, glib +, curl +, darwin +, dbus +, dnsmasq , docutils -, iproute2 -, readline -, lvm2 -, util-linux -, systemd -, libpciaccess +, fetchFromGitLab +, fetchurl , gettext -, libtasn1 +, glib +, gnutls +, iproute2 , iptables , libgcrypt -, yajl -, pmutils -, libcap_ng -, libapparmor -, dnsmasq -, libnl , libpcap +, libtasn1 +, libxml2 , libxslt -, xhtml1 -, numad -, numactl -, perlPackages -, curl -, libiconv -, gmp -, zfs -, parted -, bridge-utils -, dmidecode -, dbus -, libtirpc -, rpcsvc-proto -, darwin +, makeWrapper , meson , ninja -, audit -, cmake -, bash-completion +, perl +, perlPackages , pkg-config -, enableXen ? false -, xen ? null -, enableIscsi ? false -, openiscsi +, pmutils +, python3 +, readline +, rpcsvc-proto +, stdenv +, xhtml1 +, yajl + + # Linux +, acl ? null +, attr ? null +, audit ? null +, dmidecode ? null +, fuse ? null +, kmod ? null +, libapparmor ? null +, libcap_ng ? null +, libnl ? null +, libpciaccess ? null +, libtirpc ? null +, lvm2 ? null +, numactl ? null +, numad ? null +, parted ? null +, systemd ? null +, util-linux ? null + + # Darwin +, gmp ? null +, libiconv ? null +, Carbon ? null +, AppKit ? null + + # Options , enableCeph ? false -, ceph +, ceph ? null , enableGlusterfs ? false -, glusterfs -, Carbon -, AppKit +, glusterfs ? null +, enableIscsi ? false +, openiscsi ? null +, libiscsi ? null +, enableXen ? false +, xen ? null +, enableZfs ? stdenv.isLinux +, zfs ? null }: with lib; -# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> let - buildFromTarball = stdenv.isDarwin; + inherit (stdenv) isDarwin isLinux isx86_64; + binPath = makeBinPath ([ + dnsmasq + ] ++ optionals isLinux [ + bridge-utils + dmidecode + dnsmasq + iproute2 + iptables + kmod + lvm2 + numactl + numad + pmutils + systemd + ] ++ optionals enableIscsi [ + libiscsi + openiscsi + ]); in + +assert enableXen -> isLinux && isx86_64; +assert enableCeph -> isLinux; +assert enableGlusterfs -> isLinux; +assert enableZfs -> isLinux; + +# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> stdenv.mkDerivation rec { pname = "libvirt"; - version = "7.10.0"; + # NOTE: You must also bump: + # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> + # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> + version = "8.1.0"; src = - if buildFromTarball then + if isDarwin then fetchurl { url = "https://libvirt.org/sources/${pname}-${version}.tar.xz"; - sha256 = "sha256-yzGAFK8JcyeSjG49cpIuO+AqPmQBJHsqpS2auOC0gPk="; + sha256 = "sha256-PGxDvs/+s0o/OXxhYgaqaaiT/4v16CCDk8hOjnU1KTQ="; } else fetchFromGitLab @@ -87,82 +124,84 @@ stdenv.mkDerivation rec { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-bB8LsjZFeJbMmmC0YRPyMag2MBhwagUFC7aB1KhZEkA="; + sha256 = "sha256-nk8pBlss+g4EMy+RnAOyz6YlGGvlBvl5aBpcytsK1wY="; fetchSubmodules = true; }; patches = [ ./0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch - ./0002-meson-patch-ch-install-prefix.patch - - # Fix building docs with latest libxslt. - (fetchpatch { - url = "https://gitlab.com/libvirt/libvirt/-/commit/54814c87f3706cc8eb894634ebef0f9cf7dabae6.patch"; - sha256 = "1k1mGyxyofYzXr3cVtM8ZYsb6tDCzidCRKwKoNS0ocA="; - }) ]; + # remove some broken tests + postPatch = '' + sed -i '/commandtest/d' tests/meson.build + sed -i '/virnetsockettest/d' tests/meson.build + # delete only the first occurrence of this + sed -i '0,/qemuxml2argvtest/{/qemuxml2argvtest/d;}' tests/meson.build + '' + optionalString isDarwin '' + sed -i '/qemucapabilitiestest/d' tests/meson.build + ''; + + nativeBuildInputs = [ - ninja meson + cmake + docutils makeWrapper + ninja pkg-config - docutils - ] ++ optional (!stdenv.isDarwin) [ - rpcsvc-proto - ] ++ optionals stdenv.isDarwin [ - darwin.developer_cmds # needed for rpcgen - ]; + ] + ++ optional (!isDarwin) rpcsvc-proto + # NOTE: needed for rpcgen + ++ optional isDarwin darwin.developer_cmds; buildInputs = [ bash-completion - pkg-config - libxml2 + curl + dbus + gettext + glib gnutls + libgcrypt + libpcap + libtasn1 + libxml2 + libxslt perl + perlPackages.XMLXPath + pkg-config python3 readline - gettext - libtasn1 - libgcrypt - yajl - libxslt xhtml1 - perlPackages.XMLXPath - curl - libpcap - glib - dbus - ] ++ optionals stdenv.isLinux [ + yajl + ] ++ optionals isLinux [ + acl + attr audit - libpciaccess - lvm2 - util-linux - systemd - libnl - numad - zfs + fuse libapparmor libcap_ng + libnl + libpciaccess + libtirpc + lvm2 numactl - attr + numad parted - libtirpc - ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [ - xen - ] ++ optionals enableIscsi [ - openiscsi - ] ++ optionals enableCeph [ - ceph - ] ++ optionals enableGlusterfs [ - glusterfs - ] ++ optionals stdenv.isDarwin [ - libiconv - gmp - Carbon + systemd + util-linux + ] ++ optionals isDarwin [ AppKit - ]; + Carbon + gmp + libiconv + ] + ++ optionals enableCeph [ ceph ] + ++ optionals enableGlusterfs [ glusterfs ] + ++ optionals enableIscsi [ libiscsi openiscsi ] + ++ optionals enableXen [ xen ] + ++ optionals enableZfs [ zfs ]; preConfigure = let @@ -170,80 +209,124 @@ stdenv.mkDerivation rec { QEMU_BRIDGE_HELPER = "/run/wrappers/bin/qemu-bridge-helper"; QEMU_PR_HELPER = "/run/libvirt/nix-helpers/qemu-pr-helper"; }; + patchBuilder = var: value: '' sed -i meson.build -e "s|conf.set_quoted('${var}',.*|conf.set_quoted('${var}','${value}')|" ''; in '' - PATH=${lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute2 iptables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH + PATH="${binPath}:$PATH" # the path to qemu-kvm will be stored in VM's .xml and .save files # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations substituteInPlace src/lxc/lxc_conf.c \ --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",' + substituteInPlace build-aux/meson.build \ --replace "gsed" "sed" \ --replace "gmake" "make" \ --replace "ggrep" "grep" + patchShebangs . '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides)); - mesonAutoFeatures = "auto"; + mesonAutoFeatures = "disabled"; mesonFlags = let - opt = option: enable: "-D${option}=${if enable then "enabled" else "disabled"}"; + cfg = option: val: "-D${option}=${val}"; + feat = option: enable: cfg option (if enable then "enabled" else "disabled"); + driver = name: feat "driver_${name}"; + storage = name: feat "storage_${name}"; in [ "--sysconfdir=/var/lib" - "-Dinstall_prefix=${placeholder "out"}" - "-Dlocalstatedir=/var" - "-Drunstatedir=/run" - "-Dlibpcap=enabled" - "-Ddriver_qemu=enabled" - "-Ddriver_vmware=enabled" - "-Ddriver_vbox=enabled" - "-Ddriver_test=enabled" - "-Ddriver_esx=enabled" - "-Ddriver_remote=enabled" - "-Dpolkit=enabled" - (opt "storage_iscsi" enableIscsi) - ] ++ optionals stdenv.isLinux [ - (opt "storage_zfs" (zfs != null)) - "-Dattr=enabled" - "-Dapparmor=enabled" - "-Dsecdriver_apparmor=enabled" - "-Dnumad=enabled" - "-Dstorage_disk=enabled" - (opt "glusterfs" enableGlusterfs) - (opt "storage_rbd" enableCeph) - ] ++ optionals stdenv.isDarwin [ - "-Dinit_script=none" + (cfg "install_prefix" (placeholder "out")) + (cfg "localstatedir" "/var") + (cfg "runstatedir" "/run") + + (cfg "init_script" (if isDarwin then "none" else "systemd")) + + (feat "apparmor" isLinux) + (feat "attr" isLinux) + (feat "audit" isLinux) + (feat "bash_completion" true) + (feat "blkid" isLinux) + (feat "capng" isLinux) + (feat "curl" true) + (feat "docs" true) + (feat "expensive_tests" true) + (feat "firewalld" isLinux) + (feat "firewalld_zone" isLinux) + (feat "fuse" isLinux) + (feat "glusterfs" enableGlusterfs) + (feat "host_validate" true) + (feat "libiscsi" enableIscsi) + (feat "libnl" isLinux) + (feat "libpcap" true) + (feat "libssh2" true) + (feat "login_shell" isLinux) + (feat "nss" isLinux) + (feat "numactl" isLinux) + (feat "numad" isLinux) + (feat "pciaccess" isLinux) + (feat "polkit" true) + (feat "readline" true) + (feat "secdriver_apparmor" isLinux) + (feat "tests" true) + (feat "udev" isLinux) + (feat "yajl" true) + + (driver "ch" isLinux) + (driver "esx" true) + (driver "interface" isLinux) + (driver "libvirtd" true) + (driver "libxl" enableXen) + (driver "lxc" isLinux) + (driver "network" true) + (driver "openvz" isLinux) + (driver "qemu" true) + (driver "remote" true) + (driver "secrets" true) + (driver "test" true) + (driver "vbox" true) + (driver "vmware" true) + + (storage "dir" true) + (storage "disk" isLinux) + (storage "fs" isLinux) + (storage "gluster" enableGlusterfs) + (storage "iscsi" enableIscsi) + (storage "iscsi_direct" enableIscsi) + (storage "lvm" isLinux) + (storage "mpath" isLinux) + (storage "rbd" enableCeph) + (storage "scsi" true) + (storage "vstorage" isLinux) + (storage "zfs" enableZfs) ]; - postInstall = - let - binPath = [ iptables iproute2 pmutils numad numactl bridge-utils dmidecode dnsmasq ] ++ optionals enableIscsi [ openiscsi ]; - in - '' - substituteInPlace $out/bin/virt-xml-validate \ - --replace xmllint ${libxml2}/bin/xmllint + doCheck = true; - substituteInPlace $out/libexec/libvirt-guests.sh \ - --replace 'ON_BOOT="start"' 'ON_BOOT=''${ON_BOOT:-start}' \ - --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \ - --replace "$out/bin" '${gettext}/bin' \ - --replace 'lock/subsys' 'lock' \ - --replace 'gettext.sh' 'gettext.sh - # Added in nixpkgs: - gettext() { "${gettext}/bin/gettext" "$@"; } - ' - '' + optionalString stdenv.isLinux '' - substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill - rm $out/lib/systemd/system/{virtlockd,virtlogd}.* - wrapProgram $out/sbin/libvirtd \ - --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath binPath} - ''; + postInstall = '' + substituteInPlace $out/bin/virt-xml-validate \ + --replace xmllint ${libxml2}/bin/xmllint + + substituteInPlace $out/libexec/libvirt-guests.sh \ + --replace 'ON_BOOT="start"' 'ON_BOOT=''${ON_BOOT:-start}' \ + --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \ + --replace "$out/bin" '${gettext}/bin' \ + --replace 'lock/subsys' 'lock' \ + --replace 'gettext.sh' 'gettext.sh + # Added in nixpkgs: + gettext() { "${gettext}/bin/gettext" "$@"; } + ' + '' + optionalString isLinux '' + substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill + rm $out/lib/systemd/system/{virtlockd,virtlogd}.* + wrapProgram $out/sbin/libvirtd \ + --prefix PATH : /run/libvirt/nix-emulators:${binPath} + ''; meta = { homepage = "https://libvirt.org/"; @@ -254,6 +337,6 @@ stdenv.mkDerivation rec { ''; license = licenses.lgpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ fpletz globin ]; + maintainers = with maintainers; [ fpletz globin lovesegfault ]; }; } diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix index 173ee6d2e09..a046f255a6a 100644 --- a/pkgs/development/libraries/prometheus-cpp/default.nix +++ b/pkgs/development/libraries/prometheus-cpp/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , cmake , gbenchmark @@ -10,13 +11,13 @@ stdenv.mkDerivation rec { pname = "prometheus-cpp"; - version = "0.9.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "jupp0r"; repo = pname; rev = "v${version}"; - sha256 = "1pjz29ywzfg3blhg2v8fn7gjvq46k3bqn7y0xvmn468ixxhv21fi"; + sha256 = "L6CXRup3kU1lY5UnwPbaOwEtCeAySNmFCPmHwsk6cRE="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix index 757731d8779..773f98ee54a 100644 --- a/pkgs/development/libraries/rocm-device-libs/default.nix +++ b/pkgs/development/libraries/rocm-device-libs/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "rocm-device-libs"; - version = "5.0.0"; + version = "5.0.2"; src = fetchFromGitHub { owner = "RadeonOpenCompute"; repo = "ROCm-Device-Libs"; rev = "rocm-${version}"; - hash = "sha256-CEpI0vX5kUbSmpe/ZTCFnfDuy6i9D+UsCZiX4/U0X8g="; + hash = "sha256-eZdy9+BfuUVzPO6huvqcwCog96qMVTYoY3l6J0YMUZQ="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix index f69165c5811..9c19638d3f4 100644 --- a/pkgs/development/libraries/rocm-opencl-runtime/default.nix +++ b/pkgs/development/libraries/rocm-opencl-runtime/default.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation rec { pname = "rocm-opencl-runtime"; - version = "4.5.2"; + version = "5.0.2"; src = fetchFromGitHub { owner = "RadeonOpenCompute"; repo = "ROCm-OpenCL-Runtime"; rev = "rocm-${version}"; - hash = "sha256-0OGYF4urlscr8tMkQwo2yATXwN0DjB092KQ+CBEhfIA="; + hash = "sha256-ovYwElZGRKySH1mWFIISxuNNxCjaqoe9oCvqYZGdfq0="; }; nativeBuildInputs = [ cmake rocm-cmake ]; |