deb_build_depends = dict()
-deb_build_depends_base = ['debhelper', 'python', 'g++', 'pkg-config', 'libsndfile1-dev', 'libgtk2.0-dev', 'libx264-dev']
+deb_build_depends_base = ['debhelper', 'g++', 'pkg-config', 'libsndfile1-dev', 'libgtk2.0-dev', 'libx264-dev']
for v in ['16.04', '18.04', '20.04', '20.10', '21.04']:
deb_build_depends[v] = copy.deepcopy(deb_build_depends_base)
- deb_build_depends[v].extend(['libssh-dev'])
+ deb_build_depends[v].extend(['libssh-dev', 'python'])
for v in ['9', '10']:
deb_build_depends[v] = copy.deepcopy(deb_build_depends_base)
- deb_build_depends[v].extend(['libssh-gcrypt-dev'])
+ deb_build_depends[v].extend(['libssh-gcrypt-dev', 'python'])
+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_depends = dict()
deb_depends_gui = dict()
'libasound2',
'libpulse0' ]
+deb_depends['11'] = copy.deepcopy(deb_depends_base)
+deb_depends['11'].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',
+ 'libicu67',
+ 'libssh-4',
+ 'libssh-gcrypt-4',
+ 'libnettle8',
+ 'libx264-160',
+ 'libcurl4',
+ 'libxerces-c3.2',
+ 'libnanomsg5'])
+
+deb_depends_gui['11'] = [ 'libwxgtk3.0-gtk3-0v5',
+ '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('Standards-Version: 3.9.3', file=f)
print('Homepage: https://dcpomatic.com/', file=f)
print('', file=f)
- print('Package: dcpomatic', file=f)
+ suffix = '' if gui else '-cli'
+ print(f'Package: dcpomatic{suffix}', file=f)
if bits == 32:
print('Architecture: i386', file=f)
else:
print(' DCP-o-matic generates Digital Cinema Packages (DCPs) from videos, images,', file=f)
print(' sound and subtitle files. You can use it to make content for playback on DCI-compliant', file=f)
print(' cinema projectors.', file=f)
+ if not gui:
+ print(' This package contains the command-line tools only.', file=f)
if debug:
print('', file=f)
- print('Package: dcpomatic-dbg', file=f)
+ print(f'Package: dcpomatic{suffix}-dbg', file=f)
if bits == 32:
print('Architecture: i386', file=f)
else:
# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'cc4445c'))
- deps.append(('libsub', '0515e41'))
+ deps.append(('libdcp', 'b3cb9c0'))
+ deps.append(('libsub', '587e475'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
# We get our OpenSSL libraries from the environment, but we
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':
+ if target.version != '9' and target.version != '16.04' and options['gui']:
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 cap_sys_admin+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)
+ suffix = '' if options['gui'] else '-cli'
+ print(f'dcpomatic{suffix}_{version}-1_{cpu}.deb video extra', file=f)
shutil.rmtree('build/deb', ignore_errors=True)
os.makedirs('build/deb')
target.set('CDIST_DIRECTORY', target.directory)
target.set('CDIST_CONFIGURE', '"' + configure_options(target, options) + '"')
+ target.set('CDIST_PACKAGE', f'dcpomatic{suffix}')
if target.debug:
- target.set('CDIST_DEBUG_PACKAGE', '--dbg-package=dcpomatic-dbg')
+ target.set('CDIST_DEBUG_PACKAGE_FLAG', f'--dbg-package=dcpomatic{suffix}-dbg')
target.command('dpkg-buildpackage -uc -us')