about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/spice
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/spice')
-rw-r--r--nixpkgs/pkgs/development/libraries/spice/default.nix108
1 files changed, 108 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/spice/default.nix b/nixpkgs/pkgs/development/libraries/spice/default.nix
new file mode 100644
index 000000000000..ee0f6be16984
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/spice/default.nix
@@ -0,0 +1,108 @@
+{ lib, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, pixman
+, alsa-lib
+, openssl
+, libXrandr
+, libXfixes
+, libXext
+, libXrender
+, libXinerama
+, libjpeg
+, zlib
+, spice-protocol
+, python3
+, glib
+, cyrus_sasl
+, libcacard
+, lz4
+, libopus
+, gst_all_1
+, orc
+}:
+
+let
+  # This file was mistakenly not included with the 0.15.0 release tarball.
+  # Should be fixed with the next release.
+  # https://gitlab.freedesktop.org/spice/spice/-/issues/56
+  doxygen_sh = fetchurl {
+    url = "https://gitlab.freedesktop.org/spice/spice/-/raw/v0.15.0/doxygen.sh";
+    sha256 = "0g4bx91qclihp1jfhdhyj7wp4hf4289794xxbw32kk58lnd7bzkg";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "spice";
+  version = "0.15.0";
+
+  src = fetchurl {
+    url = "https://www.spice-space.org/download/releases/spice-server/${pname}-${version}.tar.bz2";
+    sha256 = "1xd0xffw0g5vvwbq4ksmm3jjfq45f9dw20xpmi82g1fj9f7wy85k";
+  };
+
+  postPatch = ''
+    install ${doxygen_sh} doxygen.sh
+    patchShebangs build-aux
+  '';
+
+  nativeBuildInputs = [
+    glib
+    meson
+    ninja
+    pkg-config
+    python3
+    python3.pkgs.six
+    python3.pkgs.pyparsing
+  ];
+
+  buildInputs = [
+    alsa-lib
+    cyrus_sasl
+    glib
+    gst_all_1.gst-plugins-base
+    libXext
+    libXfixes
+    libXinerama
+    libXrandr
+    libXrender
+    libcacard
+    libjpeg
+    libopus
+    lz4
+    openssl
+    orc
+    pixman
+    python3.pkgs.pyparsing
+    spice-protocol
+    zlib
+  ];
+
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  mesonFlags = [
+    "-Dgstreamer=1.0"
+  ];
+
+  postInstall = ''
+    ln -s spice-server $out/include/spice
+  '';
+
+  meta = with lib; {
+    description = "Complete open source solution for interaction with virtualized desktop devices";
+    longDescription = ''
+      The Spice project aims to provide a complete open source solution for interaction
+      with virtualized desktop devices.The Spice project deals with both the virtualized
+      devices and the front-end. Interaction between front-end and back-end is done using
+      VD-Interfaces. The VD-Interfaces (VDI) enable both ends of the solution to be easily
+      utilized by a third-party component.
+    '';
+    homepage = "https://www.spice-space.org/";
+    license = licenses.lgpl21;
+
+    maintainers = [ maintainers.bluescreen303 ];
+    platforms = platforms.linux;
+  };
+}