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/appveyor/install_kiwix-lib.cmd b/appveyor/install_kiwix-lib.cmd index afbe3bf..42461f1 100644 --- a/appveyor/install_kiwix-lib.cmd +++ b/appveyor/install_kiwix-lib.cmd @@ -2,7 +2,7 @@ REM ======================================================== REM Install kiwix-lib git clone https://github.com/kiwix/kiwix-lib.git || exit /b 1 cd kiwix-lib -meson.py . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 +meson . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 cd build ninja || exit /b 1 ninja install || exit /b 1 diff --git a/appveyor/install_libzim.cmd b/appveyor/install_libzim.cmd index 4fe5e41..18e42d6 100644 --- a/appveyor/install_libzim.cmd +++ b/appveyor/install_libzim.cmd @@ -2,7 +2,7 @@ REM ======================================================== REM Install libzim git clone https://github.com/openzim/libzim.git || exit /b 1 cd libzim -meson.py . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 +meson . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 cd build ninja || exit /b 1 ninja install || exit /b 1 diff --git a/appveyor/install_pugixml.cmd b/appveyor/install_pugixml.cmd index 8b38374..e005d91 100644 --- a/appveyor/install_pugixml.cmd +++ b/appveyor/install_pugixml.cmd @@ -3,7 +3,7 @@ REM Install pugixml curl -fsSL -O http://public.kymeria.fr/KIWIX/windows/pugixml-1.2-meson.zip || exit /b 1 7z x pugixml-1.2-meson.zip -o. || exit /b 1 cd pugixml-1.2-meson -meson.py . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 +meson . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 cd build ninja || exit /b 1 ninja install || exit /b 1 diff --git a/appveyor/install_zlib.cmd b/appveyor/install_zlib.cmd index 31ab3ed..2e1a00b 100644 --- a/appveyor/install_zlib.cmd +++ b/appveyor/install_zlib.cmd @@ -3,7 +3,7 @@ REM Install zlib curl -fsSL -O http://public.kymeria.fr/KIWIX/windows/zlib-1.2.11.meson.zip || exit /b 1 7z x zlib-1.2.11.meson.zip || exit /b 1 cd zlib-1.2.11 -meson.py . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 +meson . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1 cd build ninja || exit /b 1 ninja install || exit /b 1 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 \ diff --git a/travis/install_extra_deps.sh b/travis/install_extra_deps.sh index 2b58f2b..0e66639 100755 --- a/travis/install_extra_deps.sh +++ b/travis/install_extra_deps.sh @@ -4,8 +4,6 @@ set -e if [[ "$TRAVIS_OS_NAME" == "osx" ]] then - brew update - brew upgrade python3 pip3 install pillow pip3 install .