From 7682b90b309aac090825bf5e1f7b290a35ca8199 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Thu, 31 Oct 2019 09:58:32 -0700 Subject: [PATCH 01/33] Add freetype dependencies so that tk builds with freetype fonts --- recipe/meta.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e89489e..5c6a488 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,7 +14,7 @@ source: sha256: d3f9161e8ba0f107fe8d4df1f6d3a14c30cc3512dfc12a795daa367a27660dac build: - number: 1003 + number: 1004 detect_binary_files_with_prefix: true run_exports: # pin to major.minor because library names have that info in them @@ -30,6 +30,9 @@ requirements: - make # [linux] host: - zlib # [unix] + - freetype # [unix] + - fontconfig # [unix] + - xorg-libxft # [unix] test: From 8a981bf2021fa98e5f1edd18dc9101e2f616bcb7 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Thu, 31 Oct 2019 11:24:01 -0700 Subject: [PATCH 02/33] Add run requirements --- recipe/meta.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5c6a488..fcee837 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,6 +33,11 @@ requirements: - freetype # [unix] - fontconfig # [unix] - xorg-libxft # [unix] + run: + - zlib # [unix] + - freetype # [unix] + - fontconfig # [unix] + - xorg-libxft # [unix] test: From ed280c3a07c248fc5d25684d5ac3c5b2b7eb0c52 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Thu, 31 Oct 2019 13:51:39 -0700 Subject: [PATCH 03/33] Use run_exports on new host requirements --- recipe/meta.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fcee837..c4ad9a7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -30,14 +30,10 @@ requirements: - make # [linux] host: - zlib # [unix] - - freetype # [unix] - - fontconfig # [unix] - - xorg-libxft # [unix] - run: - - zlib # [unix] - - freetype # [unix] - - fontconfig # [unix] - - xorg-libxft # [unix] + run_exports: + - freetype # [unix] + - fontconfig # [unix] + - xorg-libxft # [unix] test: From c95f6b5b43a9d165c1ec1f3ad7d0d314fccd2af9 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 8 May 2020 14:00:10 -0700 Subject: [PATCH 04/33] Move requirements to host --- recipe/meta.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c4ad9a7..5238392 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -30,10 +30,9 @@ requirements: - make # [linux] host: - zlib # [unix] - run_exports: - - freetype # [unix] - - fontconfig # [unix] - - xorg-libxft # [unix] + - freetype + - fontconfig + - xorg-libxft test: From 447e7db3c035db446ae6ec9c94c4f4036f9eec89 Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Fri, 8 May 2020 22:12:32 +0000 Subject: [PATCH 05/33] MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.0, and conda-forge-pinning 2020.05.08.11.44.00 --- .azure-pipelines/azure-pipelines-osx.yml | 60 ++---------------------- .azure-pipelines/azure-pipelines-win.yml | 35 +++++++------- .ci_support/linux_.yaml | 8 ++++ .ci_support/linux_aarch64_.yaml | 10 +++- .ci_support/linux_ppc64le_.yaml | 8 ++++ .ci_support/osx_.yaml | 8 ++++ .ci_support/win_.yaml | 15 ++++++ .ci_support/win_c_compilervs2008.yaml | 6 --- .ci_support/win_c_compilervs2015.yaml | 6 --- .scripts/build_steps.sh | 5 +- .scripts/run_docker_build.sh | 4 +- .scripts/run_osx_build.sh | 55 ++++++++++++++++++++++ README.md | 13 ++--- 13 files changed, 134 insertions(+), 99 deletions(-) create mode 100644 .ci_support/win_.yaml delete mode 100644 .ci_support/win_c_compilervs2008.yaml delete mode 100644 .ci_support/win_c_compilervs2015.yaml create mode 100755 .scripts/run_osx_build.sh diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index ca72508..1971661 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-10.13 + vmImage: macOS-10.14 timeoutInMinutes: 360 strategy: maxParallel: 8 @@ -17,60 +17,10 @@ jobs: steps: # TODO: Fast finish on azure pipelines? - script: | - echo "Fast Finish" - - - - script: | - echo "Removing homebrew from Azure to avoid conflicts." - curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew - chmod +x ~/uninstall_homebrew - ~/uninstall_homebrew -fq - rm ~/uninstall_homebrew - displayName: Remove homebrew - - - bash: | - echo "##vso[task.prependpath]$CONDA/bin" - sudo chown -R $USER $CONDA - displayName: Add conda to PATH - - - script: | - source activate base - conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - displayName: 'Add conda-forge-ci-setup=2' - - - script: | - source activate base - echo "Configuring conda." - - setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml export CI=azure - source run_conda_forge_build_setup - conda update --yes --quiet --override-channels -c conda-forge -c defaults --all - env: { - OSX_FORCE_SDK_DOWNLOAD: "1" - } - displayName: Configure conda and conda-build - - - script: | - source activate base - mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Mangle compiler - - - script: | - source activate base - make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Generate build number clobber file - - - script: | - source activate base - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - displayName: Build recipe - - - script: | - source activate base + export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Upload package + ./.scripts/run_osx_build.sh + displayName: Run OSX build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index bda7037..5b0bfd2 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -10,12 +10,8 @@ jobs: strategy: maxParallel: 4 matrix: - win_c_compilervs2008: - CONFIG: win_c_compilervs2008 - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - win_c_compilervs2015: - CONFIG: win_c_compilervs2015 + win_: + CONFIG: win_ CONDA_BLD_PATH: D:\\bld\\ UPLOAD_PACKAGES: True steps: @@ -60,31 +56,32 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=2' # Optional + packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional installOptions: "-c conda-forge" - updateConda: false + updateConda: true displayName: Install conda-build and activate environment - script: set PYTHONUNBUFFERED=1 + displayName: Set PYTHONUNBUFFERED # Configure the VM - - script: setup_conda_rc .\ .\recipe .\.ci_support\%CONFIG%.yaml + - script: | + call activate base + setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml + displayName: conda-forge CI setup # Configure the VM. - script: | set "CI=azure" + call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - script: | - rmdir C:\strawberry /s /q - continueOnError: true - displayName: remove strawberryperl - # Special cased version setting some more things! - script: | - conda.exe build recipe -m .ci_support\%CONFIG%.yaml + call activate base + conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml displayName: Build recipe (vs2008) env: VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" @@ -92,7 +89,8 @@ jobs: condition: contains(variables['CONFIG'], 'vs2008') - script: | - conda.exe build recipe -m .ci_support\%CONFIG%.yaml + call activate base + conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml displayName: Build recipe env: PYTHONUNBUFFERED: 1 @@ -100,8 +98,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - upload_package .\ .\recipe .ci_support\%CONFIG%.yaml + call activate base + upload_package .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.ci_support/linux_.yaml b/.ci_support/linux_.yaml index 12874cb..1a42cac 100644 --- a/.ci_support/linux_.yaml +++ b/.ci_support/linux_.yaml @@ -8,7 +8,15 @@ channel_targets: - conda-forge main docker_image: - condaforge/linux-anvil-comp7 +fontconfig: +- '2.13' +freetype: +- 2.9.1 pin_run_as_build: + fontconfig: + max_pin: x + freetype: + max_pin: x zlib: max_pin: x.x zlib: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 548fc9e..8ff0182 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -9,12 +9,20 @@ cdt_arch: cdt_name: - cos7 channel_sources: -- conda-forge,c4aarch64,defaults +- conda-forge channel_targets: - conda-forge main docker_image: - condaforge/linux-anvil-aarch64 +fontconfig: +- '2.13' +freetype: +- 2.9.1 pin_run_as_build: + fontconfig: + max_pin: x + freetype: + max_pin: x zlib: max_pin: x.x zlib: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 196f559..641bd6f 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -8,7 +8,15 @@ channel_targets: - conda-forge main docker_image: - condaforge/linux-anvil-ppc64le +fontconfig: +- '2.13' +freetype: +- 2.9.1 pin_run_as_build: + fontconfig: + max_pin: x + freetype: + max_pin: x zlib: max_pin: x.x zlib: diff --git a/.ci_support/osx_.yaml b/.ci_support/osx_.yaml index c2dcbde..fe36f0b 100644 --- a/.ci_support/osx_.yaml +++ b/.ci_support/osx_.yaml @@ -8,11 +8,19 @@ channel_sources: - conda-forge,defaults channel_targets: - conda-forge main +fontconfig: +- '2.13' +freetype: +- 2.9.1 macos_machine: - x86_64-apple-darwin13.4.0 macos_min_version: - '10.9' pin_run_as_build: + fontconfig: + max_pin: x + freetype: + max_pin: x zlib: max_pin: x.x zlib: diff --git a/.ci_support/win_.yaml b/.ci_support/win_.yaml new file mode 100644 index 0000000..2a50eff --- /dev/null +++ b/.ci_support/win_.yaml @@ -0,0 +1,15 @@ +c_compiler: +- vs2017 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +fontconfig: +- '2.13' +freetype: +- 2.9.1 +pin_run_as_build: + fontconfig: + max_pin: x + freetype: + max_pin: x diff --git a/.ci_support/win_c_compilervs2008.yaml b/.ci_support/win_c_compilervs2008.yaml deleted file mode 100644 index e6528d9..0000000 --- a/.ci_support/win_c_compilervs2008.yaml +++ /dev/null @@ -1,6 +0,0 @@ -c_compiler: -- vs2008 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main diff --git a/.ci_support/win_c_compilervs2015.yaml b/.ci_support/win_c_compilervs2015.yaml deleted file mode 100644 index b270047..0000000 --- a/.ci_support/win_c_compilervs2015.yaml +++ /dev/null @@ -1,6 +0,0 @@ -c_compiler: -- vs2015 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 21c8e41..b4f454b 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,8 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=2 conda-build -c conda-forge +conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge + # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -41,7 +42,7 @@ conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 066a857..253723c 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -52,8 +52,10 @@ mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it " + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh new file mode 100755 index 0000000..775799b --- /dev/null +++ b/.scripts/run_osx_build.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +set -x + +echo -e "\n\nInstalling a fresh version of Miniforge." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:install_miniforge\\r' +fi +MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" +MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +bash $MINIFORGE_FILE -b +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:install_miniforge\\r' +fi + +echo -e "\n\nConfiguring conda." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:configure_conda\\r' +fi + +source ${HOME}/miniforge3/etc/profile.d/conda.sh +conda activate base + +echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." +conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip + + + +echo -e "\n\nSetting up the condarc and mangling the compiler." +setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml +mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml + +echo -e "\n\nMangling homebrew in the CI to avoid conflicts." +/usr/bin/sudo mangle_homebrew +/usr/bin/sudo -k + +echo -e "\n\nRunning the build setup script." +source run_conda_forge_build_setup + + +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:configure_conda\\r' +fi + +set -e + +echo -e "\n\nMaking the build clobber file and running the build." +make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + +if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + echo -e "\n\nUploading the packages." + upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml +fi \ No newline at end of file diff --git a/README.md b/README.md index 404f582..a94edae 100644 --- a/README.md +++ b/README.md @@ -57,17 +57,10 @@ Current build status - win_c_compilervs2008 + win - variant - - - - win_c_compilervs2015 - - - variant + variant @@ -121,7 +114,7 @@ A feedstock is made up of a conda recipe (the instructions on what and how to bu the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.org/) it is possible to build and upload installable +and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the [conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. From 93e85c1286b7466bd6371fa109f25ed83794731c Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Mon, 11 May 2020 10:31:44 -0700 Subject: [PATCH 06/33] Add xorg-libxft to run requirements, except windows --- recipe/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4c793b9..9e931c4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -32,7 +32,9 @@ requirements: - zlib # [unix] - freetype - fontconfig - - xorg-libxft + - xorg-libxft # [not win] + run: + - xorg-libxft # [not win] test: From f4498cee4de719768c58ccd612cff367221344ce Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Wed, 27 May 2020 10:01:28 -0700 Subject: [PATCH 07/33] Convert libxft to cdt type dependence --- recipe/meta.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9e931c4..7c34014 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,14 +27,12 @@ requirements: - {{ cdt('libx11-devel') }} # [linux] - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] + - {{ cdt('libxft') }} # [linux] - make # [linux] host: - zlib # [unix] - freetype - fontconfig - - xorg-libxft # [not win] - run: - - xorg-libxft # [not win] test: From ced1d79f808e88bc3c9fd6a5454b180065bb77ed Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 5 Nov 2021 13:33:57 -0700 Subject: [PATCH 08/33] tk/tcl : Bump version number to 8.6.11 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7c34014..3583b15 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "8.6.10" %} +{% set version = "8.6.11" %} {% set maj_min = ".".join(version.split(".")[:2]) %} package: @@ -8,10 +8,10 @@ package: source: - url: https://downloads.sourceforge.net/tcl/tcl{{ version }}-src.tar.gz folder: tcl{{ version }} - sha256: 5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed + sha256: 8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258 - url: https://downloads.sourceforge.net/tcl/tk{{ version }}-src.tar.gz folder: tk{{ version }} - sha256: 63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386 + sha256: 5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282 build: number: 1005 From 0a064dcacf2f88fc178aa2a094a2647c3f89fab1 Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Fri, 5 Nov 2021 21:15:11 +0000 Subject: [PATCH 09/33] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.14.3, and conda-forge-pinning 2021.11.05.20.51.02 --- .azure-pipelines/azure-pipelines-linux.yml | 37 ++++++--- .azure-pipelines/azure-pipelines-osx.yml | 21 +++-- .azure-pipelines/azure-pipelines-win.yml | 34 +++++---- .ci_support/{linux_.yaml => linux_64_.yaml} | 15 +++- .ci_support/linux_aarch64_.yaml | 8 +- .ci_support/linux_ppc64le_.yaml | 12 ++- .ci_support/{osx_.yaml => osx_64_.yaml} | 10 +-- .ci_support/{win_.yaml => win_64_.yaml} | 6 +- .gitattributes | 3 +- .github/workflows/{main.yml => automerge.yml} | 10 +-- .scripts/build_steps.sh | 50 ++++++++++-- .scripts/logging_utils.sh | 35 +++++++++ .scripts/run_docker_build.sh | 46 ++++++++--- .scripts/run_osx_build.sh | 76 +++++++++++-------- LICENSE.txt | 2 +- README.md | 24 +++--- azure-pipelines.yml | 4 +- build-locally.py | 44 ++++++++++- conda-forge.yml | 12 ++- 19 files changed, 324 insertions(+), 125 deletions(-) rename .ci_support/{linux_.yaml => linux_64_.yaml} (62%) rename .ci_support/{osx_.yaml => osx_64_.yaml} (82%) rename .ci_support/{win_.yaml => win_64_.yaml} (79%) rename .github/workflows/{main.yml => automerge.yml} (52%) create mode 100644 .scripts/logging_utils.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 43837f5..a36682a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -5,24 +5,29 @@ jobs: - job: linux pool: - vmImage: ubuntu-16.04 - timeoutInMinutes: 360 + vmImage: ubuntu-latest strategy: - maxParallel: 8 matrix: - linux_: - CONFIG: linux_ - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 + linux_64_: + CONFIG: linux_64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 linux_aarch64_: CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-aarch64 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 linux_ppc64le_: CONFIG: linux_ppc64le_ - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-ppc64le + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + timeoutInMinutes: 360 + steps: + - script: | + rm -rf /opt/ghc + df -h + displayName: Manage disk space + # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -34,7 +39,15 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi .scripts/run_docker_build.sh displayName: Run docker build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 1971661..d7c37d2 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,14 +5,13 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 - timeoutInMinutes: 360 + vmImage: macOS-10.15 strategy: - maxParallel: 8 matrix: - osx_: - CONFIG: osx_ - UPLOAD_PACKAGES: True + osx_64_: + CONFIG: osx_64_ + UPLOAD_PACKAGES: 'True' + timeoutInMinutes: 360 steps: # TODO: Fast finish on azure pipelines? @@ -20,7 +19,15 @@ jobs: export CI=azure export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi ./.scripts/run_osx_build.sh displayName: Run OSX build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 5b0bfd2..b6ce7ac 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -6,20 +6,16 @@ jobs: - job: win pool: vmImage: vs2017-win2016 - timeoutInMinutes: 360 strategy: - maxParallel: 4 matrix: - win_: - CONFIG: win_ - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - steps: - # TODO: Fast finish on azure pipelines? - - script: | - ECHO ON - + win_64_: + CONFIG: win_64_ + UPLOAD_PACKAGES: 'True' + timeoutInMinutes: 360 + variables: + CONDA_BLD_PATH: D:\\bld\\ + steps: - script: | choco install vcpython27 -fdv -y --debug condition: contains(variables['CONFIG'], 'vs2008') @@ -56,7 +52,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional + packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment @@ -90,17 +86,25 @@ jobs: - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 condition: not(contains(variables['CONFIG'], 'vs2008')) + - script: | + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + call activate base + validate_recipe_outputs "%FEEDSTOCK_NAME%" + displayName: Validate Recipe Outputs - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - upload_package .\ ".\recipe" .ci_support\%CONFIG%.yaml + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file diff --git a/.ci_support/linux_.yaml b/.ci_support/linux_64_.yaml similarity index 62% rename from .ci_support/linux_.yaml rename to .ci_support/linux_64_.yaml index 1a42cac..bb7b3d0 100644 --- a/.ci_support/linux_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,17 +1,19 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' +cdt_name: +- cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 fontconfig: - '2.13' freetype: -- 2.9.1 +- '2' pin_run_as_build: fontconfig: max_pin: x @@ -19,5 +21,10 @@ pin_run_as_build: max_pin: x zlib: max_pin: x.x +target_platform: +- linux-64 +zip_keys: +- - cdt_name + - docker_image zlib: - '1.2' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 8ff0182..1869729 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '7' +- '9' cdt_arch: - aarch64 cdt_name: @@ -13,11 +13,11 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-aarch64 fontconfig: - '2.13' freetype: -- 2.9.1 +- '2' pin_run_as_build: fontconfig: max_pin: x @@ -25,5 +25,7 @@ pin_run_as_build: max_pin: x zlib: max_pin: x.x +target_platform: +- linux-aarch64 zlib: - '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 641bd6f..0609996 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,17 +1,19 @@ c_compiler: - gcc c_compiler_version: -- '8' +- '9' +cdt_name: +- cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main docker_image: -- condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-ppc64le fontconfig: - '2.13' freetype: -- 2.9.1 +- '2' pin_run_as_build: fontconfig: max_pin: x @@ -19,5 +21,7 @@ pin_run_as_build: max_pin: x zlib: max_pin: x.x +target_platform: +- linux-ppc64le zlib: - '1.2' diff --git a/.ci_support/osx_.yaml b/.ci_support/osx_64_.yaml similarity index 82% rename from .ci_support/osx_.yaml rename to .ci_support/osx_64_.yaml index fe36f0b..90406e3 100644 --- a/.ci_support/osx_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,19 +3,17 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '9' +- '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main fontconfig: - '2.13' freetype: -- 2.9.1 +- '2' macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: fontconfig: max_pin: x @@ -23,5 +21,7 @@ pin_run_as_build: max_pin: x zlib: max_pin: x.x +target_platform: +- osx-64 zlib: - '1.2' diff --git a/.ci_support/win_.yaml b/.ci_support/win_64_.yaml similarity index 79% rename from .ci_support/win_.yaml rename to .ci_support/win_64_.yaml index 2a50eff..7b64422 100644 --- a/.ci_support/win_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,15 +1,17 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main fontconfig: - '2.13' freetype: -- 2.9.1 +- '2' pin_run_as_build: fontconfig: max_pin: x freetype: max_pin: x +target_platform: +- win-64 diff --git a/.gitattributes b/.gitattributes index ac943c1..ce52713 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,8 @@ bld.bat text eol=crlf .gitattributes linguist-generated=true .gitignore linguist-generated=true .travis.yml linguist-generated=true -.scripts linguist-generated=true +.scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.github/workflows/main.yml b/.github/workflows/automerge.yml similarity index 52% rename from .github/workflows/main.yml rename to .github/workflows/automerge.yml index 0e9646a..e8e5902 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/automerge.yml @@ -5,14 +5,14 @@ on: - completed jobs: - regro-cf-autotick-bot-action: + automerge-action: runs-on: ubuntu-latest - name: regro-cf-autotick-bot-action + name: automerge steps: - name: checkout uses: actions/checkout@v2 - - name: regro-cf-autotick-bot-action - id: regro-cf-autotick-bot-action - uses: regro/cf-autotick-bot-action@master + - name: automerge-action + id: automerge-action + uses: conda-forge/automerge-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index b4f454b..a6a62a2 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -6,8 +6,15 @@ # benefit from the improvement. set -xeuo pipefail -export PYTHONUNBUFFERED=1 export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" @@ -18,9 +25,10 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC +GET_BOA=boa +BUILD_CMD=mambabuild -conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge - +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -38,11 +46,39 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + +( endgroup "Configuring conda" ) 2> /dev/null + +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + + # Drop into an interactive shell + /bin/bash +else + conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + ( startgroup "Validating outputs" ) 2> /dev/null + + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi + + ( endgroup "Uploading packages" ) 2> /dev/null fi +( startgroup "Final checks" ) 2> /dev/null + touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh new file mode 100644 index 0000000..57bc95c --- /dev/null +++ b/.scripts/logging_utils.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Provide a unified interface for the different logging +# utilities CI providers offer. If unavailable, provide +# a compatible fallback (e.g. bare `echo xxxxxx`). + +function startgroup { + # Start a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[group]$1";; + travis ) + echo "$1" + echo -en 'travis_fold:start:'"${1// /}"'\\r';; + github_actions ) + echo "::group::$1";; + * ) + echo "$1";; + esac +} 2> /dev/null + +function endgroup { + # End a foldable group of log lines + # Pass a single argument, quoted + + case ${CI:-} in + azure ) + echo "##[endgroup]";; + travis ) + echo -en 'travis_fold:end:'"${1// /}"'\\r';; + github_actions ) + echo "::endgroup::";; + esac +} 2> /dev/null diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 253723c..0c6515f 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -5,6 +5,10 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +source .scripts/logging_utils.sh + +( startgroup "Configure Docker" ) 2> /dev/null + set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" @@ -13,6 +17,10 @@ PROVIDER_DIR="$(basename $THISDIR)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -41,10 +49,14 @@ fi if [ -z "${DOCKER_IMAGE}" ]; then SHYAML_INSTALLED="$(shyaml -h || echo NO)" if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" + DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" + fi else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" fi fi @@ -58,20 +70,36 @@ if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ - $DOCKER_IMAGE \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ + -e BINSTAR_TOKEN \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 775799b..d6de123 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,55 +1,71 @@ #!/usr/bin/env bash -set -x +source .scripts/logging_utils.sh + +set -xe + +MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} + +( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null -echo -e "\n\nInstalling a fresh version of Miniforge." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:install_miniforge\\r' -fi MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -bash $MINIFORGE_FILE -b -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:install_miniforge\\r' -fi +rm -rf ${MINIFORGE_HOME} +bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} -echo -e "\n\nConfiguring conda." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:configure_conda\\r' -fi +( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +GET_BOA=boa +BUILD_CMD=mambabuild -source ${HOME}/miniforge3/etc/profile.d/conda.sh +source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} echo -e "\n\nSetting up the condarc and mangling the compiler." setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml -mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml -echo -e "\n\nMangling homebrew in the CI to avoid conflicts." -/usr/bin/sudo mangle_homebrew -/usr/bin/sudo -k +if [[ "${CI:-}" != "" ]]; then + mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml +fi + +if [[ "${CI:-}" != "" ]]; then + echo -e "\n\nMangling homebrew in the CI to avoid conflicts." + /usr/bin/sudo mangle_homebrew + /usr/bin/sudo -k +else + echo -e "\n\nNot mangling homebrew as we are not running in CI" +fi echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:configure_conda\\r' -fi -set -e +( endgroup "Configuring conda" ) 2> /dev/null + -echo -e "\n\nMaking the build clobber file and running the build." +echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - echo -e "\n\nUploading the packages." - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml -fi \ No newline at end of file +conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +( startgroup "Validating outputs" ) 2> /dev/null + +validate_recipe_outputs "${FEEDSTOCK_NAME}" + +( endgroup "Validating outputs" ) 2> /dev/null + +( startgroup "Uploading packages" ) 2> /dev/null + +if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml +fi + +( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index cba42cf..ed3f451 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +Copyright (c) 2015-2021, conda-forge contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index a94edae..6114ad4 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,10 @@ Home: http://www.tcl.tk/ Package license: Tcl/Tk -Feedstock license: BSD 3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/tk-feedstock/blob/master/LICENSE.txt) Summary: A dynamic programming language with GUI support. Bundles Tcl and Tk. - - Current build status ==================== @@ -29,10 +27,10 @@ Current build status - + @@ -50,17 +48,17 @@ Current build status - + - + @@ -85,6 +83,7 @@ Installing `tk` from the `conda-forge` channel can be achieved by adding `conda- ``` conda config --add channels conda-forge +conda config --set channel_priority strict ``` Once the `conda-forge` channel has been enabled, `tk` can be installed with: @@ -103,7 +102,8 @@ conda search tk --channel conda-forge About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the @@ -155,9 +155,9 @@ build distinct package versions. In order to produce a uniquely identifiable distribution: * If the version of a package **is not** being increased, please add or increase - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string). + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). * If the version of a package **is** being increased, please remember to return - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) back to 0. Feedstock Maintainers diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e5306da..6b346f5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-win.yml + - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 8f7ecca..8b74348 100755 --- a/build-locally.py +++ b/build-locally.py @@ -7,11 +7,25 @@ import glob import subprocess from argparse import ArgumentParser +import platform def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" + if ns.debug: + os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" + if ns.output_id: + os.environ["BUILD_OUTPUT_ID"] = ns.output_id + if "MINIFORGE_HOME" not in os.environ: + os.environ["MINIFORGE_HOME"] = os.path.join( + os.path.dirname(__file__), "miniforge3" + ) + if "OSX_SDK_DIR" not in os.environ: + os.environ["OSX_SDK_DIR"] = os.path.join( + os.path.dirname(__file__), "SDKs" + ) def run_docker_build(ns): @@ -19,6 +33,11 @@ def run_docker_build(ns): subprocess.check_call([script]) +def run_osx_build(ns): + script = ".scripts/run_osx_build.sh" + subprocess.check_call([script]) + + def verify_config(ns): valid_configs = { os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") @@ -42,21 +61,40 @@ def verify_config(ns): else: raise ValueError("config " + ns.config + " is not valid") # Remove the following, as implemented - if not ns.config.startswith("linux"): + if ns.config.startswith("win"): raise ValueError( - f"only Linux configs currently supported, got {ns.config}" + f"only Linux/macOS configs currently supported, got {ns.config}" ) + elif ns.config.startswith("osx") and platform.system() == "Darwin": + if "OSX_SDK_DIR" not in os.environ: + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" + "to download the SDK automatically to '/opt/MacOSX.sdk'" + ) def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--debug", + action="store_true", + help="Setup debug environment using `conda debug`", + ) + p.add_argument( + "--output-id", help="If running debug, specify the output to setup." + ) ns = p.parse_args(args=args) verify_config(ns) setup_environment(ns) - run_docker_build(ns) + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) if __name__ == "__main__": diff --git a/conda-forge.yml b/conda-forge.yml index c091ecb..c172628 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,8 +1,14 @@ appveyor: - secure: {BINSTAR_TOKEN: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1} + secure: + BINSTAR_TOKEN: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1 compiler_stack: comp7 +conda_forge_output_validation: true max_py_ver: '37' max_r_ver: '35' -provider: {linux_aarch64: azure, linux_ppc64le: azure, win: azure} +provider: + linux_aarch64: azure + linux_ppc64le: azure + win: azure travis: - secure: {BINSTAR_TOKEN: tFxXdXZDhHkGJJSHOk6qEQO3Xu2rliXGn+tDYQkO7Cojs5uAuG/yEbpHqiLvTDZv1hQwXGITNrfdFrDGO6p7A0mVya5QGeCCti9NtQR6b9e2aSV3NcqbJFZbXFAkFrPf39+S8BikY1aua9hLPmSvTMhK61XCBIEJyOF+fby5kD44EPsXO7IkxfkRElX0qGuCrOxuVuIokZpmoCNUjQVGAv7zzG2rQdeMpqztE35B7Pw27XOUQQH9ZZitWiMqw90KdhG5vBGZCYRHKOKJSB/abxPYrywgl7LhspIfIa+twiubJiLfoa7tI2UlIz5aW9QgNDuj/te+RxQUQEg8E3LuP+dNHl+V7NDNbYCUwhlYgouVRmunJ+seu9idySYFyOot8Q78gtTGYqPGbv56DdpXk19kjbvXYBvk8EG1C8dBwg5Lpl3vmUZ1mzv0Uk4XDpRkjTU4MgqvQG49zbqW70AkvnIS0hF2h/OFLJbxhjTCgsVjZQylBRPu8LgxSd6bF4G4ooYmqp47mUa49PYjs1OjW0gI9bmSvJPQ+qi2l3LxTGbaQd1IdL7zlRMVop3d4KERM1YMM3jtzlzsK88vl9kLVT/mmpBxhO7bWI5PHE921e095XfmnUfn8EhHu5Uwjj+MlVyKNwapI37LEQteF7+5mkFA+C48a6zhpBKIK425jmo=} + secure: + BINSTAR_TOKEN: tFxXdXZDhHkGJJSHOk6qEQO3Xu2rliXGn+tDYQkO7Cojs5uAuG/yEbpHqiLvTDZv1hQwXGITNrfdFrDGO6p7A0mVya5QGeCCti9NtQR6b9e2aSV3NcqbJFZbXFAkFrPf39+S8BikY1aua9hLPmSvTMhK61XCBIEJyOF+fby5kD44EPsXO7IkxfkRElX0qGuCrOxuVuIokZpmoCNUjQVGAv7zzG2rQdeMpqztE35B7Pw27XOUQQH9ZZitWiMqw90KdhG5vBGZCYRHKOKJSB/abxPYrywgl7LhspIfIa+twiubJiLfoa7tI2UlIz5aW9QgNDuj/te+RxQUQEg8E3LuP+dNHl+V7NDNbYCUwhlYgouVRmunJ+seu9idySYFyOot8Q78gtTGYqPGbv56DdpXk19kjbvXYBvk8EG1C8dBwg5Lpl3vmUZ1mzv0Uk4XDpRkjTU4MgqvQG49zbqW70AkvnIS0hF2h/OFLJbxhjTCgsVjZQylBRPu8LgxSd6bF4G4ooYmqp47mUa49PYjs1OjW0gI9bmSvJPQ+qi2l3LxTGbaQd1IdL7zlRMVop3d4KERM1YMM3jtzlzsK88vl9kLVT/mmpBxhO7bWI5PHE921e095XfmnUfn8EhHu5Uwjj+MlVyKNwapI37LEQteF7+5mkFA+C48a6zhpBKIK425jmo= From 0e1fd2f1834cc811649698ce00f59515df0fd914 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 1 Sep 2023 11:09:41 -0700 Subject: [PATCH 10/33] Introduced new tk_variant --- recipe/conda_build_config.yaml | 3 +++ recipe/meta.yaml | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..a0b794f --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,3 @@ +tk_variant: + - xft + - noxft diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8c62dcb..62ecc02 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,6 @@ {% set version = "8.6.12" %} {% set maj_min = ".".join(version.split(".")[:2]) %} +{% set build = 1005 %} package: name: tk @@ -15,8 +16,15 @@ source: patches: - patches/bitmap_osx.patch # [osx] + +{% if tk_variant == 'noxft' %} +# prioritize noxft variant via build number +{% set build = build + 1000 %} +{% endif %} + build: - number: 1005 + number: {{ build }} + string: "{{ tk_variant }}_h{{ PKG_HASH }}_{{ build }}" detect_binary_files_with_prefix: true run_exports: # pin to major.minor because library names have that info in them @@ -29,13 +37,16 @@ requirements: - {{ cdt('libx11-devel') }} # [linux] - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] +{% if tk_variant == 'xft' %} - {{ cdt('libxft') }} # [linux] +{% endif %} - make # [linux] host: - zlib # [unix] +{% if tk_variant == 'xft' %} - freetype - fontconfig - +{% endif %} test: files: From 2a9521884c69c3b82145fecadd696f21407cb7ef Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 1 Sep 2023 11:17:47 -0700 Subject: [PATCH 11/33] Convert to selector and add tk_variant dependence --- recipe/meta.yaml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 62ecc02..de5b0f3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,16 +37,13 @@ requirements: - {{ cdt('libx11-devel') }} # [linux] - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] -{% if tk_variant == 'xft' %} - - {{ cdt('libxft') }} # [linux] -{% endif %} + - {{ cdt('libxft') }} # [linux and tk_variant == 'xft'] - make # [linux] host: - zlib # [unix] -{% if tk_variant == 'xft' %} - - freetype - - fontconfig -{% endif %} + - freetype # [tk_variant == 'xft'] + - fontconfig # [tk_variant == 'xft'] + - tk_variant test: files: From ea0a1f40fee414d6fa37a54e7a9e408a9cd95efa Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 1 Sep 2023 16:39:42 -0700 Subject: [PATCH 12/33] Remove tk_variant dependency. Specified sufficiently by conda_build_config.yaml . --- recipe/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index de5b0f3..90f04b3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,7 +43,6 @@ requirements: - zlib # [unix] - freetype # [tk_variant == 'xft'] - fontconfig # [tk_variant == 'xft'] - - tk_variant test: files: From 22edb760c4d569905570cc6fe4b2a7bc425a1d0b Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 1 Sep 2023 16:43:45 -0700 Subject: [PATCH 13/33] Update recipe/meta.yaml Use track_features option Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 90f04b3..500d1c5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,6 +25,8 @@ source: build: number: {{ build }} string: "{{ tk_variant }}_h{{ PKG_HASH }}_{{ build }}" + track_features: + - tk_xft # [tk_variant == 'xft'] detect_binary_files_with_prefix: true run_exports: # pin to major.minor because library names have that info in them From 8e51068afd00ad5d3a5ec464993da8d42575d1c4 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Fri, 1 Sep 2023 23:48:52 +0000 Subject: [PATCH 14/33] MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.25.1, and conda-forge-pinning 2023.09.01.21.46.22 --- .azure-pipelines/azure-pipelines-linux.yml | 19 +-- .azure-pipelines/azure-pipelines-osx.yml | 16 +- .azure-pipelines/azure-pipelines-win.yml | 88 +++++------ .ci_support/README | 7 +- .ci_support/linux_64_tk_variantnoxft.yaml | 24 +++ ...x_64_.yaml => linux_64_tk_variantxft.yaml} | 13 +- ...aml => linux_aarch64_tk_variantnoxft.yaml} | 17 ++- .ci_support/linux_aarch64_tk_variantxft.yaml | 28 ++++ ...aml => linux_ppc64le_tk_variantnoxft.yaml} | 15 +- .ci_support/linux_ppc64le_tk_variantxft.yaml | 22 +++ ...x_64_.yaml => osx_64_tk_variantnoxft.yaml} | 15 +- .ci_support/osx_64_tk_variantxft.yaml | 24 +++ .ci_support/osx_arm64_tk_variantnoxft.yaml | 24 +++ ...m64_.yaml => osx_arm64_tk_variantxft.yaml} | 13 +- .ci_support/win_64_tk_variantnoxft.yaml | 16 ++ ...win_64_.yaml => win_64_tk_variantxft.yaml} | 10 +- .circleci/config.yml | 5 +- .gitattributes | 1 + .scripts/build_steps.sh | 17 ++- .scripts/run_docker_build.sh | 2 +- .scripts/run_osx_build.sh | 49 +++++-- .travis.yml | 37 +++++ LICENSE.txt | 30 +++- README.md | 138 ++++++++++++++---- build-locally.py | 30 ++-- 25 files changed, 478 insertions(+), 182 deletions(-) create mode 100644 .ci_support/linux_64_tk_variantnoxft.yaml rename .ci_support/{linux_64_.yaml => linux_64_tk_variantxft.yaml} (75%) rename .ci_support/{linux_aarch64_.yaml => linux_aarch64_tk_variantnoxft.yaml} (72%) create mode 100644 .ci_support/linux_aarch64_tk_variantxft.yaml rename .ci_support/{linux_ppc64le_.yaml => linux_ppc64le_tk_variantnoxft.yaml} (68%) create mode 100644 .ci_support/linux_ppc64le_tk_variantxft.yaml rename .ci_support/{osx_64_.yaml => osx_64_tk_variantnoxft.yaml} (68%) create mode 100644 .ci_support/osx_64_tk_variantxft.yaml create mode 100644 .ci_support/osx_arm64_tk_variantnoxft.yaml rename .ci_support/{osx_arm64_.yaml => osx_arm64_tk_variantxft.yaml} (76%) create mode 100644 .ci_support/win_64_tk_variantnoxft.yaml rename .ci_support/{win_64_.yaml => win_64_tk_variantxft.yaml} (58%) create mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2e0430f..d33b56a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,26 +8,17 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_: - CONFIG: linux_64_ + linux_64_tk_variantnoxft: + CONFIG: linux_64_tk_variantnoxft UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_: - CONFIG: linux_aarch64_ + linux_64_tk_variantxft: + CONFIG: linux_64_tk_variantxft UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_ppc64le_: - CONFIG: linux_ppc64le_ - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: - - script: | - rm -rf /opt/ghc - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 84d4f42..5e41ad9 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,14 +5,20 @@ jobs: - job: osx pool: - vmImage: macOS-10.15 + vmImage: macOS-11 strategy: matrix: - osx_64_: - CONFIG: osx_64_ + osx_64_tk_variantnoxft: + CONFIG: osx_64_tk_variantnoxft UPLOAD_PACKAGES: 'True' - osx_arm64_: - CONFIG: osx_arm64_ + osx_64_tk_variantxft: + CONFIG: osx_64_tk_variantxft + UPLOAD_PACKAGES: 'True' + osx_arm64_tk_variantnoxft: + CONFIG: osx_arm64_tk_variantnoxft + UPLOAD_PACKAGES: 'True' + osx_arm64_tk_variantxft: + CONFIG: osx_arm64_tk_variantxft UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index e8029d9..8b7e876 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,57 +5,42 @@ jobs: - job: win pool: - vmImage: windows-2019 + vmImage: windows-2022 strategy: matrix: - win_64_: - CONFIG: win_64_ + win_64_tk_variantnoxft: + CONFIG: win_64_tk_variantnoxft + UPLOAD_PACKAGES: 'True' + win_64_tk_variantxft: + CONFIG: win_64_tk_variantxft UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath - - Get-ChildItem -Path $batchDir + - task: PythonScript@0 + displayName: 'Download Miniforge' + inputs: + scriptSource: inline + script: | + import urllib.request + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" + urllib.request.urlretrieve(url, path) - Get-ChildItem -Path ($batchDir + '\..') + - script: | + start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge + displayName: Install Miniforge - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) + - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts" + displayName: Add conda to PATH - - task: CondaEnvironment@1 - inputs: - packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional - installOptions: "-c conda-forge" - updateConda: true - displayName: Install conda-build and activate environment + - script: | + call activate base + mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes + displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 displayName: Set PYTHONUNBUFFERED @@ -72,25 +57,19 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - script: | call activate base - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables + if EXIST LICENSE.txt ( + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" + ) + if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% displayName: Build recipe env: PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base @@ -100,6 +79,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_tk_variantnoxft.yaml b/.ci_support/linux_64_tk_variantnoxft.yaml new file mode 100644 index 0000000..09c70ce --- /dev/null +++ b/.ci_support/linux_64_tk_variantnoxft.yaml @@ -0,0 +1,24 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fontconfig: +- '2' +freetype: +- '2' +target_platform: +- linux-64 +tk: +- '8.6' +tk_variant: +- noxft +zlib: +- '1.2' diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_tk_variantxft.yaml similarity index 75% rename from .ci_support/linux_64_.yaml rename to .ci_support/linux_64_tk_variantxft.yaml index 9dfe474..886b591 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_tk_variantxft.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '12' cdt_name: - cos6 channel_sources: @@ -10,10 +10,15 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -pin_run_as_build: - zlib: - max_pin: x.x +fontconfig: +- '2' +freetype: +- '2' target_platform: - linux-64 +tk: +- '8.6' +tk_variant: +- xft zlib: - '1.2' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_tk_variantnoxft.yaml similarity index 72% rename from .ci_support/linux_aarch64_.yaml rename to .ci_support/linux_aarch64_tk_variantnoxft.yaml index d1caa86..5a700af 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_tk_variantnoxft.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '9' +- '12' cdt_arch: - aarch64 cdt_name: @@ -14,14 +14,15 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-aarch64 -pin_run_as_build: - fontconfig: - max_pin: x - freetype: - max_pin: x - zlib: - max_pin: x.x +fontconfig: +- '2' +freetype: +- '2' target_platform: - linux-aarch64 +tk: +- '8.6' +tk_variant: +- noxft zlib: - '1.2' diff --git a/.ci_support/linux_aarch64_tk_variantxft.yaml b/.ci_support/linux_aarch64_tk_variantxft.yaml new file mode 100644 index 0000000..9592b7f --- /dev/null +++ b/.ci_support/linux_aarch64_tk_variantxft.yaml @@ -0,0 +1,28 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-aarch64 +fontconfig: +- '2' +freetype: +- '2' +target_platform: +- linux-aarch64 +tk: +- '8.6' +tk_variant: +- xft +zlib: +- '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_tk_variantnoxft.yaml similarity index 68% rename from .ci_support/linux_ppc64le_.yaml rename to .ci_support/linux_ppc64le_tk_variantnoxft.yaml index 0f3dc88..c841b99 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_tk_variantnoxft.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '12' cdt_name: - cos7 channel_sources: @@ -10,14 +10,13 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-ppc64le -pin_run_as_build: - fontconfig: - max_pin: x - freetype: - max_pin: x - zlib: - max_pin: x.x +fontconfig: +- '2' +freetype: +- '2' target_platform: - linux-ppc64le +tk_variant: +- noxft zlib: - '1.2' diff --git a/.ci_support/linux_ppc64le_tk_variantxft.yaml b/.ci_support/linux_ppc64le_tk_variantxft.yaml new file mode 100644 index 0000000..58a2cad --- /dev/null +++ b/.ci_support/linux_ppc64le_tk_variantxft.yaml @@ -0,0 +1,22 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-ppc64le +fontconfig: +- '2' +freetype: +- '2' +target_platform: +- linux-ppc64le +tk_variant: +- xft +zlib: +- '1.2' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_tk_variantnoxft.yaml similarity index 68% rename from .ci_support/osx_64_.yaml rename to .ci_support/osx_64_tk_variantnoxft.yaml index 90406e3..261a62c 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_tk_variantnoxft.yaml @@ -3,25 +3,22 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '15' channel_sources: - conda-forge channel_targets: - conda-forge main fontconfig: -- '2.13' +- '2' freetype: - '2' macos_machine: - x86_64-apple-darwin13.4.0 -pin_run_as_build: - fontconfig: - max_pin: x - freetype: - max_pin: x - zlib: - max_pin: x.x target_platform: - osx-64 +tk: +- '8.6' +tk_variant: +- noxft zlib: - '1.2' diff --git a/.ci_support/osx_64_tk_variantxft.yaml b/.ci_support/osx_64_tk_variantxft.yaml new file mode 100644 index 0000000..4798cd3 --- /dev/null +++ b/.ci_support/osx_64_tk_variantxft.yaml @@ -0,0 +1,24 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +c_compiler: +- clang +c_compiler_version: +- '15' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fontconfig: +- '2' +freetype: +- '2' +macos_machine: +- x86_64-apple-darwin13.4.0 +target_platform: +- osx-64 +tk: +- '8.6' +tk_variant: +- xft +zlib: +- '1.2' diff --git a/.ci_support/osx_arm64_tk_variantnoxft.yaml b/.ci_support/osx_arm64_tk_variantnoxft.yaml new file mode 100644 index 0000000..7ad377b --- /dev/null +++ b/.ci_support/osx_arm64_tk_variantnoxft.yaml @@ -0,0 +1,24 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '15' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fontconfig: +- '2' +freetype: +- '2' +macos_machine: +- arm64-apple-darwin20.0.0 +target_platform: +- osx-arm64 +tk: +- '8.6' +tk_variant: +- noxft +zlib: +- '1.2' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_tk_variantxft.yaml similarity index 76% rename from .ci_support/osx_arm64_.yaml rename to .ci_support/osx_arm64_tk_variantxft.yaml index 8cf1a4f..32feb67 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_tk_variantxft.yaml @@ -3,17 +3,22 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '15' channel_sources: - conda-forge channel_targets: - conda-forge main +fontconfig: +- '2' +freetype: +- '2' macos_machine: - arm64-apple-darwin20.0.0 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - osx-arm64 +tk: +- '8.6' +tk_variant: +- xft zlib: - '1.2' diff --git a/.ci_support/win_64_tk_variantnoxft.yaml b/.ci_support/win_64_tk_variantnoxft.yaml new file mode 100644 index 0000000..d9ff84a --- /dev/null +++ b/.ci_support/win_64_tk_variantnoxft.yaml @@ -0,0 +1,16 @@ +c_compiler: +- vs2019 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fontconfig: +- '2' +freetype: +- '2' +target_platform: +- win-64 +tk: +- '8.6' +tk_variant: +- noxft diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_tk_variantxft.yaml similarity index 58% rename from .ci_support/win_64_.yaml rename to .ci_support/win_64_tk_variantxft.yaml index 18da91b..b46d4de 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_tk_variantxft.yaml @@ -1,8 +1,16 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main +fontconfig: +- '2' +freetype: +- '2' target_platform: - win-64 +tk: +- '8.6' +tk_variant: +- xft diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,13 +1,14 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- +# -*- mode: jinja-yaml -*- version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.gitattributes b/.gitattributes index ce52713..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 2638fe3..4c84c27 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -24,15 +24,18 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 0c6515f..9236239 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -14,7 +14,7 @@ set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" if [ -z ${FEEDSTOCK_NAME} ]; then diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 6774b01..3969edf 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,9 +23,10 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -mamba install -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa -mamba update -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa +mamba install --update-specs --quiet --yes --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 @@ -51,25 +52,43 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null - echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi -conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -( startgroup "Validating outputs" ) 2> /dev/null +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -validate_recipe_outputs "${FEEDSTOCK_NAME}" + # Drop into an interactive shell + /bin/bash +else -( endgroup "Validating outputs" ) 2> /dev/null + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + fi -( startgroup "Uploading packages" ) 2> /dev/null + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + ( startgroup "Validating outputs" ) 2> /dev/null -if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml -fi + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + fi -( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file + ( endgroup "Uploading packages" ) 2> /dev/null +fi \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1ef87ed --- /dev/null +++ b/.travis.yml @@ -0,0 +1,37 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. + +language: generic + + + +matrix: + include: + - env: CONFIG=linux_aarch64_tk_variantnoxft UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + os: linux + arch: arm64 + dist: focal + + - env: CONFIG=linux_aarch64_tk_variantxft UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + os: linux + arch: arm64 + dist: focal + + - env: CONFIG=linux_ppc64le_tk_variantnoxft UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le + os: linux + arch: ppc64le + dist: focal + + - env: CONFIG=linux_ppc64le_tk_variantxft 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 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/LICENSE.txt b/LICENSE.txt index 6ec1401..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license +BSD-3-Clause license Copyright (c) 2015-2022, conda-forge contributors All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index b6d80aa..338f18a 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -About tk -======== +About tk-feedstock +================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/tk-feedstock/blob/main/LICENSE.txt) Home: http://www.tcl.tk/ Package license: TCL -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/tk-feedstock/blob/master/LICENSE.txt) - Summary: A dynamic programming language with GUI support. Bundles Tcl and Tk. Development: https://github.com/tcltk/tk @@ -15,59 +15,108 @@ Current build status ==================== -
VariantStatus
linuxlinux_64 - variant + variant
osxosx_64 - variant + variant
winwin_64 - variant + variant
+
+ + +
Travis + + linux + +
Azure
- - + + - + + + + + + + + + + - + - + - + - + - + + + + + + + + + + @@ -95,18 +144,43 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `tk` can be installed with: +Once the `conda-forge` channel has been enabled, `tk` can be installed with `conda`: ``` conda install tk ``` -It is possible to list all of the versions of `tk` available on your platform with: +or with `mamba`: + +``` +mamba install tk +``` + +It is possible to list all of the versions of `tk` available on your platform with `conda`: ``` conda search tk --channel conda-forge ``` +or with `mamba`: + +``` +mamba search tk --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search tk --channel conda-forge + +# List packages depending on `tk`: +mamba repoquery whoneeds tk --channel conda-forge + +# List dependencies of `tk`: +mamba repoquery depends tk --channel conda-forge +``` + About conda-forge ================= @@ -122,10 +196,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. diff --git a/build-locally.py b/build-locally.py index 8b74348..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -22,10 +22,6 @@ def setup_environment(ns): os.environ["MINIFORGE_HOME"] = os.path.join( os.path.dirname(__file__), "miniforge3" ) - if "OSX_SDK_DIR" not in os.environ: - os.environ["OSX_SDK_DIR"] = os.path.join( - os.path.dirname(__file__), "SDKs" - ) def run_docker_build(ns): @@ -65,11 +61,12 @@ def verify_config(ns): raise ValueError( f"only Linux/macOS configs currently supported, got {ns.config}" ) - elif ns.config.startswith("osx") and platform.system() == "Darwin": + 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=/opt'" - "to download the SDK automatically to '/opt/MacOSX.sdk'" + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " + "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) @@ -89,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From ab86bdb9e106cb85d74f756a48e1f16ec5e9ba79 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 20:59:56 +0000 Subject: [PATCH 15/33] MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.26.3, and conda-forge-pinning 2023.09.29.18.08.25 --- .azure-pipelines/azure-pipelines-win.yml | 56 ++--------- .scripts/build_steps.sh | 9 +- .scripts/logging_utils.sh | 4 +- .scripts/run_osx_build.sh | 8 +- .scripts/run_win_build.bat | 115 +++++++++++++++++++++++ 5 files changed, 133 insertions(+), 59 deletions(-) create mode 100755 .scripts/run_win_build.bat diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8b7e876..4c2486a 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -20,6 +20,7 @@ jobs: UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -38,55 +39,14 @@ jobs: displayName: Add conda to PATH - script: | - call activate base - mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes - displayName: Install conda-build - - - script: set PYTHONUNBUFFERED=1 - displayName: Set PYTHONUNBUFFERED - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - script: | - call activate base - if EXIST LICENSE.txt ( - copy LICENSE.txt "recipe\\recipe-scripts-license.txt" - ) - if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" - ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% - displayName: Build recipe + call ".scripts\run_win_build.bat" + displayName: Run Windows build env: PYTHONUNBUFFERED: 1 - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - script: | - set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - set "TEMP=$(UPLOAD_TEMP)" - if not exist "%TEMP%\" md "%TEMP%" - set "TMP=%TEMP%" - call activate base - upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml - displayName: Upload package - env: + CONFIG: $(CONFIG) + CI: azure + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 4c84c27..32a32ea 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -31,11 +31,10 @@ pkgs_dirs: CONDARC - -mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 +mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c..aff009f 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -12,7 +12,7 @@ function startgroup { echo "##[group]$1";; travis ) echo "$1" - echo -en 'travis_fold:start:'"${1// /}"'\\r';; + echo -en 'travis_fold:start:'"${1// /}"'\r';; github_actions ) echo "::group::$1";; * ) @@ -28,7 +28,7 @@ function endgroup { azure ) echo "##[endgroup]";; travis ) - echo -en 'travis_fold:end:'"${1// /}"'\\r';; + echo -en 'travis_fold:end:'"${1// /}"'\r';; github_actions ) echo "::endgroup::";; esac diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3969edf..cd9a88f 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,10 +23,10 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 +mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100755 index 0000000..07d3445 --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,115 @@ +:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +:: benefit from the improvement. + +:: Note: we assume a Miniforge installation is available + +:: INPUTS (required environment variables) +:: CONFIG: name of the .ci_support/*.yaml file for this job +:: CI: azure, github_actions, or unset +:: UPLOAD_PACKAGES: true or false +:: UPLOAD_ON_BRANCH: true or false + +setlocal enableextensions enabledelayedexpansion + +call :start_group "Configuring conda" + +:: Activate the base conda environment +call activate base + +:: Provision the necessary dependencies to build the recipe later +echo Installing dependencies +mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Set basic configuration +echo Setting up configuration +setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml +if !errorlevel! neq 0 exit /b !errorlevel! +echo Running build setup +CALL run_conda_forge_build_setup + + +if !errorlevel! neq 0 exit /b !errorlevel! + +if EXIST LICENSE.txt ( + echo Copying feedstock license + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" +) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Prepare some environment variables for the upload step +if /i "%CI%" == "github_actions" ( + set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" + set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%RUNNER_TEMP%" +) +if /i "%CI%" == "azure" ( + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + if /i "%BUILD_REASON%" == "PullRequest" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%UPLOAD_TEMP%" +) + +:: Validate +call :start_group "Validating outputs" +validate_recipe_outputs "%FEEDSTOCK_NAME%" +if !errorlevel! neq 0 exit /b !errorlevel! +call :end_group + +if /i "%UPLOAD_PACKAGES%" == "true" ( + if /i "%IS_PR_BUILD%" == "false" ( + call :start_group "Uploading packages" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml + if !errorlevel! neq 0 exit /b !errorlevel! + call :end_group + ) +) + +exit + +:: Logging subroutines + +:start_group +if /i "%CI%" == "github_actions" ( + echo ::group::%~1 + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[group]%~1 + exit /b +) +echo %~1 +exit /b + +:end_group +if /i "%CI%" == "github_actions" ( + echo ::endgroup:: + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[endgroup] + exit /b +) +exit /b \ No newline at end of file From 15ad4aa0570f2f02e7a68ff4c09bdc814b519580 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 13:05:39 +0000 Subject: [PATCH 16/33] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.10.02.11.43.13 --- .azure-pipelines/azure-pipelines-linux.yml | 2 +- .ci_support/osx_64_tk_variantnoxft.yaml | 2 ++ .travis.yml | 2 +- README.md | 1 - 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 0ab57aa..d33b56a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -41,4 +41,4 @@ jobs: env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/osx_64_tk_variantnoxft.yaml b/.ci_support/osx_64_tk_variantnoxft.yaml index 261a62c..f39c467 100644 --- a/.ci_support/osx_64_tk_variantnoxft.yaml +++ b/.ci_support/osx_64_tk_variantnoxft.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' +MACOSX_SDK_VERSION: +- '11.0' c_compiler: - clang c_compiler_version: diff --git a/.travis.yml b/.travis.yml index 9e78c78..1ef87ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,4 +34,4 @@ script: - 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 + - 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 4d82106..99d42bb 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,6 @@ Current build status From be4f6f400aeff4570f70c1412899d12b727db8a0 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Wed, 25 Oct 2023 01:36:50 -0700 Subject: [PATCH 17/33] Switch dependency from cdt( 'libxft' ) to xorg-libxft to get X11/Xft/Xft.h header file --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3adb179..39883f4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,12 +37,12 @@ requirements: - {{ cdt('libx11-devel') }} # [linux] - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] - - {{ cdt('libxft') }} # [linux and tk_variant == 'xft'] - make # [linux] host: - zlib # [unix] - freetype # [tk_variant == 'xft'] - fontconfig # [tk_variant == 'xft'] + - xorg-libxft # [tk_variant == 'xft'] test: files: From 2d5cdb5d7ca23efe0fe0d4522d6e4c8027cdb7f9 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Wed, 25 Oct 2023 01:48:03 -0700 Subject: [PATCH 18/33] Restrict the xft variant to unix --- recipe/conda_build_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 0cf5f54..311183e 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,5 +1,5 @@ tk_variant: - - xft + - xft # [unix] - noxft # Required for UniformTypeIdentifiers MACOSX_SDK_VERSION: # [osx and x86_64] From 2f9447055341345cfc3d43a723e4a9de6e99564c Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 09:00:49 +0000 Subject: [PATCH 19/33] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.10.23.08.51.53 --- .azure-pipelines/azure-pipelines-win.yml | 7 ++----- .ci_support/osx_64_tk_variantnoxft.yaml | 2 +- .ci_support/osx_64_tk_variantxft.yaml | 2 +- .ci_support/osx_arm64_tk_variantnoxft.yaml | 2 +- .ci_support/osx_arm64_tk_variantxft.yaml | 2 +- ...{win_64_tk_variantnoxft.yaml => win_64_.yaml} | 4 ---- .ci_support/win_64_tk_variantxft.yaml | 16 ---------------- .scripts/build_steps.sh | 2 +- .scripts/run_osx_build.sh | 2 +- README.md | 11 ++--------- 10 files changed, 10 insertions(+), 40 deletions(-) rename .ci_support/{win_64_tk_variantnoxft.yaml => win_64_.yaml} (81%) delete mode 100644 .ci_support/win_64_tk_variantxft.yaml diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 4c2486a..82c5318 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,11 +8,8 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_tk_variantnoxft: - CONFIG: win_64_tk_variantnoxft - UPLOAD_PACKAGES: 'True' - win_64_tk_variantxft: - CONFIG: win_64_tk_variantxft + win_64_: + CONFIG: win_64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/osx_64_tk_variantnoxft.yaml b/.ci_support/osx_64_tk_variantnoxft.yaml index f39c467..22febcc 100644 --- a/.ci_support/osx_64_tk_variantnoxft.yaml +++ b/.ci_support/osx_64_tk_variantnoxft.yaml @@ -5,7 +5,7 @@ MACOSX_SDK_VERSION: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_tk_variantxft.yaml b/.ci_support/osx_64_tk_variantxft.yaml index 30aeac6..1ff05a7 100644 --- a/.ci_support/osx_64_tk_variantxft.yaml +++ b/.ci_support/osx_64_tk_variantxft.yaml @@ -5,7 +5,7 @@ MACOSX_SDK_VERSION: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_arm64_tk_variantnoxft.yaml b/.ci_support/osx_arm64_tk_variantnoxft.yaml index 7ad377b..512c0f5 100644 --- a/.ci_support/osx_arm64_tk_variantnoxft.yaml +++ b/.ci_support/osx_arm64_tk_variantnoxft.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_arm64_tk_variantxft.yaml b/.ci_support/osx_arm64_tk_variantxft.yaml index 32feb67..6def01a 100644 --- a/.ci_support/osx_arm64_tk_variantxft.yaml +++ b/.ci_support/osx_arm64_tk_variantxft.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/win_64_tk_variantnoxft.yaml b/.ci_support/win_64_.yaml similarity index 81% rename from .ci_support/win_64_tk_variantnoxft.yaml rename to .ci_support/win_64_.yaml index d9ff84a..2d80fc1 100644 --- a/.ci_support/win_64_tk_variantnoxft.yaml +++ b/.ci_support/win_64_.yaml @@ -4,10 +4,6 @@ channel_sources: - conda-forge channel_targets: - conda-forge main -fontconfig: -- '2' -freetype: -- '2' target_platform: - win-64 tk: diff --git a/.ci_support/win_64_tk_variantxft.yaml b/.ci_support/win_64_tk_variantxft.yaml deleted file mode 100644 index b46d4de..0000000 --- a/.ci_support/win_64_tk_variantxft.yaml +++ /dev/null @@ -1,16 +0,0 @@ -c_compiler: -- vs2019 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -fontconfig: -- '2' -freetype: -- '2' -target_platform: -- win-64 -tk: -- '8.6' -tk_variant: -- xft diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 32a32ea..8cc546b 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,7 +34,7 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ pip mamba conda-build boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup + pip mamba conda-build boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index cd9a88f..870c49a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,7 +26,7 @@ conda activate base mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ pip mamba conda-build boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup + pip mamba conda-build boa conda-forge-ci-setup=3 diff --git a/README.md b/README.md index 99d42bb..fe94734 100644 --- a/README.md +++ b/README.md @@ -106,17 +106,10 @@ Current build status - + - - - From b26c2d657eeac304b8f7c40f0369a714735f0840 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Wed, 25 Oct 2023 08:57:16 -0700 Subject: [PATCH 20/33] Add xorg-libxft to run requirements --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 39883f4..8e8895a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,6 +43,8 @@ requirements: - freetype # [tk_variant == 'xft'] - fontconfig # [tk_variant == 'xft'] - xorg-libxft # [tk_variant == 'xft'] + run: + - xorg-libxft # [tk_variant == 'xft'] test: files: From 718ff3f83fec2ceb31974bbf37cdb6162bcd62b9 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 27 Oct 2023 13:03:54 -0700 Subject: [PATCH 21/33] Convert to using cdt for dependencies where available. --- recipe/conda_build_config.yaml | 2 +- recipe/meta.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 311183e..9cf3831 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,5 +1,5 @@ tk_variant: - - xft # [unix] + - xft # [linux] - noxft # Required for UniformTypeIdentifiers MACOSX_SDK_VERSION: # [osx and x86_64] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8e8895a..89dbf30 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,11 +38,11 @@ requirements: - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] - make # [linux] + - {{ cdt('freetype') }} # [linux and tk_variant == 'xft'] + - {{ cdt('fontconfig') }} # [linux and tk_variant == 'xft'] host: - zlib # [unix] - - freetype # [tk_variant == 'xft'] - - fontconfig # [tk_variant == 'xft'] - - xorg-libxft # [tk_variant == 'xft'] + - xorg-libxft # [linux and tk_variant == 'xft'] run: - xorg-libxft # [tk_variant == 'xft'] test: From 41eb6e08924d4ba6693ddee9c2a463d7f38c1436 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 20:07:47 +0000 Subject: [PATCH 22/33] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.10.27.16.51.55 --- .azure-pipelines/azure-pipelines-osx.yml | 14 +++------- .ci_support/linux_64_tk_variantnoxft.yaml | 4 --- .ci_support/linux_64_tk_variantxft.yaml | 4 --- .../linux_aarch64_tk_variantnoxft.yaml | 4 --- .ci_support/linux_aarch64_tk_variantxft.yaml | 4 --- .../linux_ppc64le_tk_variantnoxft.yaml | 4 --- .ci_support/linux_ppc64le_tk_variantxft.yaml | 4 --- ...x_64_tk_variantnoxft.yaml => osx_64_.yaml} | 4 --- .ci_support/osx_64_tk_variantxft.yaml | 26 ------------------- ...4_tk_variantnoxft.yaml => osx_arm64_.yaml} | 4 --- .ci_support/osx_arm64_tk_variantxft.yaml | 24 ----------------- README.md | 22 +++------------- 12 files changed, 8 insertions(+), 110 deletions(-) rename .ci_support/{osx_64_tk_variantnoxft.yaml => osx_64_.yaml} (89%) delete mode 100644 .ci_support/osx_64_tk_variantxft.yaml rename .ci_support/{osx_arm64_tk_variantnoxft.yaml => osx_arm64_.yaml} (88%) delete mode 100644 .ci_support/osx_arm64_tk_variantxft.yaml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 5e41ad9..8032e96 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,17 +8,11 @@ jobs: vmImage: macOS-11 strategy: matrix: - osx_64_tk_variantnoxft: - CONFIG: osx_64_tk_variantnoxft + osx_64_: + CONFIG: osx_64_ UPLOAD_PACKAGES: 'True' - osx_64_tk_variantxft: - CONFIG: osx_64_tk_variantxft - UPLOAD_PACKAGES: 'True' - osx_arm64_tk_variantnoxft: - CONFIG: osx_arm64_tk_variantnoxft - UPLOAD_PACKAGES: 'True' - osx_arm64_tk_variantxft: - CONFIG: osx_arm64_tk_variantxft + osx_arm64_: + CONFIG: osx_arm64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 diff --git a/.ci_support/linux_64_tk_variantnoxft.yaml b/.ci_support/linux_64_tk_variantnoxft.yaml index 09c70ce..30c6f41 100644 --- a/.ci_support/linux_64_tk_variantnoxft.yaml +++ b/.ci_support/linux_64_tk_variantnoxft.yaml @@ -10,10 +10,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-64 tk: diff --git a/.ci_support/linux_64_tk_variantxft.yaml b/.ci_support/linux_64_tk_variantxft.yaml index 886b591..a1e6d65 100644 --- a/.ci_support/linux_64_tk_variantxft.yaml +++ b/.ci_support/linux_64_tk_variantxft.yaml @@ -10,10 +10,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-64 tk: diff --git a/.ci_support/linux_aarch64_tk_variantnoxft.yaml b/.ci_support/linux_aarch64_tk_variantnoxft.yaml index 5a700af..15b2740 100644 --- a/.ci_support/linux_aarch64_tk_variantnoxft.yaml +++ b/.ci_support/linux_aarch64_tk_variantnoxft.yaml @@ -14,10 +14,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-aarch64 -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-aarch64 tk: diff --git a/.ci_support/linux_aarch64_tk_variantxft.yaml b/.ci_support/linux_aarch64_tk_variantxft.yaml index 9592b7f..02f0322 100644 --- a/.ci_support/linux_aarch64_tk_variantxft.yaml +++ b/.ci_support/linux_aarch64_tk_variantxft.yaml @@ -14,10 +14,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-aarch64 -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-aarch64 tk: diff --git a/.ci_support/linux_ppc64le_tk_variantnoxft.yaml b/.ci_support/linux_ppc64le_tk_variantnoxft.yaml index c841b99..95e7464 100644 --- a/.ci_support/linux_ppc64le_tk_variantnoxft.yaml +++ b/.ci_support/linux_ppc64le_tk_variantnoxft.yaml @@ -10,10 +10,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-ppc64le -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-ppc64le tk_variant: diff --git a/.ci_support/linux_ppc64le_tk_variantxft.yaml b/.ci_support/linux_ppc64le_tk_variantxft.yaml index 58a2cad..b1df87f 100644 --- a/.ci_support/linux_ppc64le_tk_variantxft.yaml +++ b/.ci_support/linux_ppc64le_tk_variantxft.yaml @@ -10,10 +10,6 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-ppc64le -fontconfig: -- '2' -freetype: -- '2' target_platform: - linux-ppc64le tk_variant: diff --git a/.ci_support/osx_64_tk_variantnoxft.yaml b/.ci_support/osx_64_.yaml similarity index 89% rename from .ci_support/osx_64_tk_variantnoxft.yaml rename to .ci_support/osx_64_.yaml index 22febcc..cc07be9 100644 --- a/.ci_support/osx_64_tk_variantnoxft.yaml +++ b/.ci_support/osx_64_.yaml @@ -10,10 +10,6 @@ channel_sources: - conda-forge channel_targets: - conda-forge main -fontconfig: -- '2' -freetype: -- '2' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_64_tk_variantxft.yaml b/.ci_support/osx_64_tk_variantxft.yaml deleted file mode 100644 index 1ff05a7..0000000 --- a/.ci_support/osx_64_tk_variantxft.yaml +++ /dev/null @@ -1,26 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '16' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -fontconfig: -- '2' -freetype: -- '2' -macos_machine: -- x86_64-apple-darwin13.4.0 -target_platform: -- osx-64 -tk: -- '8.6' -tk_variant: -- xft -zlib: -- '1.2' diff --git a/.ci_support/osx_arm64_tk_variantnoxft.yaml b/.ci_support/osx_arm64_.yaml similarity index 88% rename from .ci_support/osx_arm64_tk_variantnoxft.yaml rename to .ci_support/osx_arm64_.yaml index 512c0f5..7b8ad5f 100644 --- a/.ci_support/osx_arm64_tk_variantnoxft.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -8,10 +8,6 @@ channel_sources: - conda-forge channel_targets: - conda-forge main -fontconfig: -- '2' -freetype: -- '2' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.ci_support/osx_arm64_tk_variantxft.yaml b/.ci_support/osx_arm64_tk_variantxft.yaml deleted file mode 100644 index 6def01a..0000000 --- a/.ci_support/osx_arm64_tk_variantxft.yaml +++ /dev/null @@ -1,24 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '16' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -fontconfig: -- '2' -freetype: -- '2' -macos_machine: -- arm64-apple-darwin20.0.0 -target_platform: -- osx-arm64 -tk: -- '8.6' -tk_variant: -- xft -zlib: -- '1.2' diff --git a/README.md b/README.md index fe94734..e5d4fd8 100644 --- a/README.md +++ b/README.md @@ -78,31 +78,17 @@ Current build status - + - + - - - - - - From c672870e551374d553d0e052b3187dca7d1c71e6 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 3 Nov 2023 01:32:04 -0700 Subject: [PATCH 23/33] Convert to use libXft-devel cdt --- recipe/meta.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 89dbf30..6dcf2fc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -40,11 +40,9 @@ requirements: - make # [linux] - {{ cdt('freetype') }} # [linux and tk_variant == 'xft'] - {{ cdt('fontconfig') }} # [linux and tk_variant == 'xft'] + - {{ cdt('libXft-devel') }} # [linux and tk_variant == 'xft'] host: - zlib # [unix] - - xorg-libxft # [linux and tk_variant == 'xft'] - run: - - xorg-libxft # [tk_variant == 'xft'] test: files: From 51a8cbe7a383804aa41dc92f4fa6ad198a9fd0d1 Mon Sep 17 00:00:00 2001 From: Sterling Smith Date: Fri, 3 Nov 2023 11:08:36 -0700 Subject: [PATCH 24/33] Apply suggestions from code review Restrict xft variant to linux and reset build number to 1. Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6dcf2fc..da6c2ef 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set version = "8.6.13" %} {% set maj_min = ".".join(version.split(".")[:2]) %} -{% set build = 1005 %} +{% set build = 1 %} package: name: tk @@ -15,14 +15,14 @@ source: sha256: 2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675 -{% if tk_variant == 'noxft' %} +{% if tk_variant == 'noxft' and linux %} # prioritize noxft variant via build number -{% set build = build + 1000 %} +{% set build = build + 100 %} {% endif %} build: number: {{ build }} - string: "{{ tk_variant }}_h{{ PKG_HASH }}_{{ build }}" + string: "{{ tk_variant }}_h{{ PKG_HASH }}_{{ build }}" # [linux] track_features: - tk_xft # [tk_variant == 'xft'] detect_binary_files_with_prefix: true From 9fcf38af4707bc6e00415d13b62dbdf3294bbe74 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 10:35:03 -0500 Subject: [PATCH 25/33] cat config.log --- recipe/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/build.sh b/recipe/build.sh index 0ea1b99..e862630 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -25,6 +25,7 @@ pushd tk${PKG_VERSION}/unix --with-tcl="${PREFIX}"/lib \ --enable-aqua=yes \ ${ARCH_FLAG} + cat config.log make -j${CPU_COUNT} ${VERBOSE_AT} make install popd From 082d9b25f238c326cb14f1ceeac5c51a98fdf9d7 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 11:12:16 -0500 Subject: [PATCH 26/33] Use --enable-aqua only on macos --- recipe/build.sh | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index e862630..45a526f 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -4,27 +4,25 @@ set -ex IFS="." read -a VER_ARR <<<"${PKG_VERSION}" -ARCH_FLAG="" -if [[ ${ARCH} == 64 ]]; then - ARCH_FLAG="--enable-64bit" -fi pushd tcl${PKG_VERSION}/unix # autoreconf -vfi - ./configure --prefix="${PREFIX}" \ - --host=${HOST} \ - ${ARCH_FLAG} + ./configure --prefix="${PREFIX}" make -j${CPU_COUNT} ${VERBOSE_AT} make install install-private-headers popd +if [[ "$target_platform" == osx-* ]]; then + CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-aqua=yes" +elif [[ "$tk_variant" == xft ]]; then + CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-xft" +fi + pushd tk${PKG_VERSION}/unix # autoreconf -vfi ./configure --prefix="${PREFIX}" \ - --host=${HOST} \ --with-tcl="${PREFIX}"/lib \ - --enable-aqua=yes \ - ${ARCH_FLAG} + ${CONFIGURE_ARGS} cat config.log make -j${CPU_COUNT} ${VERBOSE_AT} make install From 5f6463d3acb25aaf13256077a39a4edde04431a0 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 11:45:23 -0500 Subject: [PATCH 27/33] Need pkg-config --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index da6c2ef..fbb3a12 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -41,8 +41,10 @@ requirements: - {{ cdt('freetype') }} # [linux and tk_variant == 'xft'] - {{ cdt('fontconfig') }} # [linux and tk_variant == 'xft'] - {{ cdt('libXft-devel') }} # [linux and tk_variant == 'xft'] + - pkg-config # [linux and tk_variant == 'xft'] host: - zlib # [unix] + test: files: From 6c899434171294a9db53257c5c942242598f5deb Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 14:44:52 -0500 Subject: [PATCH 28/33] Fix pkg-config --- recipe/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index 45a526f..4fcd54a 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -16,6 +16,10 @@ if [[ "$target_platform" == osx-* ]]; then CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-aqua=yes" elif [[ "$tk_variant" == xft ]]; then CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-xft" + # Remove requires.private for now. Otherwise we need devel packages of + # libxrender-devel and the deps in libxrender-devel is broken anyway. + sed -i.bak 's/Requires.private: xrender, /Requires.private: /g' $BUILD_PREFIX/$HOST/sysroot/usr/lib/xft.pc + pkg-config --cflags xft fontconfig fi pushd tk${PKG_VERSION}/unix From dcfbf29ea1efa89c1c0db228643eb1daee59be55 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 15:04:22 -0500 Subject: [PATCH 29/33] fix xft.pc location --- recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index 4fcd54a..5842471 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -18,7 +18,7 @@ elif [[ "$tk_variant" == xft ]]; then CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-xft" # Remove requires.private for now. Otherwise we need devel packages of # libxrender-devel and the deps in libxrender-devel is broken anyway. - sed -i.bak 's/Requires.private: xrender, /Requires.private: /g' $BUILD_PREFIX/$HOST/sysroot/usr/lib/xft.pc + sed -i.bak 's/Requires.private: xrender, /Requires.private: /g' $BUILD_PREFIX/$HOST/sysroot/usr/lib/pkgconfig/xft.pc pkg-config --cflags xft fontconfig fi From 401ffac0f7a755e3b9f28f0b975d08365a712834 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 15:32:29 -0500 Subject: [PATCH 30/33] fix cdt names --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fbb3a12..13b51a5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,8 +38,8 @@ requirements: - {{ cdt('libxcb') }} # [linux] - {{ cdt('libxau') }} # [linux] - make # [linux] - - {{ cdt('freetype') }} # [linux and tk_variant == 'xft'] - - {{ cdt('fontconfig') }} # [linux and tk_variant == 'xft'] + - {{ cdt('freetype-devel') }} # [linux and tk_variant == 'xft'] + - {{ cdt('fontconfig-devel') }} # [linux and tk_variant == 'xft'] - {{ cdt('libXft-devel') }} # [linux and tk_variant == 'xft'] - pkg-config # [linux and tk_variant == 'xft'] host: From bdd473b7d61b9161332a0c61f3d2e5fd75117f19 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 15:42:43 -0500 Subject: [PATCH 31/33] need libxrender-devel --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 13b51a5..6ab6cb7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -40,6 +40,7 @@ requirements: - make # [linux] - {{ cdt('freetype-devel') }} # [linux and tk_variant == 'xft'] - {{ cdt('fontconfig-devel') }} # [linux and tk_variant == 'xft'] + - {{ cdt('libXrender-devel') }} # [linux and tk_variant == 'xft'] - {{ cdt('libXft-devel') }} # [linux and tk_variant == 'xft'] - pkg-config # [linux and tk_variant == 'xft'] host: From d15b43f75fe1453e94f055beab0bbe121262022e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 4 Nov 2023 16:58:28 -0500 Subject: [PATCH 32/33] update yum requirements --- recipe/yum_requirements.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index 3a95b91..84b7ae1 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -1 +1,3 @@ -libX11-devel +libX11 +libXft +libfontconfig From 641017000b76d6b1e88c786ccd2c682c24bce6eb Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 22:41:05 +0000 Subject: [PATCH 33/33] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.11.02.10.11.59 --- .scripts/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 8cc546b..23ac37b 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -46,7 +46,7 @@ source run_conda_forge_build_setup # "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-devel +/usr/bin/sudo -n yum install -y libX11 libXft libfontconfig # make the build number clobber
VariantStatus
linux_64linux_64_tk_variantnoxft + + variant + +
linux_64_tk_variantxft + + variant + +
linux_aarch64_tk_variantnoxft + + variant + +
linux_aarch64_tk_variantxft - - variant + + variant
linux_aarch64linux_ppc64le_tk_variantnoxft - - variant + + variant
linux_ppc64lelinux_ppc64le_tk_variantxft - - variant + + variant
osx_64osx_64_tk_variantnoxft - - variant + + variant
osx_arm64osx_64_tk_variantxft - - variant + + variant
win_64osx_arm64_tk_variantnoxft - - variant + + variant + +
osx_arm64_tk_variantxft + + variant + +
win_64_tk_variantnoxft + + variant + +
win_64_tk_variantxft + + variant
variant -
win_64_tk_variantnoxftwin_64 - variant - -
win_64_tk_variantxft - - variant + variant
osx_64_tk_variantnoxftosx_64 - variant + variant
osx_64_tk_variantxftosx_arm64 - variant - -
osx_arm64_tk_variantnoxft - - variant - -
osx_arm64_tk_variantxft - - variant + variant