50-curl.install.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/usr/bin/env bash
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # shellcheck source=packaging/makeself/functions.sh
  4. . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
  5. version="$(cat "$(dirname "${0}")/../curl.version")"
  6. # shellcheck disable=SC2015
  7. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building cURL" || true
  8. if [ -d "${NETDATA_MAKESELF_PATH}/tmp/curl" ]; then
  9. rm -rf "${NETDATA_MAKESELF_PATH}/tmp/curl"
  10. fi
  11. cache="${NETDATA_SOURCE_PATH}/artifacts/cache/${BUILDARCH}/curl"
  12. if [ -d "${cache}" ]; then
  13. echo "Found cached copy of build directory for curl, using it."
  14. cp -a "${cache}/curl" "${NETDATA_MAKESELF_PATH}/tmp/"
  15. CACHE_HIT=1
  16. else
  17. echo "No cached copy of build directory for curl found, fetching sources instead."
  18. run git clone --branch "${version}" --single-branch --depth 1 'https://github.com/curl/curl.git' "${NETDATA_MAKESELF_PATH}/tmp/curl"
  19. CACHE_HIT=0
  20. fi
  21. cd "${NETDATA_MAKESELF_PATH}/tmp/curl" || exit 1
  22. export CFLAGS="-I/openssl-static/include -pipe"
  23. export LDFLAGS="-static -L/openssl-static/lib64"
  24. export PKG_CONFIG="pkg-config --static"
  25. export PKG_CONFIG_PATH="/openssl-static/lib64/pkgconfig"
  26. if [ "${CACHE_HIT:-0}" -eq 0 ]; then
  27. run autoreconf -fi
  28. run ./configure \
  29. --prefix="${NETDATA_INSTALL_PATH}" \
  30. --enable-optimize \
  31. --disable-shared \
  32. --enable-static \
  33. --enable-http \
  34. --disable-ldap \
  35. --disable-ldaps \
  36. --enable-proxy \
  37. --disable-dict \
  38. --disable-telnet \
  39. --disable-tftp \
  40. --disable-pop3 \
  41. --disable-imap \
  42. --disable-smb \
  43. --disable-smtp \
  44. --disable-gopher \
  45. --enable-ipv6 \
  46. --enable-cookies \
  47. --with-ca-fallback \
  48. --with-openssl \
  49. --disable-dependency-tracking
  50. # Curl autoconf does not honour the curl_LDFLAGS environment variable
  51. run sed -i -e "s/LDFLAGS =/LDFLAGS = -all-static/" src/Makefile
  52. run make clean
  53. run make -j "$(nproc)"
  54. fi
  55. run make install
  56. store_cache curl "${NETDATA_MAKESELF_PATH}/tmp/curl"
  57. if [ "${NETDATA_BUILD_WITH_DEBUG}" -eq 0 ]; then
  58. run strip "${NETDATA_INSTALL_PATH}"/bin/curl
  59. fi
  60. # shellcheck disable=SC2015
  61. [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Preparing build environment" || true