From e1bd6caed4a5bdf844b7154e0ae03aac89becf60 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 22 Apr 2024 07:10:56 +0000 Subject: [PATCH] dev-build/ninja: Sync with Gentoo It's from Gentoo commit d3cec83caf1478a2ac994ac2ca2d149553e61132. --- .../portage-stable/dev-build/ninja/Manifest | 1 + .../dev-build/ninja/ninja-1.12.0.ebuild | 106 ++++++++++++++++++ .../dev-build/ninja/ninja-9999.ebuild | 57 ++++------ 3 files changed, 130 insertions(+), 34 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest index 4ccdb98ca1..5a84814e81 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/Manifest @@ -1 +1,2 @@ DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403 +DIST ninja-1.12.0.tar.gz 240291 BLAKE2B e7d721ab62164574b076f7cbf6d40fd2ee950534d124a58f5fe9e09bdae5895c8dc9dd7636a9f2f2b79774d6d9ba5f831e2c8b370826029af060fdc80fdc207f SHA512 167cd838ad47815183b79302a6e19227d956e634ae9d4211f0895ea9f4d893932e1154a765a9d5a1a3167b1a48b398f255fb4f46eb1395a6da11070bda628875 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild new file mode 100644 index 0000000000..3af9c43f1b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-1.12.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 2012-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit bash-completion-r1 edo python-any-r1 toolchain-funcs + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" + inherit git-r3 +else + SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="A small build system similar to make" +HOMEPAGE="https://ninja-build.org/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc" + +BDEPEND=" + ${PYTHON_DEPS} + dev-util/re2c + doc? ( + app-text/asciidoc + app-text/doxygen + dev-libs/libxslt + media-gfx/graphviz + ) +" +PDEPEND=" + app-alternatives/ninja +" + +pkg_setup() { + : +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}"/ninja-cflags.patch + ) + default +} + +bootstrap() { + 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 + edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose +} + +src_compile() { + python_setup + + tc-export AR CXX + unset CFLAGS + export CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64" + + bootstrap + + if use doc; then + edo ./ninja -v doxygen manual + fi + + if tc-is-cross-compiler; then + edo ${EPYTHON} configure.py --with-python=python + edo ./ninja -v ninja + fi +} + +src_install() { + newbin ninja{,-reference} + + if use doc; then + docinto html + dodoc -r doc/doxygen/html/. + dodoc doc/manual.html + fi + + newbashcomp misc/bash-completion ${PN} + + insinto /usr/share/vim/vimfiles/syntax/ + doins misc/ninja.vim + + echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die + insinto /usr/share/vim/vimfiles/ftdetect + doins "${T}"/ninja.vim + + insinto /usr/share/zsh/site-functions + newins misc/zsh-completion _ninja +} + +pkg_postinst() { + if ! [[ -e "${EROOT}/usr/bin/ninja" ]]; then + ln -s ninja-reference "${EROOT}/usr/bin/ninja" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild index 9442eeaecf..3af9c43f1b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/ninja/ninja-9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) -inherit edo bash-completion-r1 python-any-r1 toolchain-funcs +inherit bash-completion-r1 edo python-any-r1 toolchain-funcs if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" @@ -20,8 +20,7 @@ HOMEPAGE="https://ninja-build.org/" LICENSE="Apache-2.0" SLOT="0" -IUSE="doc test" -RESTRICT="!test? ( test )" +IUSE="doc" BDEPEND=" ${PYTHON_DEPS} @@ -32,17 +31,23 @@ BDEPEND=" dev-libs/libxslt media-gfx/graphviz ) - test? ( dev-cpp/gtest ) " PDEPEND=" app-alternatives/ninja " -PATCHES=( - "${FILESDIR}"/ninja-cflags.patch -) +pkg_setup() { + : +} -run_for_build() { +src_prepare() { + local PATCHES=( + "${FILESDIR}"/ninja-cflags.patch + ) + default +} + +bootstrap() { if tc-is-cross-compiler; then local -x AR=$(tc-getBUILD_AR) local -x CXX=$(tc-getBUILD_CXX) @@ -50,44 +55,30 @@ run_for_build() { local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64" local -x LDFLAGS=${BUILD_LDFLAGS} fi - echo "$@" >&2 - "$@" + edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose } src_compile() { + python_setup + tc-export AR CXX - - # configure.py appends CFLAGS to CXXFLAGS unset CFLAGS + export CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64" - local -x CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64" - - run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die - - 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 - fi + bootstrap if use doc; then - ./ninja-build -v doxygen manual || die + edo ./ninja -v doxygen manual fi -} -src_test() { - if ! tc-is-cross-compiler; then - # Bug 485772 - ulimit -n 2048 - edo ./ninja -v ninja_test - edo ./ninja_test + if tc-is-cross-compiler; then + edo ${EPYTHON} configure.py --with-python=python + edo ./ninja -v ninja fi } src_install() { - dodoc README.md CONTRIBUTING.md + newbin ninja{,-reference} if use doc; then docinto html @@ -95,8 +86,6 @@ src_install() { dodoc doc/manual.html fi - newbin ninja ninja-reference - newbashcomp misc/bash-completion ${PN} insinto /usr/share/vim/vimfiles/syntax/