X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=cscript;h=332d3b6d0bb26afb33f1ae4542a2d09478c202df;hb=8b18a617a6422cdeec1f0d6d45d16a8d9eabd10d;hp=04c183d669aad300e5029d8a8aad63a8d3808a73;hpb=df34292525addcd497aed990fd606186b6ff5dbd;p=dcpomatic.git diff --git a/cscript b/cscript index 04c183d66..332d3b6d0 100644 --- a/cscript +++ b/cscript @@ -1,6 +1,6 @@ # -*- mode: python -*- # -# Copyright (C) 2012-2020 Carl Hetherington +# Copyright (C) 2012-2022 Carl Hetherington # # This file is part of DCP-o-matic. # @@ -39,7 +39,7 @@ for v in ['11']: deb_build_depends[v] = copy.deepcopy(deb_build_depends_base) deb_build_depends[v].extend(['libssh-gcrypt-dev', 'python3.9']) deb_build_depends['unstable'] = copy.deepcopy(deb_build_depends_base) -deb_build_depends['unstable'].extend(['python']) +deb_build_depends['unstable'].extend(['python3']) deb_depends = dict() deb_depends_gui = dict() @@ -98,42 +98,6 @@ deb_depends['20.04'].extend(['libboost-filesystem1.71.0', 'libxerces-c3.2', 'libnanomsg5']) -deb_depends['20.10'] = copy.deepcopy(deb_depends_base) -deb_depends['20.10'].extend(['libboost-filesystem1.71.0', - 'libboost-thread1.71.0', - 'libboost-regex1.71.0', - 'libboost-date-time1.71.0', - 'libcairomm-1.0-1v5', - 'libpangomm-1.4-1v5', - 'libxml++2.6-2v5', - 'libzip5', - 'libicu67', - 'libnettle8', - 'libssh-4', - 'libx264-160', - 'libcurl4', - 'libpulse0', - 'libxerces-c3.2', - 'libnanomsg5']) - -deb_depends['21.04'] = copy.deepcopy(deb_depends_base) -deb_depends['21.04'].extend(['libboost-filesystem1.74.0', - 'libboost-thread1.74.0', - 'libboost-regex1.74.0', - 'libboost-date-time1.74.0', - 'libcairomm-1.0-1v5', - 'libpangomm-1.4-1v5', - 'libxml++2.6-2v5', - 'libzip4', - 'libicu67', - 'libnettle8', - 'libssh-4', - 'libx264-160', - 'libcurl4', - 'libpulse0', - 'libxerces-c3.2', - 'libnanomsg5']) - deb_depends['21.10'] = copy.deepcopy(deb_depends_base) deb_depends['21.10'].extend(['libboost-filesystem1.74.0', 'libboost-thread1.74.0', @@ -150,7 +114,8 @@ deb_depends['21.10'].extend(['libboost-filesystem1.74.0', 'libcurl4', 'libpulse0', 'libxerces-c3.2', - 'libnanomsg5']) + 'libnanomsg5', + 'libdav1d4']) deb_depends['9'] = copy.deepcopy(deb_depends_base) deb_depends['9'].extend(['libboost-filesystem1.62.0', @@ -215,7 +180,8 @@ deb_depends['11'].extend(['libboost-filesystem1.74.0', 'libx264-160', 'libcurl4', 'libxerces-c3.2', - 'libnanomsg5']) + 'libnanomsg5', + 'libdav1d4']) deb_depends_gui['11'] = [ 'libxcb-xfixes0', 'libxcb-shape0', @@ -234,7 +200,8 @@ deb_depends['unstable'].extend(['libboost-filesystem1.67.0', 'libnettle6', 'libx264-155', 'libcurl4', - 'libxerces-c3.2']) + 'libxerces-c3.2', + 'libdav1d4']) def can_build_disk(target): # We can build dcpomatic2_disk on platforms that have Boost process and can build the lwext4 @@ -314,7 +281,6 @@ def make_control(debian_version, bits, filename, debug, gui): def make_spec(filename, version, target, options, requires=None): """Make a .spec file for a RPM build""" - tools = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(filename))), "src/tools") f = open(filename, 'w') print('Summary:A program that generates Digital Cinema Packages (DCPs) from video and audio files', file=f) print('Name:dcpomatic2', file=f) @@ -344,7 +310,7 @@ def make_spec(filename, version, target, options, requires=None): print('%{_bindir}/dcpomatic2_openssl', file=f) print('%{_bindir}/dcpomatic2_combiner', file=f) print('%{_bindir}/dcpomatic2_verify', file=f) - if os.path.exists(os.path.join(tools, "dcpomatic2_disk")): + if can_build_disk(target): print('%{_bindir}/dcpomatic2_disk', file=f) print('%caps(cap_dac_override=ep) %{_bindir}/dcpomatic2_disk_writer', file=f) print('%{_datadir}/applications/dcpomatic2.desktop', file=f) @@ -354,7 +320,7 @@ def make_spec(filename, version, target, options, requires=None): print('%{_datadir}/applications/dcpomatic2_player.desktop', file=f) print('%{_datadir}/applications/dcpomatic2_playlist.desktop', file=f) print('%{_datadir}/applications/dcpomatic2_combiner.desktop', file=f) - if os.path.exists(os.path.join(tools, "dcpomatic2_disk")): + if can_build_disk(target): print('%{_datadir}/applications/dcpomatic2_disk.desktop', file=f) print('%{_datadir}/dcpomatic2/dcpomatic2_server_small.png', file=f) print('%{_datadir}/dcpomatic2/select.png', file=f) @@ -427,13 +393,13 @@ def dependencies(target, options): ffmpeg_options = {} if target.platform != 'linux' or target.distro != 'arch': - deps = [('ffmpeg-cdist', '107f9af8', ffmpeg_options)] + deps = [('ffmpeg-cdist', 'cb2b073d4f88230fca1d1d74e45235f5268fd825', ffmpeg_options)] else: # Use distro-provided FFmpeg on Arch deps = [] - deps.append(('libdcp', 'v1.8.6')) - deps.append(('libsub', 'v1.6.6')) + deps.append(('libdcp', 'v1.8.7')) + deps.append(('libsub', 'v1.6.7')) deps.append(('leqm-nrt', '93ae9e6')) deps.append(('rtaudio', 'f619b76')) # We get our OpenSSL libraries from the environment, but we @@ -443,7 +409,7 @@ def dependencies(target, options): deps.append(('openssl', '7f29dd5')) if can_build_disk(target): deps.append(('lwext4', 'cce3730')) - deps.append(('ffcmp', '6259cd4')) + deps.append(('ffcmp', '10934f1a9cd9770ef0b38da153f9576e77e7e925')) return deps @@ -651,8 +617,8 @@ def package_debian(target, cpu, version, options): target.set('CDIST_CONFIGURE', '"' + configure_options(target, options) + '"') target.set('CDIST_PACKAGE', f'dcpomatic{suffix}') - if target.debug: - target.set('CDIST_DEBUG_PACKAGE_FLAG', f'--dbg-package=dcpomatic{suffix}-dbg') + if not target.debug: + target.set('CDIST_DEBUG_PACKAGE_FLAG', '--no-ddebs') target.command('dpkg-buildpackage -uc -us') @@ -678,10 +644,10 @@ def package_rpm(target, cpu, version, options): requires = None if target.distro == 'mageia': - requires = "lib64xmlsec1-devel lib64canberra-gtk0" + requires = "lib64xmlsec1-devel lib64canberra-gtk0 libcap-utils" - make_spec('build/platform/linux/dcpomatic2.spec', version, target, options, requires) - cmd = 'rpmbuild --define "_topdir %s" -bb build/platform/linux/dcpomatic2.spec' % topdir + make_spec('dcpomatic2.spec', version, target, options, requires) + cmd = 'rpmbuild --define "_topdir %s" -bb dcpomatic2.spec' % topdir target.command(cmd) rpms = [] @@ -745,6 +711,10 @@ def make_appimage(target, nice_name, internal_name, version): def package(target, version, options): """version: DCP-o-matic version string""" + if target.platform != 'linux' or target.detail == 'appimage': + # In most cases we need to build ourselves before packaging, but on some Linux targets the packaging + # tool wants to build DCP-o-matic so we don't bother here. + build(target, options) if target.platform == 'windows': return package_windows(target) elif target.platform == 'linux':