summaryrefslogtreecommitdiff
path: root/recipes/libsoup.recipe
blob: bb5df6b2194e2f90da97071c0aa57e96a48d63b0 (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
37
38
39
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python

from cerbero.tools.libtool import LibtoolLibrary

class Recipe(recipe.Recipe):
    name = 'libsoup'
    version = '2.74.3'
    licenses = [License.LGPLv2Plus]
    stype = SourceType.TARBALL
    btype = BuildType.MESON
    url = 'gnome://'
    tarball_checksum = 'e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13'
    meson_options = {'gnome': 'false', 'vapi': 'disabled', 'tls_check': 'false', 'tests' : 'false'}
    deps = ['libxml2', 'glib', 'glib-networking', 'libpsl']

    # sqlite ships with the system on macOS and iOS. Android also ships with
    # sqlite3, but it's not available from the NDK; only from Java.
    # We also build it on Linux to avoid the potential for bugs with
    # use_system_libs and to support cross-linux.
    platform_deps = {
        Platform.ANDROID: ['sqlite3'],
        Platform.WINDOWS: ['sqlite3'],
        Platform.LINUX: ['sqlite3'],
    }

    files_libs = ['libsoup-2.4']
    files_devel = ['include/libsoup-2.4', '%(libdir)s/pkgconfig/libsoup-2.4.pc']
    files_typelibs = ['Soup-2.4']

    def post_install(self):
        soup_deps = ['gio-2.0', 'gmodule-2.0', 'gobject-2.0', 'glib-2.0',
                     'ffi', 'xml2', 'psl', 'z']
        if self.config.target_platform not in (Platform.IOS, Platform.DARWIN):
            soup_deps += ['sqlite3']
        # Meson does not generate la files
        LibtoolLibrary('soup-2.4', None, None, None,
                self.config.libdir, self.config.target_platform,
                deps=soup_deps).save()
        super().post_install()