mirror of
https://github.com/ivabus/pantry
synced 2024-11-29 19:55:06 +03:00
+python2 (#2126)
* +python2 * at least a few tests working * clean up semverator dep
This commit is contained in:
parent
9be105f85d
commit
446534afbe
2 changed files with 51 additions and 20 deletions
|
@ -43,18 +43,31 @@ build:
|
||||||
tea.xyz/gx/cc: c99
|
tea.xyz/gx/cc: c99
|
||||||
tea.xyz/gx/make: '*'
|
tea.xyz/gx/make: '*'
|
||||||
freedesktop.org/pkg-config: ^0.29
|
freedesktop.org/pkg-config: ^0.29
|
||||||
crates.io/semverator: '*'
|
gnu.org/patch: '*'
|
||||||
|
curl.se: '*'
|
||||||
script:
|
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
|
# 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_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
|
sed -i.bak -e 's|system_include_dirs = .*|system_include_dirs = os.getenv("CPATH").split(":")|' ./setup.py
|
||||||
|
|
||||||
# older versions use a different config dir
|
# older versions use a different config dir
|
||||||
- |
|
- run: |
|
||||||
if semverator satisfies '<3.8' {{ version }}; then
|
confdir="$libdir/config"
|
||||||
# older versions use a different config dir
|
|
||||||
|
# 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/')
|
confdir=$(echo $confdir | sed -e 's/\(config-{{ version.marketing }}\)/\1m/')
|
||||||
|
|
||||||
# 3.7 and older use `python3.7m` for include dir
|
# 3.7 and older use `python3.7m` for include dir
|
||||||
|
@ -62,7 +75,7 @@ build:
|
||||||
|
|
||||||
# 3.7 aborts on linux+aarch64 with this
|
# 3.7 aborts on linux+aarch64 with this
|
||||||
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
|
ARGS=${ARGS/--with-ensurepip/--without-ensurepip}
|
||||||
fi
|
if: '>=3<3.8'
|
||||||
|
|
||||||
- ./configure $ARGS
|
- ./configure $ARGS
|
||||||
- make --jobs {{ hw.concurrency }}
|
- make --jobs {{ hw.concurrency }}
|
||||||
|
@ -150,6 +163,8 @@ build:
|
||||||
darwin:
|
darwin:
|
||||||
confdir:
|
confdir:
|
||||||
$libdir/config-{{version.marketing}}-darwin
|
$libdir/config-{{version.marketing}}-darwin
|
||||||
|
PYTHON2PATCHES:
|
||||||
|
- https://raw.githubusercontent.com/macports/macports-ports/master/lang/python27/files/patch-getpath.diff
|
||||||
linux:
|
linux:
|
||||||
# ARGS:
|
# ARGS:
|
||||||
# - --with-dbmliborder=bdb
|
# - --with-dbmliborder=bdb
|
||||||
|
@ -164,6 +179,19 @@ build:
|
||||||
|
|
||||||
OPENSSL_INCLUDES: ${{ deps.openssl.org.prefix }}/include
|
OPENSSL_INCLUDES: ${{ deps.openssl.org.prefix }}/include
|
||||||
OPENSSL_LDFLAGS: -L{{ deps.openssl.org.prefix }}/lib
|
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:
|
test:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -172,21 +200,24 @@ test:
|
||||||
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.
|
||||||
- python -c "import sqlite3"
|
- run: python -c "import sqlite3"
|
||||||
|
# FIXME: v2
|
||||||
|
if: ^3
|
||||||
|
|
||||||
# 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
|
||||||
- |
|
- run: python -m venv myvenv
|
||||||
if semverator satisfies '^3.8' {{ version }}; then
|
if: ^3.8
|
||||||
python -m venv myvenv
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if some other modules import. Then the linked libs are working.
|
# Check if some other modules import. Then the linked libs are working.
|
||||||
- |
|
- run: |
|
||||||
python -c "import _ctypes"
|
python -v -c "import _ctypes"
|
||||||
# python -c "import _decimal" #FIXME
|
# python -c "import _decimal" #FIXME
|
||||||
python -c "import pyexpat"
|
python -c "import zlib"
|
||||||
python -c "import zlib"
|
# FIXME: v2
|
||||||
|
if: ^3
|
||||||
|
|
||||||
|
- python -c "import pyexpat"
|
||||||
|
|
||||||
# Verify that the selected DBM interface works
|
# Verify that the selected DBM interface works
|
||||||
# FIXME: doen't work
|
# FIXME: doen't work
|
||||||
|
@ -214,7 +245,7 @@ test:
|
||||||
#include <python{{version.major}}.{{version.minor}}/Python.h>
|
#include <python{{version.major}}.{{version.minor}}/Python.h>
|
||||||
|
|
||||||
- run: |
|
- run: |
|
||||||
if semverator satisfies '<3.8' {{ version }}; then
|
if semverator satisfies '>=3<3.8' {{ version }}; then
|
||||||
SUFFIX=m
|
SUFFIX=m
|
||||||
fi
|
fi
|
||||||
test $(python $FIXTURE) = {{prefix}}/include/python{{version.marketing}}$SUFFIX
|
test $(python $FIXTURE) = {{prefix}}/include/python{{version.marketing}}$SUFFIX
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import site
|
import site
|
||||||
import sys
|
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
|
# setting `sys.prefix` is kinda nuts but brew does the same
|
||||||
# so we’re assuming they vetted all options
|
# so we're assuming they vetted all options
|
||||||
# sys.prefix = "/usr/local"
|
# sys.prefix = "/usr/local"
|
||||||
# ^^ undid this because it broke `python -m venv` installing pip for some reason
|
# ^^ undid this because it broke `python -m venv` installing pip for some reason
|
||||||
|
|
||||||
# enable automatic user installs if pip makes the decision
|
# enable automatic user installs if pip makes the decision
|
||||||
# that this is good idea. eg. if /usr/local isn’t writable
|
# that this is good idea. eg. if /usr/local isn't writable
|
||||||
# this is what it will do
|
# this is what it will do
|
||||||
site.ENABLE_USER_SITE = True
|
site.ENABLE_USER_SITE = True
|
||||||
|
|
Loading…
Reference in a new issue