diff --git a/pkgs/applications/virtualization/libgovirt/default.nix b/pkgs/applications/virtualization/libgovirt/default.nix index 9c9da54c3632..0815781c21f7 100644 --- a/pkgs/applications/virtualization/libgovirt/default.nix +++ b/pkgs/applications/virtualization/libgovirt/default.nix @@ -20,6 +20,11 @@ stdenv.mkDerivation rec { sha256 = "HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg="; }; + patches = lib.optionals stdenv.isDarwin [ + # The flag breaks the build on darwin and doesn't seem necessary + ./no-version-script-ld-flag.patch + ]; + nativeBuildInputs = [ pkg-config gobject-introspection @@ -46,8 +51,8 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/libgovirt"; description = "GObject wrapper for the oVirt REST API"; - maintainers = [ maintainers.amarshall ]; - platforms = platforms.linux; + maintainers = with maintainers; [ amarshall atemu ]; + platforms = with platforms; linux ++ darwin; license = licenses.lgpl21Plus; }; } diff --git a/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch b/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch new file mode 100644 index 000000000000..a837c3bf0642 --- /dev/null +++ b/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch @@ -0,0 +1,14 @@ +--- a/govirt/Makefile.in ++++ b/govirt/Makefile.in +@@ -511,8 +511,7 @@ + libgovirt_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ + -export-dynamic \ +- -no-undefined \ +- -Wl,--version-script=$(srcdir)/govirt.sym ++ -no-undefined + + libgovirt_la_CFLAGS = \ + $(WARNINGFLAGS_C) + +Diff finished. Fri Oct 28 10:36:38 2022 diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 42a556a451fb..46bbc3b914b9 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -14,7 +14,7 @@ , gtkSupport ? !stdenv.isDarwin && !xenSupport && !nixosTestRunner, gtk3, gettext, vte, wrapGAppsHook , vncSupport ? !nixosTestRunner, libjpeg, libpng , smartcardSupport ? !nixosTestRunner, libcacard -, spiceSupport ? !stdenv.isDarwin && !nixosTestRunner, spice, spice-protocol +, spiceSupport ? true && !nixosTestRunner, spice, spice-protocol , ncursesSupport ? !nixosTestRunner, ncurses , usbredirSupport ? spiceSupport, usbredir , xenSupport ? false, xen diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix index ed882709aa14..2e8aa34286a6 100644 --- a/pkgs/applications/virtualization/virt-viewer/default.nix +++ b/pkgs/applications/virtualization/virt-viewer/default.nix @@ -29,7 +29,7 @@ assert spiceSupport -> ( gdbm != null - && libcap != null + && (stdenv.isLinux -> libcap != null) && spice-gtk_libsoup2 != null && spice-protocol != null ); @@ -76,12 +76,13 @@ stdenv.mkDerivation rec { libvirt-glib libxml2 vte - ] ++ optionals spiceSupport [ + ] ++ optionals spiceSupport ([ gdbm - libcap spice-gtk_libsoup2 spice-protocol - ]; + ] ++ optionals stdenv.isLinux [ + libcap + ]); # Required for USB redirection PolicyKit rules file propagatedUserEnvPkgs = optional spiceSupport spice-gtk_libsoup2; @@ -94,8 +95,8 @@ stdenv.mkDerivation rec { meta = { description = "A viewer for remote virtual machines"; - maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; + maintainers = with maintainers; [ raskin atemu ]; + platforms = with platforms; linux ++ darwin; license = licenses.gpl2; }; passthru = { diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix index 4f639cf29f74..ed47a87ee116 100644 --- a/pkgs/development/libraries/spice/default.nix +++ b/pkgs/development/libraries/spice/default.nix @@ -22,6 +22,7 @@ , libopus , gst_all_1 , orc +, gdk-pixbuf }: let @@ -43,6 +44,9 @@ stdenv.mkDerivation rec { sha256 = "1xd0xffw0g5vvwbq4ksmm3jjfq45f9dw20xpmi82g1fj9f7wy85k"; }; + patches = [ + ./remove-rt-on-darwin.patch + ]; postPatch = '' install ${doxygen_sh} doxygen.sh patchShebangs build-aux @@ -65,7 +69,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - alsa-lib cyrus_sasl glib gst_all_1.gst-plugins-base @@ -84,6 +87,10 @@ stdenv.mkDerivation rec { python3.pkgs.pyparsing spice-protocol zlib + ] ++ lib.optionals stdenv.isLinux [ + alsa-lib + ] ++ lib.optionals stdenv.isDarwin [ + gdk-pixbuf ]; NIX_CFLAGS_COMPILE = "-fno-stack-protector"; @@ -108,7 +115,7 @@ stdenv.mkDerivation rec { homepage = "https://www.spice-space.org/"; license = licenses.lgpl21; - maintainers = [ maintainers.bluescreen303 ]; - platforms = platforms.linux; + maintainers = with maintainers; [ bluescreen303 atemu ]; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/development/libraries/spice/remove-rt-on-darwin.patch b/pkgs/development/libraries/spice/remove-rt-on-darwin.patch new file mode 100644 index 000000000000..b3696d736af7 --- /dev/null +++ b/pkgs/development/libraries/spice/remove-rt-on-darwin.patch @@ -0,0 +1,18 @@ +--- a/meson.build ++++ b/meson.build +@@ -103,11 +103,11 @@ + spice_server_deps += dependency(dep) + endforeach + +-if host_machine.system() != 'windows' ++if (host_machine.system() != 'windows' and host_machine.system() != 'darwin') + foreach dep : ['rt', 'm'] + spice_server_deps += compiler.find_library(dep) + endforeach +-else ++elif host_machine.system() == 'windows' + foreach dep : ['ws2_32', 'shlwapi'] + spice_server_deps += compiler.find_library(dep) + endforeach + +Diff finished. Sun Oct 16 06:09:35 2022