diff options
author | Arie Middelkoop <amiddelk@gmail.com> | 2012-02-24 17:53:19 +0000 |
---|---|---|
committer | Arie Middelkoop <amiddelk@gmail.com> | 2012-02-24 17:53:19 +0000 |
commit | 72450d9b735e7f0d012e21424b4211ecc0f0f098 (patch) | |
tree | faf41299834bfc387851c251af8d1e4c5170d504 /pkgs/applications/networking/dropbox | |
parent | 4716f6735d57ea2b6cd126f7351dca2759258401 (diff) | |
download | nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar.gz nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar.bz2 nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar.lz nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar.xz nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.tar.zst nixlib-72450d9b735e7f0d012e21424b4211ecc0f0f098.zip |
Added dropbox (binary).
svn path=/nixpkgs/trunk/; revision=32545
Diffstat (limited to 'pkgs/applications/networking/dropbox')
-rw-r--r-- | pkgs/applications/networking/dropbox/default.nix | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix new file mode 100644 index 000000000000..5e7e921710f0 --- /dev/null +++ b/pkgs/applications/networking/dropbox/default.nix @@ -0,0 +1,86 @@ +{ stdenv, fetchurl, makeDesktopItem +, xlibs, gtkLibs, gnome +, dbus, dbus_glib, fontconfig, gcc, patchelf +}: + +# this package contains the daemon version of dropbox +# it's unfortunately closed source +# +# note: the resulting program has to be invoced as +# 'dropbox' because the internal python engine takes +# uses the name of the program as starting point. +# +# todo: dropbox is shipped with some copies of libraries. +# 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 + + version = "1.2.52"; + sha256 = "72aeaf00727da9f3fe39386dcf883bb303de928ba43c738fcc5bb62b93eca252"; + + # relative location where the dropbox libraries are stored + sharedir = "share/dropbox"; + + # Libraries referenced by dropbox binary. + # Be aware that future versions of the dropbox binary may refer + # to different versions than are currently in these packages. + ldpath = with xlibs; with gtkLibs; with gnome; + stdenv.lib.makeSearchPath "lib" [ + libSM libX11 libXext libXcomposite libXcursor libXdamage + libXfixes libXi libXinerama libXrandr libXrender + atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf + gtk pango + ]; + + desktopItem = makeDesktopItem { + name = "dropbox"; + exec = "dropbox"; + comment = "Online directories"; + desktopName = "Dropbox"; + genericName = "Online storage"; + categories = "Application;Internet;"; + }; + +in stdenv.mkDerivation { + name = "dropbox-${version}-bin"; + src = fetchurl { + name = "dropbox-${version}.tar.gz"; + url = "http://www.dropbox.com/download?plat=lnx.x86_64"; + inherit sha256; + }; + + sourceRoot = "."; + + patchPhase = '' + rm -f .dropbox-dist/dropboxd + ''; + + installPhase = '' + ensureDir "$out/${sharedir}" + cp -r .dropbox-dist/* "$out/${sharedir}/" + ensureDir "$out/bin" + ln -s "$out/${sharedir}/dropbox" "$out/bin/dropbox" + + patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \ + "$out/${sharedir}/dropbox" + + RPATH=${ldpath}:${gcc.gcc}/lib64:$out/${sharedir} + echo "updating rpaths to: $RPATH" + find "$out/${sharedir}" -type f -a -perm +0100 \ + -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \; + + ensureDir "$out/share/applications" + cp ${desktopItem}/share/applications/* $out/share/applications + ''; + + buildInputs = [ patchelf ]; + + meta = { + description = "Online stored folders (daemon version)"; + homepage = http://www.dropbox.com; + }; +} \ No newline at end of file |