From 584dc1915544d5ed8423985b49a3af3105cd381e Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Thu, 25 Jul 2024 22:02:25 -0400 Subject: [PATCH 1/9] Update for NCEPLIBS-ip v5.1.0 Manual update needed here due to dependency on OpenBlas. --- recipe/build.sh | 1 + recipe/meta.yaml | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index cbe034f..d25b6b1 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -25,6 +25,7 @@ cmake -G "${CMAKE_GENERATOR}" \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_STATIC_LIBS=ON \ -DOPENMP=ON \ + -DBLA_VENDOR=OpenBLAS \ "${SRC_DIR}" make make install diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 859102b..652cf7e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nceplibs-ip" %} -{% set version = "5.0.0" %} +{% set version = "5.1.0" %} package: name: {{ name|lower }} @@ -7,12 +7,12 @@ package: source: url: https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v{{ version }}.tar.gz - sha256: 54b2987bd4f94adc1f7595d2a384e646019c22d163bcd30840a916a6abd7df71 + sha256: 5279f11f4c12db68ece74cec392b7a2a6b5166bc505877289f34cc3149779619 patches: - 0001-Configure-flags-for-Intel-and-gfortran.patch # [win] build: - number: 1 + number: 0 requirements: build: @@ -27,9 +27,11 @@ requirements: host: - libgomp # [linux] - llvm-openmp + - openblas run: - libgomp # [linux] - llvm-openmp + - openblas test: commands: From 66aae3916eb03c566ae500636e292bf60d61e9fc Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Thu, 25 Jul 2024 22:07:48 -0400 Subject: [PATCH 2/9] Update meta.yaml From linter... This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 652cf7e..6ba2289 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,9 +18,11 @@ requirements: build: - {{ compiler('fortran') }} # [not win] - {{ compiler('c') }} # [not win] + - {{ stdlib("c") }} # [not win] - make # [not win] - {{ compiler('m2w64_fortran') }} # [win] - {{ compiler('m2w64_c') }} # [win] + - {{ stdlib("m2w64_c") }} # [win] - ninja # [win] - cmake - pkg-config >=0.21 From 694313cbe743a9541c7844c19416b77392935203 Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 07:59:32 -0400 Subject: [PATCH 3/9] Update ci_support files. --- .ci_support/osx_64_.yaml | 6 ++++-- .ci_support/osx_arm64_.yaml | 2 ++ .ci_support/win_64_.yaml | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index ad5026b..122584d 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' c_compiler: - clang c_compiler_version: @@ -7,7 +9,7 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.9' +- '10.13' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index bd43e9c..6b7ebc3 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' +MACOSX_SDK_VERSION: +- '11.0' c_compiler: - clang c_compiler_version: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 429f92a..b865bad 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,11 +1,11 @@ -c_stdlib: -- vs channel_sources: - conda-forge channel_targets: - conda-forge main m2w64_c_compiler: - m2w64-toolchain +m2w64_c_stdlib: +- m2w64-toolchain m2w64_fortran_compiler: - m2w64-toolchain target_platform: From b0e08da21133b01b642dda6357319f17d07ed68e Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 08:35:43 -0400 Subject: [PATCH 4/9] Update from conda smithy rerender MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.37.1, and conda-forge-pinning 2024.07.26.09.08.03 --- .azure-pipelines/azure-pipelines-osx.yml | 2 +- .ci_support/linux_64_.yaml | 2 ++ .ci_support/linux_aarch64_.yaml | 2 ++ .ci_support/linux_ppc64le_.yaml | 2 ++ .ci_support/osx_64_.yaml | 2 ++ .ci_support/osx_arm64_.yaml | 2 ++ .ci_support/win_64_.yaml | 2 ++ .gitattributes | 4 ++-- .scripts/build_steps.sh | 6 ++++++ .scripts/run_osx_build.sh | 7 +++++++ .scripts/run_win_build.bat | 5 +++++ .travis.yml | 4 ++-- recipe/bld.bat | 1 + 13 files changed, 36 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 730a626..7708e23 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-11 + vmImage: macOS-12 strategy: matrix: osx_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 9f5c199..8cd1afd 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -18,6 +18,8 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' +openblas: +- 0.3.* target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index dc3aba1..f2ee74e 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -22,6 +22,8 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' +openblas: +- 0.3.* target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 3f3dda1..8fb9838 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -18,6 +18,8 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' +openblas: +- 0.3.* target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 122584d..f6b1c22 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -22,6 +22,8 @@ llvm_openmp: - '16' macos_machine: - x86_64-apple-darwin13.4.0 +openblas: +- 0.3.* target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 6b7ebc3..0ee650d 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -22,6 +22,8 @@ llvm_openmp: - '16' macos_machine: - arm64-apple-darwin20.0.0 +openblas: +- 0.3.* target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index b865bad..d20942e 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -8,5 +8,7 @@ m2w64_c_stdlib: - m2w64-toolchain m2w64_fortran_compiler: - m2w64-toolchain +openblas: +- 0.3.* target_platform: - win-64 diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 899ba03..ba4b251 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -72,6 +72,12 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 07dff21..ba0c879 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -85,6 +85,13 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" + + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 6d54697..65650bf 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -58,6 +58,11 @@ echo Building recipe conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! +call :start_group "Inspecting artifacts" +:: inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 +WHERE inspect_artifacts >nul 2>nul && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" +call :end_group + :: Prepare some environment variables for the upload step if /i "%CI%" == "github_actions" ( set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" diff --git a/.travis.yml b/.travis.yml index c833fba..0edc914 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,11 @@ # 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 +language: shell -matrix: +jobs: include: - env: CONFIG=linux_aarch64_ UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 os: linux diff --git a/recipe/bld.bat b/recipe/bld.bat index c380735..5fdc334 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -15,6 +15,7 @@ cmake -G"Ninja" ^ -DBUILD_STATIC_LIBS=ON ^ -DOPENMP=ON ^ -DBUILD_TESTING=OFF ^ + -DBLA_VENDOR=OpenBLAS ^ %SRC_DIR% if errorlevel 1 exit 1 From 7bf5969bffdf27f1d1a77817987e69c9608f7afb Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 08:59:03 -0400 Subject: [PATCH 5/9] Update OpenMP depencencies OpenBLAS introduces with trickiness with openmp, so trying replacing libgomp and llvm-openmp with openmp dependency. MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.37.1, and conda-forge-pinning 2024.07.26.09.08.03 --- .ci_support/osx_64_.yaml | 2 -- .ci_support/osx_arm64_.yaml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index f6b1c22..9820d57 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -18,8 +18,6 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' -llvm_openmp: -- '16' macos_machine: - x86_64-apple-darwin13.4.0 openblas: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 0ee650d..db478e6 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -18,8 +18,6 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' -llvm_openmp: -- '16' macos_machine: - arm64-apple-darwin20.0.0 openblas: From e29b8e2e0c66584adff95eddd6f1a625ca7dcadc Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 11:06:43 -0400 Subject: [PATCH 6/9] Another try for windows builds. MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.37.1, and conda-forge-pinning 2024.07.26.09.08.03 --- .ci_support/osx_64_.yaml | 2 ++ .ci_support/osx_arm64_.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 9820d57..f6b1c22 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -18,6 +18,8 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' +llvm_openmp: +- '16' macos_machine: - x86_64-apple-darwin13.4.0 openblas: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index db478e6..0ee650d 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -18,6 +18,8 @@ fortran_compiler: - gfortran fortran_compiler_version: - '12' +llvm_openmp: +- '16' macos_machine: - arm64-apple-darwin20.0.0 openblas: From be637ce081fdddb4871bc7ae3cdc9eb6f5d9660f Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 11:43:16 -0400 Subject: [PATCH 7/9] And another try at Windows build --- recipe/meta.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6ba2289..fc9f5f1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,12 +27,14 @@ requirements: - cmake - pkg-config >=0.21 host: - - libgomp # [linux] - - llvm-openmp + - libgomp # [not win] + - llvm-openmp # [not win] + - openmp ==5.0.0 # [win] - openblas run: - - libgomp # [linux] - - llvm-openmp + - libgomp # [not win] + - llvm-openmp # [not win] + - openmp ==5.0.0 # [win] - openblas test: From aff2e16d9c615a10ec10a4f902eeec5b86bcb065 Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 13:09:06 -0400 Subject: [PATCH 8/9] Windows build...again... --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fc9f5f1..9923d09 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,13 +27,13 @@ requirements: - cmake - pkg-config >=0.21 host: - - libgomp # [not win] - - llvm-openmp # [not win] + - libgomp # [linux] + - llvm-openmp # [osx] - openmp ==5.0.0 # [win] - openblas run: - - libgomp # [not win] - - llvm-openmp # [not win] + - libgomp # [linux] + - llvm-openmp # [osx] - openmp ==5.0.0 # [win] - openblas From 219d6d67fafbc44fa8489acbe413b8688d214887 Mon Sep 17 00:00:00 2001 From: Eric Engle Date: Fri, 26 Jul 2024 13:22:33 -0400 Subject: [PATCH 9/9] Test removing patch for windows. --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9923d09..7648710 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -8,8 +8,8 @@ package: source: url: https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v{{ version }}.tar.gz sha256: 5279f11f4c12db68ece74cec392b7a2a6b5166bc505877289f34cc3149779619 - patches: - - 0001-Configure-flags-for-Intel-and-gfortran.patch # [win] +# patches: +# - 0001-Configure-flags-for-Intel-and-gfortran.patch # [win] build: number: 0