summaryrefslogtreecommitdiff
path: root/recipes/pango.recipe
blob: 4a4e47027b2313b137b025bddd117902b4a04c4d (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
from cerbero.tools.libtool import LibtoolLibrary

class Recipe(recipe.Recipe):
    name = 'pango'
    version = '1.42.4'
    stype = SourceType.TARBALL
    btype = BuildType.MESON
    url = 'gnome://'
    tarball_checksum = '1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d'
    licenses = [License.LGPLv2Plus]
    deps = ['cairo', 'fontconfig', 'freetype', 'fribidi', 'harfbuzz']
    patches = [
        # https://gitlab.gnome.org/GNOME/pango/merge_requests/23
        name + '/0001-meson-Don-t-run-help2man-when-cross-building.patch',
        # Cherry-picked from upstream master
        name + '/0001-meson-fix-build-on-osx.patch',
        # https://gitlab.gnome.org/GNOME/pango/merge_requests/24
        name + '/0001-meson-Set-the-compatibility-version-correctly-on-mac.patch',
        # https://gitlab.gnome.org/GNOME/pango/-/merge_requests/181
        name + '/0001-meson-Fix-check-for-builtype-arguments.patch',
        name + '/0001-pangowin32-fontmap-read-windows-fallbacks-from-regis.patch',
        # https://gitlab.gnome.org/GNOME/pango/-/merge_requests/34
        name + '/0002-win32-Use-GPrivate-managed-display-device-context.patch', 
        # https://gitlab.gnome.org/GNOME/pango/-/merge_requests/694
        name + '/0001-win32-Fix-32bit-build-crash-on-DeleteDC.patch',
    ]

    files_libs = ['libpangocairo-1.0', 'libpango-1.0', 'libpangoft2-1.0']
    files_bins = ['pango-view']
    files_devel = ['include/pango-1.0',
        'lib/pkgconfig/pangoft2.pc', 'lib/pkgconfig/pango.pc',
        'lib/pkgconfig/pangocairo.pc']
    platform_files_libs = {
        Platform.WINDOWS: ['libpangowin32-1.0'],
    }
    platform_files_devel = {
        Platform.WINDOWS: ['lib/pkgconfig/pangowin32.pc'],
        Platform.LINUX: ['lib/pkgconfig/pango.pc'],
    }
    files_typelibs = [
        'Pango-1.0',
        'PangoCairo-1.0',
        'PangoFT2-1.0'
        ]

    def post_install(self):
        LibtoolLibrary('pango-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['gobject-2.0', 'fribidi']).save()
        LibtoolLibrary('pangoft2-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['pango-1.0', 'harfbuzz', 'fontconfig', 'expat', 'freetype', 'bz2', 'png16']).save()
        LibtoolLibrary('pangocairo-1.0', None, None, None, self.config.libdir,
                self.config.target_platform, deps=['pango-1.0', 'cairo', 'pixman-1', 'pangoft2-1.0']).save()
        if self.config.target_platform == Platform.WINDOWS:
            LibtoolLibrary('pangowin32-1.0', None, None, None, self.config.libdir,
                    self.config.target_platform, deps=['pango-1.0', 'cairo']).save()
        super().post_install()