about summary refs log tree commit diff
path: root/pkgs/applications/editors
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix4
-rw-r--r--pkgs/applications/editors/emacs-25/builder.sh2
-rw-r--r--pkgs/applications/editors/emacs-25/default.nix29
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/default.nix101
6 files changed, 121 insertions, 23 deletions
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index de857b7a8c6e..33813ca3a660 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -16,11 +16,11 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.6.0";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1izp2fwxk4rrksdbhcaj8fn0aazi7brid72n1vp7f49adrkqqc1b";
+    sha256 = "1kl2pc0smacn4lgk5wwlaiw03rm8b0763vaisgp843p35zzsbc9n";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 0e0c75fcfc88..87603f20b89a 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -359,11 +359,11 @@ rec {
 
   scala = buildEclipseUpdateSite rec {
     name = "scala-${version}";
-    version = "4.3.0.201512011535";
+    version = "4.4.0.201604010956";
 
     src = fetchzip {
       url = "http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/update-site.zip";
-      sha256 = "1j0qw4frkvvmyl64wdbznglgjjr9sfg8wb9npar0x7qv1hj4hw3x";
+      sha256 = "1yypzcf2iwlcj43vd6h9n4y2ka1gxjf5vm3yx87bgfbzbchzckz7";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-25/builder.sh b/pkgs/applications/editors/emacs-25/builder.sh
index 984a61df6f3b..545520cca7c0 100644
--- a/pkgs/applications/editors/emacs-25/builder.sh
+++ b/pkgs/applications/editors/emacs-25/builder.sh
@@ -5,6 +5,8 @@ source $stdenv/setup
 # *our* versions, not the ones found in the system, as it would do by default.
 # On other platforms, this appears to be unnecessary.
 preConfigure() {
+    ./autogen.sh
+
     for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
         substituteInPlace $i --replace /bin/pwd pwd
     done
diff --git a/pkgs/applications/editors/emacs-25/default.nix b/pkgs/applications/editors/emacs-25/default.nix
index 472a686b964b..93baa43abc32 100644
--- a/pkgs/applications/editors/emacs-25/default.nix
+++ b/pkgs/applications/editors/emacs-25/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
+{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
 , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
-, alsaLib, cairo, acl, gpm, AppKit, Foundation, libobjc
+, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
 , autoconf, automake
 , withX ? !stdenv.isDarwin
 , withGTK3 ? false, gtk3 ? null
@@ -23,17 +23,16 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "emacs-25.0.50-1b5630e";
+  name = "emacs-25.0.92";
 
   builder = ./builder.sh;
 
-  src = fetchgit {
-    url = "git://git.savannah.gnu.org/emacs.git";
-    rev = "1b5630eb47d3f4bade09708c958ab006b83b3fc0";
-    sha256 = "0n3qbri84akmy7ad1pbv89j4jn4x9pnkz0p4nbhh6m1c37cbz58l";
+  src = fetchurl {
+    url = "ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-25.0.92.tar.xz";
+    sha256 = "13jnj1js2l90k4yk219r3z67fff90r6mniprsp0sgip2kaak75y2";
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [
+  patches = lib.optionals stdenv.isDarwin [
     ./at-fdcwd.patch
   ];
 
@@ -52,11 +51,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (withX && withGTK3) gtk3
     ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
 
-  propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit Foundation libobjc
-  ];
-
-  NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
-    "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
+  propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
 
   configureFlags =
     if stdenv.isDarwin
@@ -81,18 +76,16 @@ stdenv.mkDerivation rec {
     mv nextstep/Emacs.app $out/Applications
   '';
 
-  doCheck = !stdenv.isDarwin;
+  # https://github.com/NixOS/nixpkgs/issues/13573
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "GNU Emacs 25 (pre), the extensible, customizable text editor";
     homepage    = http://www.gnu.org/software/emacs/;
     license     = licenses.gpl3Plus;
-    maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny ];
+    maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny jwiegley ];
     platforms   = platforms.all;
 
-    # So that Exuberant ctags is preferred
-    priority = 1;
-
     longDescription = ''
       GNU Emacs is an extensible, customizable text editor—and more.  At its
       core is an interpreter for Emacs Lisp, a dialect of the Lisp
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index e291cfcdc2bf..7d23ae5bbbdd 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -75,8 +75,10 @@ let
       glib
       libtermkey
       libuv
-      luajit
+      # For some reason, `luajit` has to be listed after `lua`. See
+      # https://github.com/NixOS/nixpkgs/issues/14442
       lua
+      luajit
       lpeg
       luaMessagePack
       luabitop
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
new file mode 100644
index 000000000000..64b46c2ac6ec
--- /dev/null
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -0,0 +1,101 @@
+{ callPackage, stdenv, fetchurl, makeWrapper
+, jq, xlibs, gtk, python, nodejs
+, ...
+} @ args:
+
+let
+  electron = callPackage ../../../development/tools/electron/default.nix (args // rec {
+    version = "0.35.6";
+    sha256 = "1bwn14769nby04zkza9jphsya2p6fjnkm1k2y4h5y2l4gnqdvmx0";
+  });
+in
+  stdenv.mkDerivation rec {
+    name = "vscode-${version}";
+    version = "0.10.10";
+
+    src = fetchurl {
+      url = "https://github.com/Microsoft/vscode/archive/${version}.tar.gz";
+      sha256 = "1mzkip6621111xwwksqjad1kgpbhna4dhpkf6cnj2r18dkk2jmcw";
+    };
+
+    buildInputs = [ makeWrapper jq xlibs.libX11 xlibs.xproto gtk python nodejs electron ];
+
+    extensionGalleryJSON = ''
+      {
+        \"extensionsGallery\": {
+          \"serviceUrl\": \"https://marketplace.visualstudio.com/_apis/public/gallery\",
+          \"cacheUrl\": \"https://vscode.blob.core.windows.net/gallery/index\",
+          \"itemUrl\": \"https://marketplace.visualstudio.com/items\"
+        }
+      }
+    '';
+
+    configurePhase = ''
+      # PATCH SCRIPT SHEBANGS
+      echo "PATCH SCRIPT SHEBANGS"
+      patchShebangs ./scripts
+
+      # ADD EXTENSION GALLERY URLS TO APPLICATION CONFIGURATION
+      echo "AUGMENT APPLICATION CONFIGURATION"
+      echo "$(cat ./product.json) ${extensionGalleryJSON}" | jq -s add  > tmpFile && \
+        mv tmpFile ./product.json
+    '';
+
+    buildPhase  = ''
+      # BUILD COMPILE- & RUN-TIME DEPENDENCIES
+      echo "BUILD COMPILE- & RUN-TIME DEPENDENCIES"
+      mkdir -p ./tmp
+      HOME=./tmp ./scripts/npm.sh install
+
+      # COMPILE SOURCES
+      echo "COMPILE SOURCES"
+      ./node_modules/.bin/gulp
+    '';
+
+    doCheck = true;
+    checkPhase = ''
+      # CHECK APPLICATION
+      echo "CHECK APPLICATION"
+      ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 ${electron}/bin/electron ./node_modules/.bin/_mocha
+    '';
+
+    installPhase = ''
+      # PRUNE COMPILE-TIME DEPENDENCIES
+      echo "PRUNE COMPILE-TIME DEPENDENCIES"
+      npm prune --production
+
+      # COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY
+      echo "COPY FILES NEEDED FOR RUNNING APPLICATION TO OUT DIRECTORY"
+      mkdir -p "$out"
+      cp -R ./.vscode "$out"/.vscode
+      cp -R ./extensions "$out"/extensions
+      cp -R ./out "$out"/out
+      cp -R ./node_modules "$out"/node_modules
+      cp ./package.json "$out"/package.json
+      cp ./product.json "$out"/product.json
+      cp ./tslint.json "$out"/tslint.json
+      # COPY LEGAL STUFF
+      cp ./LICENSE.txt "$out"/LICENSE.txt
+      cp ./OSSREADME.json "$out"/OSSREADME.json
+      cp ./ThirdPartyNotices.txt "$out"/ThirdPartyNotices.txt
+
+      # CREATE RUNNER SCRIPT
+      echo "CREATE RUNNER SCRIPT"
+      mkdir -p "$out"/bin
+      makeWrapper "${electron}/bin/electron" "$out/bin/vscode" \
+      --set VSCODE_DEV 1 \
+      --add-flags "$out"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.";
+      longDescription = ''
+        Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.
+        It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
+        It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences.
+      '';
+      homepage = http://code.visualstudio.com/;
+      license = licenses.mit;
+      platforms = [ "x86_64-linux" ];
+    };
+  }