Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

8 changed files with 203 additions and 24 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/ninja-1.8.2.tar.gz
/ninja-*.tar.gz

View File

@ -1 +0,0 @@
17219deb34dd816363e37470f77ff7231509143a SOURCES/ninja-1.8.2.tar.gz

6
gating.yaml Normal file
View 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}

View File

@ -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
View 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

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (ninja-1.11.1.tar.gz) = 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403