summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2024-04-15 16:05:32 -0400
committerMike Gilbert <floppym@gentoo.org>2024-04-15 16:12:30 -0400
commitcad3542b8b988747e5b5c9a28dfa3650e426ce2c (patch)
tree922d44ace63dfb350710a2c8355fcf7191abec72 /dev-build
parentdev-embedded/esptool: make python multi-impl (diff)
downloadgentoo-cad3542b8b988747e5b5c9a28dfa3650e426ce2c.tar.gz
gentoo-cad3542b8b988747e5b5c9a28dfa3650e426ce2c.tar.bz2
gentoo-cad3542b8b988747e5b5c9a28dfa3650e426ce2c.zip
dev-build/ninja: switch to cmake build system
configure.py no longer supports building tests. Using cmake also simplifies cross-compiles. Bug: https://bugs.gentoo.org/929221 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/ninja/ninja-9999.ebuild66
1 files changed, 28 insertions, 38 deletions
diff --git a/dev-build/ninja/ninja-9999.ebuild b/dev-build/ninja/ninja-9999.ebuild
index 9442eeaecf97..932bf822922b 100644
--- a/dev-build/ninja/ninja-9999.ebuild
+++ b/dev-build/ninja/ninja-9999.ebuild
@@ -3,9 +3,11 @@
EAPI=8
+CMAKE_IN_SOURCE_BUILD=1 # Simplifies doc build
+CMAKE_MAKEFILE_GENERATOR=emake
PYTHON_COMPAT=( python3_{10..12} )
-inherit edo bash-completion-r1 python-any-r1 toolchain-funcs
+inherit bash-completion-r1 edo cmake python-any-r1 toolchain-funcs
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
@@ -24,9 +26,9 @@ IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="
- ${PYTHON_DEPS}
dev-util/re2c
doc? (
+ ${PYTHON_DEPS}
app-text/asciidoc
app-text/doxygen
dev-libs/libxslt
@@ -38,42 +40,31 @@ PDEPEND="
app-alternatives/ninja
"
-PATCHES=(
- "${FILESDIR}"/ninja-cflags.patch
-)
-
-run_for_build() {
- if tc-is-cross-compiler; then
- local -x AR=$(tc-getBUILD_AR)
- local -x CXX=$(tc-getBUILD_CXX)
- local -x CFLAGS=
- local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
- local -x LDFLAGS=${BUILD_LDFLAGS}
- fi
- echo "$@" >&2
- "$@"
+pkg_setup() {
+ :
}
-src_compile() {
- tc-export AR CXX
-
- # configure.py appends CFLAGS to CXXFLAGS
- unset CFLAGS
-
- local -x CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64"
+docs_enabled() {
+ use doc && ! tc-is-cross-compiler
+}
- run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
- if tc-is-cross-compiler; then
- mv ninja ninja-build || die
- ${EPYTHON} configure.py || die
- ./ninja-build -v ninja || die
- else
- ln ninja ninja-build || die
+ if docs_enabled; then
+ python_setup
+ edo ${EPYTHON} configure.py
fi
+}
+
+src_compile() {
+ cmake_src_compile
- if use doc; then
- ./ninja-build -v doxygen manual || die
+ if docs_enabled; then
+ edo ./ninja -v -j1 doxygen manual
fi
}
@@ -81,22 +72,21 @@ src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
- edo ./ninja -v ninja_test
- edo ./ninja_test
+ cmake_src_test
fi
}
src_install() {
- dodoc README.md CONTRIBUTING.md
+ cmake_src_install
- if use doc; then
+ mv "${ED}"/usr/bin/ninja{,-reference} || die
+
+ if docs_enabled; then
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
- newbin ninja ninja-reference
-
newbashcomp misc/bash-completion ${PN}
insinto /usr/share/vim/vimfiles/syntax/