summaryrefslogtreecommitdiff
path: root/recipes/libxml2.recipe
blob: 5bfa46f675bece365e0212aaf4496d0474df5a37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'libxml2'
    version = '2.9.9'
    stype = SourceType.TARBALL
    # Upstream still has a broken SSL certificate, use our mirror
    #url = 'https://xmlsoft.org/sources/libxml2-%(version)s.tar.gz'
    url = 'https://gstreamer.freedesktop.org/src/mirror/libxml2-%(version)s.tar.gz'
    tarball_checksum = '94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871'
    licenses = [{License.MIT: ['COPYING']}]
    deps = [ 'zlib' ]
    autoreconf = True
    patches = ['libxml2/0003-configure-fix-python-dir-prefix.patch']

    files_libs = ['libxml2']
    files_devel = ['include/libxml2', 'lib/xml2Conf.sh', 'bin/xml2-config',
                   'lib/pkgconfig/libxml-2.0.pc', 'bin/xmllint%(bext)s']

    def prepare(self):
        if self.config.target_platform == Platform.WINDOWS:
            self.configure_options = '--with-python=no'
            self.configure_options += ' --without-threads'
        elif self.config.target_platform == Platform.ANDROID:
            self.configure_options = '--with-python=no'
            v = DistroVersion.get_android_api_version(self.config.target_distro_version)
            if v < 21:
                self.append_env('CFLAGS', '-D_FILE_OFFSET_BITS=32')
                self.append_env('CPPFLAGS', '-D_FILE_OFFSET_BITS=32')
        elif self.config.target_platform == Platform.IOS:
            self.configure_options = '--with-python=no'
        elif self.config.target_platform == Platform.LINUX:
            self.configure_options = '--with-python=no'
        elif self.config.target_platform == Platform.DARWIN:
            self.configure_options = '--with-python=no'