toolchain updates

This commit is contained in:
Raven 2024-05-29 18:47:28 +06:00
parent b1002f30f6
commit b4ec3205a7
12 changed files with 2730 additions and 0 deletions

View File

@ -0,0 +1,15 @@
diff -Naur a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
--- a/Modules/Platform/UnixPaths.cmake 2024-05-07 22:49:54.000000000 +0600
+++ b/Modules/Platform/UnixPaths.cmake 2024-05-13 10:31:09.570655398 +0600
@@ -49,6 +49,11 @@
endif()
_cmake_record_install_prefix()
+# Raven-specific install prefix
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ /opt/rx
+ )
+
# Non "standard" but common install prefixes
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
/usr/X11R6

View File

@ -0,0 +1,22 @@
Index: cmake-3.23.0-rc2/Modules/FindRuby.cmake
===================================================================
--- cmake-3.23.0-rc2.orig/Modules/FindRuby.cmake
+++ cmake-3.23.0-rc2/Modules/FindRuby.cmake
@@ -315,14 +315,9 @@ if(Ruby_EXECUTABLE AND NOT Ruby_VERSION_
_RUBY_CONFIG_VAR("sitearchdir" Ruby_SITEARCH_DIR)
_RUBY_CONFIG_VAR("sitelibdir" Ruby_SITELIB_DIR)
- # vendor_ruby available ?
- execute_process(COMMAND ${Ruby_EXECUTABLE} -r vendor-specific -e "print 'true'"
- OUTPUT_VARIABLE Ruby_HAS_VENDOR_RUBY ERROR_QUIET)
-
- if(Ruby_HAS_VENDOR_RUBY)
- _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR)
- _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR)
- endif()
+ # vendor_ruby
+ _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR)
+ _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR)
# save the results in the cache so we don't have to run ruby the next time again
set(Ruby_VERSION_MAJOR ${Ruby_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE)

View File

@ -0,0 +1,9 @@
;;
;; Setup cmake-mode for autoloading
;;
(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake listfiles." t)
(setq auto-mode-alist
(append
'(("CMakeLists\\.txt\\'" . cmake-mode))
'(("\\.cmake\\'" . cmake-mode))
auto-mode-alist))

3
extras/cmake/cmake.attr Normal file
View File

@ -0,0 +1,3 @@
%__cmake_provides %{_rpmconfigdir}/cmake.prov
%__cmake_requires %{_rpmconfigdir}/cmake.req
%__cmake_path ^(%{_libdir}|%{_datadir})/cmake/.*/.*(Config\.cmake|-config\.cmake)$

82
extras/cmake/cmake.prov Normal file
View File

@ -0,0 +1,82 @@
#!/usr/bin/python3
# -*- coding:utf-8 -*-
#
# Copyright (C) 2015 Daniel Vrátil <dvratil@redhat.com>
# Copyright (C) 2017 Daniel Vrátil <dvratil@fedoraproject.org>
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
import sys
import re
import glob
class CMakeParser:
def __init__(self, filelist = None):
if filelist == None:
filelist = sys.stdin
paths = map(lambda x: x.rstrip(), filelist.readlines())
for path in paths:
modulePath, cmakeModule, lowercase = self.parseCmakeModuleConfig(path)
if modulePath and cmakeModule:
version = self.resolveCMakeModuleVersion(modulePath, cmakeModule, lowercase)
if version:
string = "cmake(" + cmakeModule + ") = " + version
else:
string = "cmake(" + cmakeModule + ")"
if string == string.lower():
print(string)
else:
# Temporarily print both variants to satisfy requires
# by the old version of this generator which made mistakes
print(string)
print(string.lower())
def parseCmakeModuleConfig(self, configFile):
paths = configFile.rsplit("/", 3)
modulePath = "%s/cmake/%s" % (paths[0], paths[2])
cfgFile = paths[3]
if cfgFile.endswith("Config.cmake"):
return (modulePath, cfgFile[0:-len("Config.cmake")], False)
elif cfgFile.endswith("-config.cmake"):
return (modulePath, cfgFile[0:-len("-config.cmake")], True)
else:
return (None, None, False)
def resolveCMakeModuleVersion(self, modulePath, cmakeModule, lowercase):
versionFile = ("%s/%s-config-version.cmake" if lowercase else "%s/%sConfigVersion.cmake") % (modulePath, cmakeModule)
try:
f = open(versionFile, 'r')
except:
return None
for line in f:
line = line.strip()
# set(PACKAGE_VERSION <version>)
version = re.match(r"^set[\ ]*\([\ ]*PACKAGE_VERSION[\ ]+[\"]*([0-9\.]+)[\"]*[\ ]*[.]*\)", line)
if version:
return version.groups(1)[0]
return None
if __name__ == "__main__":
parser = CMakeParser()

70
extras/cmake/cmake.req Normal file
View File

@ -0,0 +1,70 @@
#!/usr/bin/python3
# -*- coding:utf-8 -*-
#
# Copyright (C) 2017 Björn Esser <besser82@fedoraproject.org>
#
# based on cmake.prov, which is
# Copyright (C) 2015 Daniel Vrátil <dvratil@redhat.com>
# Copyright (C) 2017 Daniel Vrátil <dvratil@fedoraproject.org>
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
import sys
import re
import subprocess
class CMakeParser:
def __init__(self, filelist = None):
if filelist == None:
filelist = sys.stdin
has_module = False
is_arched = False
isa_suf = subprocess.check_output(["/usr/bin/rpm", "-E %{?_isa}"]).decode().strip()
paths = map(lambda x: x.rstrip(), filelist.readlines())
for path in paths:
modulePath, cmakeModule, lowercase = self.parseCmakeModuleConfig(path)
if modulePath and cmakeModule:
has_module = True
if re.match(".*/usr/lib(64)?/cmake/.*", modulePath):
is_arched = True
if has_module:
if is_arched:
print("cmake-filesystem%s" % isa_suf)
else:
print("cmake-filesystem")
def parseCmakeModuleConfig(self, configFile):
paths = configFile.rsplit("/", 3)
modulePath = "%s/cmake/%s" % (paths[0], paths[2])
cfgFile = paths[3]
if cfgFile.endswith("Config.cmake"):
return (modulePath, cfgFile[0:-len("Config.cmake")], False)
elif cfgFile.endswith("-config.cmake"):
return (modulePath, cfgFile[0:-len("-config.cmake")], True)
else:
return (None, None, False)
if __name__ == "__main__":
parser = CMakeParser()

2105
extras/cmake/cmake.spec Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,60 @@
#
# Macros for cmake
#
%_cmake_lib_suffix64 -DLIB_SUFFIX=64
%_cmake_shared_libs -DBUILD_SHARED_LIBS:BOOL=ON
%_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON
%_cmake_version @@CMAKE_VERSION@@
%__cmake /usr/bin/cmake
%__ctest /usr/bin/ctest
%__cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
# - Set default compile flags
# - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables
# and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS
# - Turn on verbose makefiles so we can see and verify compile flags
# - Turn off stripping by default so RPM can do it separately
# - Set default install prefixes and library install directories
# - Turn on shared libraries by default
%cmake \
%{set_build_flags} \
%__cmake \\\
%{!?__cmake_in_source_build:-S "%{_vpath_srcdir}"} \\\
%{!?__cmake_in_source_build:-B "%{__cmake_builddir}"} \\\
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
-DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
-DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
%if "%{?_lib}" == "lib64" \
%{?_cmake_lib_suffix64} \\\
%endif \
%{?_cmake_shared_libs}
%cmake_build \
%__cmake --build "%{__cmake_builddir}" %{?_smp_mflags} --verbose
%cmake_install \
DESTDIR="%{buildroot}" %__cmake --install "%{__cmake_builddir}"
%ctest(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \
%__ctest --test-dir "%{__cmake_builddir}" \\\
--output-on-failure \\\
--force-new-ctest-process \\\
%ifarch riscv64 \
--timeout 6000 \\\
%endif \
%{?_smp_mflags} %{**}
%cmake@@CMAKE_MAJOR_VERSION@@ %cmake
%cmake@@CMAKE_MAJOR_VERSION@@_build %cmake_build
%cmake@@CMAKE_MAJOR_VERSION@@_install %cmake_install
%ctest@@CMAKE_MAJOR_VERSION@@(:-:h:j:u:v:A:C:D:E:F:H:I:L:M:N:O:Q:R:S:T:U:V:) \
%ctest %{**}

View File

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

View File

@ -0,0 +1,294 @@
# Set to bcond_without or use --with bootstrap,
# when bootstrapping a new architecture.
%bcond_with bootstrap
Name: ninja-build
Version: 1.11.1
Release: 7%{?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
%if !0%{?rhel}
# https://github.com/ninja-build/ninja/pull/2340
Patch0: python3.13-pipes.patch
%endif
BuildRequires: gcc-c++
BuildRequires: python3-devel
%if %{without bootstrap}
BuildRequires: asciidoc
BuildRequires: gtest-devel
%endif
%if !0%{?rhel}
BuildRequires: re2c >= 1.0
%endif
%if %{without bootstrap}
Requires: emacs-filesystem
Requires: vim-filesystem
%endif
Requires: (cmake >= 3.29 if cmake)
%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
* 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
* Thu Sep 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.1-1
- Update to 1.8.1
* Sat Sep 02 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.0-1
- Update to 1.8.0
* Tue Aug 01 2017 Kalev Lember <klember@redhat.com> - 1.7.2-6
- Backport an upstream patch to handle ostree setting 0 mtime
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Apr 21 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.7.2-4
- Rename main executable to ninja (#1166135)
(compatibility symlink is added)
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Dec 03 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.7.2-2
- Add EPEL hacks
* Mon Nov 28 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.7.2-1
- Update to 1.7.2
* Mon Oct 10 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.7.1-3
- Fix install ninja.vim
* Sat Oct 08 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.7.1-2
- Add RPM macro
* Sat Jul 23 2016 Ben Boeckel <mathstuf@gmail.com> - 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 <releng@fedoraproject.org> - 1.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Nov 16 2015 Ben Boeckel <mathstuf@gmail.com> - 1.6.0-2
- Add patch to rename mentions of the binary name
* Sun Jul 19 2015 Ben Boeckel <mathstuf@gmail.com> - 1.6.0-1
- Update to 1.6.0
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.5.3-3
- Rebuilt for GCC 5 C++11 ABI change
* Sun Feb 08 2015 Ben Boeckel <mathstuf@gmail.com> - 1.5.3-2
- Update bash-completions location
* Wed Dec 10 2014 Ben Boeckel <mathstuf@gmail.com> - 1.5.3-1
- Update to 1.5.3
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Aug 05 2014 Christopher Meng <rpm@cicku.me> - 1.5.1-1
- Update to 1.5.1
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Nov 20 2013 Ben Boeckel <mathstuf@gmail.com> - 1.4.0-1
- Update to 1.4.0
* Sun Nov 3 2013 Ville Skyttä <ville.skytta@iki.fi> - 1.3.4-4
- Use special %%doc to install all docs (#994005).
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* 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

View File

@ -0,0 +1 @@
au! BufNewFile,BufRead *.ninja setf ninja

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