diff --git a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml index 60706a5..1bdbd45 100644 --- a/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml @@ -9,7 +9,7 @@ c_stdlib_version: cdt_name: - conda cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml index 5e69bd6..569a0b4 100644 --- a/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml @@ -9,7 +9,7 @@ c_stdlib_version: cdt_name: - conda cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml index 5e11eb3..b462d85 100644 --- a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml @@ -9,7 +9,7 @@ c_stdlib_version: cdt_name: - conda cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml index 3351355..fcd671a 100644 --- a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml @@ -9,7 +9,7 @@ c_stdlib_version: cdt_name: - conda cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/migrations/cfitsio441.yaml b/.ci_support/migrations/cfitsio441.yaml deleted file mode 100644 index 80270f2..0000000 --- a/.ci_support/migrations/cfitsio441.yaml +++ /dev/null @@ -1,8 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for cfitsio 4.4.1 - kind: version - migration_number: 1 -cfitsio: -- 4.4.1 -migrator_ts: 1718934381.4672027 diff --git a/.ci_support/migrations/cfitsio462.yaml b/.ci_support/migrations/cfitsio462.yaml new file mode 100644 index 0000000..c70f175 --- /dev/null +++ b/.ci_support/migrations/cfitsio462.yaml @@ -0,0 +1,8 @@ +__migrator: + build_number: 1 + commit_message: Rebuild for cfitsio 4.6.2 + kind: version + migration_number: 1 +cfitsio: +- 4.6.2 +migrator_ts: 1743652730.340723 diff --git a/.ci_support/migrations/pypy38.yaml b/.ci_support/migrations/pypy38.yaml deleted file mode 100644 index 2dd1ff4..0000000 --- a/.ci_support/migrations/pypy38.yaml +++ /dev/null @@ -1,43 +0,0 @@ -migrator_ts: 1647123563 -__migrator: - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - - 3.8.* *_73_pypy - - 3.9.* *_73_pypy - paused: False - longterm: True - use_local: False - check_solvable: True - exclude_pinned_pkgs: False - pr_limit: 10 - bump_number: 1 - commit_message: "Rebuild for PyPy3.8 and PyPy3.9" - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - ignored_deps_per_node: - matplotlib: - - pyqt - -python: - - 3.8.* *_73_pypy # [not (osx and arm64)] - - 3.9.* *_73_pypy # [not (osx and arm64)] -numpy: - # part of a zip_keys: python, python_impl, numpy - - 1.20 # [not (osx and arm64)] - - 1.20 # [not (osx and arm64)] -python_impl: - - pypy # [not (osx and arm64)] - - pypy # [not (osx and arm64)] diff --git a/.ci_support/migrations/python312.yaml b/.ci_support/migrations/python312.yaml deleted file mode 100644 index d4c1cd3..0000000 --- a/.ci_support/migrations/python312.yaml +++ /dev/null @@ -1,38 +0,0 @@ -migrator_ts: 1695046563 -__migrator: - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython - - 3.11.* *_cpython - - 3.12.* *_cpython # new entry - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - - 3.8.* *_73_pypy - - 3.9.* *_73_pypy - paused: false - longterm: True - pr_limit: 30 - max_solver_attempts: 5 # this will make the bot retry "not solvable" stuff 5 times - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - - cross-python - - python_abi - exclude_pinned_pkgs: false - -python: - - 3.12.* *_cpython -# additional entries to add for zip_keys -numpy: - - 1.26 -python_impl: - - cpython diff --git a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml index 54a5ffb..a6c1b9b 100644 --- a/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml index bc4f1c1..12ece66 100644 --- a/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml index cbf89a7..6909fac 100644 --- a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml index 059298d..77670d3 100644 --- a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' cfitsio: -- 4.4.1 +- 4.6.2 channel_sources: - conda-forge channel_targets: diff --git a/.gitignore b/.gitignore index bb38536..47b5408 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ # Rattler-build's artifacts are in `output` when not specifying anything. /output +# Pixi's configuration +.pixi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 00f377a..6ee04aa 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -12,7 +12,7 @@ source .scripts/logging_utils.sh set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" -PROVIDER_DIR="$(basename $THISDIR)" +PROVIDER_DIR="$(basename "$THISDIR")" FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" diff --git a/build-locally.py b/build-locally.py index c4a56c6..02c2374 100755 --- a/build-locally.py +++ b/build-locally.py @@ -10,6 +10,7 @@ import os import platform import subprocess +import sys from argparse import ArgumentParser @@ -44,10 +45,19 @@ def run_osx_build(ns): subprocess.check_call([script]) +def run_win_build(ns): + script = ".scripts/run_win_build.bat" + subprocess.check_call(["cmd", "/D", "/Q", "/C", f"CALL {script}"]) + + def verify_config(ns): + choices_filter = ns.filter or "*" valid_configs = { - os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") + os.path.basename(f)[:-5] + for f in glob.glob(f".ci_support/{choices_filter}.yaml") } + if choices_filter != "*": + print(f"filtering for '{choices_filter}.yaml' configs") print(f"valid configs are {valid_configs}") if ns.config in valid_configs: print("Using " + ns.config + " configuration") @@ -60,30 +70,37 @@ def verify_config(ns): selections = list(enumerate(sorted(valid_configs), 1)) for i, c in selections: print(f"{i}. {c}") - s = input("\n> ") + try: + s = input("\n> ") + except KeyboardInterrupt: + print("\nno option selected, bye!", file=sys.stderr) + sys.exit(1) idx = int(s) - 1 ns.config = selections[idx][1] print(f"selected {ns.config}") else: raise ValueError("config " + ns.config + " is not valid") - # Remove the following, as implemented - if ns.config.startswith("win"): - raise ValueError( - f"only Linux/macOS configs currently supported, got {ns.config}" + if ( + ns.config.startswith("osx") + and platform.system() == "Darwin" + and not os.environ.get("OSX_SDK_DIR") + ): + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) - elif ns.config.startswith("osx"): - if "OSX_SDK_DIR" not in os.environ: - raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " - "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " - "Note: OSX_SDK_DIR must be set to an absolute path. " - "Setting this variable implies agreement to the licensing terms of the SDK by Apple." - ) def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--filter", + default=None, + help="Glob string to filter which build choices are presented in interactive mode.", + ) p.add_argument( "--debug", action="store_true", @@ -104,6 +121,8 @@ def main(args=None): run_docker_build(ns) elif ns.config.startswith("osx"): run_osx_build(ns) + elif ns.config.startswith("win"): + run_win_build(ns) finally: recipe_license_file = os.path.join( "recipe", "recipe-scripts-license.txt" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index deb910d..099b198 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,7 +14,7 @@ source: - 0004-swig410-flatstatic.patch build: - number: 0 + number: 1 skip: true # [win or (python_impl == 'pypy')] requirements: