about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/editors/sublime/2/default.nix
blob: e46d6ef97e4cd543e8ddc8022ba0cfc2bf41fe49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{ fetchurl, lib, stdenv, glib, xorg, cairo, gtk2, makeDesktopItem }:
let
  libPath = lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo];
in

stdenv.mkDerivation rec {
  name = "sublimetext-2.0.2";
  src =
    if stdenv.hostPlatform.system == "i686-linux" then
      fetchurl {
        name = "sublimetext-2.0.2.tar.bz2";
        url = [
          "http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2"
          "https://download.sublimetext.com/Sublime%20Text%202.0.2.tar.bz2"
        ];
        sha256 = "026g5mppk28lzzzn9ibykcqkrd5msfmg0sc0z8w8jd7v3h28wcq7";
      }
    else
      fetchurl {
        name = "sublimetext-2.0.2.tar.bz2";
        url = [
          "http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2"
          "https://download.sublimetext.com/Sublime%20Text%202.0.2%20x64.tar.bz2"
        ];
        sha256 = "115b71nbv9mv8cz6bkjwpbdf2ywnjc1zy2d3080f6ck4sqqfvfh1";
      };
  buildCommand = ''
    tar xvf ${src}
    mkdir -p $out/bin
    mv Sublime* $out/sublime
    ln -s $out/sublime/sublime_text $out/bin/sublime
    ln -s $out/sublime/sublime_text $out/bin/sublime2

    echo ${libPath}
    patchelf \
      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
      --set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"} \
      $out/sublime/sublime_text

    mkdir -p $out/share/icons

    for x in $(ls $out/sublime/Icon); do
      mkdir -p $out/share/icons/hicolor/$x/apps
      cp -v $out/sublime/Icon/$x/* $out/share/icons/hicolor/$x/apps
    done

    ln -sv "${desktopItem}/share/applications" $out/share
  '';

  desktopItem = makeDesktopItem {
    name = "sublime2";
    exec = "sublime2 %F";
    comment = meta.description;
    desktopName = "Sublime Text";
    genericName = "Text Editor";
    categories = "TextEditor;Development;";
    icon = "sublime_text";
  };

  meta = {
    description = "Sophisticated text editor for code, markup and prose";
    license = lib.licenses.unfree;
    platforms = [ "x86_64-linux" "i686-linux" ];
  };
}