Current File : /home/inlingua/miniconda3/pkgs/python-3.10.16-he870216_1/info/recipe/parent/meta.yaml.orig |
{% set version = "3.10.0" %}
{% set dev = "rc2" %}
{% 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 channel_targets = ('abc', 'def') %}
# this makes the linter happy
{% set channel_targets = channel_targets or 'conda-forge main' %}
# Sanitize build system env. var tweak parameters
# (passed to the build scripts via script_env).
{% set from_source_control = os.environ.get('CONDA_BUILD_FROM_SOURCE_CONTROL', '') %}
{% if from_source_control == '' or from_source_control == 'no' %}
{% set from_source_control = 'no' %}
{% else %}
{% set from_source_control = 'yes' %}
{% endif %}
{% set linkage_nature = os.environ.get('PY_INTERP_LINKAGE_NATURE', '') %}
{% if linkage_nature != '' %}
{% set linkage_nature = "_" ~ linkage_nature %}
{% endif %}
{% if linkage_nature == 'shared' %}
{% set linkage_nature_env = 'shared' %}
{% else %}
{% set linkage_nature_env = 'static' %}
{% endif %}
{% set dbg_abi = "" %}
{% set debug = os.environ.get('PY_INTERP_DEBUG', '') %}
{% if debug != '' and debug != 'no' %}
{% set py_interp_debug = "yes" %}
{% set debug = "_dbg" %}
{% set dbg_abi = "d" %} # [win]
{% else %}
{% set py_interp_debug = "no" %}
{% endif %}
package:
name: python-split
version: {{ version }}{{ dev }}
source:
{% if from_source_control == 'yes' %}
- git_url: https://github.com/python/CPython.git
git_tag: v{{ version }}{{ dev }}
{% else %}
- url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz
# md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}/
md5: d3bfe8004516dd5b2afc649ff94be965
{% 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
- patches/0005-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch
- patches/0006-Win32-Do-not-download-externals.patch
- patches/0007-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch
# https://github.com/python/cpython/pull/28397
- patches/0008-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch
- patches/0009-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch
- patches/0010-Unvendor-openssl.patch
- patches/0011-Unvendor-sqlite3.patch
- patches/0012-venv-Revert-a-change-from-https-github.com-python-cp.patch
- patches/0013-Win-Add-back-the-DLLSuffix-used-to-find-the-openssl-.patch
# https://github.com/pypa/distutils/pull/53
- patches/0014-Use-ranlib-from-env-if-env-variable-is-set.patch
- patches/0015-Add-CondaEcosystemModifyDllSearchPath.patch
- patches/0016-Add-d1trimfile-SRC_DIR-to-make-pdbs-more-relocatable.patch
- patches/0017-Doing-d1trimfile.patch
# https://github.com/python/cpython/pull/23523
- patches/0018-cross-compile-darwin.patch
- patches/0019-Fix-TZPATH-on-windows.patch
# https://github.com/python/cpython/pull/24324
- patches/0020-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch
# https://github.com/pypa/distutils/pull/53
- patches/0021-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch
- patches/0022-Unvendor-bzip2.patch
- patches/0023-Unvendor-libffi.patch
- patches/0024-Unvendor-tcltk.patch
- patches/0025-unvendor-xz.patch
- patches/0026-unvendor-zlib.patch
build:
number: {{ build_number }}
requirements:
build:
{% if from_source_control == 'yes' %}
- git
{% else %}
- patch # [not win]
- m2-patch # [win]
- m2-gcc-libs # [win]
{% endif %}
outputs:
- name: python
script: build_base.sh # [unix]
script: build_base.bat # [win]
build:
number: {{ build_number }}
activate_in_script: true
# Windows has issues updating python if conda is using files itself.
# Copy rather than link.
no_link:
- DLLs/_ctypes.pyd # [win]
ignore_run_exports_from: # [unix]
# C++ only installed so CXX is defined for distutils/sysconfig.
- {{ compiler('cxx') }} # [unix]
# Disabled until verified to work correctly
detect_binary_files_with_prefix: true
# detect_binary_files_with_prefix: False
# binary_has_prefix_files:
# - lib/libpython{{ ver2 }}.*.1.0
# - bin/python{{ ver2 }} # [linux]
# - lib/libpython{{ ver2 }}.a # [linux]
# - lib/libpython{{ ver2 }}.nolto.a # [linux]
# - lib/libpython3.so # [linux]
# - lib/python{{ ver2 }}/lib-dynload/_hashlib.cpython-{{ ver2nd }}-x86_64-linux-gnu.so # [linux]
# - lib/libpython3.dylib # [osx]
# match python.org compiler standard
skip: true # [win and int(float(vc)) < 14]
skip_compile_pyc:
- '*.py' # [build_platform != target_platform]
string: {{ dev_ }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }}_cpython # ["conda-forge" in (channel_targets or "")]
string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }} # ["conda-forge" not in (channel_targets or "")]
{% if 'conda-forge' in channel_targets %}
run_exports:
noarch:
- python
weak:
- python_abi {{ ver2 }}.* *_cp{{ ver2nd }}
{% endif %}
script_env:
- PY_INTERP_LINKAGE_NATURE={{ linkage_nature_env }}
- PY_INTERP_DEBUG={{ py_interp_debug }}
# 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]
- '**/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]
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- sed # [unix]
- {{ cdt('xorg-x11-proto-devel') }} # [linux]
- {{ cdt('libx11-devel') }} # [linux]
- make # [not win]
- libtool # [unix]
- pkg-config # [not win]
# configure script looks for llvm-ar for lto
- llvm-tools # [osx]
- ld_impl_{{ target_platform }} # [linux]
{% if 'conda-forge' in channel_targets %}
- binutils_impl_{{ target_platform }} # [linux]
{% endif %}
host:
- bzip2
- sqlite
- xz
- zlib
- openssl
- readline # [not win]
- tk
- ncurses # [unix]
- libffi
- ld_impl_{{ target_platform }} # [linux]
- libuuid # [linux]
run:
- ld_impl_{{ target_platform }} # [linux]
- tzdata
{% if 'conda-forge' in channel_targets %}
- ncurses # [unix]
run_constrained:
- python_abi {{ ver2 }}.* *_cp{{ ver2nd }}
{% endif %}
test:
{% if 'conda-forge' in channel_targets %}
downstreams:
- cython
- setuptools
{% endif %}
requires:
- ripgrep
- cmake # [not (linux and ppc64le)]
- make # [unix]
- ninja
- {{ compiler('c') }}
# Tried to use enable_language(C) to avoid needing this. It does not work.
- {{ compiler('cxx') }}
files:
- tests/distutils/*
- tests/cmake/*
- tests/cython/*
- tests/prefix-replacement/*
- run_test.py
commands:
- echo on # [win]
- set # [win]
- python -V
- python3 -V # [not win]
- 2to3 -h
- pydoc -h
- python3-config --help # [not win]
- set "PIP_NO_BUILD_ISOLATION=False" # [win]
- set "PIP_NO_DEPENDENCIES=True" # [win]
- set "PIP_IGNORE_INSTALLED=True" # [win]
- set "PIP_NO_INDEX=True" # [win]
- set "PIP_CACHE_DIR=%CONDA_PREFIX%/pip_cache" # [win]
- set "TEMP=%CONDA_PREFIX%/tmp" # [win]
- mkdir "%TEMP%" # [win]
- python -Im ensurepip --upgrade --default-pip # [win]
# tzdata/zoneinfo test that will need the tzdata package to pass
- python -c "from zoneinfo import ZoneInfo; from datetime import datetime; dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo('America/Los_Angeles')); print(dt.tzname())"
- python -m venv test-venv
- python -c "import sysconfig; print(sysconfig.get_config_var('CC'))" # [not win]
- _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu python -c "import sysconfig; print(sysconfig.get_config_var('CC'))" # [linux64]
# check for unreplaced @ symbols in sysconfig files
- for f in ${CONDA_PREFIX}/lib/python*/_sysconfig*.py; do echo "Checking $f:"; if [[ `rg @ $f` ]]; then echo "FAILED ON $f"; cat $f; exit 1; fi; done # [linux64 or osx]
- test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.a # [unix]
- test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.nolto.a # [unix]
# https://github.com/conda-forge/python-feedstock/issues/384
- if exist %PREFIX%\\Scripts\\pydoc exit 1 # [win]
- if exist %PREFIX%\\Scripts\\idle exit 1 # [win]
- if exist %PREFIX%\\Scripts\\2to3 exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\pydoc-script.py exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\idle-script.py exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\2to3-script.py exit 1 # [win]
- 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]
- pushd tests
- pushd distutils
- python setup.py install -v -v
- python -c "import foobar"
- popd
- pushd prefix-replacement # [unix]
- bash build-and-test.sh # [unix]
- popd # [unix]
- pushd cmake
- cmake -GNinja -DPY_VER={{ version }}
# --trace --debug-output --debug-trycompile .
- popd
- popd
- python run_test.py
- test ! -f default.profraw # [osx]
- name: libpython-static
script: build_static.sh # [unix]
script: build_static.bat # [win]
build:
number: {{ build_number }}
activate_in_script: true
ignore_run_exports:
- python_abi
string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }}_cpython # ["conda-forge" in (channel_targets or "")]
string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }} # ["conda-forge" not in (channel_targets or "")]
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if from_source_control == 'yes' %}
- git
{% endif %}
host:
- {{ pin_subpackage('python', exact=True) }}
run:
- {{ pin_subpackage('python', exact=True) }}
test:
commands:
- test -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.a # [unix]
- test -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.nolto.a # [unix]
- test -f ${PREFIX}/lib/python${PKG_VERSION%.*}/config-${PKG_VERSION%.*}-darwin/libpython${PKG_VERSION%.*}.a # [osx]
about:
home: https://www.python.org/
license: Python-2.0
license_file: LICENSE
summary: General purpose programming language
description: |
Python is a widely used high-level, general-purpose, interpreted, dynamic
programming language. Its design philosophy emphasizes code
readability, and its syntax allows programmers to express concepts in
fewer lines of code than would be possible in languages such as C++ or
Java. The language provides constructs intended to enable clear programs
on both a small and large scale.
doc_url: https://www.python.org/doc/versions/
doc_source_url: https://github.com/python/pythondotorg/blob/master/docs/source/index.rst
dev_url: https://docs.python.org/devguide/
extra:
feedstock-name: python
recipe-maintainers:
- isuruf
- jakirkham
- mbargull
- mingwandroid
- msarahan
- pelson
- ocefpaf
- scopatz