From 411d1d668ef653a42511f13b45b3eb398c275170 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Tue, 25 Jun 2024 15:24:00 -0400 Subject: [PATCH 01/11] Fix headers location --- recipe/repack.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/recipe/repack.sh b/recipe/repack.sh index 07c39de..405b208 100644 --- a/recipe/repack.sh +++ b/recipe/repack.sh @@ -6,6 +6,15 @@ set -ex src="${SRC_DIR}/${PKG_NAME}" +# TODO: remove once fixed in the upstream +if [[ "$PKG_NAME" == "dpcpp_impl_linux-64" ]]; then + # Move intel specific headers files from the global include directory to + # allow other compilers work in the same environment. + find ${src}/include -maxdepth 1 -type f -exec mv {} ${src}/opt/compiler/include \; + # Move it to the sycl directory to much structure with /opt/intel/include + mv ${src}/lib/clang/18/include/CL ${src}/include/sycl/CL +fi + cp -av "${src}"/* "${PREFIX}/" # replace old info folder with our new regenerated one From 822776c23ac7c65c69807a57e274fdc6501ae271 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Tue, 25 Jun 2024 15:24:34 -0400 Subject: [PATCH 02/11] Update meta.yaml to follow gcc and clang compiler --- recipe/meta.yaml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a13a314..b56d3ac 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -231,7 +231,8 @@ outputs: # 2. Pin to year for now, similar to MKL. strong: - {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }} - - __glibc >=2.17,<3.0.a0 # [linux64] + - {{ pin_compatible("libgcc-ng") }} # [linux64] + - {{ pin_compatible("libstdcxx-ng") }} # [linux64] requirements: build: - {{ compiler('c') }} @@ -247,9 +248,16 @@ outputs: - llvm-openmp # [not linux] run: - {{ pin_subpackage('dpcpp-cpp-rt', exact=True) }} - - sysroot_linux-64 2.17 # [linux64] - - gcc_impl_linux-64 # [linux64] - - gxx_impl_linux-64 # [linux64] + # Refer version dependencies at + # https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html + # Keep versions in sync with dpcpp_{{ target_platform }} + - binutils_impl_{{ target_platform }} >=2.30 # [linux] + - libgcc-devel_{{ target_platform }} >=7.5.0 # [linux] + - libstdcxx-devel_{{ target_platform }} >=7.5.0 # [linux] + # None of the other compilers pin to glibc, so we don't either. It also + # appears that sysroot version must be aligned with host system, e.g.: + # https://github.com/conda-forge/ctng-compiler-activation-feedstock/issues/108 + - sysroot_{{ target_platform }} >=2.17 # [linux] about: home: https://software.intel.com/content/www/us/en/develop/tools.html @@ -282,11 +290,13 @@ outputs: # 2. Pin to year for now, similar to MKL. strong: - {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }} - - __glibc >=2.17,<3.0.a0 # [linux64] requirements: # [linux64 or win64] run: # [linux64 or win64] - {{ pin_subpackage('dpcpp_impl_linux-64', exact=True) }} # [linux64] - {{ pin_subpackage('dpcpp_impl_win-64', exact=True) }} # [win64] + # Keep versions in sync with dpcpp_impl_{{ target_platform }} + - binutils_impl_{{ target_platform }} >=2.30 # [linux] + - sysroot_{{ target_platform }} # [linux] about: home: https://software.intel.com/content/www/us/en/develop/tools.html doc_url: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html From e2e5b36f311d1949514208e697b90c827343a304 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Tue, 25 Jun 2024 15:26:37 -0400 Subject: [PATCH 03/11] Pin build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b56d3ac..1a79e82 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ {% set intel_ch = "https://anaconda.org/intel" %} # use this if our build script changes and we need to increment beyond intel's version -{% set dst_build_number = '0' %} +{% set dst_build_number = '1' %} {% set build_number = intel_build_number|int + dst_build_number|int %} package: From 27a1d4ff4321e5c2919135b0008f8056d2bcc395 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Tue, 25 Jun 2024 15:36:40 -0400 Subject: [PATCH 04/11] Fix win-64 dependency issue --- recipe/meta.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1a79e82..f918ff7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -292,8 +292,7 @@ outputs: - {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }} requirements: # [linux64 or win64] run: # [linux64 or win64] - - {{ pin_subpackage('dpcpp_impl_linux-64', exact=True) }} # [linux64] - - {{ pin_subpackage('dpcpp_impl_win-64', exact=True) }} # [win64] + - {{ pin_subpackage('dpcpp_impl_' ~ target_platform, exact=True) }} # Keep versions in sync with dpcpp_impl_{{ target_platform }} - binutils_impl_{{ target_platform }} >=2.30 # [linux] - sysroot_{{ target_platform }} # [linux] From b50ac77d4786ce73f4e6c0ad159f768aa014b468 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 14:08:27 -0400 Subject: [PATCH 05/11] Use stdlib('c') --- recipe/meta.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f918ff7..ba1f4cc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -71,6 +71,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} host: - ocl-icd # [linux] - khronos-opencl-icd-loader # [win] @@ -100,6 +101,7 @@ outputs: requirements: build: - {{ compiler('c') }} + - {{ stdlib('c') }} - patchelf # [linux] host: - {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }} @@ -139,7 +141,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - sysroot_linux-64 2.17 # [linux] + - {{ stdlib('c') }} - patchelf # [linux] host: - tbb-devel {{ tbb_version.split('.')[0] }}.* @@ -190,6 +192,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} host: - {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }} - ocl-icd # [linux] @@ -237,6 +240,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} host: - zlib - libxml2 @@ -313,6 +317,7 @@ outputs: requires: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} files: - simple.cpp commands: @@ -337,6 +342,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} host: - mpich # [linux] - {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }} From 51f8199def203623fa1d7bb2c33a58c21e9912b5 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 14:08:52 -0400 Subject: [PATCH 06/11] Add ZzEeKkAa to conda recipe mainteiner list --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ba1f4cc..8b40de5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -382,3 +382,4 @@ extra: - napetrov - tomashek - oleksandr-pavlyk + - ZzEeKkAa From cd18fec98f82576bc3c2df1823d4b8404d870163 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 14:17:07 -0400 Subject: [PATCH 07/11] Replace build_with_mambabuild with conda_build_tool --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 0159964..07c182b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,5 +1,5 @@ conda_forge_output_validation: true -build_with_mambabuild: false +conda_build_tool: conda-build github: branch_name: main tooling_branch_name: main From 6c72c23d15482cf23b438b0f1c3ae3fea6f40e47 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 14:33:50 -0400 Subject: [PATCH 08/11] Fix template generation problem --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8b40de5..10954f4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -294,8 +294,8 @@ outputs: # 2. Pin to year for now, similar to MKL. strong: - {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }} - requirements: # [linux64 or win64] - run: # [linux64 or win64] + requirements: + run: - {{ pin_subpackage('dpcpp_impl_' ~ target_platform, exact=True) }} # Keep versions in sync with dpcpp_impl_{{ target_platform }} - binutils_impl_{{ target_platform }} >=2.30 # [linux] From 3d29e3d47e54e358a062ef175b1ddf735cce5256 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 18:38:22 +0000 Subject: [PATCH 09/11] MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.36.2, and conda-forge-pinning 2024.06.26.07.13.35 --- .ci_support/linux_64_.yaml | 2 +- .ci_support/win_64_.yaml | 2 +- .gitattributes | 4 ++-- .github/CODEOWNERS | 2 +- .scripts/build_steps.sh | 7 +++++++ .scripts/run_win_build.bat | 5 +++++ README.md | 1 + 7 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index fc0a8ff..bf96aec 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -32,4 +32,4 @@ zip_keys: - - c_stdlib_version - cdt_name zlib: -- '1.2' +- '1' diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 12779c9..4f684b4 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -25,4 +25,4 @@ python: target_platform: - win-64 zlib: -- '1.2' +- '1' 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/.github/CODEOWNERS b/.github/CODEOWNERS index 04c1334..3bfad75 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @napetrov @oleksandr-pavlyk @tomashek \ No newline at end of file +* @ZzEeKkAa @napetrov @oleksandr-pavlyk @tomashek \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 2f3df6c..97dc8d9 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -69,6 +69,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 7491838..24ef201 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -53,6 +53,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/README.md b/README.md index ab8825d..ed18e96 100644 --- a/README.md +++ b/README.md @@ -352,6 +352,7 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== +* [@ZzEeKkAa](https://github.com/ZzEeKkAa/) * [@napetrov](https://github.com/napetrov/) * [@oleksandr-pavlyk](https://github.com/oleksandr-pavlyk/) * [@tomashek](https://github.com/tomashek/) From 257973d3cec108d964bd42da3ad32a939bbb0ed7 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 16:12:16 -0400 Subject: [PATCH 10/11] Update meta dependencies --- recipe/conda_build_config.yaml | 8 ++++++++ recipe/meta.yaml | 24 +++++++++++------------- 2 files changed, 19 insertions(+), 13 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..67f95b6 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,8 @@ +# Refer version dependencies at +# https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html +c_compiler_version: # [linux] + - 7.5.0 # [linux] +cxx_compiler_version: # [linux] + - 7.5.0 # [linux] +binutils_version: # [linux] + - 2.30 # [linux] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 10954f4..4214a64 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -229,6 +229,8 @@ outputs: binary_relocation: False overlinking_ignore_patterns: - "**" + ignore_run_exports_from: + - {{ c_stdlib }}_{{ target_platform }} run_exports: # 1. strong so it gets added if this package is in the build requirement section. # 2. Pin to year for now, similar to MKL. @@ -252,17 +254,14 @@ outputs: - llvm-openmp # [not linux] run: - {{ pin_subpackage('dpcpp-cpp-rt', exact=True) }} - # Refer version dependencies at - # https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html - # Keep versions in sync with dpcpp_{{ target_platform }} - - binutils_impl_{{ target_platform }} >=2.30 # [linux] - - libgcc-devel_{{ target_platform }} >=7.5.0 # [linux] - - libstdcxx-devel_{{ target_platform }} >=7.5.0 # [linux] - # None of the other compilers pin to glibc, so we don't either. It also - # appears that sysroot version must be aligned with host system, e.g.: + - binutils_impl_{{ target_platform }} >={{ binutils_version }} # [linux] + - libgcc-devel_{{ target_platform }} >={{ c_compiler_version }} # [linux] + - libstdcxx-devel_{{ target_platform }} >={{ cxx_compiler_version }} # [linux] + # None of the other compilers pin to sysroot, so we don't either. It + # also appears that sysroot version must be aligned with host system, + # e.g.: # https://github.com/conda-forge/ctng-compiler-activation-feedstock/issues/108 - - sysroot_{{ target_platform }} >=2.17 # [linux] - + - {{ c_stdlib }}_{{ target_platform }} about: home: https://software.intel.com/content/www/us/en/develop/tools.html doc_url: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html @@ -297,9 +296,8 @@ outputs: requirements: run: - {{ pin_subpackage('dpcpp_impl_' ~ target_platform, exact=True) }} - # Keep versions in sync with dpcpp_impl_{{ target_platform }} - - binutils_impl_{{ target_platform }} >=2.30 # [linux] - - sysroot_{{ target_platform }} # [linux] + - binutils_{{ target_platform }} >={{ binutils_version }} # [linux] + - {{ c_stdlib }}_{{ target_platform }} about: home: https://software.intel.com/content/www/us/en/develop/tools.html doc_url: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html From ff54602b38dc952290fa9aa3d89cac7b74ac0e98 Mon Sep 17 00:00:00 2001 From: Yevhenii Havrylko Date: Wed, 26 Jun 2024 16:12:54 -0400 Subject: [PATCH 11/11] MNT: Re-rendered with conda-build 24.5.0, conda-smithy 3.36.2, and conda-forge-pinning 2024.06.26.07.13.35 --- .ci_support/linux_64_.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index bf96aec..7e3d69b 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,9 @@ +binutils_version: +- '2.30' c_compiler: - gcc c_compiler_version: -- '12' +- 7.5.0 c_stdlib: - sysroot c_stdlib_version: @@ -17,7 +19,7 @@ curl: cxx_compiler: - gxx cxx_compiler_version: -- '12' +- 7.5.0 docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 libxml2: