commit:     ab09f94849c34893e8f13e58a3ba2cc6740fd5e3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 17 08:24:01 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 23:17:26 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab09f948

dev-util/lldb: Introduce the initial live version

Introduce an initial live ebuild for split LLVM debugger package.
The version should build and work fine to the degree of old LLVM
ebuilds. Tests are not yet implemented, Python readline module needs to
be thought over and static libraries need to be replaced with shared.

 dev-util/lldb/lldb-9999.ebuild | 80 ++++++++++++++++++++++++++++++++++++++++++
 dev-util/lldb/metadata.xml     |  7 ++++
 2 files changed, 87 insertions(+)

diff --git a/dev-util/lldb/lldb-9999.ebuild b/dev-util/lldb/lldb-9999.ebuild
new file mode 100644
index 00000000..87afff9
--- /dev/null
+++ b/dev-util/lldb/lldb-9999.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+CMAKE_MIN_VERSION=3.4.3
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils git-r3 python-single-r1 toolchain-funcs
+
+DESCRIPTION="The LLVM debugger"
+HOMEPAGE="http://llvm.org/";
+SRC_URI=""
+EGIT_REPO_URI="http://llvm.org/git/lldb.git
+       https://github.com/llvm-mirror/lldb.git";
+
+LICENSE="UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="libedit ncurses python"
+
+RDEPEND="
+       libedit? ( dev-libs/libedit:0= )
+       ncurses? ( >=sys-libs/ncurses-5.9-r3:0= )
+       python? ( dev-python/six[${PYTHON_USEDEP}]
+               ${PYTHON_DEPS} )
+       ~sys-devel/clang-${PV}[xml]
+       ~sys-devel/llvm-${PV}
+       !<sys-devel/llvm-4.0"
+DEPEND="${RDEPEND}
+       python? ( dev-lang/swig )
+       ${PYTHON_DEPS}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+src_configure() {
+       local libdir=$(get_libdir)
+       local mycmakeargs=(
+               # used to find cmake modules
+               -DLLVM_LIBDIR_SUFFIX="${libdir#lib}"
+
+               -DLLDB_DISABLE_CURSES=$(usex !ncurses)
+               -DLLDB_DISABLE_LIBEDIT=$(usex !libedit)
+               -DLLDB_DISABLE_PYTHON=$(usex !python)
+               -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+
+               # TODO: fix upstream to detect this properly
+               -DHAVE_LIBDL=ON
+               -DHAVE_LIBPTHREAD=ON
+
+               # normally we'd have to set LLVM_ENABLE_TERMINFO, HAVE_TERMINFO
+               # and TERMINFO_LIBS... so just force FindCurses.cmake to use
+               # ncurses with complete library set (including autodetection
+               # of -ltinfo)
+               -DCURSES_NEED_NCURSES=ON
+       )
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # oh my...
+       if use python; then
+               # remove bundled six module
+               rm "${D}$(python_get_sitedir)/six.py" || die
+
+               # remove custom readline.so for now
+               # TODO: figure out how to deal with it
+               # upstream is basically building a custom readline.so with 
-ledit
+               # to avoid symbol collisions between readline and libedit...
+               rm "${D}$(python_get_sitedir)/readline.so" || die
+
+               # byte-compile the modules
+               python_optimize
+       fi
+}

diff --git a/dev-util/lldb/metadata.xml b/dev-util/lldb/metadata.xml
new file mode 100644
index 00000000..89c4bdb
--- /dev/null
+++ b/dev-util/lldb/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+       </maintainer>
+</pkgmetadata>

Reply via email to