dropbox: add x86 support

This commit is contained in:
Sander van der Burg 2013-03-26 16:39:03 +01:00
parent 5262980561
commit d4642465ab

View file

@ -16,13 +16,19 @@
# replace these libraries with the appropriate ones in
# nixpkgs.
# note: there is a i686 version available as well
assert stdenv.system == "x86_64-linux";
let
arch = if stdenv.system == "x86_64-linux" then "x86_64"
else if stdenv.system == "i686-linux" then "x86"
else throw "Dropbox client for: ${stdenv.system} not supported!";
interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
else throw "Dropbox client for: ${stdenv.system} not supported!";
version = "1.4.21";
sha256 = "94073842f4a81feee80bca590e1df73fc3cab47ba879407ceba2de48f30d84e2";
sha256 = if stdenv.system == "x86_64-linux" then "94073842f4a81feee80bca590e1df73fc3cab47ba879407ceba2de48f30d84e2"
else if stdenv.system == "i686-linux" then "121v92m20l73xjmzng3vmcp4zsp9mlbcfia73f5py5y74kndb2ap"
else throw "Dropbox client for: ${stdenv.system} not supported!";
# relative location where the dropbox libraries are stored
appdir = "opt/dropbox";
@ -52,8 +58,8 @@ in stdenv.mkDerivation {
name = "dropbox-${version}.tar.gz";
# using version-specific URL so if the version is no longer available,
# build will fail without having to finish downloading first
# url = "http://www.dropbox.com/download?plat=lnx.x86_64";
url = "http://dl-web.dropbox.com/u/17/dropbox-lnx.x86_64-${version}.tar.gz";
# url = "http://www.dropbox.com/download?plat=lnx.${arch}";
url = "http://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
inherit sha256;
};
@ -69,10 +75,10 @@ in stdenv.mkDerivation {
ensureDir "$out/bin"
ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
"$out/${appdir}/dropbox"
RPATH=${ldpath}:${gcc.gcc}/lib64:$out/${appdir}
RPATH=${ldpath}:${gcc.gcc}/lib:$out/${appdir}
echo "updating rpaths to: $RPATH"
find "$out/${appdir}" -type f -a -perm +0100 \
-print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;