commit e9ad2fd8e28e109d0a0157be3cf71f788cdf3ad5 Author: MSVSphere Packaging Team Date: Fri Oct 25 17:18:04 2024 +0300 import ninja-build-1.11.1-8.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..07260ac --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ninja-1.11.1.tar.gz diff --git a/.ninja-build.metadata b/.ninja-build.metadata new file mode 100644 index 0000000..a70381e --- /dev/null +++ b/.ninja-build.metadata @@ -0,0 +1 @@ +938723cdfc7a6f7c8f84c83b9a2cecdf1e5e1ad3 SOURCES/ninja-1.11.1.tar.gz diff --git a/SOURCES/macros.ninja b/SOURCES/macros.ninja new file mode 100644 index 0000000..bfd14fd --- /dev/null +++ b/SOURCES/macros.ninja @@ -0,0 +1,11 @@ +%__ninja %{_bindir}/ninja +%__ninja_common_opts -v %{?_smp_mflags} + +%ninja_build \ + %{__ninja} %{__ninja_common_opts} + +%ninja_install \ + DESTDIR=%{buildroot} %{__ninja} install %{__ninja_common_opts} + +%ninja_test \ + %{__ninja} test %{__ninja_common_opts} diff --git a/SOURCES/ninja.vim b/SOURCES/ninja.vim new file mode 100644 index 0000000..1f1814a --- /dev/null +++ b/SOURCES/ninja.vim @@ -0,0 +1 @@ +au! BufNewFile,BufRead *.ninja setf ninja diff --git a/SOURCES/python3.13-pipes.patch b/SOURCES/python3.13-pipes.patch new file mode 100644 index 0000000..76fdf1f --- /dev/null +++ b/SOURCES/python3.13-pipes.patch @@ -0,0 +1,58 @@ +From 9cf13cd1ecb7ae649394f4133d121a01e191560b Mon Sep 17 00:00:00 2001 +From: Byoungchan Lee +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 +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 + diff --git a/SPECS/ninja-build.spec b/SPECS/ninja-build.spec new file mode 100644 index 0000000..d0e5ff1 --- /dev/null +++ b/SPECS/ninja-build.spec @@ -0,0 +1,296 @@ +# Set to bcond_without or use --with bootstrap, +# when bootstrapping a new architecture. +%bcond_with bootstrap + +Name: ninja-build +Version: 1.11.1 +Release: 8%{?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++ +BuildRequires: python3-devel +%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 +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 +%autosetup -n ninja-%{version} -p1 + +%build +%set_build_flags +%python3 configure.py --bootstrap --verbose +./ninja -v all +%if %{without bootstrap} +./ninja -v manual +%endif + +%install +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 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 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 +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/_ninja +%pycached %{python3_sitelib}/ninja_syntax.py +%endif +%{_rpmmacrodir}/macros.ninja + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 1.11.1-8 +- Rebuilt for MSVSphere 10 + +* Mon Jun 24 2024 Troy Dawson - 1.11.1-8 +- Bump release for June 2024 mass rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.11.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.11.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Oct 23 2023 Ben Boeckel - 1.11.1-5 +- Handle Python 3.13 removal of `pipes`, resolves rhbz#2245655 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.11.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 15 2023 Python Maint - 1.11.1-3 +- Rebuilt for Python 3.12 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Sep 06 2022 Carl George - 1.11.1-1 +- Latest upstream, resolves rhbz#2086337 + +* Fri Jul 22 2022 Fedora Release Engineering - 1.10.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 1.10.2-8 +- Rebuilt for Python 3.11 + +* Thu Jan 20 2022 Fedora Release Engineering - 1.10.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.10.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 03 2021 Python Maint - 1.10.2-5 +- Rebuilt for Python 3.10 + +* Tue May 04 2021 Richard Hughes - 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 - 1.10.2-3 +- Cleanup from unneeded conditions + +* Tue Jan 26 2021 Fedora Release Engineering - 1.10.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 21 2021 Kalev Lember - 1.10.2-1 +- Update to 1.10.2 + +* Wed Aug 19 2020 Björn Esser - 1.10.1-2 +- Add ninja_syntax.py + +* Wed Aug 19 2020 Igor Raits - 1.10.1-1 +- Update to 1.10.1 + +* Tue Jul 28 2020 Fedora Release Engineering - 1.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Feb 05 2020 Björn Esser - 1.10.0-1 +- Update to 1.10.0 + +* Wed Feb 05 2020 Björn Esser - 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 - 1.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 31 2019 Igor Gnatenko - 1.9.0-1 +- Update to 1.9.0 + +* Thu Aug 16 2018 Owen Taylor - 1.8.2-5 +- Fix binddir usage in macros.ninja + +* Fri Jul 13 2018 Fedora Release Engineering - 1.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.8.2-3 +- Rebuilt for Python 3.7 + +* Thu Feb 08 2018 Fedora Release Engineering - 1.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Sep 12 2017 Igor Gnatenko - 1.8.2-1 +- Update to 1.8.2 + +* Thu Sep 07 2017 Igor Gnatenko - 1.8.1-1 +- Update to 1.8.1 + +* Sat Sep 02 2017 Igor Gnatenko - 1.8.0-1 +- Update to 1.8.0 + +* Tue Aug 01 2017 Kalev Lember - 1.7.2-6 +- Backport an upstream patch to handle ostree setting 0 mtime + +* Wed Jul 26 2017 Fedora Release Engineering - 1.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Apr 21 2017 Zbigniew Jędrzejewski-Szmek - 1.7.2-4 +- Rename main executable to ninja (#1166135) + (compatibility symlink is added) + +* Fri Feb 10 2017 Fedora Release Engineering - 1.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Dec 03 2016 Igor Gnatenko - 1.7.2-2 +- Add EPEL hacks + +* Mon Nov 28 2016 Igor Gnatenko - 1.7.2-1 +- Update to 1.7.2 + +* Mon Oct 10 2016 Igor Gnatenko - 1.7.1-3 +- Fix install ninja.vim + +* Sat Oct 08 2016 Igor Gnatenko - 1.7.1-2 +- Add RPM macro + +* Sat Jul 23 2016 Ben Boeckel - 1.7.1-1 +- update to 1.7.1 +- fix bash completion for the binary rename (#1352330) +- disable test which fails to koji rlimit settings + +* Thu Feb 04 2016 Fedora Release Engineering - 1.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 16 2015 Ben Boeckel - 1.6.0-2 +- Add patch to rename mentions of the binary name + +* Sun Jul 19 2015 Ben Boeckel - 1.6.0-1 +- Update to 1.6.0 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.5.3-3 +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Feb 08 2015 Ben Boeckel - 1.5.3-2 +- Update bash-completions location + +* Wed Dec 10 2014 Ben Boeckel - 1.5.3-1 +- Update to 1.5.3 + +* Sun Aug 17 2014 Fedora Release Engineering - 1.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 05 2014 Christopher Meng - 1.5.1-1 +- Update to 1.5.1 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Nov 20 2013 Ben Boeckel - 1.4.0-1 +- Update to 1.4.0 + +* Sun Nov 3 2013 Ville Skyttä - 1.3.4-4 +- Use special %%doc to install all docs (#994005). + +* Sat Aug 03 2013 Fedora Release Engineering - 1.3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 21 2013 Dan Horák - 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 - 1.3.4-1 +- Update to 1.3.4 +- Run test suite + +* Thu Feb 14 2013 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Nov 04 2012 Ben Boeckel - 1.0.0-1 +- Update to 1.0.0 + +* Thu Jul 19 2012 Ben Boeckel - 0-0.6.20120719git5dc55a3 +- Update to new snapshot + +* Mon Jul 09 2012 Ben Boeckel - 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 - 0-0.4.20120605git54553d3 +- Add an ftdetect file for ninja +- Fix zsh-stuff directory ownership + +* Thu Jun 07 2012 Ben Boeckel - 0-0.3.20120605git54553d3 +- Add a Group tag + +* Tue Jun 05 2012 Ben Boeckel - 0-0.2.20120605git54553d3 +- Update to new snapshot + +* Fri Mar 30 2012 Ben Boeckel - 0-0.1.20120330gitabd33d5 +- Initial package