Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37040100
en ru br
ALT Linux repos
S:1.11.1-alt2

Group :: Development/Tools
RPM: ninja-build

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# Disable tests because we can not increase build limits
%def_without tests

Name:           ninja-build
Version:        1.11.1
Release:        alt1

Summary:        A small build system with a focus on speed
Group:          Development/Tools
License:        Apache-2.0
URL:            https://ninja-build.org/

#VCS:           git://github.com/ninja-build/ninja.git

Source0:        %name-%version.tar
Source1:        ninja.vim
Source2:        ninja.1
Source3:        ninja.macros

BuildRequires(pre): rpm-build-python3
BuildRequires: gcc-c++
BuildRequires: re2c
BuildRequires: asciidoc
BuildRequires: xsltproc
BuildRequires: docbook-style-xsl
BuildRequires: libgtest-devel

%description
Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its
input files generated by a higher-level build system, and it is designed
to run builds as fast as possible.

%package -n rpm-macros-%name
Summary:   Helper macros for building RPM packages with %name
Group:     System/Configuration/Packaging
BuildArch: noarch

%description -n rpm-macros-%name
A set of RPM macros for packaging applications that use %name.

%package -n rpm-build-ninja
Summary:   Helper macros for building RPM packages using %name
Group:     System/Configuration/Packaging
Requires:  rpm-macros-%name = %EVR
Requires:  %name = %EVR
BuildArch: noarch

%description -n rpm-build-ninja
A set of RPM macros for packaging applications using %name.

%prep
%setup
# Set correct python3 executable in shebang
subst 's|#!.*python$|#!%__python3|' $(grep -Rl '#!.*python$' *)

%build
#CFLAGS="%optflags"
#export CFLAGS
./configure.py --bootstrap --verbose --debug
./ninja -v manual
./ninja -v ninja_test

%check
%if_with tests
# workaround possible too low default limits
ulimit -n 2048
ulimit -u 2048
./ninja_test
%endif

%install
# TODO: Install ninja_syntax.py?
install -Dpm 755 ninja %buildroot%_bindir/ninja
# Compat symlink
ln -s ninja %buildroot%_bindir/ninja-build
install -Dpm 644 misc/bash-completion %buildroot%_sysconfdir/bash_completion.d/ninja-bash-completion
install -Dpm 644 misc/zsh-completion %buildroot%_datadir/zsh/site-functions/_ninja
install -Dpm 644 misc/ninja-mode.el %buildroot%_datadir/emacs/site-lisp/ninja-mode.el
install -Dpm 644 misc/ninja.vim %buildroot%_datadir/vim/vimfiles/syntax/ninja.vim
install -Dpm 644 %SOURCE1 %buildroot%_datadir/vim/vimfiles/ftdetect/ninja.vim
install -Dpm 644 %SOURCE2 %buildroot%_man1dir/ninja.1
install -Dpm 644 %SOURCE3 %buildroot%_rpmmacrosdir/ninja-build

%files
%doc COPYING README.md doc/manual.html
%_bindir/ninja-build
%_bindir/ninja
%_man1dir/*.1*
# bash-completion does not own this
%_sysconfdir/bash_completion.d/
# zsh does not have a -filesystem package
%_datadir/zsh/site-functions/_ninja
%_datadir/emacs/site-lisp/ninja-mode.el
%_datadir/vim/vimfiles/syntax/ninja.vim
%_datadir/vim/vimfiles/ftdetect/ninja.vim

%files -n rpm-macros-%name
%_rpmmacrosdir/%name

%files -n rpm-build-ninja

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin