about summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-09-04 11:00:56 +0200
committerVladimír Čunát <v@cunat.cz>2019-09-04 11:00:56 +0200
commit4aad2947f8d680f18e5b01e115cf8cff22186998 (patch)
treea7a3d020efc6ec7be822bc06e08eca3ac311c9e2 /pkgs/applications/audio
parent2c5835b09a1d4966756212902d36b1b8ab242da6 (diff)
parent1d8a3973f46a2d1360f855eaa0f3a19859771793 (diff)
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/musescore/default.nix6
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/sayonara/default.nix106
-rw-r--r--pkgs/applications/audio/spotify/default.nix2
-rw-r--r--pkgs/applications/audio/strawberry/default.nix91
5 files changed, 167 insertions, 42 deletions
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 2e69c3cda7a34..5368fcb616566 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "musescore";
-  version = "3.0.5";
+  version = "3.2.3";
 
   src = fetchzip {
-    url = "https://download.musescore.com/releases/MuseScore-${version}/MuseScore-${version}.zip";
-    sha256 = "1pbf6v0l3nixxr8k5igwhj09wnqvw92av6q6yjrbb3kyjh5br2d8";
+    url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.zip";
+    sha256 = "17mr0c8whw6vz86lp1j36rams4h8virc4z68fld0q3rpq6g05szs";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 03f6bb1b79364..ef52c65b10510 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, xlibsWrapper
+{ stdenv, mkDerivation, fetchurl, cmake, pkgconfig, xlibsWrapper
 , qtbase, qttools, qtmultimedia, qtx11extras
 # transports
 , curl, libmms
@@ -28,7 +28,7 @@
 # Qmmp installs working .desktop file(s) all by itself, so we don't need to
 # handle that.
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "qmmp-1.3.3";
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix
index 7776fa0c166e3..c4258174500fd 100644
--- a/pkgs/applications/audio/sayonara/default.nix
+++ b/pkgs/applications/audio/sayonara/default.nix
@@ -1,46 +1,82 @@
-{ stdenv, fetchurl, cmake, qt5, zlib, taglib, pkgconfig, pcre, gst_all_1 }:
+{ mkDerivation
+, cmake
+, fetchgit
+, gst_all_1
+, lib
+, libpulseaudio
+, ninja
+, pcre
+, pkgconfig
+, qtbase
+, qttools
+, taglib
+, zlib
+}:
 
-let
-  version = "1.1.1-git1-20180828";
-in
-stdenv.mkDerivation {
+mkDerivation rec {
   pname = "sayonara-player";
-  inherit version;
+  version = "1.5.1-stable5";
 
-  src = fetchurl {
-    url = "https://sayonara-player.com/sw/sayonara-player-${version}.tar.gz";
-    sha256 = "0rvy47qvavrp03zjdrw025dmq9fq5aaii3q1qq8b94byarl0c5kn";
+  src = fetchgit {
+    url = "https://git.sayonara-player.com/sayonara.git";
+    rev = version;
+    sha256 = "13l7r3gaszrkyf4z8rdijfzxvcnilax4ki2mcm30wqk8d4g4qdzj";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = with qt5; with gst_all_1;
-      [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly
-        pcre qtbase qttools taglib zlib
-      ];
-
-  # CMake Error at src/GUI/Resources/Icons/cmake_install.cmake:49 (file):
-  #   file cannot create directory: /usr/share/icons.  Maybe need administrative
-  #   privileges.
-  # Call Stack (most recent call first):
-  #   src/GUI/Resources/cmake_install.cmake:50 (include)
-  #   src/GUI/cmake_install.cmake:50 (include)
-  #   src/cmake_install.cmake:59 (include)
-  #   cmake_install.cmake:42 (include)
+  # all this can go with version 1.5.2
   postPatch = ''
-    substituteInPlace src/GUI/Resources/Icons/CMakeLists.txt \
-      --replace "/usr/share" "$out/share"
+    # if we don't delete this, sayonara will look here instead of the provided taglib
+    rm -r src/3rdParty/taglib
+
+    for f in \
+      src/DBus/DBusNotifications.cpp \
+      src/Gui/Resources/Icons/CMakeLists.txt \
+      src/Utils/Utils.cpp \
+      test/Util/FileHelperTest.cpp \
+      ; do
+
+      substituteInPlace $f --replace /usr $out
+    done
+
+    substituteInPlace src/Components/Shutdown/Shutdown.cpp \
+      --replace /usr/bin/systemctl systemctl
   '';
 
-  # [ 65%] Building CXX object src/Components/Engine/CMakeFiles/say_comp_engine.dir/AbstractPipeline.cpp.o
-  # /tmp/nix-build-sayonara-player-1.0.0-git5-20180115.drv-0/sayonara-player/src/Components/Engine/AbstractPipeline.cpp:28:32: fatal error: gst/app/gstappsink.h: No such file or directory
-  #  #include <gst/app/gstappsink.h>
+  nativeBuildInputs = [ cmake ninja pkgconfig qttools ];
+
+  buildInputs = [
+    libpulseaudio
+    pcre
+    qtbase
+    taglib
+    zlib
+  ]
+  ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-plugins-ugly
+  ]);
+
+  # we carry the patched taglib 1.11.1 that doesn't break ogg but sayonara just
+  # checks for the version
+  cmakeFlags = [
+    "-DWITH_SYSTEM_TAGLIB=ON"
+  ];
+
+  # gstreamer cannot otherwise be found
   NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
 
-  meta = with stdenv.lib;
-    { description = "Sayonara music player";
-      homepage = https://sayonara-player.com/;
-      license = licenses.gpl3;
-      platforms = platforms.linux;
-      maintainers = [ maintainers.deepfire ];
-    };
+  postInstall = ''
+    qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
+  '';
+
+  meta = with lib; {
+    description = "Sayonara music player";
+    homepage = "https://sayonara-player.com/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ deepfire ];
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 403075f91352d..3f99e22a4cbdb 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -78,8 +78,6 @@ stdenv.mkDerivation {
 
   buildInputs = [ squashfsTools makeWrapper ];
 
-  doConfigure = false;
-  doBuild = false;
   dontStrip = true;
   dontPatchELF = true;
 
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
new file mode 100644
index 0000000000000..60da75d3c7ed7
--- /dev/null
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -0,0 +1,91 @@
+{ mkDerivation
+, stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, alsaLib
+, boost
+, chromaprint
+, fftw
+, gnutls
+, libcdio
+, libmtp
+, libpthreadstubs
+, libtasn1
+, libXdmcp
+, pcre
+, protobuf
+, sqlite
+, taglib
+, libpulseaudio ? null
+, libselinux ? null
+, libsepol ? null
+, p11_kit ? null
+, utillinux ? null
+, qtbase
+, qtx11extras
+, qttools
+, withGstreamer ? true
+, gst_all_1 ? null
+, withVlc ? true
+, vlc ? null
+}:
+
+mkDerivation rec {
+  pname = "strawberry";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "jonaski";
+    repo = pname;
+    rev = version;
+    sha256 = "01j5jzzicy895kg9sjy46lbcm5kvf3642d3q5wwb2fyvyq1fbcv0";
+  };
+
+  buildInputs = [
+    alsaLib
+    boost
+    chromaprint
+    fftw
+    gnutls
+    libcdio
+    libmtp
+    libpthreadstubs
+    libtasn1
+    libXdmcp
+    pcre
+    protobuf
+    sqlite
+    taglib
+    qtbase
+    qtx11extras
+  ]
+  ++ lib.optionals stdenv.isLinux [
+    libpulseaudio
+    libselinux
+    libsepol
+    p11_kit
+    utillinux
+  ]
+  ++ lib.optionals withGstreamer (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+  ])
+  ++ lib.optional withVlc vlc;
+
+  nativeBuildInputs = [ cmake pkgconfig qttools ];
+
+  cmakeFlags = [
+    "-DUSE_SYSTEM_TAGLIB=ON"
+  ];
+
+  meta = with lib; {
+    description = "Music player and music collection organizer";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+    # upstream says darwin should work but they lack maintainers as of 0.6.3
+    platforms = platforms.linux;
+  };
+}