summary refs log tree commit diff
diff options
context:
space:
mode:
authorKris La <kris@microdisko.no>2021-12-15 22:50:28 +0700
committerKris La <kris@microdisko.no>2021-12-15 22:50:28 +0700
commit23c0ff138486526bb47f8d91c31cb23e72287c58 (patch)
tree9a8d61500bbd9fe4f79b70f5823a9d02a9b620aa
parent37aeed381fc1310c9e767b83868cfab9f4242447 (diff)
downloadnixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar.gz
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar.bz2
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar.lz
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar.xz
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.tar.zst
nixpkgs-23c0ff138486526bb47f8d91c31cb23e72287c58.zip
libspatialaudio: init at 0.3.0;vlc: fix headphones mode
-rw-r--r--pkgs/applications/video/vlc/default.nix12
-rw-r--r--pkgs/development/libraries/libspatialaudio/default.nix21
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 32 insertions, 3 deletions
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index ce9a72aebf9..5ef62ff6b46 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -7,8 +7,8 @@
 , mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz
 , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
-, libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
-, ncurses, srt
+, libvdpau, libsamplerate, libspatialaudio, live555, fluidsynth
+, wayland, wayland-protocols, ncurses, srt
 , onlyLibVLC ? false
 , withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook
 , jackSupport ? false
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva
     xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
     libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
-    fluidsynth wayland wayland-protocols ncurses srt
+    libspatialaudio fluidsynth wayland wayland-protocols ncurses srt
   ] ++ optional (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isAarch32) live555
     ++ optionals withQt5    [ qtbase qtsvg qtx11extras ]
     ++ optionals skins2Support (with xorg; [ libXpm freetype libXext libXinerama ])
@@ -101,6 +101,12 @@ stdenv.mkDerivation rec {
     sed -i 's|^#define CONFIGURE_LINE.*$|#define CONFIGURE_LINE "<removed>"|g' config.h
   '';
 
+  # Add missing SOFA files
+  # Given in EXTRA_DIST, but not in install-data target
+  postInstall = ''
+    cp -R share/hrtfs $out/share/vlc
+  '';
+
   meta = with lib; {
     description = "Cross-platform media player and streaming server";
     homepage = "http://www.videolan.org/vlc/";
diff --git a/pkgs/development/libraries/libspatialaudio/default.nix b/pkgs/development/libraries/libspatialaudio/default.nix
new file mode 100644
index 00000000000..9f3453d5130
--- /dev/null
+++ b/pkgs/development/libraries/libspatialaudio/default.nix
@@ -0,0 +1,21 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libmysofa, zlib }:
+stdenv.mkDerivation {
+  name = "libspatialaudio";
+  src = fetchFromGitHub {
+    owner = "videolabs";
+    repo = "libspatialaudio";
+    rev = "0.3.0";
+    hash = "sha256-sPnQPD41AceXM4uGqWXMYhuQv0TUkA6TZP8ChxUFIoI=";
+  };
+  buildInputs = [ cmake libmysofa zlib ];
+  configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out .";
+
+  meta = {
+    description =
+      "Ambisonic encoding / decoding and binauralization library in C++";
+    homepage = "https://github.com/videolabs/libspatialaudio";
+    license = lib.licenses.lgpl21Plus;
+    platforms = lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 884890c46ac..4848e0fab43 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18324,6 +18324,8 @@ with pkgs;
 
   libstrophe = callPackage ../development/libraries/libstrophe { };
 
+  libspatialaudio = callPackage ../development/libraries/libspatialaudio { };
+
   libspatialindex = callPackage ../development/libraries/libspatialindex { };
 
   libspatialite = callPackage ../development/libraries/libspatialite { };