summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJaka Hudoklin <jakahudoklin@gmail.com>2015-11-17 17:24:40 +0100
committerJaka Hudoklin <jakahudoklin@gmail.com>2015-11-17 17:24:40 +0100
commit5bbb869297bc975469c5e290efb7e8cc9adbfa28 (patch)
treec414f40ddef4ae487cbe6c54d6d9f12c3317b0f1 /pkgs
parentb04ba13ee0f0217cbab549f78199fdb75f6d040b (diff)
parent3454f8d3713d110ed2af42faf324c9fd2c3a9f98 (diff)
downloadnixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar.gz
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar.bz2
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar.lz
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar.xz
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.tar.zst
nixpkgs-5bbb869297bc975469c5e290efb7e8cc9adbfa28.zip
Merge pull request #11090 from matejc/brackets
brackets: new package, code editor
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/brackets/default.nix63
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix
new file mode 100644
index 00000000000..131675486ba
--- /dev/null
+++ b/pkgs/applications/editors/brackets/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf
+, cups, libgcrypt_1_5, makeWrapper, dbus, udev }:
+let
+  bracketsEnv = buildEnv {
+    name = "env-brackets";
+    paths = [
+      gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5
+      dbus udev
+    ];
+  };
+in
+stdenv.mkDerivation rec {
+  name = "brackets-${version}";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb";
+    sha256 = "1fc8wvh9wbcydd1sw20yfnwlfv7nllb6vrssr6hgn80m7i0zl3db";
+    name = "${name}.deb";
+  };
+
+  phases = [ "installPhase" ];
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out
+    ar p $src data.tar.xz | tar -C $out -xJ
+
+    mv $out/usr/* $out/
+    rmdir $out/usr
+    ln -sf $out/opt/brackets/brackets $out/bin/brackets
+
+    ln -s ${udev}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
+      $out/opt/brackets/Brackets
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/opt/brackets/Brackets-node
+
+    patchelf \
+      --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
+      $out/opt/brackets/lib/libcef.so
+
+    wrapProgram $out/opt/brackets/brackets \
+      --prefix LD_LIBRARY_PATH : "${bracketsEnv}/lib:${bracketsEnv}/lib64"
+
+    substituteInPlace $out/opt/brackets/brackets.desktop \
+      --replace "Exec=/opt/brackets/brackets" "Exec=brackets"
+    mkdir -p $out/share/applications
+    ln -s $out/opt/brackets/brackets.desktop $out/share/applications/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An open source code editor for the web, written in JavaScript, HTML and CSS";
+    homepage = http://brackets.io/;
+    license = licenses.mit;
+    maintainers = [ maintainers.matejc ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d0404db8005..bf8ca1e9c2e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11042,6 +11042,8 @@ let
 
   bluejeans = callPackage ../applications/networking/browsers/mozilla-plugins/bluejeans { };
 
+  brackets = callPackage ../applications/editors/brackets { gconf = gnome3.gconf; };
+
   bristol = callPackage ../applications/audio/bristol { };
 
   bs1770gain = callPackage ../applications/audio/bs1770gain { };