dev-util/ninja: Sync with gentoo

It's from gentoo commit b54823cbc8e2a1424030e1b1554419bccfbe7868.
This commit is contained in:
Krzesimir Nowak 2021-11-17 22:02:03 +01:00
parent 83496ad383
commit 8a9328d911
10 changed files with 426 additions and 100 deletions

View File

@ -1,2 +1,3 @@
DIST ninja-1.7.2.tar.gz 180611 BLAKE2B 9e0b5faaed9dd0c01b3cb22e5927668e985f897c4a448871b3147d4383d562b91f4e4fe304cb61a31d5ee096b58f0c4e4a7c1907ed9637658faa1eafb31cdd72 SHA512 29900d07364d87ad8b9614b82bc1b0afda5ca6522563ab73fb228f206ed6b29b70cf034a3caf5a9b2c0b105d1e076c6b425d93b5d14aa3ca3730d75611212a64
DIST ninja-1.8.2.tar.gz 185226 BLAKE2B c464c50829a0e9f0f6fd4b860946b14bf07f752adb8e7857d4072a1c1f06977eda283f633041929065c9164377ca769b3293b04fc9ceab583371708a9c4e8f2a SHA512 1650bf9e3eddeb0b0fbb415c2b8e0a7c094421e991fa8139fd77fae0f6ee7ee980b7cf5e98d883c3a884f99abcb06fa26e3980af3a3a5bb6dd655124755782c2
DIST ninja-1.10.0.tar.gz 210313 BLAKE2B 0a3db145deaea8a990958ad2e812bc18ed014aaba94911a2905b082745a0d08f10ce1113badabaa362f3834540b7bd3858f07e2a5fce268c66d3d6c73e974e76 SHA512 5ed47ef1ff18a03eb73296629679a8617a08ee443e10e28ae9cb24e4506f84fe1eb142888adea9a62364b626b35817def8c55ba956c9b3cbc7b82d3e62293044
DIST ninja-1.10.1.tar.gz 211216 BLAKE2B cb27beeef903ff7c5a00f2ac85b36e66d9c41bcb271edbb6c6d827d5b2b652bacfe3d429a3f966d22fd97495323f83692abf7835f3d6ed3af51a3df9fef180c1 SHA512 9915767a6ffc7147903f346082b5c31fcaeb1e45742754cfaaa642e8ec4c1bd9ec26692a59eb4e2118c397336712a6548e6a16408e094001f8f0c173e67afcc2
DIST ninja-1.10.2.tar.gz 213959 BLAKE2B b8160ca6d58cfa0edb93d16b7dfb9776d290c42e54b33b78cd925f167c80f8794e4cc30af984a526b8263c7904a734cf0770d3c27283d21d02f18d3e2eb70032 SHA512 895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496

View File

@ -0,0 +1,38 @@
From b748d085618bf5e802de6a13b07d632d20ab04bf Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Fri, 20 Mar 2020 19:36:01 -0400
Subject: [PATCH] Replace references to README with README.md
The README file was renamed to README.md in commit
a37da20ae74c81703b1c811182fc154d95ed46fe.
---
configure.py | 2 +-
misc/packaging/ninja.spec | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.py b/configure.py
index 7d8ce9045..8eef7e6eb 100755
--- a/configure.py
+++ b/configure.py
@@ -649,7 +649,7 @@ def has_re2c():
command='$doxygen_mainpage_generator $in > $out',
description='DOXYGEN_MAINPAGE $out')
mainpage = n.build(built('doxygen_mainpage'), 'doxygen_mainpage',
- ['README', 'COPYING'],
+ ['README.md', 'COPYING'],
implicit=['$doxygen_mainpage_generator'])
n.build('doxygen', 'doxygen', doc('doxygen.config'),
implicit=mainpage)
diff --git a/misc/packaging/ninja.spec b/misc/packaging/ninja.spec
index 05f5a079a..36e518186 100644
--- a/misc/packaging/ninja.spec
+++ b/misc/packaging/ninja.spec
@@ -32,7 +32,7 @@ cp -p ninja %{buildroot}%{_bindir}/
%files
%defattr(-, root, root)
-%doc COPYING README doc/manual.html
+%doc COPYING README.md doc/manual.html
%{_bindir}/*
%clean

View File

@ -0,0 +1,25 @@
From e4530769ef6a497f8f5f06159f6be049dc20e2ea Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 19 Mar 2020 11:21:29 -0400
Subject: [PATCH] Avoid adding -O2 -DNDEBUG to cflags
---
configure.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/configure.py b/configure.py
index 7d8ce90..7566147 100755
--- a/configure.py
+++ b/configure.py
@@ -344,8 +344,6 @@ else:
if options.debug:
cflags += ['-D_GLIBCXX_DEBUG', '-D_GLIBCXX_DEBUG_PEDANTIC']
cflags.remove('-fno-rtti') # Needed for above pedanticness.
- else:
- cflags += ['-O2', '-DNDEBUG']
try:
proc = subprocess.Popen(
[CXX, '-fdiagnostics-color', '-c', '-x', 'c++', '/dev/null',
--
2.25.1

View File

@ -1,18 +0,0 @@
diff --git a/src/util.cc b/src/util.cc
index e31fd1f..1caa1ce 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -585,6 +585,13 @@ double GetLoadAverage() {
// Calculation taken from comment in libperfstats.h
return double(cpu_stats.loadavg[0]) / double(1 << SBITS);
}
+#elif defined(__UCLIBC__)
+double GetLoadAverage() {
+ struct sysinfo si;
+ if (sysinfo(&si) != 0)
+ return -0.0f;
+ return 1.0 / (1 << SI_LOAD_SHIFT) * si.loads[0];
+}
#else
double GetLoadAverage() {
double loadavg[3] = { 0.0f, 0.0f, 0.0f };

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>chromium@gentoo.org</email>

View File

@ -0,0 +1,133 @@
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8} )
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
else
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="A small build system similar to make"
HOMEPAGE="https://ninja-build.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc emacs test vim-syntax"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
dev-util/re2c
doc? (
app-text/asciidoc
app-doc/doxygen
dev-libs/libxslt
)
test? ( dev-cpp/gtest )
"
RDEPEND="
emacs? ( >=app-editors/emacs-23.1:* )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
"
PATCHES=(
"${FILESDIR}"/ninja-cflags.patch
"${FILESDIR}"/ninja-1.10.0-readme.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}
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
echo "$@" >&2
"$@"
}
src_compile() {
tc-export AR CXX
# configure.py appends CFLAGS to CXXFLAGS
unset CFLAGS
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
if use doc; then
./ninja-build -v doxygen manual || die
fi
if use emacs; then
elisp-compile misc/ninja-mode.el || die
fi
}
src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
./ninja -v ninja_test || die
./ninja_test || die
fi
}
src_install() {
dodoc README.md CONTRIBUTING.md
if use doc; then
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
dobin ninja
newbashcomp misc/bash-completion "${PN}"
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax/
doins misc/ninja.vim
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
insinto /usr/share/vim/vimfiles/ftdetect
doins "${T}/ninja.vim"
fi
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
if use emacs; then
cd misc || die
elisp-install ninja ninja-mode.el* || die
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_COMPAT=( python3_{7,8,9} )
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
else
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="A small build system similar to make"
@ -21,9 +21,10 @@ HOMEPAGE="https://ninja-build.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc emacs test vim-syntax zsh-completion"
IUSE="doc emacs test vim-syntax"
RESTRICT="!test? ( test )"
DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-util/re2c
doc? (
@ -34,41 +35,42 @@ DEPEND="
test? ( dev-cpp/gtest )
"
RDEPEND="
emacs? ( virtual/emacs )
emacs? ( >=app-editors/emacs-23.1:* )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
zsh-completion? ( app-shells/zsh )
!<net-irc/ninja-1.5.9_pre14-r1" #436804
"
PATCHES=(
"${FILESDIR}/${PN}-uclibc.patch"
"${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=${BUILD_CXXFLAGS}
local -x CFLAGS=
local -x CXXFLAGS=${BUILD_CXXFLAGS}
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
echo "$@" >&2
"$@"
}
src_compile() {
tc-export AR CXX
# configure.py uses CFLAGS instead of CXXFLAGS
export CFLAGS=${CXXFLAGS}
# configure.py appends CFLAGS to CXXFLAGS
unset CFLAGS
run_for_build "${PYTHON}" configure.py --bootstrap --verbose || die
run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
if tc-is-cross-compiler; then
mv ninja ninja-build || die
"${PYTHON}" configure.py || die
${EPYTHON} configure.py || die
./ninja-build -v ninja || die
else
ln ninja ninja-build || die
@ -87,16 +89,17 @@ src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
./ninja-build -v ninja_test || die
./ninja -v ninja_test || die
./ninja_test || die
fi
}
src_install() {
dodoc README HACKING.md
dodoc README.md CONTRIBUTING.md
if use doc; then
dohtml -r doc/doxygen/html/*
dohtml doc/manual.html
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
dobin ninja
@ -104,21 +107,19 @@ src_install() {
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax/
doins misc/"${PN}".vim
doins misc/ninja.vim
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/${PN}.vim"
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
insinto /usr/share/vim/vimfiles/ftdetect
doins "${T}/${PN}.vim"
doins "${T}/ninja.vim"
fi
if use zsh-completion; then
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
fi
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
if use emacs; then
cd misc || die
elisp-install ${PN} ninja-mode.el* || die
elisp-install ninja ninja-mode.el* || die
fi
}

View File

@ -0,0 +1,136 @@
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
else
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="A small build system similar to make"
HOMEPAGE="https://ninja-build.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc emacs test vim-syntax"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
dev-util/re2c
doc? (
app-text/asciidoc
app-doc/doxygen
dev-libs/libxslt
)
test? ( dev-cpp/gtest )
"
RDEPEND="
emacs? ( >=app-editors/emacs-23.1:* )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
"
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}
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
echo "$@" >&2
"$@"
}
src_compile() {
tc-export AR CXX
# configure.py appends CFLAGS to CXXFLAGS
unset CFLAGS
# enable LFS, bug #760848
export CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BUILD_CXXFLAGS+=" -D_LARGEFILE_SOURCE -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
if use doc; then
./ninja-build -v doxygen manual || die
fi
if use emacs; then
elisp-compile misc/ninja-mode.el || die
fi
}
src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
./ninja -v ninja_test || die
./ninja_test || die
fi
}
src_install() {
dodoc README.md CONTRIBUTING.md
if use doc; then
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
dobin ninja
newbashcomp misc/bash-completion "${PN}"
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax/
doins misc/ninja.vim
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
insinto /usr/share/vim/vimfiles/ftdetect
doins "${T}/ninja.vim"
fi
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
if use emacs; then
cd misc || die
elisp-install ninja ninja-mode.el* || die
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_COMPAT=( python3_{7,8,9} )
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
else
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="A small build system similar to make"
@ -21,9 +21,10 @@ HOMEPAGE="https://ninja-build.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc emacs test vim-syntax zsh-completion"
IUSE="doc emacs test vim-syntax"
RESTRICT="!test? ( test )"
DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-util/re2c
doc? (
@ -34,37 +35,42 @@ DEPEND="
test? ( dev-cpp/gtest )
"
RDEPEND="
emacs? ( virtual/emacs )
emacs? ( >=app-editors/emacs-23.1:* )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
zsh-completion? ( app-shells/zsh )
!<net-irc/ninja-1.5.9_pre14-r1" #436804
"
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=${BUILD_CXXFLAGS}
local -x CFLAGS=
local -x CXXFLAGS=${BUILD_CXXFLAGS}
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
echo "$@" >&2
"$@"
}
src_compile() {
tc-export AR CXX
# configure.py uses CFLAGS instead of CXXFLAGS
export CFLAGS=${CXXFLAGS}
# configure.py appends CFLAGS to CXXFLAGS
unset CFLAGS
run_for_build "${PYTHON}" configure.py --bootstrap --verbose || die
run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
if tc-is-cross-compiler; then
mv ninja ninja-build || die
"${PYTHON}" configure.py || die
${EPYTHON} configure.py || die
./ninja-build -v ninja || die
else
ln ninja ninja-build || die
@ -83,16 +89,17 @@ src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
./ninja-build -v ninja_test || die
./ninja -v ninja_test || die
./ninja_test || die
fi
}
src_install() {
dodoc README HACKING.md
dodoc README.md CONTRIBUTING.md
if use doc; then
dohtml -r doc/doxygen/html/*
dohtml doc/manual.html
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
dobin ninja
@ -100,21 +107,19 @@ src_install() {
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax/
doins misc/"${PN}".vim
doins misc/ninja.vim
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/${PN}.vim"
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
insinto /usr/share/vim/vimfiles/ftdetect
doins "${T}/${PN}.vim"
doins "${T}/ninja.vim"
fi
if use zsh-completion; then
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
fi
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
if use emacs; then
cd misc || die
elisp-install ${PN} ninja-mode.el* || die
elisp-install ninja ninja-mode.el* || die
fi
}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 2012-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_COMPAT=( python3_{8..10} )
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
else
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="A small build system similar to make"
@ -21,9 +21,10 @@ HOMEPAGE="https://ninja-build.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc emacs test vim-syntax zsh-completion"
IUSE="doc emacs test vim-syntax"
RESTRICT="!test? ( test )"
DEPEND="
BDEPEND="
${PYTHON_DEPS}
dev-util/re2c
doc? (
@ -34,37 +35,42 @@ DEPEND="
test? ( dev-cpp/gtest )
"
RDEPEND="
emacs? ( virtual/emacs )
emacs? ( >=app-editors/emacs-23.1:* )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
zsh-completion? ( app-shells/zsh )
!<net-irc/ninja-1.5.9_pre14-r1" #436804
"
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=${BUILD_CXXFLAGS}
local -x CFLAGS=
local -x CXXFLAGS=${BUILD_CXXFLAGS}
local -x LDFLAGS=${BUILD_LDFLAGS}
fi
echo "$@" >&2
"$@"
}
src_compile() {
tc-export AR CXX
# configure.py uses CFLAGS instead of CXXFLAGS
export CFLAGS=${CXXFLAGS}
# configure.py appends CFLAGS to CXXFLAGS
unset CFLAGS
run_for_build "${PYTHON}" configure.py --bootstrap --verbose || die
run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
if tc-is-cross-compiler; then
mv ninja ninja-build || die
"${PYTHON}" configure.py || die
${EPYTHON} configure.py || die
./ninja-build -v ninja || die
else
ln ninja ninja-build || die
@ -83,16 +89,17 @@ src_test() {
if ! tc-is-cross-compiler; then
# Bug 485772
ulimit -n 2048
./ninja-build -v ninja_test || die
./ninja -v ninja_test || die
./ninja_test || die
fi
}
src_install() {
dodoc README HACKING.md
dodoc README.md CONTRIBUTING.md
if use doc; then
dohtml -r doc/doxygen/html/*
dohtml doc/manual.html
docinto html
dodoc -r doc/doxygen/html/.
dodoc doc/manual.html
fi
dobin ninja
@ -100,21 +107,19 @@ src_install() {
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax/
doins misc/"${PN}".vim
doins misc/ninja.vim
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/${PN}.vim"
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
insinto /usr/share/vim/vimfiles/ftdetect
doins "${T}/${PN}.vim"
doins "${T}/ninja.vim"
fi
if use zsh-completion; then
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
fi
insinto /usr/share/zsh/site-functions
newins misc/zsh-completion _ninja
if use emacs; then
cd misc || die
elisp-install ${PN} ninja-mode.el* || die
elisp-install ninja ninja-mode.el* || die
fi
}