Handle zlib dependency ourself.
We now compile zlib if there is no available packages.
This commit is contained in:
parent
390ca29ba3
commit
b0c35fbc9e
|
@ -55,30 +55,36 @@ PACKAGE_NAME_MAPPERS = {
|
||||||
'ctpp2' : None,
|
'ctpp2' : None,
|
||||||
'pugixml' : None, # ['pugixml-devel'] but package doesn't provide pkg-config file
|
'pugixml' : None, # ['pugixml-devel'] but package doesn't provide pkg-config file
|
||||||
'libmicrohttpd' : ['libmicrohttpd-devel'],
|
'libmicrohttpd' : ['libmicrohttpd-devel'],
|
||||||
|
'zlib' : ['zlib-devel'],
|
||||||
'icu4c': None,
|
'icu4c': None,
|
||||||
'zimlib': None,
|
'zimlib': None,
|
||||||
},
|
},
|
||||||
'fedora_native_static' : {
|
'fedora_native_static' : {
|
||||||
'COMMON' : ['gcc-c++', 'cmake', 'automake', 'glibc-static', 'libstdc++-static'],
|
'COMMON' : ['gcc-c++', 'cmake', 'automake', 'glibc-static', 'libstdc++-static'],
|
||||||
|
'zlib' : ['zlib-devel', 'zlib-static']
|
||||||
# Either there is no packages, or no static or too old
|
# Either there is no packages, or no static or too old
|
||||||
},
|
},
|
||||||
'fedora_win32_dyn' : {
|
'fedora_win32_dyn' : {
|
||||||
'COMMON' : ['mingw32-gcc-c++', 'mingw32-zlib', 'mingw32-bzip2', 'mingw32-win-iconv', 'mingw32-winpthreads', 'wine'],
|
'COMMON' : ['mingw32-gcc-c++', 'mingw32-bzip2', 'mingw32-win-iconv', 'mingw32-winpthreads', 'wine'],
|
||||||
|
'zlib' : ['mingw32-zlib'],
|
||||||
'libmicrohttpd' : ['mingw32-libmicrohttpd'],
|
'libmicrohttpd' : ['mingw32-libmicrohttpd'],
|
||||||
},
|
},
|
||||||
'fedora_win32_static' : {
|
'fedora_win32_static' : {
|
||||||
'COMMON' : ['mingw32-gcc-c++', 'mingw32-zlib-static', 'mingw32-bzip2-static', 'mingw32-win-iconv-static', 'mingw32-winpthreads-static', 'wine'],
|
'COMMON' : ['mingw32-gcc-c++', 'mingw32-bzip2-static', 'mingw32-win-iconv-static', 'mingw32-winpthreads-static', 'wine'],
|
||||||
|
'zlib' : ['mingw32-zlib-static'],
|
||||||
'libmicrohttpd' : None, # ['mingw32-libmicrohttpd-static'] packaging dependecy seems buggy, and some static lib are name libfoo.dll.a and
|
'libmicrohttpd' : None, # ['mingw32-libmicrohttpd-static'] packaging dependecy seems buggy, and some static lib are name libfoo.dll.a and
|
||||||
# gcc cannot found them.
|
# gcc cannot found them.
|
||||||
},
|
},
|
||||||
'Ubuntu_native_dyn' : {
|
'Ubuntu_native_dyn' : {
|
||||||
'COMMON' : ['gcc-5', 'cmake', 'libbz2-dev'],
|
'COMMON' : ['gcc-5', 'cmake', 'libbz2-dev'],
|
||||||
|
'zlib' : ['zlib1g-dev'],
|
||||||
'uuid' : ['uuid-dev'],
|
'uuid' : ['uuid-dev'],
|
||||||
'ctpp2': ['libctpp2-dev'],
|
'ctpp2': ['libctpp2-dev'],
|
||||||
'libmicrohttpd' : ['libmicrohttpd-dev']
|
'libmicrohttpd' : ['libmicrohttpd-dev']
|
||||||
},
|
},
|
||||||
'Ubuntu_native_static' : {
|
'Ubuntu_native_static' : {
|
||||||
'COMMON' : ['gcc-5', 'cmake', 'libbz2-dev'],
|
'COMMON' : ['gcc-5', 'cmake', 'libbz2-dev'],
|
||||||
|
'zlib' : ['zlib1g-dev'],
|
||||||
'uuid' : ['uuid-dev'],
|
'uuid' : ['uuid-dev'],
|
||||||
'ctpp2': ['libctpp2-dev'],
|
'ctpp2': ['libctpp2-dev'],
|
||||||
},
|
},
|
||||||
|
@ -688,6 +694,19 @@ class MesonBuilder(Builder):
|
||||||
# gettext
|
# gettext
|
||||||
# *************************************
|
# *************************************
|
||||||
|
|
||||||
|
class zlib(Dependency):
|
||||||
|
name = 'zlib'
|
||||||
|
version = '1.2.8'
|
||||||
|
|
||||||
|
class Source(ReleaseDownload):
|
||||||
|
archive = Remotefile('zlib-1.2.8.tar.gz',
|
||||||
|
'36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d')
|
||||||
|
|
||||||
|
class Builder(CMakeBuilder):
|
||||||
|
@property
|
||||||
|
def configure_option(self):
|
||||||
|
return "-DINSTALL_PKGCONFIG_DIR={}".format(pj(self.buildEnv.install_dir, self.buildEnv.libprefix, 'pkgconfig'))
|
||||||
|
|
||||||
class UUID(Dependency):
|
class UUID(Dependency):
|
||||||
name = 'uuid'
|
name = 'uuid'
|
||||||
version = "1.42"
|
version = "1.42"
|
||||||
|
@ -722,9 +741,10 @@ class Xapian(Dependency):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def dependencies(self):
|
def dependencies(self):
|
||||||
|
deps = ['zlib']
|
||||||
if self.buildEnv.build_target == 'win32':
|
if self.buildEnv.build_target == 'win32':
|
||||||
return []
|
return deps
|
||||||
return ['UUID']
|
return deps + ['UUID']
|
||||||
|
|
||||||
|
|
||||||
class CTPP2(Dependency):
|
class CTPP2(Dependency):
|
||||||
|
@ -840,6 +860,8 @@ class Zimlib(Dependency):
|
||||||
|
|
||||||
class Kiwixlib(Dependency):
|
class Kiwixlib(Dependency):
|
||||||
name = "kiwix-lib"
|
name = "kiwix-lib"
|
||||||
|
dependencies = ['zlib']
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def dependencies(self):
|
def dependencies(self):
|
||||||
if self.buildEnv.build_target == 'win32':
|
if self.buildEnv.build_target == 'win32':
|
||||||
|
@ -856,7 +878,7 @@ class Kiwixlib(Dependency):
|
||||||
|
|
||||||
class KiwixTools(Dependency):
|
class KiwixTools(Dependency):
|
||||||
name = "kiwix-tools"
|
name = "kiwix-tools"
|
||||||
dependencies = ["Kiwixlib", "MicroHttpd"]
|
dependencies = ["Kiwixlib", "MicroHttpd", "zlib"]
|
||||||
|
|
||||||
class Source(GitClone):
|
class Source(GitClone):
|
||||||
git_remote = "https://github.com/kiwix/kiwix-tools.git"
|
git_remote = "https://github.com/kiwix/kiwix-tools.git"
|
||||||
|
|
Loading…
Reference in New Issue