public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Gilbert" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-build/ninja/
Date: Mon, 15 Apr 2024 20:14:18 +0000 (UTC)	[thread overview]
Message-ID: <1713211950.cad3542b8b988747e5b5c9a28dfa3650e426ce2c.floppym@gentoo> (raw)

commit:     cad3542b8b988747e5b5c9a28dfa3650e426ce2c
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 15 20:05:32 2024 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 20:12:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cad3542b

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 <AT> gentoo.org>

 dev-build/ninja/ninja-9999.ebuild | 66 +++++++++++++++++----------------------
 1 file 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/


             reply	other threads:[~2024-04-15 20:14 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-15 20:14 Mike Gilbert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-06 17:56 [gentoo-commits] repo/gentoo:master commit in: dev-build/ninja/ Sam James
2024-10-13 19:45 Arthur Zamarin
2024-10-09  7:22 Arthur Zamarin
2024-10-09  0:06 Jakov Smolić
2024-10-05 14:42 Arthur Zamarin
2024-10-05 14:30 Arthur Zamarin
2024-10-05 12:58 Arthur Zamarin
2024-10-05 11:12 Sam James
2024-07-04  0:59 Mike Gilbert
2024-07-04  0:59 Mike Gilbert
2024-06-01  3:56 Sam James
2024-05-11 17:03 Sam James
2024-04-20  0:19 Mike Gilbert
2024-04-18 19:30 Mike Gilbert
2024-04-16 15:14 Mike Gilbert
2024-04-15 20:14 Mike Gilbert
2024-02-21 21:00 Mike Gilbert
2024-02-06 19:29 Sam James
2024-02-06  2:27 Sam James
2024-02-06  1:09 Sam James
2024-02-06  1:09 Sam James
2024-02-06  1:09 Sam James
2024-02-06  0:36 Sam James
2024-02-06  0:36 Sam James
2024-02-06  0:36 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1713211950.cad3542b8b988747e5b5c9a28dfa3650e426ce2c.floppym@gentoo \
    --to=floppym@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox