diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 84a05ec3..acf21ca6 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -18,6 +18,26 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 SHORT_CONFIG: linux_64_build_typereleasechannel_t_h0a44af7c38 + linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug: + CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_aarch64_build_typedebugchanne_h4e1127e844 + linux_aarch64_build_typereleasechannel_targetsconda-forge_main: + CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_main + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_aarch64_build_typereleasechan_hcde066807d + linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug: + CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_ppc64le_build_typedebugchanne_he8193b4f7f + linux_ppc64le_build_typereleasechannel_targetsconda-forge_main: + CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_main + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_ppc64le_build_typereleasechan_h12bca821c7 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8be59069..ae079344 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -25,7 +25,7 @@ jobs: scriptSource: inline script: | import urllib.request - url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Windows-x86_64.exe' path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" urllib.request.urlretrieve(url, path) diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml index c29363c0..3b3d4b76 100644 --- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml +++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml @@ -9,9 +9,9 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml index e36dd35f..44643869 100644 --- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml +++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml @@ -9,9 +9,9 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml index f8c064ec..8959a117 100644 --- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml +++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml @@ -25,7 +25,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 expat: - '2' libffi: diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml index 116d25a4..256d6c49 100644 --- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml +++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml @@ -25,7 +25,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 expat: - '2' libffi: diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml index 663fa252..16804e7b 100644 --- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml +++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml @@ -21,7 +21,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 expat: - '2' libffi: diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml index 8b77b890..d955476d 100644 --- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml +++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml @@ -21,7 +21,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 expat: - '2' libffi: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 07d926d8..837e09f1 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -43,15 +43,22 @@ setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" source run_conda_forge_build_setup +( +# Due to https://bugzilla.redhat.com/show_bug.cgi?id=1537564 old versions of rpm +# are drastically slowed down when the number of file descriptors is very high. +# This can be visible during a `yum install` step of a feedstock build. +# => Set a lower limit in a subshell for the `yum install`s only. +ulimit -n 1024 # Install the yum requirements defined canonically in the # "recipe/yum_requirements.txt" file. After updating that file, # run "conda smithy rerender" and this line will be updated # automatically. -/usr/bin/sudo -n yum install -y libx11 libXext-devel libXrender-devel libSM-devel libX11-devel +/usr/bin/sudo -n yum install -y libX11 libxcb libxau -# make the build number clobber + +)# make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then @@ -80,7 +87,6 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" - ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 2e644779..26c31365 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -11,7 +11,7 @@ MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} ( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" +MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 31daf299..00000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. - -language: shell - - - -jobs: - include: - - env: CONFIG=linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_aarch64_build_typereleasechannel_targetsconda-forge_main UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - - - env: CONFIG=linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_build_typereleasechannel_targetsconda-forge_main UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export flow_run_id="travis_$TRAVIS_JOB_ID" - - export sha="$TRAVIS_COMMIT" - - export remote_url="https://github.com/$TRAVIS_REPO_SLUG" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index 758d0244..1562065d 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,7 @@ Current build status ==================== - - - - +
Travis - - linux - -
@@ -141,14 +134,14 @@ Current release info Installing python ================= -Installing `python` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: +Installing `python` from the `conda-forge/label/python_debug` channel can be achieved by adding `conda-forge/label/python_debug` to your channels with: ``` -conda config --add channels conda-forge +conda config --add channels conda-forge/label/python_debug conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libpython-static, python` can be installed with `conda`: +Once the `conda-forge/label/python_debug` channel has been enabled, `libpython-static, python` can be installed with `conda`: ``` conda install libpython-static python @@ -163,26 +156,26 @@ mamba install libpython-static python It is possible to list all of the versions of `libpython-static` available on your platform with `conda`: ``` -conda search libpython-static --channel conda-forge +conda search libpython-static --channel conda-forge/label/python_debug ``` or with `mamba`: ``` -mamba search libpython-static --channel conda-forge +mamba search libpython-static --channel conda-forge/label/python_debug ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search libpython-static --channel conda-forge +mamba repoquery search libpython-static --channel conda-forge/label/python_debug # List packages depending on `libpython-static`: -mamba repoquery whoneeds libpython-static --channel conda-forge +mamba repoquery whoneeds libpython-static --channel conda-forge/label/python_debug # List dependencies of `libpython-static`: -mamba repoquery depends libpython-static --channel conda-forge +mamba repoquery depends libpython-static --channel conda-forge/label/python_debug ``` diff --git a/build-locally.py b/build-locally.py index e0d408d0..d78427b5 100755 --- a/build-locally.py +++ b/build-locally.py @@ -3,11 +3,11 @@ # This file has been generated by conda-smithy in order to build the recipe # locally. # -import os import glob +import os +import platform import subprocess from argparse import ArgumentParser -import platform def setup_environment(ns): diff --git a/conda-forge.yml b/conda-forge.yml index edc9c39a..9ee5f49f 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,4 +1,4 @@ -build_platform: {osx_arm64: osx_64} +build_platform: {osx_arm64: osx_64, linux_ppc64le: linux_64, linux_aarch64: linux_64} conda_forge_output_validation: true provider: {linux_aarch64: default, linux_ppc64le: native} bot: diff --git a/recipe/build_base.sh b/recipe/build_base.sh index 96221de2..3c09c291 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -152,12 +152,12 @@ if [[ "${CONDA_BUILD_CROSS_COMPILATION}" == "1" ]]; then BUILD_PYTHON_PREFIX=${PWD}/build-python-install mkdir build-python-build pushd build-python-build - (unset CPPFLAGS; - export CC=${CC_FOR_BUILD} \ + (export CC=${CC_FOR_BUILD} \ CXX=${CXX_FOR_BUILD} \ CPP="${CC_FOR_BUILD} -E" \ - CFLAGS="-O2" \ - LDFLAGS=${LDFLAGS//${PREFIX}/${CONDA_PREFIX}} \ + CFLAGS="-O2 -I${BUILD_PREFIX}/include" \ + CPPFLAGS="-O2 -I${BUILD_PREFIX}/include" \ + LDFLAGS=${LDFLAGS//${PREFIX}/${BUILD_PREFIX}} \ PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig \ AR="$(${CC_FOR_BUILD} --print-prog-name=ar)" \ RANLIB="$(${CC_FOR_BUILD} --print-prog-name=ranlib)" \ @@ -174,15 +174,17 @@ if [[ "${CONDA_BUILD_CROSS_COMPILATION}" == "1" ]]; then ln -s ${BUILD_PYTHON_PREFIX}/bin/python${VER} ${BUILD_PYTHON_PREFIX}/bin/python popd echo "ac_cv_file__dev_ptmx=yes" > config.site - echo "ac_cv_file__dev_ptc=yes" >> config.site + echo "ac_cv_file__dev_ptc=no" >> config.site echo "ac_cv_pthread=yes" >> config.site echo "ac_cv_little_endian_double=yes" >> config.site - if [[ ${target_platform} == osx-arm64 ]]; then + if [[ "${target_platform}" == "osx-arm64" || "${target_platform}" == "linux-ppc64le" || "${target_platform}" == "linux-aarch64" ]]; then echo "ac_cv_aligned_required=no" >> config.site - echo "ac_cv_file__dev_ptc=no" >> config.site echo "ac_cv_pthread_is_default=yes" >> config.site echo "ac_cv_working_tzset=yes" >> config.site echo "ac_cv_pthread_system_supported=yes" >> config.site + else + echo "unknown cross compiling platform" + exit 1 fi export CONFIG_SITE=${PWD}/config.site # This is needed for libffi: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fe32deb3..64186732 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.12.4" %} +{% set version = "3.12.5" %} {% set dev = "" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} @@ -46,7 +46,7 @@ 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 }}{{ dev }}/ - md5: d68f25193eec491eb54bc2ea664a05bd + md5: 02c7d269e077f4034963bba6befdc715 {% endif %} patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch @@ -160,10 +160,19 @@ outputs: {% if 'conda-forge' in channel_targets %} - binutils_impl_{{ target_platform }} # [linux] {% endif %} - - tk # [build_platform != target_platform] - - readline # [build_platform != target_platform] - - ncurses # [build_platform != target_platform] - - zlib # [build_platform != target_platform] + - bzip2 # [build_platform != target_platform] + - sqlite # [build_platform != target_platform] + - xz # [build_platform != target_platform] + - zlib # [build_platform != target_platform] + - openssl # [build_platform != target_platform] + - readline # [not win and build_platform != target_platform] + - tk # [build_platform != target_platform] + - ncurses # [unix and build_platform != target_platform] + - libffi # [build_platform != target_platform] + - libnsl # [linux and build_platform != target_platform] + - libuuid # [linux and build_platform != target_platform] + - libxcrypt # [linux and build_platform != target_platform] + - expat # [build_platform != target_platform] host: - bzip2 - sqlite diff --git a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch index 450beeac..ac282264 100644 --- a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch +++ b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch @@ -27,9 +27,14 @@ new file mode 100755 index 0000000000..14f84a8597 --- /dev/null +++ b/if_runnable.sh -@@ -0,0 +1,5 @@ +@@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "${target_platform}" == "${build_platform}" || "${CROSSCOMPILING_EMULATOR:-}" != "" ]]; then -+ exec $* ++ if [[ "$1" == "./"* ]]; then ++ exec $@ ++ else ++ export ${@:1:$#-2} ++ exec ${@: -2} ++ fi +fi diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index 8991c682..cfb2ee6b 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -1,5 +1,3 @@ -libx11 -libXext-devel -libXrender-devel -libSM-devel -libX11-devel +libX11 +libxcb +libxau
Azure