diff options
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r-- | pkgs/applications/audio/minimodem/default.nix | 29 | ||||
-rw-r--r-- | pkgs/applications/audio/spotify/default.nix | 64 |
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/" |