Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/ninja-1.8.2.tar.gz
|
||||
/ninja-*.tar.gz
|
||||
|
@ -1 +0,0 @@
|
||||
17219deb34dd816363e37470f77ff7231509143a SOURCES/ninja-1.8.2.tar.gz
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
@ -1,23 +1,31 @@
|
||||
# Set to bcond_without or use --with bootstrap,
|
||||
# when bootstrapping a new architecture.
|
||||
%bcond_with bootstrap
|
||||
|
||||
Name: ninja-build
|
||||
Version: 1.8.2
|
||||
Release: 1%{?dist}
|
||||
Summary: A small build system with a focus on speed
|
||||
License: ASL 2.0
|
||||
URL: http://martine.github.com/ninja/
|
||||
Source0: https://github.com/martine/ninja/archive/v%{version}/ninja-%{version}.tar.gz
|
||||
Version: 1.11.1
|
||||
Release: 9%{?dist}
|
||||
Summary: Small build system with a focus on speed
|
||||
License: Apache-2.0
|
||||
URL: https://ninja-build.org/
|
||||
Source0: https://github.com/ninja-build/ninja/archive/v%{version}/ninja-%{version}.tar.gz
|
||||
Source1: ninja.vim
|
||||
Source2: macros.ninja
|
||||
# https://github.com/ninja-build/ninja/pull/2340
|
||||
Patch0: python3.13-pipes.patch
|
||||
BuildRequires: gcc-c++
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
BuildRequires: python2-devel
|
||||
%else
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
%if %{without bootstrap}
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: gtest-devel
|
||||
%endif
|
||||
%if !0%{?rhel}
|
||||
BuildRequires: re2c >= 0.11.3
|
||||
%endif
|
||||
%if %{without bootstrap}
|
||||
Requires: emacs-filesystem
|
||||
Requires: vim-filesystem
|
||||
%endif
|
||||
|
||||
%description
|
||||
Ninja is a small build system with a focus on speed. It differs from other
|
||||
@ -29,45 +37,152 @@ fast as possible.
|
||||
%autosetup -n ninja-%{version} -p1
|
||||
|
||||
%build
|
||||
CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" \
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
%{__python2} \
|
||||
%else
|
||||
%{__python3} \
|
||||
%endif
|
||||
configure.py --bootstrap --verbose
|
||||
%set_build_flags
|
||||
%python3 configure.py --bootstrap --verbose
|
||||
./ninja -v all
|
||||
%if %{without bootstrap}
|
||||
./ninja -v manual
|
||||
%endif
|
||||
|
||||
%install
|
||||
# TODO: Install ninja_syntax.py?
|
||||
install -Dpm0755 ninja -t %{buildroot}%{_bindir}/
|
||||
%if %{without bootstrap}
|
||||
install -Dpm0644 misc/bash-completion %{buildroot}%{_datadir}/bash-completion/completions/ninja
|
||||
install -Dpm0644 misc/ninja-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/ninja-mode.el
|
||||
install -Dpm0644 misc/ninja.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/ninja.vim
|
||||
install -Dpm0644 %{S:1} %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/ninja.vim
|
||||
install -Dpm0644 misc/zsh-completion %{buildroot}%{_datadir}/zsh/site-functions/_ninja
|
||||
install -Dpm0644 %{S:2} %{buildroot}%{rpmmacrodir}/macros.ninja
|
||||
install -Dpm0644 misc/ninja_syntax.py %{buildroot}%{python3_sitelib}/ninja_syntax.py
|
||||
%endif
|
||||
install -Dpm0644 %{S:2} %{buildroot}%{_rpmmacrodir}/macros.ninja
|
||||
|
||||
# Macro should not change when we are redefining bindir
|
||||
sed -i -e "/^%%__ninja /s| .*$| %{_bindir}/ninja|" %{buildroot}%{_rpmmacrodir}/macros.ninja
|
||||
|
||||
ln -s ninja %{buildroot}%{_bindir}/ninja-build
|
||||
|
||||
%if %{without bootstrap}
|
||||
%check
|
||||
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc HACKING.md README doc/manual.html
|
||||
%doc README.md
|
||||
%if %{without bootstrap}
|
||||
%doc doc/manual.html
|
||||
%endif
|
||||
%{_bindir}/ninja
|
||||
%{_bindir}/ninja-build
|
||||
%if %{without bootstrap}
|
||||
%{_datadir}/bash-completion/completions/ninja
|
||||
%{_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/
|
||||
%{rpmmacrodir}/macros.ninja
|
||||
%dir %{_datadir}/zsh
|
||||
%dir %{_datadir}/zsh/site-functions
|
||||
%{_datadir}/zsh/site-functions/_ninja
|
||||
%pycached %{python3_sitelib}/ninja_syntax.py
|
||||
%endif
|
||||
%{_rpmmacrodir}/macros.ninja
|
||||
|
||||
%changelog
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.11.1-9
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.11.1-8
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Oct 23 2023 Ben Boeckel <fedora@me.benboeckel.net> - 1.11.1-5
|
||||
- Handle Python 3.13 removal of `pipes`, resolves rhbz#2245655
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 1.11.1-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Tue Sep 06 2022 Carl George <carl@george.computer> - 1.11.1-1
|
||||
- Latest upstream, resolves rhbz#2086337
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.10.2-8
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 1.10.2-5
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Tue May 04 2021 Richard Hughes <rhughes@redhat.com> - 1.10.2-4
|
||||
- Do not BR re2c on RHEL. It is NTH, and one less package dep to maintain.
|
||||
|
||||
* Fri Mar 05 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.10.2-3
|
||||
- Cleanup from unneeded conditions
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Jan 21 2021 Kalev Lember <klember@redhat.com> - 1.10.2-1
|
||||
- Update to 1.10.2
|
||||
|
||||
* Wed Aug 19 2020 Björn Esser <besser82@fedoraproject.org> - 1.10.1-2
|
||||
- Add ninja_syntax.py
|
||||
|
||||
* Wed Aug 19 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.10.1-1
|
||||
- Update to 1.10.1
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Feb 05 2020 Björn Esser <besser82@fedoraproject.org> - 1.10.0-1
|
||||
- Update to 1.10.0
|
||||
|
||||
* Wed Feb 05 2020 Björn Esser <besser82@fedoraproject.org> - 1.9.0-5
|
||||
- Add conditional for bootstrapping new architectures
|
||||
- Use %%set_build_flags macro to export buildflags, if available
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Jan 31 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-1
|
||||
- Update to 1.9.0
|
||||
|
||||
* Thu Aug 16 2018 Owen Taylor <otaylor@redhat.com> - 1.8.2-5
|
||||
- Fix binddir usage in macros.ninja
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.8.2-3
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Sep 12 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.2-1
|
||||
- Update to 1.8.2
|
||||
|
58
python3.13-pipes.patch
Normal file
58
python3.13-pipes.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 9cf13cd1ecb7ae649394f4133d121a01e191560b Mon Sep 17 00:00:00 2001
|
||||
From: Byoungchan Lee <byoungchan.lee@gmx.com>
|
||||
Date: Mon, 9 Oct 2023 20:13:20 +0900
|
||||
Subject: [PATCH 1/2] Replace pipes.quote with shlex.quote in configure.py
|
||||
|
||||
Python 3.12 deprecated the pipes module and it will be removed
|
||||
in Python 3.13. In configure.py, I have replaced the usage of pipes.quote
|
||||
with shlex.quote, which is the exactly same function as pipes.quote.
|
||||
|
||||
For more details, refer to PEP 0594: https://peps.python.org/pep-0594
|
||||
---
|
||||
configure.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.py b/configure.py
|
||||
index 588250aa8a..c6973cd1a5 100755
|
||||
--- a/configure.py
|
||||
+++ b/configure.py
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
from optparse import OptionParser
|
||||
import os
|
||||
-import pipes
|
||||
+import shlex
|
||||
import string
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -262,7 +262,7 @@ def _run_command(self, cmdline):
|
||||
env_keys = set(['CXX', 'AR', 'CFLAGS', 'CXXFLAGS', 'LDFLAGS'])
|
||||
configure_env = dict((k, os.environ[k]) for k in os.environ if k in env_keys)
|
||||
if configure_env:
|
||||
- config_str = ' '.join([k + '=' + pipes.quote(configure_env[k])
|
||||
+ config_str = ' '.join([k + '=' + shlex.quote(configure_env[k])
|
||||
for k in configure_env])
|
||||
n.variable('configure_env', config_str + '$ ')
|
||||
n.newline()
|
||||
|
||||
From 0a9c9c5f50c60de4a7acfed8aaa048c74cd2f43b Mon Sep 17 00:00:00 2001
|
||||
From: Byoungchan Lee <byoungchan.lee@gmx.com>
|
||||
Date: Mon, 9 Oct 2023 20:13:50 +0900
|
||||
Subject: [PATCH 2/2] Remove unused module string in configure.py
|
||||
|
||||
---
|
||||
configure.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/configure.py b/configure.py
|
||||
index c6973cd1a5..939153df60 100755
|
||||
--- a/configure.py
|
||||
+++ b/configure.py
|
||||
@@ -22,7 +22,6 @@
|
||||
from optparse import OptionParser
|
||||
import os
|
||||
import shlex
|
||||
-import string
|
||||
import subprocess
|
||||
import sys
|
||||
|
Loading…
Reference in New Issue
Block a user