X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=cscript;h=6072dc1cd1afc94c3cb7c85e236b4397540ac9f5;hb=61b2026a6d676125f6b7e02d8a81e9aed59e9ce8;hp=ea8056c5df63d24e66384833d6ce3dba51f57587;hpb=4dab2ee8e05acdd56b39bb6edd4e80f795d7e0d9;p=dcpomatic.git diff --git a/cscript b/cscript index ea8056c5d..6072dc1cd 100644 --- a/cscript +++ b/cscript @@ -208,13 +208,13 @@ 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']: + if target.distro == 'ubuntu' and target.version in ['18.04', '20.04', '20.10', '21.04']: return True if target.distro == 'debian' and target.version == '10': return True if target.detail == 'appimage': return True - if target.distro == 'fedora' and target.version == '31': + if target.distro == 'fedora' and int(target.version) >= 31: return True if target.distro == 'centos' and target.version == '8': return True @@ -301,7 +301,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('%attr(4755, root, root) %{_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) @@ -381,14 +381,14 @@ def dependencies(target, options): ffmpeg_options = {} if target.platform != 'linux' or target.distro != 'arch': - deps = [('ffmpeg-cdist', 'e89aa4a', ffmpeg_options)] + deps = [('ffmpeg-cdist', '107f9af8', ffmpeg_options)] else: # Use distro-provided FFmpeg on Arch deps = [] - deps.append(('libdcp', '2d6b31b')) - deps.append(('libsub', '63cddea')) - deps.append(('leqm-nrt', '131f971')) + deps.append(('libdcp', '6384002')) + deps.append(('libsub', '55ebde1')) + 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. @@ -397,7 +397,7 @@ def dependencies(target, options): deps.append(('openssl', '7f29dd5')) if can_build_disk(target): deps.append(('lwext4', '9d20ec5')) - deps.append(('ffcmp', 'a915540')) + deps.append(('ffcmp', '6259cd4')) return deps @@ -642,10 +642,12 @@ def package_rpm(target, cpu, version, options): return rpms -def make_appimage(target, nice_name, internal_name, version): +def make_appimage(target, nice_name, internal_name, version, extra_bin=None): nice_filename = nice_name.replace(' ', '_') os.makedirs('build/%s.AppDir/usr/bin' % nice_filename) target.command('cp %s/bin/%s build/%s.AppDir/usr/bin' % (target.directory, internal_name, nice_filename)) + if extra_bin: + target.command('cp %s/bin/%s build/%s.AppDir/usr/bin' % (target.directory, extra_bin, nice_filename)) target.command('cp %s/src/openssl/apps/openssl build/%s.AppDir/usr/bin/dcpomatic2_openssl' % (target.directory, nice_filename)) target.command('cp %s/bin/dcpverify build/%s.AppDir/usr/bin/dcpomatic2_verify' % (target.directory, nice_filename)) target.command('mkdir -p build/%s.AppDir/usr/share/libdcp' % nice_filename) @@ -653,7 +655,7 @@ def make_appimage(target, nice_name, internal_name, version): target.command('cp -r %s/share/libdcp/xsd build/%s.AppDir/usr/share/libdcp/' % (target.directory, nice_filename)) target.command('cp -r %s/share/libdcp/tags build/%s.AppDir/usr/share/libdcp/' % (target.directory, nice_filename)) if internal_name == 'dcpomatic2_disk': - target.command('mkdir -p build/%s.AppDir/usr/share/polkit-1/actions', nice_filename) + target.command('mkdir -p build/%s.AppDir/usr/share/polkit-1/actions' % nice_filename) target.command('cp %s/share/polkit-1/actions/com.dcpomatic.write-drive.policy build/%s.AppDir/usr/share/polkit-1/actions' % (target.directory, nice_filename)) with open('build/%s.AppDir/AppRun' % nice_filename, 'w') as f: @@ -687,7 +689,7 @@ def package(target, version, options): out.append(make_appimage(target, 'DCP-o-matic KDM Creator', 'dcpomatic2_kdm', version)) out.append(make_appimage(target, 'DCP-o-matic Batch Converter', 'dcpomatic2_batch', version)) out.append(make_appimage(target, 'DCP-o-matic Encode Server', 'dcpomatic2_server', version)) - out.append(make_appimage(target, 'DCP-o-matic Disk Writer', 'dcpomatic2_disk', version)) + out.append(make_appimage(target, 'DCP-o-matic Disk Writer', 'dcpomatic2_disk', version, "dcpomatic2_disk_writer")) out.append(make_appimage(target, 'DCP-o-matic Combiner', 'dcpomatic2_combiner', version)) return out else: @@ -701,7 +703,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) @@ -717,6 +720,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