workaround for old macOS versions, after change of Let's Encrypt root certificate --- see also https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021 --- Java/Scala Isabelle_System.download() works, but curl doens't;
authorwenzelm
Mon, 11 Oct 2021 17:04:35 +0200
changeset 74499 059743bc8311
parent 74498 27475e64a887
child 74500 40f03761f77f
workaround for old macOS versions, after change of Let's Encrypt root certificate --- see also https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021 --- Java/Scala Isabelle_System.download() works, but curl doens't;
lib/Tools/components
--- a/lib/Tools/components	Mon Oct 11 06:32:09 2021 +0000
+++ b/lib/Tools/components	Mon Oct 11 17:04:35 2021 +0200
@@ -148,7 +148,16 @@
         type -p curl > /dev/null || fail "Cannot download files: missing curl"
         echo "Getting \"$REMOTE\""
         mkdir -p "$(dirname "$FULL_NAME")"
-        if curl --fail --silent --location "$REMOTE" > "${FULL_NAME}.tar.gz.part"
+
+        CURL_OPTIONS="--fail --silent --location"
+        if [ "$ISABELLE_PLATFORM_FAMILY" = "macos" ]; then
+          case $(sw_vers -productVersion) in
+            10.*)
+              CURL_OPTIONS="$CURL_OPTIONS --insecure"
+              ;;
+          esac
+        fi
+        if curl $CURL_OPTIONS "$REMOTE" > "${FULL_NAME}.tar.gz.part"
         then
           mv -f "${FULL_NAME}.tar.gz.part" "${FULL_NAME}.tar.gz"
         else