1 # Copyright 2012-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python{2_7,3_6,3_7} )
8 inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
10 if [[ ${PV} == 9999 ]]; then
12 EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
14 KITWARE_VERSION="1.9.0.g99df1.kitware.dyndep-1.jobserver-1"
15 MY_P="ninja-${KITWARE_VERSION}"
16 S="${WORKDIR}/${MY_P}"
17 SRC_URI="https://github.com/Kitware/ninja/archive/v${KITWARE_VERSION}.tar.gz -> ${MY_P}.tar.gz"
18 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
21 DESCRIPTION="A small build system similar to make"
22 HOMEPAGE="https://ninja-build.org/"
27 IUSE="doc emacs test vim-syntax"
28 RESTRICT="!test? ( test )"
38 test? ( dev-cpp/gtest )
41 emacs? ( >=app-editors/emacs-23.1:* )
51 if tc-is-cross-compiler; then
52 local -x AR=$(tc-getBUILD_AR)
53 local -x CXX=$(tc-getBUILD_CXX)
55 local -x CXXFLAGS=${BUILD_CXXFLAGS}
56 local -x LDFLAGS=${BUILD_LDFLAGS}
65 # configure.py uses CFLAGS instead of CXXFLAGS
66 export CFLAGS=${CXXFLAGS}
68 run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
70 if tc-is-cross-compiler; then
71 mv ninja ninja-build || die
72 ${EPYTHON} configure.py || die
73 ./ninja-build -v ninja || die
75 ln ninja ninja-build || die
79 ./ninja-build -v doxygen manual || die
83 elisp-compile misc/ninja-mode.el || die
88 if ! tc-is-cross-compiler; then
91 ./ninja -v ninja_test || die
97 dodoc README HACKING.md
100 dodoc -r doc/doxygen/html/.
101 dodoc doc/manual.html
105 newbashcomp misc/bash-completion "${PN}"
107 if use vim-syntax; then
108 insinto /usr/share/vim/vimfiles/syntax/
111 echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
112 insinto /usr/share/vim/vimfiles/ftdetect
113 doins "${T}/ninja.vim"
116 insinto /usr/share/zsh/site-functions
117 newins misc/zsh-completion _ninja
121 elisp-install ninja ninja-mode.el* || die
126 use emacs && elisp-site-regen
130 use emacs && elisp-site-regen