From f878018eceda14682c6d56d6bad2e3783a7c6736 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 4 Jun 2016 17:58:01 +0200 Subject: [PATCH] neovim: 0.1.3 -> 0.1.4 * removing luaMessagePack (only used by neovim) * using libmpack (updated to latest master since they fixed a lot of packaging issues) * package libmpack lua bidnings * neovim expression now excepts luaPackages as an input and not individual lua packages (to avoid depending on different lua version) --- pkgs/applications/editors/neovim/default.nix | 38 ++++++++++------- .../libraries/libmpack/default.nix | 9 ++-- pkgs/top-level/all-packages.nix | 4 +- pkgs/top-level/lua-packages.nix | 42 +++++++++++-------- 4 files changed, 52 insertions(+), 41 deletions(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 864a2184cbbd..5f7af3b00825 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, gettext, glib, libmsgpack, libtermkey -, libtool, libuv, lpeg, lua, luajit, luaMessagePack, luabitop, man, ncurses -, perl, pkgconfig, unibilium, makeWrapper, vimUtils, xsel - +, libtool, libuv, lua, luajit, luaPackages, man, ncurses, perl, pkgconfig +, unibilium, makeWrapper, vimUtils, xsel +, pkgs , withPython ? true, pythonPackages, extraPythonPackages ? [] , withPython3 ? true, python3Packages, extraPython3Packages ? [] , withJemalloc ? true, jemalloc @@ -21,10 +21,10 @@ let version = "2015-11-06"; src = fetchFromGitHub { - sha256 = "090pyf1n5asaw1m2l9bsbdv3zd753aq1plb0w0drbc2k43ds7k3g"; - rev = "a9c7c6fd20fa35e0ad3e0e98901ca12dfca9c25c"; - repo = "libvterm"; owner = "neovim"; + repo = "libvterm"; + rev = "a9c7c6fd20fa35e0ad3e0e98901ca12dfca9c25c"; + sha256 = "090pyf1n5asaw1m2l9bsbdv3zd753aq1plb0w0drbc2k43ds7k3g"; }; buildInputs = [ perl ]; @@ -39,7 +39,7 @@ let description = "VT220/xterm/ECMA-48 terminal emulator library"; homepage = http://www.leonerd.org.uk/code/libvterm/; license = licenses.mit; - maintainers = with maintainers; [ nckx ]; + maintainers = with maintainers; [ nckx garbas ]; platforms = platforms.unix; }; }; @@ -60,13 +60,13 @@ let neovim = stdenv.mkDerivation rec { name = "neovim-${version}"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { - sha256 = "1bkyfxsgb7894848nphsi6shr8bvi9z6ch0zvh2df7vkkzji8chr"; - rev = "v${version}"; - repo = "neovim"; owner = "neovim"; + repo = "neovim"; + rev = "v${version}"; + sha256 = "14c4gydkm2mz22i616190yif1k0i6d7h5hyxa1mf5cmcyqmp3kkp"; }; enableParallelBuilding = true; @@ -79,13 +79,15 @@ let # https://github.com/NixOS/nixpkgs/issues/14442 lua luajit - lpeg - luaMessagePack - luabitop libmsgpack ncurses neovimLibvterm unibilium + + luaPackages.lpeg + luaPackages.mpack + luaPackages.luabitop + ] ++ optional withJemalloc jemalloc; nativeBuildInputs = [ @@ -95,8 +97,12 @@ let pkgconfig ]; - LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so"; - LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua"; + LUA_CPATH = "${luaPackages.lpeg}/lib/lua/${lua.luaversion}/?.so;${luaPackages.mpack}/lib/lua/${lua.luaversion}/?.so;${luaPackages.luabitop}/lib/lua/${lua.luaversion}/?.so"; + + configureFlags = [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + "-DENABLE_JEMALLOC=ON" + ]; preConfigure = '' substituteInPlace runtime/autoload/man.vim \ diff --git a/pkgs/development/libraries/libmpack/default.nix b/pkgs/development/libraries/libmpack/default.nix index d127531b1e01..867a7ccf79df 100644 --- a/pkgs/development/libraries/libmpack/default.nix +++ b/pkgs/development/libraries/libmpack/default.nix @@ -2,12 +2,13 @@ stdenv.mkDerivation rec { name = "libmpack-${version}"; - version = "1.0.2"; + version = "1.0.3-rev${rev}"; + rev = "071d944c9ff7b7fbd2c3c19d1fd1a231363ddeea"; src = fetchFromGitHub { owner = "tarruda"; repo = "libmpack"; - rev = version; - sha256 = "0s391vyz1gv4j95zdyvxspw7c0xq7d7b4fh0yxrgqqqp5js1rlj0"; + inherit rev; + sha256 = "1h3pbmykm69gfyi0wz647gz5836a6f3jc4azzll7i3mkpc11gcrd"; }; buildInputs = [ libtool ]; installPhase = '' @@ -19,7 +20,7 @@ stdenv.mkDerivation rec { description = "Simple implementation of msgpack in C"; homepage = "https://github.com/tarruda/libmpack/"; license = licenses.mit; - maintainers = with maintainers; [ lovek323 ]; + maintainers = with maintainers; [ lovek323 garbas ]; platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 50f0b0cb8b97..1e95fa181cd6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14477,9 +14477,7 @@ in vimpc = callPackage ../applications/audio/vimpc { }; - neovim = callPackage ../applications/editors/neovim { - inherit (lua52Packages) lpeg luaMessagePack luabitop; - }; + neovim = callPackage ../applications/editors/neovim { }; neovim-qt = callPackage ../applications/editors/neovim/qt.nix { qt5 = qt55; diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 980c0aca6332..ce8ef3cef4b4 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -8,7 +8,7 @@ { fetchurl, fetchzip, stdenv, lua, callPackage, unzip, zziplib, pkgconfig, libtool , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo , perl, gtk, python, glib, gobjectIntrospection, libevent, zlib, autoreconfHook -, fetchFromGitHub +, fetchFromGitHub, libmpack }: let @@ -101,7 +101,7 @@ let preBuild = '' makeFlagsArray=( - LUA_LDIR="$out/share/lua/${lua.luaversion}" + lua_ldir="$out/share/lua/${lua.luaversion}" LUA_INC="-I${lua}/include" LUA_CDIR="$out/lib/lua/${lua.luaversion}" EXPAT_INC="-I${expat.dev}/include"); ''; @@ -363,22 +363,6 @@ let }; }; - luaMessagePack = buildLuaPackage rec { - name = "lua-MessagePack-${version}"; - version = "0.3.1"; - src = fetchzip { - url = "https://github.com/fperrad/lua-MessagePack/archive/${version}.tar.gz"; - sha256 = "1xlif8fkwd8bb78wrvf2z309p7apms350lbg6qavylsvz57lkjm6"; - }; - buildInputs = [ unzip ]; - - meta = { - homepage = "http://fperrad.github.io/lua-MessagePack/index.html"; - hydraPlatforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.mit; - }; - }; - lgi = stdenv.mkDerivation rec { name = "lgi-${version}"; version = "0.7.2"; @@ -405,6 +389,28 @@ let ''; }; + mpack = buildLuaPackage rec { + name = "lua-mpack-${libmpack.version}"; + src = libmpack.src; + sourceRoot = "libmpack-${libmpack.rev}-src/binding/lua"; + buildInputs = [ libmpack ]; #libtool lua pkgconfig ]; + dontBuild = true; + preInstall = '' + mkdir -p $out/lib/lua/${lua.luaversion} + ''; + installFlags = [ + "USE_SYSTEM_LUA=yes" + "LUA_VERSION_MAJ_MIN=" + "LUA_CMOD_INSTALLDIR=$$out/lib/lua/${lua.luaversion}" + ]; + meta = { + description = "Simple implementation of msgpack in C Lua 5.1"; + homepage = "https://github.com/tarruda/libmpack"; + hydraPlatforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.mit; + }; + }; + vicious = stdenv.mkDerivation rec { name = "vicious-${version}"; version = "2.1.3";