mirror of
https://github.com/ivabus/pantry
synced 2024-11-23 00:45:07 +03:00
fix(python) (#2435)
* fix(python) fixes older versions * fixes for 3.9 * fixes for 3.8 * fixes for 3.7 * simpler if versions * fixes 3.6 * fixes 3.5 * fix 3.4 * exclude non-working tests * stop at 3.2.4 (Apr 6, 2013)
This commit is contained in:
parent
b6361963ec
commit
43fe64cfe0
3 changed files with 78 additions and 10 deletions
|
@ -4,6 +4,11 @@ distributable:
|
||||||
|
|
||||||
versions:
|
versions:
|
||||||
github: python/cpython/tags
|
github: python/cpython/tags
|
||||||
|
# FIXME maybe? This is pretty good, and darwin+aarch64 support could be
|
||||||
|
# suspect even further back.
|
||||||
|
ignore:
|
||||||
|
- 3.2.[0-3]
|
||||||
|
- 3.[0-1].x
|
||||||
|
|
||||||
companions:
|
companions:
|
||||||
pip.pypa.io: '*'
|
pip.pypa.io: '*'
|
||||||
|
@ -77,6 +82,43 @@ build:
|
||||||
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
|
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
|
||||||
if: '>=3<3.8'
|
if: '>=3<3.8'
|
||||||
|
|
||||||
|
# 3.5 and older don't append the platform to confdir on darwin
|
||||||
|
- run: confdir="${confdir%-{{hw.platform}}}"
|
||||||
|
if: '>=3<3.6'
|
||||||
|
|
||||||
|
# Older patches have configure issues that aren't present in newer patches
|
||||||
|
- run: |
|
||||||
|
if test "{{hw.platform}}" = "darwin"; then
|
||||||
|
sed -i.bak \
|
||||||
|
-e 's/ppc)/arm64)/g' \
|
||||||
|
-e 's/MACOSX_DEFAULT_ARCH="ppc.*$/MACOSX_DEFAULT_ARCH="arm64"/g' \
|
||||||
|
configure
|
||||||
|
rm configure.bak
|
||||||
|
fi
|
||||||
|
if: '>=3<3.9.1'
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
if test "{{hw.platform}}" = "darwin"; then
|
||||||
|
sed -i.bak -e 's/^MULTIARCH=.*$/MULTIARCH=""/' configure
|
||||||
|
rm configure.bak
|
||||||
|
fi
|
||||||
|
if: '>=3<3.10.1'
|
||||||
|
|
||||||
|
# Some old versions don't support macOS 11 and greater in their configures
|
||||||
|
- run: |
|
||||||
|
if test "{{hw.platform}}" = "darwin"; then
|
||||||
|
curl -L https://github.com/python/cpython/commit/8ea6353.patch | patch -p1
|
||||||
|
fi
|
||||||
|
if: '>=3.8<3.8.4 || >=3<3.7.8'
|
||||||
|
|
||||||
|
# Versions older than 3.5.3 have an include issue on darwin
|
||||||
|
- run: patch -p1 < props/patch3.5.diff
|
||||||
|
if: '>=3.5<3.5.3'
|
||||||
|
|
||||||
|
# Whitespace difference in 3.4...
|
||||||
|
- run: patch -p1 < props/patch3.4.diff
|
||||||
|
if: '~3.4.1'
|
||||||
|
|
||||||
- ./configure $ARGS
|
- ./configure $ARGS
|
||||||
- make --jobs {{ hw.concurrency }}
|
- make --jobs {{ hw.concurrency }}
|
||||||
- make install
|
- make install
|
||||||
|
@ -196,13 +238,12 @@ build:
|
||||||
test:
|
test:
|
||||||
dependencies:
|
dependencies:
|
||||||
tea.xyz/gx/cc: c99
|
tea.xyz/gx/cc: c99
|
||||||
crates.io/semverator: '*'
|
|
||||||
script:
|
script:
|
||||||
# Check if sqlite is ok, because we build with --enable-loadable-sqlite-extensions
|
# Check if sqlite is ok, because we build with --enable-loadable-sqlite-extensions
|
||||||
# and it can occur that building sqlite silently fails if OSX's sqlite is used.
|
# and it can occur that building sqlite silently fails if OSX's sqlite is used.
|
||||||
- run: python -c "import sqlite3"
|
- run: python -c "import sqlite3"
|
||||||
# FIXME: v2
|
# FIXME: v2, <v3.7
|
||||||
if: ^3
|
if: ^3.7
|
||||||
|
|
||||||
# check to see if we can create a venv
|
# check to see if we can create a venv
|
||||||
# we can't ensurepip on 3.7 so, this won't work
|
# we can't ensurepip on 3.7 so, this won't work
|
||||||
|
@ -214,8 +255,8 @@ test:
|
||||||
python -v -c "import _ctypes"
|
python -v -c "import _ctypes"
|
||||||
# python -c "import _decimal" #FIXME
|
# python -c "import _decimal" #FIXME
|
||||||
python -c "import zlib"
|
python -c "import zlib"
|
||||||
# FIXME: v2
|
# FIXME: v2, <=3.6.4
|
||||||
if: ^3
|
if: ^3.6.4
|
||||||
|
|
||||||
- python -c "import pyexpat"
|
- python -c "import pyexpat"
|
||||||
|
|
||||||
|
@ -244,11 +285,10 @@ test:
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
#include <python{{version.major}}.{{version.minor}}/Python.h>
|
#include <python{{version.major}}.{{version.minor}}/Python.h>
|
||||||
|
|
||||||
- run: |
|
- run: SUFFIX=m
|
||||||
if semverator satisfies '>=3<3.8' {{ version }}; then
|
if: '>=3<3.8'
|
||||||
SUFFIX=m
|
|
||||||
fi
|
- run: test $(python $FIXTURE) = {{prefix}}/include/python{{version.marketing}}$SUFFIX
|
||||||
test $(python $FIXTURE) = {{prefix}}/include/python{{version.marketing}}$SUFFIX
|
|
||||||
fixture: |
|
fixture: |
|
||||||
import sysconfig
|
import sysconfig
|
||||||
include_path = sysconfig.get_paths()['include']
|
include_path = sysconfig.get_paths()['include']
|
||||||
|
|
14
projects/python.org/patch3.4.diff
Normal file
14
projects/python.org/patch3.4.diff
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/Python/random.c b/Python/random.c
|
||||||
|
index 93d300d..396041d 100644
|
||||||
|
--- a/Python/random.c
|
||||||
|
+++ b/Python/random.c
|
||||||
|
@@ -3,6 +3,9 @@
|
||||||
|
#include <windows.h>
|
||||||
|
#else
|
||||||
|
#include <fcntl.h>
|
||||||
|
+#if defined(HAVE_GETRANDOM) || defined(HAVE_GETENTROPY)
|
||||||
|
+#include <sys/random.h>
|
||||||
|
+#endif
|
||||||
|
#ifdef HAVE_SYS_STAT_H
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#endif
|
14
projects/python.org/patch3.5.diff
Normal file
14
projects/python.org/patch3.5.diff
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/Python/random.c b/Python/random.c
|
||||||
|
index 93d300d..396041d 100644
|
||||||
|
--- a/Python/random.c
|
||||||
|
+++ b/Python/random.c
|
||||||
|
@@ -3,6 +3,9 @@
|
||||||
|
# include <windows.h>
|
||||||
|
#else
|
||||||
|
# include <fcntl.h>
|
||||||
|
+# if defined(HAVE_GETRANDOM) || defined(HAVE_GETENTROPY)
|
||||||
|
+# include <sys/random.h>
|
||||||
|
+# endif
|
||||||
|
# ifdef HAVE_SYS_STAT_H
|
||||||
|
# include <sys/stat.h>
|
||||||
|
# endif
|
Loading…
Reference in a new issue