3 %bcond_with bootstrap # do bootstrap build
4 %bcond_without doc # HTML documentation
6 Summary: A small build system with a focus on speed
7 Summary(pl.UTF-8): Mały system budowania ukierunkowany na szybkość
12 Group: Development/Tools
13 #Source0Download: https://github.com/ninja-build/ninja/releases
14 Source0: https://github.com/ninja-build/ninja/archive/v%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5: 32151c08211d7ca3c1d832064f6939b0
16 URL: http://ninja-build.org/
17 %{?with_doc:BuildRequires: asciidoc}
18 BuildRequires: libstdc++-devel
19 %{!?with_bootstrap:BuildRequires: ninja >= 1.3}
20 BuildRequires: python3
21 BuildRequires: python3-modules
22 BuildRequires: rpm-build >= 4.6
23 BuildRequires: rpmbuild(macros) >= 1.673
24 Obsoletes: ninja-build < 1.0.0-2
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 Ninja is a small build system with a focus on speed. It differs from
29 other build systems in two major respects: it is designed to have its
30 input files generated by a higher-level build system, and it is
31 designed to run builds as fast as possible.
33 %description -l pl.UTF-8
34 Ninja to mały system budowania ukierunkowany na szybkość. Różni się od
35 innych systemów budowania pod dwoma głównymi względami: jest
36 zaprojektowany, aby przyjmować pliki wejściowe wygenerowane przez
37 system budowania wyższego poziomu oraz tak, aby budowanie przebiegało
41 Summary: Manual for Ninja build system
42 Summary(pl.UTF-8): Podręcznik do systemu budowania Ninja
47 Manual for Ninja build system.
49 %description doc -l pl.UTF-8
50 Podręcznik do systemu budowania Ninja.
52 %package -n bash-completion-%{name}
53 Summary: Bash completion for ninja command
54 Summary(pl.UTF-8): Bashowe dopełnianie parametrów polecenia ninja
55 Group: Applications/Shells
56 Requires: %{name} = %{version}-%{release}
57 Requires: bash-completion >= 1:2.0
60 %description -n bash-completion-%{name}
61 Bash completion for ninja command.
63 %description -n bash-completion-%{name} -l pl.UTF-8
64 Bashowe dopełnianie parametrów polecenia ninja.
66 %package -n zsh-completion-%{name}
67 Summary: zsh completion for ninja command
68 Summary(pl.UTF-8): Dopełnianie parametrów polecenia ninja dla powłoki zsh
69 Group: Applications/Shells
70 Requires: %{name} = %{version}-%{release}
74 %description -n zsh-completion-%{name}
75 zsh completion for ninja command.
77 %description -n zsh-completion-%{name} -l pl.UTF-8
78 Dopełnianie parametrów polecenia ninja dla powłoki zsh.
80 %package -n emacs-ninja-mode
81 Summary: Ninja mode for Emacs
82 Summary(pl.UTF-8): Tryb Ninja dla Emacsa
83 Group: Applications/Editors
84 Requires: %{name} = %{version}-%{release}
88 %description -n emacs-ninja-mode
91 %description -n emacs-ninja-mode -l pl.UTF-8
92 Tryb Ninja dla Emacsa.
99 export CFLAGS="%{rpmcxxflags} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
101 %{__python3} ./configure.py \
102 %{?with_bootstrap:--bootstrap} \
105 %if %{without bootstrap}
110 %{?with_doc:./ninja -v manual}
113 rm -rf $RPM_BUILD_ROOT
114 install -d $RPM_BUILD_ROOT%{_bindir}
116 install -p %{name} $RPM_BUILD_ROOT%{_bindir}
117 # TODO: Install ninja_syntax.py as python module?
119 install -d $RPM_BUILD_ROOT%{bash_compdir}
120 cp -p misc/bash-completion $RPM_BUILD_ROOT%{bash_compdir}/%{name}
122 install -d $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
123 install -p misc/ninja-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ninja-mode.el
125 install -d $RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
126 install -p misc/zsh-completion $RPM_BUILD_ROOT%{_datadir}/zsh/site-functions/_ninja
129 rm -rf $RPM_BUILD_ROOT
132 %defattr(644,root,root,755)
134 %attr(755,root,root) %{_bindir}/ninja
138 %defattr(644,root,root,755)
142 %files -n bash-completion-%{name}
143 %defattr(644,root,root,755)
144 %{bash_compdir}/ninja
146 %files -n zsh-completion-%{name}
147 %defattr(644,root,root,755)
148 %{_datadir}/zsh/site-functions/_ninja
150 %files -n emacs-ninja-mode
151 %defattr(644,root,root,755)
152 %{_datadir}/emacs/site-lisp/ninja-mode.el