Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/lldb/
Date: Fri, 05 Aug 2022 19:50:14
Message-Id: 1659728996.e4d8c8d4050271453890fe745486cda50937d0e7.mgorny@gentoo
1 commit: e4d8c8d4050271453890fe745486cda50937d0e7
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 5 19:48:39 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 5 19:49:56 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4d8c8d4
7
8 dev-util/lldb: Add 16.* live ebuilds
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-util/lldb/lldb-16.0.0.9999.ebuild | 115 ++++++++++++++++++++++++++++++++++
13 1 file changed, 115 insertions(+)
14
15 diff --git a/dev-util/lldb/lldb-16.0.0.9999.ebuild b/dev-util/lldb/lldb-16.0.0.9999.ebuild
16 new file mode 100644
17 index 000000000000..fd12eb1fbf30
18 --- /dev/null
19 +++ b/dev-util/lldb/lldb-16.0.0.9999.ebuild
20 @@ -0,0 +1,115 @@
21 +# Copyright 1999-2022 Gentoo Authors
22 +# Distributed under the terms of the GNU General Public License v2
23 +
24 +EAPI=8
25 +
26 +PYTHON_COMPAT=( python3_{8..11} )
27 +inherit cmake llvm llvm.org python-single-r1
28 +
29 +DESCRIPTION="The LLVM debugger"
30 +HOMEPAGE="https://llvm.org/"
31 +
32 +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
33 +SLOT="0"
34 +KEYWORDS=""
35 +IUSE="debug +libedit lzma ncurses +python test +xml"
36 +RESTRICT="test"
37 +REQUIRED_USE=${PYTHON_REQUIRED_USE}
38 +
39 +DEPEND="
40 + libedit? ( dev-libs/libedit:0= )
41 + lzma? ( app-arch/xz-utils:= )
42 + ncurses? ( >=sys-libs/ncurses-5.9-r3:0= )
43 + xml? ( dev-libs/libxml2:= )
44 + ~sys-devel/clang-${PV}
45 + ~sys-devel/llvm-${PV}
46 +"
47 +RDEPEND="
48 + ${DEPEND}
49 + python? (
50 + $(python_gen_cond_dep '
51 + dev-python/six[${PYTHON_USEDEP}]
52 + ')
53 + ${PYTHON_DEPS}
54 + )
55 +"
56 +BDEPEND="
57 + ${PYTHON_DEPS}
58 + >=dev-util/cmake-3.16
59 + python? (
60 + >=dev-lang/swig-3.0.11
61 + $(python_gen_cond_dep '
62 + dev-python/six[${PYTHON_USEDEP}]
63 + ')
64 + )
65 + test? (
66 + $(python_gen_cond_dep "
67 + ~dev-python/lit-${PV}[\${PYTHON_USEDEP}]
68 + dev-python/psutil[\${PYTHON_USEDEP}]
69 + ")
70 + sys-devel/lld
71 + )
72 +"
73 +
74 +LLVM_COMPONENTS=( lldb cmake )
75 +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
76 +llvm.org_set_globals
77 +
78 +pkg_setup() {
79 + LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
80 + python-single-r1_pkg_setup
81 +}
82 +
83 +src_configure() {
84 + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
85 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
86 +
87 + local mycmakeargs=(
88 + -DLLDB_ENABLE_CURSES=$(usex ncurses)
89 + -DLLDB_ENABLE_LIBEDIT=$(usex libedit)
90 + -DLLDB_ENABLE_PYTHON=$(usex python)
91 + -DLLDB_ENABLE_LZMA=$(usex lzma)
92 + -DLLDB_ENABLE_LIBXML2=$(usex xml)
93 + -DLLDB_USE_SYSTEM_SIX=1
94 + -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
95 +
96 + -DLLDB_INCLUDE_TESTS=$(usex test)
97 +
98 + -DCLANG_LINK_CLANG_DYLIB=ON
99 + # TODO: fix upstream to detect this properly
100 + -DHAVE_LIBDL=ON
101 + -DHAVE_LIBPTHREAD=ON
102 +
103 + # normally we'd have to set LLVM_ENABLE_TERMINFO, HAVE_TERMINFO
104 + # and TERMINFO_LIBS... so just force FindCurses.cmake to use
105 + # ncurses with complete library set (including autodetection
106 + # of -ltinfo)
107 + -DCURSES_NEED_NCURSES=ON
108 +
109 + -DLLDB_EXTERNAL_CLANG_RESOURCE_DIR="${BROOT}/usr/lib/clang/${PV%_*}"
110 +
111 + -DPython3_EXECUTABLE="${PYTHON}"
112 + )
113 + use test && mycmakeargs+=(
114 + -DLLVM_BUILD_TESTS=$(usex test)
115 + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
116 + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
117 + -DLLVM_LIT_ARGS="$(get_lit_flags)"
118 + )
119 +
120 + cmake_src_configure
121 +}
122 +
123 +src_test() {
124 + local -x LIT_PRESERVES_TMP=1
125 + cmake_build check-lldb-{shell,unit}
126 + # failures + hangs
127 + #use python && cmake_build check-lldb-api
128 +}
129 +
130 +src_install() {
131 + cmake_src_install
132 + find "${D}" -name '*.a' -delete || die
133 +
134 + use python && python_optimize
135 +}