X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=cscript;h=feb46ae1f12b1a768df8ef67e5fda3bc3d1f18ff;hb=ea379128f9a89ea47660140af4a59efc88498901;hp=379936677b71391e71ad208a7f28a244caa12d14;hpb=d1fa523a3d7991e5e17938f7c019a71c3041b1e6;p=dcpomatic.git diff --git a/cscript b/cscript index 379936677..feb46ae1f 100644 --- a/cscript +++ b/cscript @@ -24,11 +24,27 @@ import shutil import os import copy -deb_build_depends = {'debhelper', 'python', 'g++', 'pkg-config', 'libssh-dev', 'libsndfile1-dev', 'libgtk2.0-dev'} +deb_build_depends = dict() + +deb_build_depends_base = ['debhelper', 'python', 'g++', 'pkg-config', 'libsndfile1-dev', 'libgtk2.0-dev'] + +deb_build_depends['12.04'] = copy.deepcopy(deb_build_depends_base) +deb_build_depends['12.04'].extend(['libssh-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['16.10'] = copy.deepcopy(deb_build_depends_base) +deb_build_depends['16.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-dev']) +deb_build_depends['unstable'] = copy.deepcopy(deb_build_depends_base) deb_depends = dict() -deb_depends_base = ['libc6', 'libssh-4', 'libsndfile1', 'libsamplerate0', 'libxmlsec1', 'libxmlsec1-openssl', 'libcurl3', 'libgtk2.0-0'] +deb_depends_base = ['libc6', 'libsndfile1', 'libsamplerate0', 'libxmlsec1', 'libxmlsec1-openssl', 'libcurl3', 'libgtk2.0-0'] deb_depends['12.04'] = copy.deepcopy(deb_depends_base) deb_depends['12.04'].extend(['libboost-filesystem1.48.0', @@ -38,7 +54,9 @@ deb_depends['12.04'].extend(['libboost-filesystem1.48.0', 'libxml++2.6-2', 'libboost-date-time1.48.0', 'libzip2', - 'libicu48']) + 'libicu48', + 'libnettle4', + 'libssh-4']) deb_depends['14.04'] = copy.deepcopy(deb_depends_base) deb_depends['14.04'].extend(['libboost-filesystem1.54.0', @@ -50,10 +68,12 @@ deb_depends['14.04'].extend(['libboost-filesystem1.54.0', 'libzip2', 'libcairomm-1.0-1', 'libpangomm-1.4-1', - 'libicu52']) + 'libicu52', + 'libnettle4', + 'libssh-4']) -deb_depends['15.10'] = copy.deepcopy(deb_depends_base) -deb_depends['15.10'].extend(['libboost-filesystem1.58.0', +deb_depends['16.04'] = copy.deepcopy(deb_depends_base) +deb_depends['16.04'].extend(['libboost-filesystem1.58.0', 'libboost-thread1.58.0', 'libboost-regex1.58.0', 'libmagick++-6.q16-5v5', @@ -61,18 +81,22 @@ deb_depends['15.10'].extend(['libboost-filesystem1.58.0', 'libboost-date-time1.58.0', 'libzip4', 'libwxgtk3.0-0v5', - 'libicu55']) - -deb_depends['16.04'] = copy.deepcopy(deb_depends_base) -deb_depends['16.04'].extend(['libboost-filesystem1.58.0', - 'libboost-thread1.58.0', - 'libboost-regex1.58.0', + 'libicu55', + 'libnettle6', + 'libssh-4']) + +deb_depends['16.10'] = copy.deepcopy(deb_depends_base) +deb_depends['16.10'].extend(['libboost-filesystem1.61.0', + 'libboost-thread1.61.0', + 'libboost-regex1.61.0', 'libmagick++-6.q16-5v5', 'libxml++2.6-2v5', - 'libboost-date-time1.58.0', + 'libboost-date-time1.61.0', 'libzip4', 'libwxgtk3.0-0v5', - 'libicu55']) + 'libicu57', + 'libnettle6', + 'libssh-4']) deb_depends['7'] = copy.deepcopy(deb_depends_base) deb_depends['7'].extend(['libboost-filesystem1.49.0', @@ -84,7 +108,9 @@ deb_depends['7'].extend(['libboost-filesystem1.49.0', 'libzip2', 'libcairomm-1.0-1', 'libpangomm-1.4-1', - 'libicu48']) + 'libicu48', + 'libnettle4', + 'libnotify4']) deb_depends['8'] = copy.deepcopy(deb_depends_base) deb_depends['8'].extend(['libboost-filesystem1.55.0', @@ -97,7 +123,9 @@ deb_depends['8'].extend(['libboost-filesystem1.55.0', 'libwxgtk3.0-0', 'libxcb-xfixes0', 'libxcb-shape0', - 'libicu52']) + 'libicu52', + 'libnettle4', + 'libssh-4']) deb_depends['unstable'] = copy.deepcopy(deb_depends_base) deb_depends['unstable'].extend(['libboost-filesystem1.58.0', @@ -108,7 +136,8 @@ deb_depends['unstable'].extend(['libboost-filesystem1.58.0', 'libgtk2.0-0', 'libboost-date-time1.58.0', 'libzip2', - 'libicu52']) + 'libicu52', + 'libnettle6']) def packages(name, packages, f): s = '%s: ' % name @@ -122,7 +151,7 @@ def make_control(debian_version, bits, filename, debug): print('Section: video', file=f) print('Priority: extra', file=f) print('Maintainer: Carl Hetherington ', file=f) - packages('Build-Depends', deb_build_depends, f) + packages('Build-Depends', deb_build_depends[debian_version], f) print('Standards-Version: 3.9.3', file=f) print('Homepage: http://dcpomatic.com/', file=f) print('', file=f) @@ -236,9 +265,9 @@ def dependencies(target): else: ffmpeg_options = {} - return (('ffmpeg-cdist', 'aab2fb1', ffmpeg_options), - ('libdcp', 'fe3bb91'), - ('libsub', '23a1a03')) + return (('ffmpeg-cdist', 'c7df8d5', ffmpeg_options), + ('libdcp', '71f5d09'), + ('libsub', 'v1.2.4')) def configure_options(target): opt = '' @@ -255,6 +284,10 @@ def configure_options(target): elif target.version == '7': opt += ' --workaround-gssapi --static-xmlpp' + # Build Windows debug versions with static linking as I think gdb works better then + if target.debug and target.platform == 'windows': + opt += ' --static-dcpomatic' + return opt def build(target, options): @@ -300,7 +333,7 @@ def package_debian(target, cpu, version): target.set('CDIST_CONFIGURE', '"' + configure_options(target) + '"') if target.debug: target.set('CDIST_DEBUG_PACKAGE', '--dbg-package=dcpomatic-dbg') - if target.version in ['15.04', '15.10', '16.04', '8']: + if target.version in ['15.04', '15.10', '16.04', '16.10', '8', 'unstable']: target.set('CDIST_LOCALE_PREFIX', '/usr/share/locale') else: target.set('CDIST_LOCALE_PREFIX', '/usr/local/share/locale') @@ -337,7 +370,10 @@ def package_rpm(target, cpu, version): if cpu == "amd64": cpu = "x86_64" else: - cpu = "i686" + if target.distro == 'centos' and target.version == '5': + cpu = "i386" + else: + cpu = "i686" print('Looking in %s/RPMS/%s/*.rpm' % (topdir, cpu)) for p in glob.glob('%s/RPMS/%s/*.rpm' % (topdir, cpu)): @@ -361,7 +397,7 @@ def package(target, version): return package_rpm(target, cpu, version) elif target.platform == 'osx': target.command('bash platform/osx/make_dmg.sh %s' % target.directory) - return os.path.abspath(glob.glob('build/platform/osx/DCP-o-matic*.dmg')[0]) + return [os.path.abspath(x) for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg')] def make_pot(target): target.command('./waf pot') @@ -378,7 +414,9 @@ def make_manual(target): def test(target, test): if target.platform != 'windows': target.set('LC_ALL', 'C') - if test is None: - target.command('run/tests') - else: - target.command('run/tests --run_test=%s' % test) + cmd = 'run/tests ' + if target.debug: + cmd += '--backtrace ' + if test is not None: + cmd += '--run_test=%s' % test + target.command(cmd)