New upstream version for sagemath 8.2 (bz 1473458).

Add -fortify, -import, and -underlink patches.
This commit is contained in:
Jerry James 2018-06-02 14:15:56 -06:00
parent c5a72f6058
commit 2526b5e5d8
8 changed files with 77 additions and 34 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
/cysignals-1.3.2.tar.bz2 /cysignals-*.tar.gz
/cysignals-1.6.4.tar.bz2

View File

@ -1,7 +1,7 @@
diff -up src/cysignals/implementation.c.orig src/cysignals/implementation.c diff -up src/cysignals/implementation.c.orig src/cysignals/implementation.c
--- src/cysignals/implementation.c.orig 2017-11-08 05:47:04.898848227 -0500 --- src/cysignals/implementation.c.orig 2018-04-17 06:09:44.000000000 -0600
+++ src/cysignals/implementation.c 2017-11-08 05:47:10.044848424 -0500 +++ src/cysignals/implementation.c 2018-05-18 13:07:49.838120881 -0600
@@ -85,7 +85,7 @@ static void print_backtrace(void); @@ -102,7 +102,7 @@ static int sig_raise_exception(int sig,
*/ */
static inline void reset_CPU(void) static inline void reset_CPU(void)
{ {

View File

@ -0,0 +1,17 @@
diff -up setup.py.orig setup.py
--- setup.py.orig 2018-04-17 06:09:44.000000000 -0600
+++ setup.py 2018-05-18 15:00:29.947627141 -0600
@@ -42,10 +42,13 @@ if sys.platform == 'cygwin':
# false positives in the longjmp() check.
undef_macros = ["_FORTIFY_SOURCE"]
+extra_compile_args = ["-Wp,-U_FORTIFY_SOURCE"]
+
kwds = dict(include_dirs=[opj("src", "cysignals"),
opj(cythonize_dir, "src"),
opj(cythonize_dir, "src", "cysignals")],
depends=glob(opj("src", "cysignals", "*.h")),
+ extra_compile_args=extra_compile_args,
define_macros=macros,
undef_macros=undef_macros)

View File

@ -1,6 +1,6 @@
diff -up src/scripts/cysignals-CSI.orig src/scripts/cysignals-CSI diff -up src/scripts/cysignals-CSI.orig src/scripts/cysignals-CSI
--- src/scripts/cysignals-CSI.orig 2017-11-08 05:44:49.702843050 -0500 --- src/scripts/cysignals-CSI.orig 2018-04-17 06:09:44.000000000 -0600
+++ src/scripts/cysignals-CSI 2017-11-08 05:46:00.580845764 -0500 +++ src/scripts/cysignals-CSI 2018-05-18 13:06:09.309487709 -0600
@@ -69,6 +69,7 @@ def gdb_commands(pid, color): @@ -69,6 +69,7 @@ def gdb_commands(pid, color):
cmds = b('') cmds = b('')
cmds += b('set prompt (cysignals-gdb-prompt)\n') cmds += b('set prompt (cysignals-gdb-prompt)\n')
@ -9,17 +9,3 @@ diff -up src/scripts/cysignals-CSI.orig src/scripts/cysignals-CSI
cmds += b('attach {0}\n'.format(pid)) cmds += b('attach {0}\n'.format(pid))
cmds += b('python\n') cmds += b('python\n')
cmds += b('print("\\n")\n') cmds += b('print("\\n")\n')
@@ -100,13 +101,6 @@ def run_gdb(pid, color):
# Preload the right Python library
libpython = os.path.join(sysconfig.get_config_var('LIBDIR'),
sysconfig.get_config_var('INSTSONAME'))
- if sys.platform == 'macosx':
- env['DYLD_INSERT_LIBRARIES'] = libpython
- else:
- env['LD_PRELOAD'] = libpython
-
- # Set the correct Python path
- env['PYTHONPATH'] = os.path.dirname(site.__file__)
whichgdb = find_executable('gdb')
if whichgdb is None:

View File

@ -0,0 +1,12 @@
diff -up src/cysignals/signals.pxd.orig src/cysignals/signals.pxd
--- src/cysignals/signals.pxd.orig 2018-04-17 06:09:44.000000000 -0600
+++ src/cysignals/signals.pxd 2018-05-19 15:21:19.591334451 -0600
@@ -16,7 +16,7 @@
#*****************************************************************************
# Auto-generated file setting the correct include directories
-cimport cysignals.__init__
+import cysignals.__init__
from libc.signal cimport sig_atomic_t

View File

@ -0,0 +1,15 @@
--- setup.py.orig 2018-05-18 15:00:29.947627141 -0600
+++ setup.py 2018-05-19 17:31:15.645373508 -0600
@@ -51,9 +51,11 @@ kwds = dict(include_dirs=[opj("src", "cy
extra_compile_args=extra_compile_args,
define_macros=macros,
undef_macros=undef_macros)
+parikwds = kwds.copy()
+parikwds['libraries'] = ['pari']
extensions = [
- Extension("cysignals.signals", ["src/cysignals/signals.pyx"], **kwds),
+ Extension("cysignals.signals", ["src/cysignals/signals.pyx"], **parikwds),
Extension("cysignals.pysignals", ["src/cysignals/pysignals.pyx"], **kwds),
Extension("cysignals.alarm", ["src/cysignals/alarm.pyx"], **kwds),
Extension("cysignals.pselect", ["src/cysignals/pselect.pyx"], **kwds),

View File

@ -1,16 +1,23 @@
%global modname cysignals %global modname cysignals
Name: python-%{modname} Name: python-%{modname}
Version: 1.6.4 Version: 1.7.1
Release: 3%{?dist} Release: 1%{?dist}
Summary: Interrupt and signal handling for Cython Summary: Interrupt and signal handling for Cython
License: LGPLv3+ License: LGPLv3+
URL: https://github.com/sagemath/%{modname} URL: https://github.com/sagemath/%{modname}
Source0: https://github.com/sagemath/%{modname}/releases/download/%{version}/%{modname}-%{version}.tar.bz2 Source0: https://github.com/sagemath/%{modname}/releases/download/%{version}/%{modname}-%{version}.tar.gz
BuildRequires: pari-devel BuildRequires: pari-devel
# https://bugzilla.redhat.com/show_bug.cgi?id=1445411#c2 # https://bugzilla.redhat.com/show_bug.cgi?id=1445411#c2
Patch0: python-cysignals-gdb.patch Patch0: %{name}-gdb.patch
Patch1: python-cysignals-emms.patch # Linux already clears the FPU state
Patch1: %{name}-emms.patch
# Counteract _FORTIFY_SOURCE
Patch2: %{name}-fortify.patch
# Fix an import error
Patch3: %{name}-import.patch
# Fix underlinked signals.so
Patch4: %{name}-underlink.patch
%global _description \ %global _description \
When writing Cython code, special care must be taken to ensure that the\ When writing Cython code, special care must be taken to ensure that the\
@ -33,6 +40,7 @@ Summary: %{summary}
%{?python_provide:%python_provide python2-%{modname}} %{?python_provide:%python_provide python2-%{modname}}
BuildRequires: python2-devel BuildRequires: python2-devel
BuildRequires: python2-Cython BuildRequires: python2-Cython
BuildRequires: python2-setuptools
%description -n python2-%{modname} %{_description} %description -n python2-%{modname} %{_description}
%package -n python2-%{modname}-devel %package -n python2-%{modname}-devel
@ -46,6 +54,7 @@ Summary: %{summary}
%{?python_provide:%python_provide python3-%{modname}} %{?python_provide:%python_provide python3-%{modname}}
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-Cython BuildRequires: python3-Cython
BuildRequires: python3-setuptools
%description -n python3-%{modname} %{_description} %description -n python3-%{modname} %{_description}
%package -n python3-%{modname}-devel %package -n python3-%{modname}-devel
@ -66,15 +75,20 @@ Documentation and examples for %{name}.
%setup -q -n %{modname}-%{version} %setup -q -n %{modname}-%{version}
%patch0 %patch0
%patch1 %patch1
%patch2
%patch3
%patch4
%build %build
%configure
sed -i 's/"cysignals-CSI"/"cysignals-CSI-2"/' src/cysignals/implementation.c sed -i 's/"cysignals-CSI"/"cysignals-CSI-2"/' src/cysignals/implementation.c
%py2_build %py2_build
sed -i 's/"cysignals-CSI-2"/"cysignals-CSI-3"/' src/cysignals/implementation.c sed -i 's/"cysignals-CSI-2"/"cysignals-CSI-3"/' src/cysignals/implementation.c
%py3_build %py3_build
pushd docs
%__make html # Build the documentation
popd export PYTHONPATH=$PWD/$(ls -1d build/lib.linux*%{python2_version})
%__make -C docs html
%install %install
%py2_install %py2_install
@ -87,10 +101,6 @@ cp -p %{buildroot}%{_bindir}/cysignals-CSI{,-3}
sed -i 's@^\(#!/usr/bin/python\)3\( -s\)@\12\2@' %{buildroot}%{_bindir}/cysignals-CSI sed -i 's@^\(#!/usr/bin/python\)3\( -s\)@\12\2@' %{buildroot}%{_bindir}/cysignals-CSI
mv %{buildroot}%{_bindir}/cysignals-CSI{,-2} mv %{buildroot}%{_bindir}/cysignals-CSI{,-2}
# Install missing files from python2 subpackage
cp -p build/src/cysignals/{debug,macros,pxi_warning,signals,struct_signals}.h \
%{buildroot}%{python2_sitearch}/cysignals
%check %check
for check in src/cysignals/*.pyx; do for check in src/cysignals/*.pyx; do
sed -i -e "s/Popen(\['python'/Popen(\['python2'/" $check sed -i -e "s/Popen(\['python'/Popen(\['python2'/" $check
@ -151,6 +161,10 @@ export PYTHONPATH
%{_docdir}/%{name}/html %{_docdir}/%{name}/html
%changelog %changelog
* Sat Jun 2 2018 Jerry James <loganjerry@gmail.com> - 1.7.1-1
- New upstream version for sagemath 8.2 (bz 1473458)
- Add -fortify, -import, and -underlink patches
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.4-3 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (cysignals-1.6.4.tar.bz2) = dda108a45ba861170f46c509ef12ba58c31734a58b746164b83501c0f62eb5283207588ff72e3664013b52e97847e1604c6f65b84a250ec7cd813d845db1485b SHA512 (cysignals-1.7.1.tar.gz) = 7ea34f6017aeb6619a79a0e9de055e0e17d36bcc26586582ac59dc33736dd4b551a66b6cceb404a940276dbcad200923de7fdfb2460c6f065d74f59c6235a4cb