app-editors/neovim: Readjust dependencies
authorAric Belsito <lluixhi@gmail.com>
Mon, 18 Jul 2016 21:44:34 +0000 (14:44 -0700)
committerOle Reifschneider <tranquility@gentoo.org>
Sat, 27 Aug 2016 21:38:17 +0000 (23:38 +0200)
luajit is no longer a hard dependency, so we can depend on either
dev-lang/luajit, or dev-lang/lua

the perl support was erroneous, given that there is no perl client yet.

the tui is now optional, so other ui's can be used instead.

Add a clipboard use flag so neovim can copy to the clipboard.

Update to EAPI=6.

Signed-off-by: Ole Reifschneider <tranquility@gentoo.org>
app-editors/neovim/metadata.xml
app-editors/neovim/neovim-0.1.5-r1.ebuild [new file with mode: 0644]
app-editors/neovim/neovim-9999.ebuild

index 94ebef115d57ee49a01424975e8cbec722e047f7..0671c79ddf396a95fc063586638cda9e6144a935 100644 (file)
@@ -6,8 +6,12 @@
     <name>Gentoo Vim Project</name>
   </maintainer>
   <use>
+    <flag name="clipboard">Enable clipboard support through a provider</flag>
     <flag name="nvimpager">Install nvimpager symlink to less.sh macro</flag>
     <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+    <flag name="tui">Build the neovim unix tui</flag>
+    <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of
+      <pkg>dev-lang/lua</pkg></flag>
   </use>
   <upstream>
     <remote-id type="github">neovim/neovim</remote-id>
diff --git a/app-editors/neovim/neovim-0.1.5-r1.ebuild b/app-editors/neovim/neovim-0.1.5-r1.ebuild
new file mode 100644 (file)
index 0000000..d7e6db0
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="git://github.com/neovim/neovim.git"
+else
+       SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+       >=dev-libs/msgpack-1.0.0
+       luajit? ( dev-lang/luajit:2 )
+       !luajit? (
+               dev-lang/lua:=
+               dev-lua/LuaBitOp
+       )
+       tui? (
+               >=dev-libs/libtermkey-0.17
+               >=dev-libs/unibilium-1.1.1
+       )
+       dev-libs/libvterm
+       dev-lua/lpeg[luajit=]
+       dev-lua/mpack[luajit=]
+       jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+       virtual/libiconv
+       virtual/libintl"
+RDEPEND="${CDEPEND}
+       python? ( dev-python/neovim-python-client )
+       ruby? ( dev-ruby/neovim-ruby-client )
+       clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+       # use our system vim dir
+       sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+               -i src/nvim/globals.h || die
+
+       # add eclass to bash filetypes
+       sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+       cmake-utils_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DFEAT_TUI=$(usex tui)
+               -DENABLE_JEMALLOC=$(usex jemalloc)
+               )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # install a default configuration file
+       insinto /etc/vim
+       doins "${FILESDIR}"/sysinit.vim
+
+       # conditionally install a symlink for nvimpager
+       if use nvimpager; then
+               dosym /usr/share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+       fi
+}
index f23db6ef499ed0ab00e4b5f1b2c8f7b41cead48f..d7e6db05ab161245598126456fcf637227b0d525 100644 (file)
@@ -2,8 +2,8 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-inherit cmake-utils flag-o-matic
+EAPI=6
+inherit cmake-utils
 
 DESCRIPTION="Vim-fork focused on extensibility and agility."
 HOMEPAGE="https://neovim.io"
@@ -17,26 +17,31 @@ fi
 
 LICENSE="Apache-2.0 vim"
 SLOT="0"
-IUSE="+nvimpager perl python ruby +jemalloc"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
 
-CDEPEND="dev-lang/luajit:2
-       >=dev-libs/libtermkey-0.17
-       >=dev-libs/libuv-1.2.0
+CDEPEND=">=dev-libs/libuv-1.2.0
        >=dev-libs/msgpack-1.0.0
-       >=dev-libs/unibilium-1.1.1
+       luajit? ( dev-lang/luajit:2 )
+       !luajit? (
+               dev-lang/lua:=
+               dev-lua/LuaBitOp
+       )
+       tui? (
+               >=dev-libs/libtermkey-0.17
+               >=dev-libs/unibilium-1.1.1
+       )
        dev-libs/libvterm
-       dev-lua/lpeg[luajit]
-       dev-lua/mpack[luajit]
+       dev-lua/lpeg[luajit=]
+       dev-lua/mpack[luajit=]
        jemalloc? ( dev-libs/jemalloc )
 "
 DEPEND="${CDEPEND}
        virtual/libiconv
        virtual/libintl"
 RDEPEND="${CDEPEND}
-       perl? ( dev-lang/perl )
        python? ( dev-python/neovim-python-client )
        ruby? ( dev-ruby/neovim-ruby-client )
-"
+       clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
 
 CMAKE_BUILD_TYPE=RelWithDebInfo
 
@@ -52,13 +57,9 @@ src_prepare() {
 }
 
 src_configure() {
-       export USE_BUNDLED_DEPS=OFF
-       append-cflags "-Wno-error"
        local mycmakeargs=(
-               $(cmake-utils_use_enable jemalloc JEMALLOC)
-               -DLIBUNIBILIUM_USE_STATIC=OFF
-               -DLIBTERMKEY_USE_STATIC=OFF
-               -DLIBVTERM_USE_STATIC=OFF
+               -DFEAT_TUI=$(usex tui)
+               -DENABLE_JEMALLOC=$(usex jemalloc)
                )
        cmake-utils_src_configure
 }