summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
authorJean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>2021-07-10 08:58:20 +0200
committerJean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>2021-07-12 13:54:55 +0200
commit797338de5067995243fc35d0f0c81b0fbc11c827 (patch)
treee1cd17d42b93cea8c0c5d21ab3dea5fca07a2cee /pkgs/applications/audio
parentfaec8bbbf78f3a1e3439c321c2270b2f9209bff1 (diff)
downloadnixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar.gz
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar.bz2
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar.lz
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar.xz
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.tar.zst
nixpkgs-797338de5067995243fc35d0f0c81b0fbc11c827.zip
rhythmbox: add support for DAAP
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix26
1 files changed, 25 insertions, 1 deletions
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 65499f58630..9e338e19813 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib, stdenv, fetchurl, pkg-config, fetchFromGitLab
 , python3
 , perl
 , perlPackages
@@ -6,6 +6,7 @@
 , intltool
 , libpeas
 , libsoup
+, libdmapsharing
 , gnome
 , totem-pl-parser
 , tdb
@@ -18,6 +19,25 @@
 let
   pname = "rhythmbox";
   version = "3.4.4";
+
+  # The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0.
+
+  # This PR would solve the issue:
+  # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/12
+  # Unfortunately applying this patch produces a rhythmbox which
+  # cannot fetch data from DAAP shares.
+
+  libdmapsharing_3 = libdmapsharing.overrideAttrs (old: rec {
+    version = "2.9.41";
+    src = fetchFromGitLab {
+      domain = "gitlab.gnome.org";
+      owner = "GNOME";
+      repo = old.pname;
+      rev = "${lib.toUpper old.pname}_${lib.replaceStrings ["."] ["_"] version}";
+      sha256 = "05kvrzf0cp3mskdy6iv7zqq24qdczl800q2dn1h4bk3d9wchgm4p";
+    };
+  });
+
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -46,8 +66,12 @@ in stdenv.mkDerivation rec {
 
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
+
+    libdmapsharing_3 # necessary for daap support
   ] ++ gst_plugins;
 
+  configureFlags = [ "--enable-daap" ];
+
   enableParallelBuilding = true;
 
   passthru = {