Fix out-of-bounds read when cropping JPEG2000 images (#1654).
[dcpomatic.git] / cscript
diff --git a/cscript b/cscript
index 6f1dd090309b7c12f8ad32814fa83455cac6f46d..cf1f65a84fd9b0046ce5eea32aebb87d97ad884a 100644 (file)
--- a/cscript
+++ b/cscript
@@ -29,22 +29,22 @@ deb_build_depends = dict()
 
 deb_build_depends_base = ['debhelper', 'python', 'g++', 'pkg-config', 'libsndfile1-dev', 'libgtk2.0-dev', 'libx264-dev']
 
-deb_build_depends['14.04'] = copy.deepcopy(deb_build_depends_base)
-deb_build_depends['14.04'].extend(['libssh-dev'])
 deb_build_depends['16.04'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['16.04'].extend(['libssh-dev'])
 deb_build_depends['18.04'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['18.04'].extend(['libssh-dev'])
-deb_build_depends['18.10'] = copy.deepcopy(deb_build_depends_base)
-deb_build_depends['18.10'].extend(['libssh-dev'])
 deb_build_depends['19.04'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['19.04'].extend(['libssh-dev'])
+deb_build_depends['19.10'] = copy.deepcopy(deb_build_depends_base)
+deb_build_depends['19.10'].extend(['libssh-dev'])
 deb_build_depends['7'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['7'].extend(['libssh-dev'])
 deb_build_depends['8'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['8'].extend(['libssh-gcrypt-dev'])
 deb_build_depends['9'] = copy.deepcopy(deb_build_depends_base)
 deb_build_depends['9'].extend(['libssh-gcrypt-dev'])
+deb_build_depends['10'] = copy.deepcopy(deb_build_depends_base)
+deb_build_depends['10'].extend(['libssh-gcrypt-dev'])
 deb_build_depends['unstable'] = copy.deepcopy(deb_build_depends_base)
 
 deb_depends = dict()
@@ -52,21 +52,6 @@ deb_depends_gui = dict()
 
 deb_depends_base = ['libc6', 'libsndfile1', 'libsamplerate0', 'libxmlsec1', 'libxmlsec1-openssl', 'libgtk2.0-0']
 
-deb_depends['14.04'] = copy.deepcopy(deb_depends_base)
-deb_depends['14.04'].extend(['libboost-filesystem1.54.0',
-                             'libboost-thread1.54.0',
-                             'libboost-regex1.54.0',
-                             'libxml++2.6-2',
-                             'libboost-date-time1.54.0',
-                             'libzip2',
-                             'libcairomm-1.0-1',
-                             'libpangomm-1.4-1,'
-                             'libicu52',
-                             'libnettle4',
-                             'libssh-4',
-                             'libx264-142',
-                             'libcurl3'])
-
 deb_depends['16.04'] = copy.deepcopy(deb_depends_base)
 deb_depends['16.04'].extend(['libboost-filesystem1.58.0',
                              'libboost-thread1.58.0',
@@ -100,25 +85,25 @@ deb_depends['18.04'].extend(['libboost-filesystem1.65.1',
                              'libcurl4',
                              'libpulse0'])
 
-deb_depends['18.10'] = copy.deepcopy(deb_depends_base)
-deb_depends['18.10'].extend(['libboost-filesystem1.65.1',
-                             'libboost-thread1.65.1',
-                             'libboost-regex1.65.1',
-                             'libboost-date-time1.65.1',
+deb_depends['19.04'] = copy.deepcopy(deb_depends_base)
+deb_depends['19.04'].extend(['libboost-filesystem1.67.0',
+                             'libboost-thread1.67.0',
+                             'libboost-regex1.67.0',
+                             'libboost-date-time1.67.0',
                              'libcairomm-1.0-1v5',
                              'libpangomm-1.4-1v5',
                              'libxml++2.6-2v5',
-                             'libzip4',
+                             'libzip5',
                              'libwxgtk3.0-0v5',
-                             'libicu60',
+                             'libicu63',
                              'libnettle6',
                              'libssh-4',
-                             'libx264-152',
+                             'libx264-155',
                              'libcurl4',
                              'libpulse0'])
 
-deb_depends['19.04'] = copy.deepcopy(deb_depends_base)
-deb_depends['19.04'].extend(['libboost-filesystem1.67.0',
+deb_depends['19.10'] = copy.deepcopy(deb_depends_base)
+deb_depends['19.10'].extend(['libboost-filesystem1.67.0',
                              'libboost-thread1.67.0',
                              'libboost-regex1.67.0',
                              'libboost-date-time1.67.0',
@@ -134,21 +119,6 @@ deb_depends['19.04'].extend(['libboost-filesystem1.67.0',
                              'libcurl4',
                              'libpulse0'])
 
-deb_depends['7'] = copy.deepcopy(deb_depends_base)
-deb_depends['7'].extend(['libboost-filesystem1.49.0',
-                         'libboost-thread1.49.0',
-                         'libboost-regex1.49.0',
-                         'libxml++2.6-2',
-                         'libboost-date-time1.49.0',
-                         'libzip2',
-                         'libcairomm-1.0-1',
-                         'libpangomm-1.4-1',
-                         'libicu48',
-                         'libnettle4',
-                         'libnotify4',
-                         'libx264-123',
-                         'libcurl3'])
-
 deb_depends['8'] = copy.deepcopy(deb_depends_base)
 deb_depends['8'].extend(['libboost-filesystem1.55.0',
                          'libboost-thread1.55.0',
@@ -190,18 +160,41 @@ deb_depends_gui['9'] = [ 'libwxgtk3.0-0v5',
                          'libasound2',
                          'libpulse0' ]
 
+deb_depends['10'] = copy.deepcopy(deb_depends_base)
+deb_depends['10'].extend(['libboost-filesystem1.67.0',
+                          'libboost-thread1.67.0',
+                          'libboost-regex1.67.0',
+                          'libboost-date-time1.67.0',
+                          'libxml++2.6-2v5',
+                          'libgtk2.0-0',
+                          'libzip4',
+                          'libcairomm-1.0-1v5',
+                          'libpangomm-1.4-1v5',
+                          'libicu63',
+                          'libssh-4',
+                          'libssh-gcrypt-4',
+                          'libnettle6',
+                          'libx264-155',
+                          'libcurl4'])
+
+deb_depends_gui['10'] = [ 'libwxgtk3.0-0v5',
+                          'libxcb-xfixes0',
+                          'libxcb-shape0',
+                          'libasound2',
+                          'libpulse0' ]
+
 deb_depends['unstable'] = copy.deepcopy(deb_depends_base)
-deb_depends['unstable'].extend(['libboost-filesystem1.62.0',
-                                'libboost-thread1.62.0',
-                                'libboost-regex1.62.0',
-                                'libboost-date-time1.62.0',
+deb_depends['unstable'].extend(['libboost-filesystem1.67.0',
+                                'libboost-thread1.67.0',
+                                'libboost-regex1.67.0',
+                                'libboost-date-time1.67.0',
                                 'libxml++2.6-2v5',
                                 'libgtk2.0-0',
                                 'libzip4',
-                                'libicu57',
+                                'libicu63',
                                 'libnettle6',
-                                'libx264-148',
-                                'libcurl3'])
+                                'libx264-155',
+                                'libcurl4'])
 
 def packages(name, packages, f):
     s = '%s: ' % name
@@ -278,6 +271,9 @@ def make_spec(filename, version, target, options, requires=None):
     print('%{_bindir}/dcpomatic2_kdm_cli', file=f)
     print('%{_bindir}/dcpomatic2_player', file=f)
     print('%{_bindir}/dcpomatic2_playlist', file=f)
+    if options['variant'] == 'swaroop-studio':
+        print('%{_bindir}/dcpomatic2_ecinema', file=f)
+        print('%{_bindir}/dcpomatic2_uuid', 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)
@@ -554,10 +550,6 @@ def package_debian(target, cpu, version, options):
     target.set('CDIST_CONFIGURE', '"' + configure_options(target, options) + '"')
     if target.debug:
         target.set('CDIST_DEBUG_PACKAGE', '--dbg-package=dcpomatic-dbg')
-    if target.version in ['7', '14.04']:
-        target.set('CDIST_LOCALE_PREFIX', '/usr/local/share/locale')
-    else:
-        target.set('CDIST_LOCALE_PREFIX', '/usr/share/locale')
 
     target.command('dpkg-buildpackage -uc -us')
 
@@ -635,6 +627,7 @@ def package(target, version, options):
             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))
             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))
             return out
         else:
             if target.bits == 32:
@@ -646,8 +639,11 @@ def package(target, version, options):
                 return package_debian(target, cpu, 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' % target.directory)
+    elif target.platform == 'osx' and target.bits is None:
+        target.command('bash platform/osx/make_dmg.sh %s %s universal %s %s' % (target.environment_prefix, target.directory, target.apple_id, target.apple_password))
+        return [os.path.abspath(x) for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg')]
+    elif target.platform == 'osx' and target.bits == 64:
+        target.command('bash platform/osx/make_dmg.sh %s %s thin %s %s' % (target.environment_prefix, target.directory, target.apple_id, target.apple_password))
         return [os.path.abspath(x) for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg')]
     elif target.platform == 'docker':
         shutil.copyfile(target.deb, 'build/platform/docker')