* +python2

* at least a few tests working

* clean up semverator dep
This commit is contained in:
Jacob Heider 2023-06-16 15:51:31 -04:00 committed by GitHub
parent 9be105f85d
commit 446534afbe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 20 deletions

View file

@ -43,18 +43,31 @@ build:
tea.xyz/gx/cc: c99
tea.xyz/gx/make: '*'
freedesktop.org/pkg-config: ^0.29
crates.io/semverator: '*'
gnu.org/patch: '*'
curl.se: '*'
script:
# MacPorts has a series of patches to keep python2 working
- run: |
for PATCH in $PYTHON2PATCHES; do
curl -sSL $PATCH | patch -p0
done
if: ^2
# fixes the build scripts so they use the standard environment variables we set
- |
sed -i.bak -e 's|system_lib_dirs = .*|system_lib_dirs = os.getenv("LIBRARY_PATH").split(":")|' ./setup.py
sed -i.bak -e 's|system_include_dirs = .*|system_include_dirs = os.getenv("CPATH").split(":")|' ./setup.py
# older versions use a different config dir
- |
if semverator satisfies '<3.8' {{ version }}; then
# older versions use a different config dir
- run: |
confdir="$libdir/config"
# aarch64 not happy with this
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
if: ^2
# 3.7 and older use `3.7m` for config dir
- run: |
confdir=$(echo $confdir | sed -e 's/\(config-{{ version.marketing }}\)/\1m/')
# 3.7 and older use `python3.7m` for include dir
@ -62,7 +75,7 @@ build:
# 3.7 aborts on linux+aarch64 with this
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
fi
if: '>=3<3.8'
- ./configure $ARGS
- make --jobs {{ hw.concurrency }}
@ -150,6 +163,8 @@ build:
darwin:
confdir:
$libdir/config-{{version.marketing}}-darwin
PYTHON2PATCHES:
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-getpath.diff
linux:
# ARGS:
# - --with-dbmliborder=bdb
@ -164,6 +179,19 @@ build:
OPENSSL_INCLUDES: ${{ deps.openssl.org.prefix }}/include
OPENSSL_LDFLAGS: -L{{ deps.openssl.org.prefix }}/lib
PYTHON2PATCHES:
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-Makefile.pre.in.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-setup.py.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-Lib-cgi.py.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-Lib-ctypes-macholib-dyld.py.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-configure.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-libedit.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/enable-loadable-sqlite-extensions.patch
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-_osx_support.py.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/darwin20.diff
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/arm.patch
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/implicit.patch
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/openssl_ver.patch
test:
dependencies:
@ -172,21 +200,24 @@ test:
script:
# 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.
- python -c "import sqlite3"
- run: python -c "import sqlite3"
# FIXME: v2
if: ^3
# check to see if we can create a venv
# we can't ensurepip on 3.7 so, this won't work
- |
if semverator satisfies '^3.8' {{ version }}; then
python -m venv myvenv
fi
- run: python -m venv myvenv
if: ^3.8
# Check if some other modules import. Then the linked libs are working.
- |
python -c "import _ctypes"
# python -c "import _decimal" #FIXME
python -c "import pyexpat"
python -c "import zlib"
- run: |
python -v -c "import _ctypes"
# python -c "import _decimal" #FIXME
python -c "import zlib"
# FIXME: v2
if: ^3
- python -c "import pyexpat"
# Verify that the selected DBM interface works
# FIXME: doen't work
@ -214,7 +245,7 @@ test:
#include <python{{version.major}}.{{version.minor}}/Python.h>
- run: |
if semverator satisfies '<3.8' {{ version }}; then
if semverator satisfies '>=3<3.8' {{ version }}; then
SUFFIX=m
fi
test $(python $FIXTURE) = {{prefix}}/include/python{{version.marketing}}$SUFFIX

View file

@ -1,13 +1,13 @@
import site
import sys
# tea considers /usr/local the “global install” location
# tea considers /usr/local the "global install" location
# setting `sys.prefix` is kinda nuts but brew does the same
# so were assuming they vetted all options
# so we're assuming they vetted all options
# sys.prefix = "/usr/local"
# ^^ undid this because it broke `python -m venv` installing pip for some reason
# enable automatic user installs if pip makes the decision
# that this is good idea. eg. if /usr/local isnt writable
# that this is good idea. eg. if /usr/local isn't writable
# this is what it will do
site.ENABLE_USER_SITE = True