diff --git a/.python-ujson.metadata b/.python-ujson.metadata new file mode 100644 index 0000000..da3f7c5 --- /dev/null +++ b/.python-ujson.metadata @@ -0,0 +1 @@ +35090d88c3122a65b93d068e10b371fe38307ae0 SOURCES/ujson-5.7.0.tar.gz diff --git a/SOURCES/584.patch b/SOURCES/584.patch new file mode 100644 index 0000000..a05af78 --- /dev/null +++ b/SOURCES/584.patch @@ -0,0 +1,111 @@ +From 62046adefe232126bf1236d46dffdfb850713e42 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Fri, 10 Mar 2023 14:08:40 -0500 +Subject: [PATCH] Include BSD-3-Clause and TCL license text + +Both of these licenses require the copyright notice and the license text +to be distributed in all copies. Instead of merely mentioning them, +include the full text in LICENSE.txt + +Fixes #565; see that issue for further analysis. +--- + LICENSE.txt | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 80 insertions(+), 1 deletion(-) + +diff --git a/LICENSE.txt b/LICENSE.txt +index 64fa6341..1d00bcb1 100644 +--- a/LICENSE.txt ++++ b/LICENSE.txt +@@ -24,12 +24,91 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ++---- + + Portions of code from MODP_ASCII - Ascii transformations (upper/lower, etc) + https://github.com/client9/stringencoders +-Copyright (c) 2007 Nick Galbreath -- nickg [at] modp [dot] com. All rights reserved. ++ ++ Copyright 2005, 2006, 2007 ++ Nick Galbreath -- nickg [at] modp [dot] com ++ All rights reserved. ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ ++ Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ ++ Neither the name of the modp.com nor the names of its ++ contributors may be used to endorse or promote products derived from ++ this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ This is the standard "new" BSD license: ++ http://www.opensource.org/licenses/bsd-license.php ++ ++https://github.com/client9/stringencoders/blob/cfd5c1507325ae497ea9bacdacba12c0ffd79d30/COPYING ++ ++---- + + Numeric decoder derived from from TCL library + https://opensource.apple.com/source/tcl/tcl-14/tcl/license.terms + * Copyright (c) 1988-1993 The Regents of the University of California. + * Copyright (c) 1994 Sun Microsystems, Inc. ++ ++ This software is copyrighted by the Regents of the University of ++ California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState ++ Corporation and other parties. The following terms apply to all files ++ associated with the software unless explicitly disclaimed in ++ individual files. ++ ++ The authors hereby grant permission to use, copy, modify, distribute, ++ and license this software and its documentation for any purpose, provided ++ that existing copyright notices are retained in all copies and that this ++ notice is included verbatim in any distributions. No written agreement, ++ license, or royalty fee is required for any of the authorized uses. ++ Modifications to this software may be copyrighted by their authors ++ and need not follow the licensing terms described here, provided that ++ the new terms are clearly indicated on the first page of each file where ++ they apply. ++ ++ IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY ++ FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ++ ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY ++ DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE ++ POSSIBILITY OF SUCH DAMAGE. ++ ++ THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, ++ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE ++ IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE ++ NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR ++ MODIFICATIONS. ++ ++ GOVERNMENT USE: If you are acquiring this software on behalf of the ++ U.S. government, the Government shall have only "Restricted Rights" ++ in the software and related documentation as defined in the Federal ++ Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you ++ are acquiring the software on behalf of the Department of Defense, the ++ software shall be classified as "Commercial Computer Software" and the ++ Government shall have only "Restricted Rights" as defined in Clause ++ 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the ++ authors grant the U.S. Government and others acting in its behalf ++ permission to use and distribute the software in accordance with the ++ terms specified in this license. diff --git a/SPECS/python-ujson.spec b/SPECS/python-ujson.spec new file mode 100644 index 0000000..03168d3 --- /dev/null +++ b/SPECS/python-ujson.spec @@ -0,0 +1,224 @@ +Name: python-ujson +Version: 5.7.0 +Release: 3%{?dist} +Summary: Ultra fast JSON encoder and decoder written in pure C + +# The entire source is BSD-3-Clause, except: +# +# ---- +# +# Portions of code from MODP_ASCII - Ascii transformations (upper/lower, etc) +# https://github.com/client9/stringencoders +# +# BSD-3-Clause but with its own copyright statement +# +# ---- +# +# Numeric decoder derived from from TCL library +# https://opensource.apple.com/source/tcl/tcl-14/tcl/license.terms +# +# TCL: possibly present in python/objToJSON.c, python/ujson.c, and/or +# python/JSONtoObj.c. +# +# ---- +# +# Filed upstream: +# Please consider including other licenses mentioned in LICENSE.txt +# https://github.com/ultrajson/ultrajson/issues/565 +License: BSD-3-Clause AND TCL +URL: https://github.com/ultrajson/ultrajson +Source0: %{pypi_source ujson} + +# Include BSD-3-Clause and TCL license text +# https://github.com/ultrajson/ultrajson/pull/584 +# Fixes: +# Please consider including other licenses mentioned in LICENSE.txt +# https://github.com/ultrajson/ultrajson/issues/565 +Patch: %{url}/pull/584.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: double-conversion-devel + +BuildRequires: python3-devel +BuildRequires: pyproject-rpm-macros +BuildRequires: python3dist(pytest) + +%global _description %{expand: +UltraJSON is an ultra fast JSON encoder and decoder written in pure C with +bindings for Python.} + +%description %{_description} + +%package -n python3-ujson +Summary: %{summary} + +%description -n python3-ujson %{_description} + +%prep +%autosetup -n ujson-%{version} -p1 +# Remove bundled double-conversion +rm -vrf deps + +%generate_buildrequires +%pyproject_buildrequires + +%build +export UJSON_BUILD_NO_STRIP=1 +export UJSON_BUILD_DC_INCLUDES='%{_includedir}/double-conversion' +export UJSON_BUILD_DC_LIBS='-ldouble-conversion' +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files ujson + +%check +%pytest -v + +%files -n python3-ujson -f %{pyproject_files} +# pyproject_files handles LICENSE.txt; verify with “rpm -qL -p …” +%doc README.md + +%changelog +* Fri Mar 10 2023 Benjamin A. Beasley - 5.7.0-3 +- Apply upstream PR#565 to add license texts to LICENSE.txt + +* Fri Jan 20 2023 Fedora Release Engineering - 5.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 15 2023 Benjamin A. Beasley - 5.7.0-1 +- Update to 5.7.0 (close RHBZ#2158945) + +* Thu Dec 01 2022 Benjamin A. Beasley - 5.6.0-1 +- Update to 5.6.0 (close RHBZ#2149975) + +* Sat Sep 17 2022 Benjamin A. Beasley - 5.5.0-1 +- Update to 5.5.0 (closes RHBZ#2127227) +- Update License to SPDX and include additional license texts + +* Fri Jul 22 2022 Fedora Release Engineering - 5.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 14 2022 Alfredo Moralejo - 5.4.0-1 +- Update to 5.4.0 (closes rhbz#2103379) +- Includes fixes for CVE-2022-31117 and CVE-2022-31116 + +* Mon Jun 13 2022 Python Maint - 5.3.0-2 +- Rebuilt for Python 3.11 + +* Fri May 20 2022 Benjamin A. Beasley - 5.3.0-1 +- Update to 5.3.0 (close RHBZ#2088232) + +* Fri Apr 08 2022 Benjamin A. Beasley - 5.2.0-1 +- Update to 5.2.0 (close RHBZ#2072241) +- Migrate to pyproject-rpm-macros (“new Python guidelines”) + +* Sun Mar 06 2022 Benjamin A. Beasley - 5.1.0-1 +- Update to 5.1.0 (close RHBZ#1862763) +- Unbundle double-conversion and prevent debug symbol stripping with separate + patches, both offered upstream +- Drop obsolete %%python_provide macro + +* Fri Jan 21 2022 Fedora Release Engineering - 4.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jul 31 2021 Kushal Das 4.0.2-1 +- Update to 4.0.2 + +* Tue Jul 27 2021 Fedora Release Engineering - 3.0.0-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.0.0-4 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 3.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 3.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 07 2020 Kushal Das 3.0.0-1 +- Update to 3.0.0 + +* Tue May 26 2020 Miro Hrončok - 2.0.3-2 +- Rebuilt for Python 3.9 + +* Tue May 12 2020 Igor Raits - 2.0.3-1 +- Update to 2.0.3 + +* Thu Jan 30 2020 Fedora Release Engineering - 2.0-0.3.20170206git2f1d487 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Sep 03 2019 Miro Hrončok - 2.0-0.2.20170206git2f1d487 +- Subpackage python2-ujson has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Mon Aug 19 2019 Miro Hrončok - 2.0-0.1.20170206git2f1d487.9 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2.0-0.1.20170206git2f1d487.5 +- Rebuilt for Python 3.7 + +* Mon Feb 12 2018 Iryna Shcherbina - 2.0-0.1.20170206git2f1d487.4 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.0-0.1.20170206git2f1d487.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Adam Williamson - 2.0-0.1.20170206git2f1d487 +- Update to pre-2.0 git snapshot, removes non-standard serialization behaviour + +* Sun Jan 01 2017 Igor Gnatenko - 1.35-1 +- Update to 1.35 +- Run test suite +- Spec cleanups + +* Mon Dec 19 2016 Miro Hrončok - 1.33-5 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 1.33-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 1.33-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Nov 06 2015 Robert Kuska - 1.33-2 +- Rebuilt for Python3.5 rebuild + +* Sat Aug 1 2015 Julien Enselme - 1.33-1 +- Update to 1.33 +- Enable python3 subpackage +- Update SPEC to match packaging guidelines + +* Thu Jun 18 2015 Fedora Release Engineering - 1.23-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.23-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.23-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 1.23-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Dec 19 2012 Kushal Das 1.23-1 +- Intial package