diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 221a5c3b..a5504551 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,6 +12,10 @@ jobs: CONFIG: osx_64_ UPLOAD_PACKAGES: 'True' SHORT_CONFIG: osx_64_ + osx_arm64_: + CONFIG: osx_arm64_ + UPLOAD_PACKAGES: 'True' + SHORT_CONFIG: osx_arm64_ timeoutInMinutes: 360 steps: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml new file mode 100644 index 00000000..4c786e48 --- /dev/null +++ b/.ci_support/osx_arm64_.yaml @@ -0,0 +1,44 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +arpack: +- '3.7' +c_compiler: +- clang +c_compiler_version: +- '15' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +curl: +- '8' +cxx_compiler: +- clangxx +cxx_compiler_version: +- '15' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +gmp: +- '6' +libssh2: +- '1' +macos_machine: +- arm64-apple-darwin20.0.0 +mpfr: +- '4' +pcre2: +- '10.40' +perl: +- 5.32.1 +suitesparse: +- '5' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +zlib: +- '1.2' diff --git a/README.md b/README.md index db2ba120..5709503e 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,13 @@ Current build status variant + + osx_arm64 + + + variant + + diff --git a/conda-forge.yml b/conda-forge.yml index 7f4c5921..001de9b1 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,5 +1,7 @@ azure: store_build_artifacts: true +build_platform: + osx_arm64: osx_64 conda_forge_output_validation: true github: branch_name: main diff --git a/recipe/build.sh b/recipe/build.sh index 06a073ee..9f226792 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -12,10 +12,12 @@ export CMAKE_GENERATOR="make" make -C base version_git.jl.phony CC=$CC CXX=$CXX FC=$FC export EXTRA_MAKEFLAGS="" -if [[ "${target_platform}" == osx-* ]]; then - export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=0" +if [[ "${target_platform}" == osx-arm64 ]]; then + export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=0 USE_SYSTEM_OPENLIBM=0" +elif [[ "${target_platform}" == osx-* ]]; then + export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_MBEDTLS=0 USE_SYSTEM_OPENLIBM=1" elif [[ "${target_platform}" == linux-* ]]; then - export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1" + export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=1 USE_SYSTEM_MBEDTLS=1 USE_SYSTEM_OPENLIBM=1" fi # See the following link for how official Julia sets JULIA_CPU_TARGET # https://github.com/JuliaCI/julia-buildbot/blob/ba448c690935fe53d2b1fc5ce22bc60fd1e251a7/master/inventory.py @@ -43,7 +45,6 @@ make -j${CPU_COUNT} prefix=${PREFIX} sysconfigdir=${PREFIX}/etc \ USE_SYSTEM_LIBSSH2=1 \ USE_SYSTEM_LLVM=0 \ USE_SYSTEM_MPFR=0 \ - USE_SYSTEM_OPENLIBM=1 \ USE_SYSTEM_PATCHELF=1 \ USE_SYSTEM_PCRE=1 \ USE_SYSTEM_LIBSUITESPARSE=1 \ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ce8d4f7c..2fba130b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -17,6 +17,7 @@ source: ## issues with this precompile test, see https://github.com/JuliaLang/julia/issues/43535 - patches/0002-disable-testing-Baz.baz-1.patch # [linux] - patches/julia-libunwind-1.6.patch # [linux] + - patches/0004-Force-use-of-build-env-curl.patch - patches/0003-Defer-codesigning-to-conda-forge.patch # [osx] build: @@ -29,7 +30,11 @@ requirements: build: - make - perl + - curl - python 3 + - cross-python_{{ target_platform }} # [build_platform != target_platform] + - git # [build_platform != target_platform] + - openlibm # [build_platform != target_platform] - {{ compiler('fortran') }} - {{ compiler('c') }} - {{ compiler('cxx') }} diff --git a/recipe/patches/0004-Force-use-of-build-env-curl.patch b/recipe/patches/0004-Force-use-of-build-env-curl.patch new file mode 100644 index 00000000..c4ae4ddc --- /dev/null +++ b/recipe/patches/0004-Force-use-of-build-env-curl.patch @@ -0,0 +1,26 @@ +From e50a1c6fb20608e1d909797b554637969aa980c7 Mon Sep 17 00:00:00 2001 +From: Mark Kittisopikul +Date: Fri, 2 Sep 2022 20:45:50 -0400 +Subject: [PATCH] Force use of build env curl + +--- + deps/tools/jldownload | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/deps/tools/jldownload b/deps/tools/jldownload +index 99822195fe..7a32f499c6 100755 +--- a/deps/tools/jldownload ++++ b/deps/tools/jldownload +@@ -6,7 +6,8 @@ + CACHE_HOST=https://cache.julialang.org + + WGET=$(which wget 2>/dev/null) +-CURL=$(which curl 2>/dev/null) ++#CURL=$(which curl 2>/dev/null) ++CURL=$CONDA_PREFIX/bin/curl + FETCH=$(which fetch 2>/dev/null) + + TIMEOUT=15 # seconds +-- +2.32.1 (Apple Git-133) +