nixpkgs/pkgs/applications/networking/skype/default.nix
Arie Middelkoop cc145f2ae9 Update of skype expression: make the use of pulse audio optional based on the configuration setting for pulse audio (off by default).
Removing pulse audio from the build inputs when it is not used prevents the bug of Skype taking 100% cpu from showing up.
This demonstrates nicely nix' features: in other distributions the recomended solution was to remove read permission from the
pulse audio libs.

svn path=/nixpkgs/trunk/; revision=31959
2012-02-01 22:09:35 +00:00

74 lines
1.6 KiB
Nix

{ stdenv, fetchurl, alsaLib, libXv, libXi, libXrender, libXrandr, zlib, glib
, libXext, libX11, libXScrnSaver, libSM, qt4, libICE, freetype, fontconfig
, pulseaudio, usePulseAudio, lib }:
assert stdenv.system == "i686-linux";
stdenv.mkDerivation rec {
name = "skype-2.2.0.35";
src = fetchurl {
url = "http://download.skype.com/linux/${name}.tar.bz2";
sha256 = "157ba3ci12bq0nv2m8wlsab45ib5sccqagyna8nixnhqw9q72sxm";
};
buildInputs =
lib.optional usePulseAudio pulseaudio ++ [
alsaLib
stdenv.glibc
stdenv.gcc.gcc
libXv
libXext
libX11
qt4
libXScrnSaver
libSM
libICE
libXi
libXrender
libXrandr
freetype
fontconfig
zlib
glib
];
phases = "unpackPhase installPhase";
installPhase = ''
ensureDir $out/{opt/skype/,bin}
cp -r * $out/opt/skype/
fullPath=
for i in $buildNativeInputs; do
fullPath=$fullPath''${fullPath:+:}$i/lib
done
dynlinker="$(cat $NIX_GCC/nix-support/dynamic-linker)"
cat > $out/bin/skype << EOF
#!${stdenv.shell}
export LD_LIBRARY_PATH=$fullPath:$LD_LIBRARY_PATH
$dynlinker $out/opt/skype/skype --resources=$out/opt/skype "\$@"
EOF
chmod +x $out/bin/skype
# Desktop icon for Skype
patch skype.desktop << EOF
5c5
< Icon=skype.png
---
> Icon=$out/opt/skype/icons/SkypeBlue_48x48.png
EOF
ensureDir $out/share/applications
mv skype.desktop $out/share/applications
'';
meta = {
description = "A P2P-VoiceIP client";
homepage = http://www.skype.com;
license = "skype-eula";
};
}