From 0600be96ac0800bb788823b94f8070664bf33e53 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 31 Oct 2018 15:33:12 +0100 Subject: [PATCH] Force the build of libcurl instead of using system one. On ubuntu, the libcurl package is compiled with libkrb (kerberos). However, no libkrb5.a is provided and so, we cannot link statically. As we are not using kerberos, we can (and must) compile ourselves libcurl. --- .travis.yml | 2 -- kiwixbuild/dependencies/libcurl.py | 10 +++++++++- kiwixbuild/packages.py | 8 -------- travis/Dockerfile | 1 - 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 46d3614..9938aec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,7 +92,6 @@ matrix: - zlib1g-dev - uuid-dev - libctpp2-dev - - libcurl4-openssl-dev - env: PLATFORM="win32_dyn" addons: &win32_addons apt: @@ -115,7 +114,6 @@ matrix: - g++-multilib - libc6-dev:i386 - libstdc++-6-dev:i386 - - libcurl4-openssl-dev:i386 - env: PLATFORM="i586_static" addons: *i586_addons - env: PLATFORM="android" diff --git a/kiwixbuild/dependencies/libcurl.py b/kiwixbuild/dependencies/libcurl.py index c53acdb..de08e9c 100644 --- a/kiwixbuild/dependencies/libcurl.py +++ b/kiwixbuild/dependencies/libcurl.py @@ -18,4 +18,12 @@ class LibCurl(Dependency): 'ef6e55192d04713673b4409ccbcb4cb6cd723137d6e10ca45b0c593a454e1720', 'https://curl.haxx.se/download/curl-7.61.0.tar.xz') - Builder = MakeBuilder + class Builder(MakeBuilder): + dependencies = ['zlib'] + configure_option = " ".join( + ["--without-{}".format(p) + for p in ('libssh2', 'ssl', 'libmetalink', 'librtmp')] + + ["--disable-{}".format(p) + for p in ('ftp', 'file', 'ldap', 'ldaps', 'rtsp', 'dict', + 'telnet', 'tftp', 'pop3', 'imap', 'smb', 'smtp', + 'gopher', 'manual')]) diff --git a/kiwixbuild/packages.py b/kiwixbuild/packages.py index f3e2d14..c5d2f72 100644 --- a/kiwixbuild/packages.py +++ b/kiwixbuild/packages.py @@ -16,7 +16,6 @@ PACKAGE_NAME_MAPPERS = { 'zimlib': None, 'file' : ['file-devel'], 'gumbo' : ['gumbo-parser-devel'], - 'libcurl' : ['libcurl-devel'], }, 'fedora_native_static': { 'COMMON': _fedora_common + ['glibc-static', 'libstdc++-static'], @@ -26,7 +25,6 @@ PACKAGE_NAME_MAPPERS = { }, 'fedora_i586_dyn': { 'COMMON': _fedora_common + ['glibc-devel.i686', 'libstdc++-devel.i686'], - 'libcurl': ['libcurl-devel.i686'], }, 'fedora_i586_static': { 'COMMON': _fedora_common + ['glibc-devel.i686'], @@ -36,7 +34,6 @@ PACKAGE_NAME_MAPPERS = { 'zlib': ['mingw32-zlib'], 'lzma': ['mingw32-xz-libs'], 'libmicrohttpd': ['mingw32-libmicrohttpd'], - 'libcurl': ['mingw32-curl'], }, 'fedora_win32_static': { 'COMMON': _fedora_common + ['mingw32-gcc-c++', 'mingw32-bzip2-static', 'mingw32-win-iconv-static', 'mingw32-winpthreads-static', 'wine'], @@ -44,7 +41,6 @@ PACKAGE_NAME_MAPPERS = { 'lzma': ['mingw32-xz-libs-static'], 'libmicrohttpd': None, # ['mingw32-libmicrohttpd-static'] packaging dependecy seems buggy, and some static lib are name libfoo.dll.a and # gcc cannot found them. - 'libcurl': ['mingw32-curl-static'], }, 'fedora_armhf_static': { 'COMMON': _fedora_common @@ -64,7 +60,6 @@ PACKAGE_NAME_MAPPERS = { 'libmicrohttpd': ['libmicrohttpd-dev', 'ccache'], 'qt' : ['libqt5gui5', 'qtbase5-dev', 'qt5-default'], 'qtwebengine' : ['qtwebengine5-dev'], - 'libcurl': ['libcurl4-openssl-dev'], }, 'debian_native_static': { 'COMMON': _debian_common + ['libbz2-dev', 'libmagic-dev'], @@ -72,15 +67,12 @@ PACKAGE_NAME_MAPPERS = { 'uuid': ['uuid-dev'], 'ctpp2': ['libctpp2-dev'], 'ctpp2c': ['ctpp2-utils'], - 'libcurl': ['libcurl4-openssl-dev'], }, 'debian_i586_dyn': { 'COMMON': _debian_common + ['libc6-dev:i386', 'libstdc++-6-dev:i386', 'gcc-multilib', 'g++-multilib'], - 'libcurl': ['libcurl4-openssl-dev:i386'], }, 'debian_i586_static': { 'COMMON': _debian_common + ['libc6-dev:i386', 'libstdc++-6-dev:i386', 'gcc-multilib', 'g++-multilib'], - 'libcurl': ['libcurl4-openssl-dev:i386'], }, 'debian_win32_dyn': { 'COMMON': _debian_common + ['g++-mingw-w64-i686', 'gcc-mingw-w64-i686', 'gcc-mingw-w64-base', 'mingw-w64-tools'], diff --git a/travis/Dockerfile b/travis/Dockerfile index 8ab5812..c2c4bda 100644 --- a/travis/Dockerfile +++ b/travis/Dockerfile @@ -33,7 +33,6 @@ RUN \ ctpp2-utils \ libctpp2-dev \ libmicrohttpd-dev \ - libcurl4-openssl-dev \ # Qt packages libqt5gui5 \ qtbase5-dev \