Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
19f2095
Apply changes from conda-forge
danpetry Sep 2, 2022
1f1b1db
Fix build
danpetry Sep 5, 2022
d11f8cb
Fix system libraries not found error on linux-ppc64le
danpetry Sep 6, 2022
e8881e6
Add TK to ignore_run_exports to suppress overdepending error
danpetry Sep 7, 2022
2ebc4a1
disable ignore_run_exports again
danpetry Sep 7, 2022
d1d2745
enable ignore_run_exports only for linux-ppc64le
danpetry Sep 7, 2022
bbfa76e
adjust used SDK for osx
katietz Sep 8, 2022
1f545f3
Add include paths for openssl and sqlite3 on win-64
danpetry Sep 8, 2022
d0c81db
adjust numpy version to be 1.21
katietz Sep 8, 2022
45bced8
Correct the patches
danpetry Sep 9, 2022
a0a56de
Make mixed CRLF patches
danpetry Sep 9, 2022
43f2756
couple more patchfile fixes
danpetry Sep 9, 2022
dac2209
correct libffi patch line endings
danpetry Sep 9, 2022
b8c162a
Revert part of patch to hopefully find libcrypto better. Not sure whe…
danpetry Sep 12, 2022
dc6cf90
Add abs.yaml to build out to private channel
danpetry Sep 12, 2022
bdf3c50
Build out libpython-static
danpetry Sep 13, 2022
fc41698
Add required test dependency; add windows test for existence of stati…
danpetry Sep 13, 2022
f6994e9
Disable skip-existing
danpetry Sep 13, 2022
dd070a3
Add some debug print for windows
danpetry Sep 13, 2022
d94b14e
Move python[ver].lib test to the python output area
danpetry Sep 14, 2022
773442a
Correct the test
danpetry Sep 14, 2022
216162d
Correct the test
danpetry Sep 14, 2022
0654eca
Correct the test
danpetry Sep 14, 2022
9d61f81
Unvendor openssl and sqlite as per isuruf's 3.11 rc1 PR on conda-forge
danpetry Sep 15, 2022
450b9c8
Fixup: update dev_url
danpetry Sep 16, 2022
f8bed24
update dev_url again
danpetry Sep 16, 2022
8b7444c
Add license_url
danpetry Sep 16, 2022
c18ea30
stop uploading upon push
danpetry Oct 13, 2022
12368ec
update to 3.11 release
cbouss Nov 24, 2022
6abce6b
pin libffi to 3.4
cbouss Nov 24, 2022
35b5f04
boostrap
cbouss Nov 25, 2022
edd2b72
add abs.yaml
cbouss Nov 25, 2022
e48bf95
merge in changes from 3.10.4 to 3.10.8
cbouss Nov 25, 2022
4a70957
update abs yaml
cbouss Nov 25, 2022
ef3650b
remove ignore_run_exports for tk
cbouss Nov 25, 2022
404e243
Merge remote-tracking branch 'origin/master' into 3.11_release
cbouss Nov 29, 2022
b565b0d
unset bootstrap mode
cbouss Nov 30, 2022
64ec2e1
revert patch renaming
cbouss Jan 11, 2023
9354667
Merge branch 'master' into 3.11_release
cbouss Jan 11, 2023
d2de353
comment channel from abs.yaml
cbouss Jan 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions abs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# channels:
# py311_bs: release
# the conda-build parameters to use for disabling --skip-existing
build_parameters:
- "--suppress-variables"
#- "--skip-existing"
- "--error-overlinking"
- "--error-overdepending"
8 changes: 0 additions & 8 deletions recipe/build_base.bat
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ for /F "tokens=1,2 delims=." %%i in ("%PKG_VERSION%") do (
if NOT "%PY_VER%"=="%%i.%%j" exit 1
)

set "OPENSSL_DIR=%LIBRARY_PREFIX%"
set "SQLITE3_DIR=%LIBRARY_PREFIX%"
for /f "usebackq delims=" %%i in (`conda list -p %PREFIX% sqlite --no-show-channel-urls --json ^| findstr "version"`) do set SQLITE3_VERSION_LINE=%%i
for /f "tokens=2 delims==/ " %%i IN ('echo %SQLITE3_VERSION_LINE%') do (set SQLITE3_VERSION=%%~i)
echo SQLITE3_VERSION detected as %SQLITE3_VERSION%
Expand Down Expand Up @@ -95,17 +93,11 @@ xcopy /s /y /i %SRC_DIR%\Tools\demo %PREFIX%\Tools\demo
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\i18n %PREFIX%\Tools\i18n
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\pynche %PREFIX%\Tools\pynche
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\scripts %PREFIX%\Tools\scripts
if errorlevel 1 exit 1

del %PREFIX%\Tools\demo\README
if errorlevel 1 exit 1
del %PREFIX%\Tools\pynche\README
if errorlevel 1 exit 1
del %PREFIX%\Tools\pynche\pynche
if errorlevel 1 exit 1
del %PREFIX%\Tools\scripts\README
if errorlevel 1 exit 1
del %PREFIX%\Tools\scripts\dutree.doc
Expand Down
12 changes: 7 additions & 5 deletions recipe/build_base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,8 @@ fi

export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

declare -a _common_configure_args

if [[ ${target_platform} == osx-* ]]; then
sed -i -e "s/@OSX_ARCH@/$ARCH/g" Lib/distutils/unixccompiler.py
fi
Expand Down Expand Up @@ -177,6 +179,7 @@ if [[ "${CONDA_BUILD_CROSS_COMPILATION}" == "1" ]]; then
export CONFIG_SITE=${PWD}/config.site
# This is needed for libffi:
export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
_common_configure_args+=(--with-build-python=${BUILD_PYTHON_PREFIX}/bin/python)
fi

# This causes setup.py to query the sysroot directories from the compiler, something which
Expand Down Expand Up @@ -238,7 +241,6 @@ if [[ ${CC} =~ .*-arm.* ]]; then
TEST_EXCLUDES+=(test_compiler)
fi

declare -a _common_configure_args
_common_configure_args+=(--prefix=${PREFIX})
_common_configure_args+=(--build=${BUILD})
_common_configure_args+=(--host=${HOST})
Expand Down Expand Up @@ -313,7 +315,7 @@ pushd ${_buildd_static}
${_DISABLE_SHARED} "${_PROFILE_TASK[@]}"
popd

if [[ ${target_platform} == linux-ppc64le ]]; then
if [[ "${CI}" == "travis" ]]; then
# Travis has issues with long logs
make -j${CPU_COUNT} -C ${_buildd_static} \
EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
Expand All @@ -328,7 +330,7 @@ if rg "Failed to build these modules" make-static.log; then
exit 1
fi

if [[ ${target_platform} == linux-ppc64le ]]; then
if [[ "${CI}" == "travis" ]]; then
# Travis has issues with long logs
make -j${CPU_COUNT} -C ${_buildd_shared} \
EXTRA_CFLAGS="${EXTRA_CFLAGS}" 2>&1 >make-shared.log
Expand Down Expand Up @@ -394,7 +396,7 @@ fi
ln -s ${PREFIX}/bin/python${VER} ${PREFIX}/bin/python
ln -s ${PREFIX}/bin/pydoc${VER} ${PREFIX}/bin/pydoc
# Workaround for https://github.com/conda/conda/issues/10969
ln -s ${PREFIX}/bin/python3.10 ${PREFIX}/bin/python3.1
ln -s ${PREFIX}/bin/python3.11 ${PREFIX}/bin/python3.1

# Remove test data to save space
# Though keep `support` as some things use that.
Expand Down Expand Up @@ -516,4 +518,4 @@ fi

# Workaround for old conda versions which fail to install noarch packages for Python 3.10+
# https://github.com/conda/conda/issues/10969
ln -s "${PREFIX}/lib/python3.10" "${PREFIX}/lib/python3.1"
ln -s "${PREFIX}/lib/python3.11" "${PREFIX}/lib/python3.1"
11 changes: 7 additions & 4 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
python:
- 3.10
- 3.11
python_impl:
- cpython
libffi: # [win]
- 3.4 # [win]
numpy:
- 1.16
MACOSX_SDK_VERSION: # [osx and x86_64]
- 11.0 # [osx and x86_64]
- 1.21
MACOSX_SDK_VERSION: # [osx and x86_64]
- 10.14 # [osx and x86_64]
CONDA_BUILD_SYSROOT: # [osx and x86_64]
- /opt/MacOSX10.14.sdk # [osx and x86_64]

34 changes: 18 additions & 16 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{% set version = "3.10.9" %}
{% set version = "3.11.0" %}
{% set dev = "" %}
{% set dev_ = "" %}
{% set ver2 = '.'.join(version.split('.')[0:2]) %}
{% set ver2nd = ''.join(version.split('.')[0:2]) %}
{% set ver3nd = ''.join(version.split('.')[0:3]) %}
{% set build_number = "0" %}
{% set build_number = "2" %}
{% set channel_targets = ('abc', 'def') %}
# this is just for the initial build, to break dependencies with python -> pip -> libpython-static
{% set bootstrap = "false" %}

# this makes the linter happy
{% set channel_targets = channel_targets or 'conda-forge main' %}
Expand Down Expand Up @@ -48,12 +50,11 @@ source:
{% else %}
- url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz
# md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}/
sha256: 5ae03e308260164baba39921fdb4dbf8e6d03d8235a939d4582b33f0b5e46a83
sha256: a57dc82d77358617ba65b9841cee1e3b441f386c3789ddc0676eca077f2951c3
{% endif %}
patches:
- patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch
- patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch
- patches/0003-Support-cross-compiling-byte-code.patch
# https://github.com/python/cpython/pull/28501
- patches/0004-bpo-45258-search-for-isysroot-in-addition-to-sysroot.patch
# https://github.com/pypa/distutils/pull/54
Expand Down Expand Up @@ -144,27 +145,25 @@ outputs:
# Putting these here means they get emitted to build_env_setup.{sh,bat} meaning we can launch IDEs
# after sourcing or calling that script without examine the contents of conda_build.{sh,bat} for
# important env. vars.
- OPENSSL_DIR=%PREFIX%\Library # [win]
- SQLITE3_DIR=%PREFIX%\Library # [win]
{% if 'conda-forge' in channel_targets %}
- CONDA_FORGE=yes
{% else %}
- CONDA_FORGE=no
{% endif %}
missing_dso_whitelist: # [win or linux64]
missing_dso_whitelist: # [win or linux]
- '**/MSVCR71.dll' # [win]
- '**/MSVCR80.dll' # [win]
# I have no idea why this is not in C:\Windows\System32\downlevel
- '**/api-ms-win-core-path-l1-1-0.dll' # [win]
# -=- libs that come from the sysroot.
- '$RPATH/libc.so.6' # [linux64]
- '$RPATH/libcrypt.so.1' # [linux64]
- '$RPATH/libdl.so.2' # [linux64]
- '$RPATH/libm.so.6' # [linux64]
- '$RPATH/libnsl.so.1' # [linux64]
- '$RPATH/libpthread.so.0' # [linux64]
- '$RPATH/librt.so.1' # [linux64]
- '$RPATH/libutil.so.1' # [linux64]
- '$RPATH/libc.so.6' # [linux]
- '$RPATH/libcrypt.so.1' # [linux]
- '$RPATH/libdl.so.2' # [linux]
- '$RPATH/libm.so.6' # [linux]
- '$RPATH/libnsl.so.1' # [linux]
- '$RPATH/libpthread.so.0' # [linux]
- '$RPATH/librt.so.1' # [linux]
- '$RPATH/libutil.so.1' # [linux]

requirements:
build:
Expand Down Expand Up @@ -262,6 +261,7 @@ outputs:
- if not exist %PREFIX%\\Scripts\\idle.exe exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\2to3.exe exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\pydoc.exe exit 1 # [win]
- if not exist %PREFIX%\\libs\\python{{ ver2nd }}.lib exit 1 # [win]
- pushd tests
- pushd distutils
- python setup.py install -v -v
Expand All @@ -283,7 +283,7 @@ outputs:
# Test for segfault on osx-64 with libffi=3.4, see https://bugs.python.org/issue44556
- python -c "from ctypes import CFUNCTYPE; CFUNCTYPE(None)(id)"

{% if target_platform != "linux-aarch64" %}
{% if bootstrap != "true" %}
- name: libpython-static
script: build_static.sh # [unix]
script: build_static.bat # [win]
Expand Down Expand Up @@ -315,6 +315,7 @@ outputs:
- {{ compiler('c') }}
# Tried to use enable_language(C) to avoid needing this. It does not work.
- {{ compiler('cxx') }}
- ripgrep

commands:
- pushd tests # [unix]
Expand All @@ -333,6 +334,7 @@ about:
license_family: PSF
license_url: https://docs.python.org/3/license.html
license_file: LICENSE
license_url: https://spdx.org/licenses/PSF-2.0.html
summary: General purpose programming language
description: |
Python is a widely used high-level, general-purpose, interpreted, dynamic
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From a9cd933d936a603aa2326fe57a73d086609603c3 Mon Sep 17 00:00:00 2001
From eea5d6141bd04ecee4c69e1c824832eaaaa868e7 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 16 Aug 2017 11:53:55 +0100
Subject: [PATCH 01/25] Win32: Change FD_SETSIZE from 512 to 2048
Expand All @@ -9,10 +9,10 @@ https://github.com/ContinuumIO/anaconda-issues/issues/1241
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 3afcb0e2a0..1ee953a6ae 100644
index 4eea928a26..e3c5d82722 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -33,7 +33,7 @@
@@ -38,7 +38,7 @@
FD_SETSIZE higher before this; e.g., via compiler /D switch.
*/
#if defined(MS_WINDOWS) && !defined(FD_SETSIZE)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From f1b33ab8c49a4c2ed8cb6a3f6fa82a5fec275678 Mon Sep 17 00:00:00 2001
From d8bf2f38eaca64e43db278f35a108a911705df5a Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 16 Aug 2017 11:59:00 +0100
Subject: [PATCH 02/25] Win32: distutils: Add support to cygwinccompiler for
Expand Down
124 changes: 0 additions & 124 deletions recipe/patches/0003-Support-cross-compiling-byte-code.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 7701b45e89abdbf1980152441b239f717396813e Mon Sep 17 00:00:00 2001
From ee8295653f5fe6b1bb8556e8e8fa33b73c2f633b Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Tue, 21 Sep 2021 13:05:20 -0500
Subject: [PATCH 04/25] bpo-45258: search for -isysroot in addition to
Subject: [PATCH 03/25] bpo-45258: search for -isysroot in addition to
--sysroot

-isysroot is for macOS, while --sysroot is for gcc/linux
Expand All @@ -10,10 +10,10 @@ Subject: [PATCH 04/25] bpo-45258: search for -isysroot in addition to
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index e74a275edb..534b14104b 100644
index 15d0d4576a..a15a7a46e0 100644
--- a/setup.py
+++ b/setup.py
@@ -163,7 +163,7 @@ def sysroot_paths(make_vars, subdirs):
@@ -166,7 +166,7 @@ def sysroot_paths(make_vars, subdirs):
for var_name in make_vars:
var = sysconfig.get_config_var(var_name)
if var is not None:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From edf60960821da692372bef7afcdc6e1e23c3594e Mon Sep 17 00:00:00 2001
From 5e8e82052a141f24c89acc56c275ade16ce21a4c Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Thu, 5 Oct 2017 02:00:41 +0100
Subject: [PATCH 05/25] runtime_library_dir_option: Use 1st word of CC as
Subject: [PATCH 04/25] runtime_library_dir_option: Use 1st word of CC as
compiler

Previous, 'CC' got passed to os.path.basename, so any paths in it after
Expand Down
Loading