X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=cscript;h=0f38bb82927bd11323f68e85cfc100ccdb0af1db;hp=a5bf45554b8a62a0c55bb42f2de3c6bf236e9a0b;hb=a498b8819ab431ecc2aac058b1aadb9e15d396ac;hpb=0767b8dda3b788f9b72c8d3cd2b68d032b5f9577 diff --git a/cscript b/cscript index a5bf45554..0f38bb829 100644 --- a/cscript +++ b/cscript @@ -208,15 +208,17 @@ def can_build_disk(target): if target.platform == 'osx': return True if target.platform == 'linux': - if target.distro == 'ubuntu' and target.version in ['18.04', '20.04', '20.10', '21.04']: + if target.distro == 'ubuntu' and target.version != '16.04': return True - if target.distro == 'debian' and target.version == '10': + if target.distro == 'debian' and target.version != '9': return True if target.detail == 'appimage': return True if target.distro == 'fedora' and int(target.version) >= 31: return True - if target.distro == 'centos' and target.version == '8': + if target.distro == 'centos' and target.version != '7': + return True + if target.distro == 'mageia': return True return False @@ -301,7 +303,7 @@ def make_spec(filename, version, target, options, requires=None): print('%{_bindir}/dcpomatic2_verify', file=f) if os.path.exists(os.path.join(tools, "dcpomatic2_disk")): print('%{_bindir}/dcpomatic2_disk', file=f) - print('%{_bindir}/dcpomatic2_disk_writer', file=f) + print('%caps(cap_dac_override=ep) %{_bindir}/dcpomatic2_disk_writer', file=f) print('%{_datadir}/applications/dcpomatic2.desktop', file=f) print('%{_datadir}/applications/dcpomatic2_batch.desktop', file=f) print('%{_datadir}/applications/dcpomatic2_server.desktop', file=f) @@ -386,9 +388,9 @@ def dependencies(target, options): # Use distro-provided FFmpeg on Arch deps = [] - deps.append(('libdcp', '6384002')) - deps.append(('libsub', '55ebde1')) - deps.append(('leqm-nrt', '131f971')) + deps.append(('libdcp', 'a5bd2e9')) + deps.append(('libsub', '44cf236')) + deps.append(('leqm-nrt', '93ae9e6')) deps.append(('rtaudio', 'f619b76')) # We get our OpenSSL libraries from the environment, but we # also need a patched openssl binary to make certificates. @@ -396,7 +398,7 @@ def dependencies(target, options): # the appropriate place later deps.append(('openssl', '7f29dd5')) if can_build_disk(target): - deps.append(('lwext4', '9d20ec5')) + deps.append(('lwext4', 'cce3730')) deps.append(('ffcmp', '6259cd4')) return deps @@ -580,6 +582,11 @@ def package_windows(target): def package_debian(target, cpu, version, options): make_control(target.version, target.bits, 'debian/control', target.debug, options['gui']) + if target.version != '9' and target.version != '16.04': + with open('debian/postinst', 'w') as f: + print('#!/bin/sh', file=f) + # Get the required capability to write to disks + print('setcap cap_dac_override+ep /usr/bin/dcpomatic2_disk_writer', file=f) target.command('./waf dist') f = open('debian/files', 'w') print('dcpomatic_%s-1_%s.deb video extra' % (version, cpu), file=f) @@ -625,7 +632,7 @@ def package_rpm(target, cpu, version, options): requires = None if target.distro == 'mageia': - requires = "lib64xmlsec1-devel" + requires = "lib64xmlsec1-devel lib64canberra-gtk0" make_spec('build/platform/linux/dcpomatic2.spec', version, target, options, requires) cmd = 'rpmbuild --define "_topdir %s" -bb build/platform/linux/dcpomatic2.spec' % topdir @@ -703,7 +710,8 @@ def package(target, version, options): elif target.distro == 'centos' or target.distro == 'fedora' or target.distro == 'mageia': return package_rpm(target, cpu, version, options) elif target.platform == 'osx': - target.command('bash platform/osx/make_dmg.sh %s %s %s %s' % (target.environment_prefix, target.directory, target.apple_id, target.apple_password)) + archs = ' '.join(f'{t.arch}/{t.deployment}' for t in target.sub_targets) + target.command('bash platform/osx/make_dmg.sh %s %s %s %s %s' % (target.environment_prefix, target.directory, target.apple_id, target.apple_password, archs)) packages = [] for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg'): a = os.path.abspath(x) @@ -719,6 +727,8 @@ def package(target, version, options): packages.append((a, "com.dcpomatic.server")) elif x.find("Disk Writer") != -1: packages.append((a, "com.dcpomatic.disk")) + elif x.find("Combiner") != -1: + packages.append((a, "com.dcpomatic.combiner")) else: packages.append((a, "com.dcpomatic")) return packages