Blob Blame History Raw
#global githash 5dc55a3

Name:           ninja-build
Version:        1.3.4
Release:        2%{?dist}
Group:          Development/Tools
Summary:        A small build system with a focus on speed

License:        ASL 2.0
URL:            http://martine.github.com/ninja/
#VCS:            git://github.com/martine/ninja.git
# Snapshot from github
# Downloaded from https://github.com/martine/ninja/tarball/%{githash}
#Source0:        martine-ninja-%{githash}.tar.gz
Source0:        https://github.com/martine/ninja/archive/v%{version}.tar.gz
Source1:        ninja.vim

BuildRequires:  asciidoc
BuildRequires:  gtest-devel
BuildRequires:  re2c
Requires:       emacs-filesystem
Requires:       vim-filesystem

%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.


%prep
%setup -q -n ninja-%{version}


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


%check
# workaround possible too low default limits
ulimit -n 2048
ulimit -u 2048

./ninja_test


%install
# TODO: Install ninja_syntax.py?
install -p -m 755 -d %{buildroot}%{_bindir}
install -p -m 755 ninja %{buildroot}%{_bindir}/ninja-build

install -p -m 755 -d %{buildroot}%{_docdir}/%{name}-%{version}
install -p -m 644 doc/manual.html %{buildroot}%{_docdir}/%{name}-%{version}/manual.html

install -p -m 755 -d %{buildroot}%{_sysconfdir}/bash_completion.d
install -p -m 644 misc/bash-completion %{buildroot}%{_sysconfdir}/bash_completion.d/ninja-bash-completion

install -p -m 755 -d %{buildroot}%{_datadir}/emacs/site-lisp
install -p -m 644 misc/ninja-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/ninja-mode.el

install -p -m 755 -d %{buildroot}%{_datadir}/vim/vimfiles/syntax
install -p -m 644 misc/ninja.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/ninja.vim
install -p -m 755 -d %{buildroot}%{_datadir}/vim/vimfiles/ftdetect
install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/ninja.vim

install -p -m 755 -d %{buildroot}%{_datadir}/zsh/site-functions
install -p -m 644 misc/zsh-completion %{buildroot}%{_datadir}/zsh/site-functions/_ninja


%files
%doc COPYING README
%{_bindir}/ninja-build
%{_docdir}/%{name}-%{version}/manual.html
# bash-completion does not own this
%{_sysconfdir}/bash_completion.d/
%{_datadir}/emacs/site-lisp/ninja-mode.el
%{_datadir}/vim/vimfiles/syntax/ninja.vim
%{_datadir}/vim/vimfiles/ftdetect/ninja.vim
# zsh does not have a -filesystem package
%{_datadir}/zsh/


%changelog
* Fri Jun 21 2013 Dan HorĂ¡k <dan[at]danny.cz> - 1.3.4-2
- workaround possible too low limits for number of processes and open files,
  fixes build on ppc/ppc64 and s390(x)

* Sun Jun 09 2013 Ben Boeckel <mathstuf@gmail.com> - 1.3.4-1
- Update to 1.3.4
- Run test suite

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sun Nov 04 2012 Ben Boeckel <mathstuf@gmail.com> - 1.0.0-1
- Update to 1.0.0

* Thu Jul 19 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.6.20120719git5dc55a3
- Update to new snapshot

* Mon Jul 09 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.5.20120709gitb90d038
- Preserve timestamps on install
- Install as ninja-build to avoid conflicts with the ninja IRC package
- Update snapshot

* Tue Jun 19 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.4.20120605git54553d3
- Add an ftdetect file for ninja
- Fix zsh-stuff directory ownership

* Thu Jun 07 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.3.20120605git54553d3
- Add a Group tag

* Tue Jun 05 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.2.20120605git54553d3
- Update to new snapshot

* Fri Mar 30 2012 Ben Boeckel <mathstuf@gmail.com> - 0-0.1.20120330gitabd33d5
- Initial package