summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-10-17 10:24:01 +0200
committerMichał Górny <mgorny@gentoo.org>2016-11-01 00:17:26 +0100
commitab09f94849c34893e8f13e58a3ba2cc6740fd5e3 (patch)
tree00fe1950ffc044f09d833bcc9199b2889e0d6e8e
parentapp-emulation/docker: sync live ebuild (diff)
downloadgentoo-ab09f94849c34893e8f13e58a3ba2cc6740fd5e3.tar.gz
gentoo-ab09f94849c34893e8f13e58a3ba2cc6740fd5e3.tar.bz2
gentoo-ab09f94849c34893e8f13e58a3ba2cc6740fd5e3.zip
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.
-rw-r--r--dev-util/lldb/lldb-9999.ebuild80
-rw-r--r--dev-util/lldb/metadata.xml7
2 files changed, 87 insertions, 0 deletions
diff --git a/dev-util/lldb/lldb-9999.ebuild b/dev-util/lldb/lldb-9999.ebuild
new file mode 100644
index 000000000000..87afff9c00fb
--- /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 000000000000..89c4bdb96049
--- /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>llvm@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>