diff --git a/android/build.py b/android/build.py index 8164682e1..2b658cc45 100755 --- a/android/build.py +++ b/android/build.py @@ -41,7 +41,6 @@ thirdparty_libs = [ gme, ffmpeg, openssl, - curl, libnfs, boost, ] diff --git a/meson.build b/meson.build index f9749468b..d5a084c5f 100644 --- a/meson.build +++ b/meson.build @@ -12,6 +12,7 @@ project( # If we build those libraries as Meson subproject, they shall be # linked statically into the MPD executable. + 'curl:default_library=static', 'expat:default_library=static', 'fmt:default_library=static', 'gtest:default_library=static', @@ -22,6 +23,8 @@ project( 'vorbis:default_library=static', # Not interested in compiler warnings from subprojects. + 'curl:werror=false', + 'curl:warning_level=0', 'expat:werror=false', 'expat:warning_level=0', 'fmt:warning_level=0', @@ -31,6 +34,38 @@ project( 'liburing:warning_level=0', 'sqlite3:warning_level=0', 'vorbis:warning_level=0', + + # Disable subprojects features we don't need + 'curl:tool=disabled', + 'curl:tests=disabled', + 'curl:unittests=disabled', + 'curl:brotli=disabled', + 'curl:cookies=disabled', + 'curl:progress-meter=disabled', + 'curl:zstd=disabled', + 'curl:kerberos-auth=disabled', + 'curl:negotiate-auth=disabled', + 'curl:gss-api=disabled', + 'curl:ntlm=disabled', + 'curl:ssh=disabled', + 'curl:dict=disabled', + 'curl:file=disabled', + 'curl:ftp=disabled', + 'curl:gopher=disabled', + 'curl:imap=disabled', + 'curl:ldap=disabled', + 'curl:ldaps=disabled', + 'curl:mqtt=disabled', + 'curl:pop3=disabled', + 'curl:rtmp=disabled', + 'curl:rtsp=disabled', + 'curl:smb=disabled', + 'curl:smtp=disabled', + 'curl:telnet=disabled', + 'curl:tftp=disabled', + 'opus:docs=disabled', + 'opus:extra-programs=disabled', + 'opus:tests=disabled', ], license: 'GPLv2+', ) diff --git a/python/build/libs.py b/python/build/libs.py index 2d9a752fb..891c7f9a9 100644 --- a/python/build/libs.py +++ b/python/build/libs.py @@ -609,41 +609,6 @@ openssl = OpenSSLProject( 'include/openssl/ossl_typ.h', ) -curl = CmakeProject( - ('https://curl.se/download/curl-8.5.0.tar.xz', - 'https://github.com/curl/curl/releases/download/curl-8_5_0/curl-8.5.0.tar.xz'), - '42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb', - 'lib/libcurl.a', - [ - '-DBUILD_CURL_EXE=OFF', - '-DBUILD_SHARED_LIBS=OFF', - '-DCURL_DISABLE_LDAP=ON', - '-DCURL_DISABLE_TELNET=ON', - '-DCURL_DISABLE_DICT=ON', - '-DCURL_DISABLE_FILE=ON', - '-DCURL_DISABLE_FTP=ON', - '-DCURL_DISABLE_TFTP=ON', - '-DCURL_DISABLE_LDAPS=ON', - '-DCURL_DISABLE_RTSP=ON', - '-DCURL_DISABLE_PROXY=ON', - '-DCURL_DISABLE_POP3=ON', - '-DCURL_DISABLE_IMAP=ON', - '-DCURL_DISABLE_SMTP=ON', - '-DCURL_DISABLE_GOPHER=ON', - '-DCURL_DISABLE_COOKIES=ON', - '-DCURL_DISABLE_CRYPTO_AUTH=ON', - '-DCURL_DISABLE_ALTSVC=ON', - '-DCMAKE_USE_LIBSSH2=OFF', - '-DCURL_WINDOWS_SSPI=OFF', - '-DCURL_DISABLE_NTLM=ON', - '-DBUILD_TESTING=OFF', - ], - windows_configure_args=[ - '-DCURL_USE_SCHANNEL=ON', - ], - patches='src/lib/curl/patches', -) - libnfs = AutotoolsProject( 'https://github.com/sahlberg/libnfs/archive/libnfs-5.0.3.tar.gz', 'd945cb4f4c8f82ee1f3640893a168810f794a28e1010bb007ec5add345e9df3e', diff --git a/src/lib/curl/patches/no_CMAKE_C_IMPLICIT_LINK_LIBRARIES.patch b/src/lib/curl/patches/no_CMAKE_C_IMPLICIT_LINK_LIBRARIES.patch deleted file mode 100644 index 8c3e6202a..000000000 --- a/src/lib/curl/patches/no_CMAKE_C_IMPLICIT_LINK_LIBRARIES.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: curl-7.85.0/CMakeLists.txt -=================================================================== ---- curl-7.85.0.orig/CMakeLists.txt -+++ curl-7.85.0/CMakeLists.txt -@@ -1655,7 +1655,7 @@ - set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}") - set(LIBCURL_LIBS "") - set(libdir "${CMAKE_INSTALL_PREFIX}/lib") -- foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS}) -+ foreach(_lib ${CURL_LIBS}) - if(TARGET "${_lib}") - set(_libname "${_lib}") - get_target_property(_imported "${_libname}" IMPORTED) diff --git a/src/lib/curl/patches/no_netrc.patch b/src/lib/curl/patches/no_netrc.patch deleted file mode 100644 index 35b83b621..000000000 --- a/src/lib/curl/patches/no_netrc.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: curl-7.84.0/lib/url.c -=================================================================== ---- curl-7.84.0.orig/lib/url.c -+++ curl-7.84.0/lib/url.c -@@ -3003,6 +3003,7 @@ static CURLcode override_login(struct Cu - - #ifndef CURL_DISABLE_NETRC - conn->bits.netrc = FALSE; -+#ifndef __BIONIC__ - if(data->set.use_netrc && !data->set.str[STRING_USERNAME]) { - bool netrc_user_changed = FALSE; - bool netrc_passwd_changed = FALSE; -@@ -3079,6 +3080,7 @@ static CURLcode override_login(struct Cu - return CURLE_OUT_OF_MEMORY; - } - } -+#endif - - return CURLE_OK; - } diff --git a/src/lib/curl/patches/series b/src/lib/curl/patches/series deleted file mode 100644 index 979436b3c..000000000 --- a/src/lib/curl/patches/series +++ /dev/null @@ -1,2 +0,0 @@ -no_CMAKE_C_IMPLICIT_LINK_LIBRARIES.patch -no_netrc.patch diff --git a/subprojects/.gitignore b/subprojects/.gitignore index c675a6449..4baf86ff4 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -1,5 +1,6 @@ /packagecache/ +/curl-*/ /expat-*/ /fmt-*/ /googletest-*/ diff --git a/subprojects/curl.wrap b/subprojects/curl.wrap new file mode 100644 index 000000000..f7e384b85 --- /dev/null +++ b/subprojects/curl.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = curl-8.10.1 +source_url = https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.xz +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/curl_8.10.1-1/curl-8.10.1.tar.xz +source_filename = curl-8.10.1.tar.xz +source_hash = 73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee +patch_filename = curl_8.10.1-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/curl_8.10.1-1/get_patch +patch_hash = 707c28f35fc9b0e8d68c0c2800712007612f922a31da9637ce706a2159f3ddd8 +wrapdb_version = 8.10.1-1 + +[provide] +dependency_names = libcurl diff --git a/win32/build.py b/win32/build.py index 7a51298ad..69a97c2e8 100755 --- a/win32/build.py +++ b/win32/build.py @@ -50,7 +50,6 @@ thirdparty_libs = [ wildmidi, gme, ffmpeg, - curl, libnfs, jack, boost,