about summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/minimodem/default.nix29
-rw-r--r--pkgs/applications/audio/spotify/default.nix64
2 files changed, 84 insertions, 9 deletions
diff --git a/pkgs/applications/audio/minimodem/default.nix b/pkgs/applications/audio/minimodem/default.nix
new file mode 100644
index 000000000000..6f2bf8cdb1c7
--- /dev/null
+++ b/pkgs/applications/audio/minimodem/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, fftw, fftwSinglePrec, alsaLib, libsndfile, pulseaudio }:
+
+stdenv.mkDerivation rec {
+  version = "0.19";
+  pname = "minimodem";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://www.whence.com/${pname}/${name}.tar.gz";
+    sha256 = "003xyqjq59wcjafrdv1b8w34xsn4nvzz51wwd7mqddajh0g4dz4g";
+  };
+
+  buildInputs = [ pkgconfig fftw fftwSinglePrec alsaLib libsndfile pulseaudio ];
+
+  meta = {
+    description = "General-purpose software audio FSK modem";
+    longDescription = ''
+    Minimodem is a command-line program which decodes (or generates) audio
+    modem tones at any specified baud rate, using various framing protocols. It
+    acts a general-purpose software FSK modem, and includes support for various
+    standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and
+    Caller-ID.
+    '';
+    homepage = http://www.whence.com/minimodem/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ relrod ];
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 874cc321f8be..a76e71488468 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,24 +1,62 @@
 { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
-, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }:
+, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev, fontconfig
+, dbus, expat }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 let
   version = "0.9.4.183";
+
   qt4webkit =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        name = "libqtwebkit4_2.2_i386.deb";
-        url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb;
+        name = "libqtwebkit4_2.3.2_i386.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb;
         sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924";
       }
     else
       fetchurl {
-        name = "libqtwebkit4_2.2_amd64.deb";
-        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb;
-        sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw";
+        name = "libqtwebkit4_2.3.2_amd64.deb";
+        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb;
+        sha256 = "0sac88avfivwkfhmd6fik7ili8fdznqas6741dbspf9mfnawbwch";
       };
+
+  deps = [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    GConf
+    gdk_pixbuf
+    glib
+    gst_plugins_base
+    gstreamer
+    gtk
+    libgcrypt
+    libpng
+    nss
+    pango
+    qt4
+    sqlite
+    stdenv.gcc.gcc
+    xlibs.libX11
+    xlibs.libXcomposite
+    xlibs.libXdamage
+    xlibs.libXext
+    xlibs.libXfixes
+    xlibs.libXi
+    xlibs.libXrandr
+    xlibs.libXrender
+    xlibs.libXrender
+    xlibs.libXScrnSaver
+    #xlibs.libXss
+  ];
+
 in
 
 stdenv.mkDerivation {
@@ -64,21 +102,29 @@ stdenv.mkDerivation {
 
       mkdir -p $out/bin
 
+      rpath="$out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.gcc.gcc}/lib64"
+
       ln -s $out/spotify-client/spotify $out/bin/spotify
+
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath $rpath $out/spotify-client/spotify
+
       patchelf \
         --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath $out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite xlibs.libXdamage ]}:${stdenv.gcc.gcc}/lib64 \
-        $out/spotify-client/spotify
+        --set-rpath $rpath $out/spotify-client/Data/SpotifyHelper
 
       dpkg-deb -x ${qt4webkit} ./
       mkdir -p $out/lib/
       cp -v usr/lib/*/* $out/lib/
 
       preload=$out/libexec/spotify/libpreload.so
+      librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib"
       mkdir -p $out/libexec/spotify
       gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
 
-      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer xlibs.libXdamage ]}:$out/lib"
+      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
+      wrapProgram $out/spotify-client/Data/SpotifyHelper --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath"
 
       # Desktop file
       mkdir -p "$out/share/applications/"