for v in ['11']:
deb_build_depends[v] = copy.deepcopy(deb_build_depends_base)
deb_build_depends[v].extend(['libssh-gcrypt-dev', 'python3.9'])
+for v in ['12']:
+ deb_build_depends[v] = copy.deepcopy(deb_build_depends_base)
+ deb_build_depends[v].extend(['libssh-gcrypt-dev', 'python3.11'])
deb_build_depends['unstable'] = copy.deepcopy(deb_build_depends_base)
deb_build_depends['unstable'].extend(['python3'])
'libcurl4',
'libpulse0',
'libxerces-c3.2',
- 'libnanomsg5'])
+ 'libnanomsg5',
+ 'libwxgtk3.2-1',
+ 'libwxgtk-gl3.2-1'])
deb_depends['9'] = copy.deepcopy(deb_depends_base)
deb_depends['9'].extend(['libboost-filesystem1.62.0',
'libasound2',
'libpulse0' ]
+deb_depends['12'] = copy.deepcopy(deb_depends_base)
+deb_depends['12'].extend(['libboost-filesystem1.74.0',
+ 'libboost-thread1.74.0',
+ 'libboost-regex1.74.0',
+ 'libboost-date-time1.74.0',
+ 'libxml++2.6-2v5',
+ 'libzip4',
+ 'libcairomm-1.0-1v5',
+ 'libpangomm-1.4-1v5',
+ 'libicu72',
+ 'libssh-4',
+ 'libssh-gcrypt-4',
+ 'libnettle8',
+ 'libx264-164',
+ 'libcurl4',
+ 'libxerces-c3.2',
+ 'libnanomsg5'])
+
+deb_depends_gui['12'] = [ 'libxcb-xfixes0',
+ 'libxcb-shape0',
+ 'libasound2',
+ 'libpulse0' ]
+
deb_depends['unstable'] = copy.deepcopy(deb_depends_base)
deb_depends['unstable'].extend(['libboost-filesystem1.67.0',
'libboost-thread1.67.0',
print('%{_bindir}/dcpomatic2_combiner', file=f)
print('%{_bindir}/dcpomatic2_verify', file=f)
print('%{_bindir}/dcpomatic2_kdm_inspect', file=f)
+ print('%{_bindir}/dcpomatic2_map', file=f)
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}/icons/hicolor/%s/apps/dcpomatic2_disk.png' % r, file=f)
print('%%{_datadir}/icons/hicolor/%s/apps/dcpomatic2_combiner.png' % r, file=f)
for l in ['de_DE', 'es_ES', 'fr_FR', 'it_IT', 'sv_SE', 'nl_NL', 'ru_RU', 'pl_PL', 'da_DK',
- 'pt_PT', 'pt_BR', 'sk_SK', 'cs_CZ', 'uk_UA', 'zh_CN', 'tr_TR', 'sl_SI', 'hu_HU']:
+ 'pt_PT', 'pt_BR', 'sk_SK', 'cs_CZ', 'uk_UA', 'zh_CN', 'tr_TR', 'sl_SI', 'hu_HU', 'ka_KA']:
print('%%{_datadir}/locale/%s/LC_MESSAGES/dcpomatic2.mo' % l, file=f)
print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2-wx.mo' % l, file=f)
print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2.mo' % l, file=f)
ffmpeg_options = {}
if target.platform != 'linux' or target.distro != 'arch':
- deps = [('ffmpeg', '2fb5e99b45e92880bd7953cb98c2027a34884c14', ffmpeg_options)]
+ deps = [('ffmpeg', '7276e269a93c2ae30e302c34708e8095ac5475e8', ffmpeg_options)]
else:
# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'v1.8.67'))
+ deps.append(('libdcp', 'v1.8.76'))
deps.append(('libsub', 'v1.6.44'))
deps.append(('leqm-nrt', '4560105773c66ac9216b62313a24093bb0a027ae'))
deps.append(('rtaudio', 'f619b76'))
# the appropriate place later
deps.append(('openssl', '7f29dd5'))
if can_build_disk(target):
- deps.append(('lwext4', 'b98f55b806f9dfe9e9374faceed99b689c29f28e'))
- deps.append(('ffcmp', '15e7fdf0b3896e3f7323a950105382a9c8ae3c39'))
+ deps.append(('lwext4', 'ab082923a791b58478d1d9939d65a0583566ac1f'))
+ deps.append(('ffcmp', '53c853d2935de3f2b0d53777529e48c102afd237'))
return deps
return rpms
-def make_appimage(target, nice_name, internal_name, version):
+def make_appimage(target, nice_name, internal_name, version, extra_binaries=None):
nice_filename = nice_name.replace(' ', '_')
appdir = f'build/{nice_filename}.AppDir'
os.makedirs(f'{appdir}/usr/bin')
target.command(f'cp {target.directory}/src/openssl/apps/openssl {appdir}/usr/bin/dcpomatic2_openssl')
target.command(f'cp {target.directory}/bin/dcpverify {appdir}/usr/bin/dcpomatic2_verify')
target.command(f'cp {target.directory}/bin/dcpkdm {appdir}/usr/bin/dcpomatic2_kdm_inspect')
+ if extra_binaries:
+ for bin in extra_binaries:
+ target.command(f'cp {target.directory}/bin/{bin} {appdir}/usr/bin')
target.command(f'mkdir -p {appdir}/usr/share/libdcp')
target.command(f'cp -r {target.directory}/share/dcpomatic2 {appdir}/usr/share/')
target.command(f'cp -r {target.directory}/share/libdcp/xsd {appdir}/usr/share/libdcp/')
elif target.platform == 'linux':
if target.detail == 'appimage':
out = []
- out.append(make_appimage(target, 'DCP-o-matic', 'dcpomatic2', version))
+ out.append(make_appimage(target, 'DCP-o-matic', 'dcpomatic2', version, ('dcpomatic2_map', 'dcpomatic2_cli')))
out.append(make_appimage(target, 'DCP-o-matic Player', 'dcpomatic2_player', version))
out.append(make_appimage(target, 'DCP-o-matic Playlist Editor', 'dcpomatic2_playlist', version))
out.append(make_appimage(target, 'DCP-o-matic KDM Creator', 'dcpomatic2_kdm', version))
if 'part' in options:
cmd += ' -b ' + options['part']
target.command(cmd)
- packages = []
- for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg'):
- a = os.path.abspath(x)
- if x.find("Player") != -1:
- packages.append((a, "com.dcpomatic.player"))
- elif x.find("Playlist Editor") != -1:
- packages.append((a, "com.dcpomatic.playlist"))
- elif x.find("KDM Creator") != -1:
- packages.append((a, "com.dcpomatic.kdm"))
- elif x.find("Batch Converter") != -1:
- packages.append((a, "com.dcpomatic.batch"))
- elif x.find("Encode Server") != -1:
- 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"))
- elif x.find("Editor") != -1:
- packages.append((a, "com.dcpomatic.editor"))
- else:
- packages.append((a, "com.dcpomatic"))
- return packages
+ return glob.glob('build/platform/osx/DCP-o-matic*.dmg')
elif target.platform == 'docker':
shutil.copyfile(target.deb, 'build/platform/docker')
f = open('build/platform/docker/Dockerfile', 'w')