Bug#951707: gringo ftbfs with Python 3.8
Steve Langasek
steve.langasek at canonical.com
Fri Feb 21 05:48:31 GMT 2020
Package: gringo
Followup-For: Bug #951707
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch
Please find attached a patch for this issue, which has been uploaded to
Ubuntu.
This debdiff also includes fixes to the packaging to cause it to use the
default python3 at build-time, instead of a hard-coded python3.7, since
python3.7 will shortly disappear from unstable.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
diff -Nru gringo-5.3.0/debian/control gringo-5.3.0/debian/control
--- gringo-5.3.0/debian/control 2019-03-01 23:11:37.000000000 -0800
+++ gringo-5.3.0/debian/control 2020-02-20 21:43:17.000000000 -0800
@@ -11,9 +11,9 @@
re2c,
bison,
liblua5.3-dev,
- python3.7,
- libpython3.7-dev,
- python3.7-distutils
+ python3,
+ libpython3-dev,
+ python3-distutils
Standards-Version: 4.3.0
Vcs-Git: https://salsa.debian.org/science-team/gringo.git
Vcs-Browser: https://salsa.debian.org/science-team/gringo
diff -Nru gringo-5.3.0/debian/patches/python3.8-compat.patch gringo-5.3.0/debian/patches/python3.8-compat.patch
--- gringo-5.3.0/debian/patches/python3.8-compat.patch 1969-12-31 16:00:00.000000000 -0800
+++ gringo-5.3.0/debian/patches/python3.8-compat.patch 2020-02-20 21:43:07.000000000 -0800
@@ -0,0 +1,23 @@
+Description: fix compatibility with Python 3.8
+ Python 3.8 changes the type of an element of the PyTypeObject struct
+ (https://www.python.org/dev/peps/pep-0590/) leading to compiler errors.
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+Last-Update: 2020-02-20
+Forwarded: no
+
+Index: gringo-5.3.0/libpyclingo/pyclingo.cc
+===================================================================
+--- gringo-5.3.0.orig/libpyclingo/pyclingo.cc
++++ gringo-5.3.0/libpyclingo/pyclingo.cc
+@@ -1128,7 +1128,11 @@
+ sizeof(T), // tp_basicsize
+ 0, // tp_itemsize
+ PythonDetail::Get_tp_dealloc<T>::value, // tp_dealloc
++#if PY_VERSION_HEX >= 0x03080000
++ 0, // tp_vectorcall_offset
++#else
+ nullptr, // tp_print
++#endif
+ nullptr, // tp_getattr
+ nullptr, // tp_setattr
+ nullptr, // tp_compare
diff -Nru gringo-5.3.0/debian/patches/series gringo-5.3.0/debian/patches/series
--- gringo-5.3.0/debian/patches/series 2018-11-18 21:48:21.000000000 -0800
+++ gringo-5.3.0/debian/patches/series 2020-02-20 21:40:23.000000000 -0800
@@ -1,3 +1,4 @@
gringo-manpages.patch
gringo-python3-utf8.patch
gringo-python37-async.patch
+python3.8-compat.patch
diff -Nru gringo-5.3.0/debian/rules gringo-5.3.0/debian/rules
--- gringo-5.3.0/debian/rules 2018-11-04 00:23:40.000000000 -0700
+++ gringo-5.3.0/debian/rules 2020-02-20 20:26:14.000000000 -0800
@@ -13,7 +13,7 @@
# use custom hardening config flags for compiling clasp
CONFIG=hardening
-CONFIGPARMS = -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -LAH -DCMAKE_SKIP_RPATH=YES -DCLINGO_MANAGE_RPATH=OFF -DLIB_POTASSCO_BUILD_APP=ON -DLIB_POTASSCO_BUILD_TESTS=ON -DCLASP_BUILD_APP=OFF -DCLASP_BUILD_TESTS=OFF -DCLASP_BUILD_EXAMPLES=OFF -DCLINGO_BUILD_EXAMPLES=ON -DCLINGO_BUILD_TESTS=ON -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.7
+CONFIGPARMS = -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -LAH -DCMAKE_SKIP_RPATH=YES -DCLINGO_MANAGE_RPATH=OFF -DLIB_POTASSCO_BUILD_APP=ON -DLIB_POTASSCO_BUILD_TESTS=ON -DCLASP_BUILD_APP=OFF -DCLASP_BUILD_TESTS=OFF -DCLASP_BUILD_EXAMPLES=OFF -DCLINGO_BUILD_EXAMPLES=ON -DCLINGO_BUILD_TESTS=ON -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3
TOPBUILDDIR = build/$(CONFIG)_mt
ROOTDIR = $(shell pwd)
More information about the debian-science-maintainers
mailing list