summaryrefslogtreecommitdiff
path: root/recipes/librtmp.recipe
blob: b910ce1457944e46f14c86b5d460bd7552f85b89 (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
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
from cerbero.tools.libtool import LibtoolLibrary

class Recipe(recipe.Recipe):
    name = 'librtmp'
    version = '2.4_p20200229'
    stype = SourceType.TARBALL
    btype = BuildType.MESON
    url = 'https://gstreamer.freedesktop.org/data/src/mirror/rtmpdump-%(version)s.tar.xz'
    tarball_checksum = 'ac4ebe131254da6f49d17b77df42b1419155fb09d38d8a8bf785fdc16bfca418'
    # Binaries are GPLv2+, but we don't distribute them
    licenses = [License.LGPLv2_1Plus, {License.MIT: ['LICENSE-vcpkg-changes.txt']}]
    srcdir = 'librtmp'
    tarball_dirname = 'rtmpdump-%(version)s'
    patches = [
        # Our patches, upstream is non-existent
        name + '/0001-librtmp-add-Meson-build.patch',
        # vcpkg patches, porting to openssl and fixing windows bugs, since
        # upstream is non-existent
        name + '/0003-Port-to-openssl-1.1.1.patch',
        name + '/0004-Port-to-newer-MSVC.patch',
        name + '/0005-Fix-debug-build.patch',
        name + '/0006-Add-license-for-vcpkg-changes.patch',
    ]
    # openssl on Linux
    use_system_libs = True
    files_libs = ['librtmp']
    files_devel = ['include/librtmp', '%(libdir)s/pkgconfig/librtmp.pc']

    def prepare(self):
        # Pick system openssl if on Linux and not cross-compiling
        if self.config.target_platform != Platform.LINUX or self.config.cross_compiling():
            self.deps.append('openssl')

    def post_install(self):
        deps = ['ssl', 'crypto', 'z']
        libtool_la = LibtoolLibrary('rtmp', None, None, None,
                self.config.libdir, self.config.target_platform, deps)
        libtool_la.save()
        super().post_install()