Fix URL in debian/copyright.
[dcpomatic.git] / cscript
diff --git a/cscript b/cscript
index db23eb7288cd0d1a69c097f34bf00462d8abaa9b..d713c383848ef6a335adef90354aeb989805d0ad 100644 (file)
--- a/cscript
+++ b/cscript
@@ -27,15 +27,19 @@ import json
 
 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()
@@ -182,6 +186,30 @@ deb_depends_gui['10'] = [ 'libwxgtk3.0-0v5',
                           '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',
@@ -238,7 +266,8 @@ def make_control(debian_version, bits, filename, debug, gui):
     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:
@@ -254,10 +283,12 @@ def make_control(debian_version, bits, filename, debug, gui):
     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:
@@ -388,8 +419,8 @@ def dependencies(target, options):
         # Use distro-provided FFmpeg on Arch
         deps = []
 
-    deps.append(('libdcp', 'bd4b476'))
-    deps.append(('libsub', '791364b'))
+    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
@@ -582,14 +613,15 @@ 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':
+    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 /usr/bin/dcpomatic2_disk_writer', file=f)
+            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')
@@ -605,8 +637,9 @@ def package_debian(target, cpu, version, options):
     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')