about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMichael Fellinger <m.fellinger@gmail.com>2014-11-27 21:04:28 +0100
committerMichael Fellinger <m.fellinger@gmail.com>2014-11-27 22:16:43 +0100
commit917bf6865a52648af8c871cc9c3ab71895f5f872 (patch)
tree6839ec4a786c3b051ce1bf273fc39e032fab880f /pkgs
parent81acb400b97c98506f74e5857dc6bd4000c9ccb3 (diff)
downloadnixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar.gz
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar.bz2
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar.lz
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar.xz
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.tar.zst
nixlib-917bf6865a52648af8c871cc9c3ab71895f5f872.zip
add neovim
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/neovim/default.nix65
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/lua-packages.nix37
3 files changed, 106 insertions, 0 deletions
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
new file mode 100644
index 000000000000..1c1c050b0000
--- /dev/null
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchgit, fetchurl, unzip, callPackage, ncurses, gettext, pkgconfig,
+cmake, pkgs, lpeg, lua, luajit, luaMessagePack, luabitop }:
+
+stdenv.mkDerivation rec {
+  name = "neovim-nightly";
+
+  version = "nightly";
+
+  src = fetchgit {
+    url = "https://github.com/neovim/neovim";
+    rev = "68fcd8b696dae33897303c9f8265629a31afbf17";
+    sha256 = "0hxkcy641jpn4qka44gfvhmb6q3dkjx6lvn9748lcl2gx2d36w4i";
+  };
+
+  libmsgpack = stdenv.mkDerivation rec {
+    version = "0.5.9";
+    name = "libmsgpack-${version}";
+
+    src = fetchgit {
+      rev = "ecf4b09acd29746829b6a02939db91dfdec635b4";
+      url = "https://github.com/msgpack/msgpack-c";
+      sha256 = "076ygqgxrc3vk2l20l8x2cgcv05py3am6mjjkknr418pf8yav2ww";
+    };
+
+    buildInputs = [ cmake ];
+
+    meta = with stdenv.lib; {
+      description = "MessagePack implementation for C and C++";
+      homepage = http://msgpack.org;
+      maintainers = [ maintainers.manveru ];
+      license = licenses.asl20;
+      platforms = platforms.all;
+    };
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    ncurses
+    pkgconfig
+    cmake
+    pkgs.libuvVersions.v0_11_29
+    luajit
+    lua
+    lpeg
+    luaMessagePack
+    luabitop
+    libmsgpack
+  ];
+  nativeBuildInputs = [ gettext ];
+
+  LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
+  LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua";
+  cmakeFlags = [
+    "-DUSE_BUNDLED_MSGPACK=ON"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Aggressive refactor of Vim";
+    homepage    = http://www.neovim.org;
+    maintainers = with maintainers; [ manveru ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 128badfa52b2..ec9f94091459 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10956,6 +10956,10 @@ let
 
   vimpc = callPackage ../applications/audio/vimpc { };
 
+  neovim = callPackage ../applications/editors/neovim {
+    inherit (lua52Packages) lpeg luaMessagePack luabitop;
+  };
+
   virtviewer = callPackage ../applications/virtualization/virt-viewer {
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
     spice_gtk = spice_gtk.override { enableGTK3 = true; };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 19cb2b6e24f0..245483e76b38 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -218,4 +218,41 @@ let
     };
   };
 
+  lpeg = buildLuaPackage rec {
+    name = "lpeg-${version}";
+    version = "0.12";
+    src = fetchurl {
+      url = "http://www.inf.puc-rio.br/~roberto/lpeg/${name}.tar.gz";
+      sha256 = "0xlbfw1w7l65a5qhnx5sfw327hkq1zcj8xmg4glfw6fj9ha4b9gg";
+    };
+    buildInputs = [ unzip ];
+
+    installPhase = ''
+      mkdir -p $out/lib/lua/${lua.luaversion}
+      install -p lpeg.so $out/lib/lua/${lua.luaversion}
+      install -p re.lua $out/lib/lua/${lua.luaversion}
+    '';
+
+    meta = {
+      homepage = "http://www.inf.puc-rio.br/~roberto/lpeg/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luaMessagePack = buildLuaPackage rec {
+    name = "lua-MessagePack-${version}";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://github.com/fperrad/lua-MessagePack/archive/${version}.tar.gz";
+      sha256 = "185mrd6bagwwm94jxzanq01l72ama3x4hf160a7yw7hgim2y5h9c";
+    };
+    buildInputs = [ unzip ];
+
+    meta = {
+      homepage = "http://fperrad.github.io/lua-MessagePack/index.html";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 }; in self