From 1e67a6b50fb58421ddba7ada830ebbf9edade93e Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Thu, 6 Sep 2018 19:04:39 +0200 Subject: [PATCH] Add libcurl dependency. This is needed for new kiwix-lib version. We also remove libaria as kiwix-lib use aria2 binary directly. --- .travis.yml | 2 ++ kiwixbuild/dependencies/__init__.py | 2 +- kiwixbuild/dependencies/all_dependencies.py | 2 +- kiwixbuild/dependencies/kiwix_lib.py | 2 +- kiwixbuild/dependencies/libaria2.py | 26 --------------------- kiwixbuild/dependencies/libcurl.py | 21 +++++++++++++++++ kiwixbuild/packages.py | 10 +++++++- kiwixbuild/versions.py | 2 +- travis/Dockerfile | 1 + 9 files changed, 37 insertions(+), 31 deletions(-) delete mode 100644 kiwixbuild/dependencies/libaria2.py create mode 100644 kiwixbuild/dependencies/libcurl.py diff --git a/.travis.yml b/.travis.yml index 9938aec..46d3614 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,6 +92,7 @@ matrix: - zlib1g-dev - uuid-dev - libctpp2-dev + - libcurl4-openssl-dev - env: PLATFORM="win32_dyn" addons: &win32_addons apt: @@ -114,6 +115,7 @@ 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/__init__.py b/kiwixbuild/dependencies/__init__.py index 915967e..d1efa7d 100644 --- a/kiwixbuild/dependencies/__init__.py +++ b/kiwixbuild/dependencies/__init__.py @@ -15,7 +15,7 @@ from . import ( kiwix_desktop, kiwix_lib, kiwix_tools, - libaria2, + libcurl, libmagic, libmicrohttpd, libzim, diff --git a/kiwixbuild/dependencies/all_dependencies.py b/kiwixbuild/dependencies/all_dependencies.py index 22883eb..eafaca5 100644 --- a/kiwixbuild/dependencies/all_dependencies.py +++ b/kiwixbuild/dependencies/all_dependencies.py @@ -12,7 +12,7 @@ class AllBaseDependencies(Dependency): class Builder(NoopBuilder): @classmethod def get_dependencies(cls, platformInfo, allDeps): - base_deps = ['zlib', 'lzma', 'xapian-core', 'pugixml', 'libaria2', 'icu4c'] + base_deps = ['zlib', 'lzma', 'xapian-core', 'pugixml', 'libcurl', 'icu4c'] # zimwriterfs if platformInfo.build not in ('android', 'win32'): base_deps += ['libmagic', 'gumbo'] diff --git a/kiwixbuild/dependencies/kiwix_lib.py b/kiwixbuild/dependencies/kiwix_lib.py index a72e5fe..524e6e2 100644 --- a/kiwixbuild/dependencies/kiwix_lib.py +++ b/kiwixbuild/dependencies/kiwix_lib.py @@ -14,7 +14,7 @@ class Kiwixlib(Dependency): class Builder(MesonBuilder): @classmethod def get_dependencies(cls, platformInfo, allDeps): - base_dependencies = ["pugixml", "libzim", "zlib", "lzma", "libaria2", "icu4c"] + base_dependencies = ["pugixml", "libzim", "zlib", "lzma", "libcurl", "icu4c"] if (platformInfo.build != 'android' and neutralEnv('distname') != 'Darwin'): base_dependencies += ['ctpp2c', 'ctpp2'] diff --git a/kiwixbuild/dependencies/libaria2.py b/kiwixbuild/dependencies/libaria2.py deleted file mode 100644 index e0a5d38..0000000 --- a/kiwixbuild/dependencies/libaria2.py +++ /dev/null @@ -1,26 +0,0 @@ -from .base import ( - Dependency, - ReleaseDownload, - MakeBuilder -) - -from kiwixbuild.utils import Remotefile, run_command - -class Aria2(Dependency): - name = "libaria2" - - class Source(ReleaseDownload): - archive = Remotefile('libaria2-1.33.1.tar.gz', - '0616f11ef3ddd0c74be74ea2536be62ce168b99e3d6a35dea9d166b9cab9fbd1', - 'https://github.com/aria2/aria2/archive/release-1.33.1.tar.gz') - - patches = ["libaria2_android.patch"] - - def _post_prepare_script(self, context): - context.try_skip(self.extract_path) - command = "autoreconf -i" - run_command(command, self.extract_path, context) - - class Builder(MakeBuilder): - dependencies = ['zlib'] - configure_option = "--enable-libaria2 --disable-ssl --disable-bittorent --disable-metalink --without-sqlite3 --without-libxml2 --without-libexpat" diff --git a/kiwixbuild/dependencies/libcurl.py b/kiwixbuild/dependencies/libcurl.py new file mode 100644 index 0000000..c53acdb --- /dev/null +++ b/kiwixbuild/dependencies/libcurl.py @@ -0,0 +1,21 @@ +import os + +from .base import ( + Dependency, + ReleaseDownload, + MakeBuilder, +) + +from kiwixbuild.utils import Remotefile, pj, Defaultdict, SkipCommand, run_command +from kiwixbuild._global import get_target_step + +class LibCurl(Dependency): + name = "libcurl" + + class Source(ReleaseDownload): + name = "libcurl" + archive = Remotefile('curl-7.61.0.tar.xz', + 'ef6e55192d04713673b4409ccbcb4cb6cd723137d6e10ca45b0c593a454e1720', + 'https://curl.haxx.se/download/curl-7.61.0.tar.xz') + + Builder = MakeBuilder diff --git a/kiwixbuild/packages.py b/kiwixbuild/packages.py index d12ec57..f3e2d14 100644 --- a/kiwixbuild/packages.py +++ b/kiwixbuild/packages.py @@ -16,6 +16,7 @@ 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'], @@ -25,6 +26,7 @@ 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'], @@ -34,6 +36,7 @@ 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'], @@ -41,6 +44,7 @@ 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 @@ -59,7 +63,8 @@ PACKAGE_NAME_MAPPERS = { 'ctpp2c': ['ctpp2-utils'], 'libmicrohttpd': ['libmicrohttpd-dev', 'ccache'], 'qt' : ['libqt5gui5', 'qtbase5-dev', 'qt5-default'], - 'qtwebengine' : ['qtwebengine5-dev'] + 'qtwebengine' : ['qtwebengine5-dev'], + 'libcurl': ['libcurl4-openssl-dev'], }, 'debian_native_static': { 'COMMON': _debian_common + ['libbz2-dev', 'libmagic-dev'], @@ -67,12 +72,15 @@ 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/kiwixbuild/versions.py b/kiwixbuild/versions.py index ec815dc..2d5f180 100644 --- a/kiwixbuild/versions.py +++ b/kiwixbuild/versions.py @@ -35,7 +35,7 @@ release_versions = { # This is the "version" of the whole base_deps_versions dict. # Change this when you change base_deps_versions. -base_deps_meta_version = '11' +base_deps_meta_version = '12' base_deps_versions = { diff --git a/travis/Dockerfile b/travis/Dockerfile index c2c4bda..8ab5812 100644 --- a/travis/Dockerfile +++ b/travis/Dockerfile @@ -33,6 +33,7 @@ RUN \ ctpp2-utils \ libctpp2-dev \ libmicrohttpd-dev \ + libcurl4-openssl-dev \ # Qt packages libqt5gui5 \ qtbase5-dev \