#
# Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
#
-# This program is free software; you can redistribute it and/or modify
+# This file is part of DCP-o-matic.
+#
+# DCP-o-matic is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
+# DCP-o-matic is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
#
from __future__ import print_function
'libxml++2.6-2',
'libboost-date-time1.48.0',
'libzip2',
- 'libicu48'])
+ 'libicu48',
+ 'libnettle4'])
deb_depends['14.04'] = copy.deepcopy(deb_depends_base)
deb_depends['14.04'].extend(['libboost-filesystem1.54.0',
'libzip2',
'libcairomm-1.0-1',
'libpangomm-1.4-1',
- 'libicu52'])
-
-deb_depends['15.10'] = copy.deepcopy(deb_depends_base)
-deb_depends['15.10'].extend(['libboost-filesystem1.58.0',
- 'libboost-thread1.58.0',
- 'libboost-regex1.58.0',
- 'libmagick++-6.q16-5v5',
- 'libxml++2.6-2v5',
- 'libboost-date-time1.58.0',
- 'libzip4',
- 'libwxgtk3.0-0v5',
- 'libicu55'])
+ 'libicu52',
+ 'libnettle4'])
deb_depends['16.04'] = copy.deepcopy(deb_depends_base)
deb_depends['16.04'].extend(['libboost-filesystem1.58.0',
'libboost-date-time1.58.0',
'libzip4',
'libwxgtk3.0-0v5',
- 'libicu55'])
+ 'libicu55',
+ 'libnettle6'])
deb_depends['7'] = copy.deepcopy(deb_depends_base)
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',
'libwxgtk3.0-0',
'libxcb-xfixes0',
'libxcb-shape0',
- 'libicu52'])
+ 'libicu52',
+ 'libnettle4'])
deb_depends['unstable'] = copy.deepcopy(deb_depends_base)
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
print('tar xjf $RPM_SOURCE_DIR/dcpomatic-%s.tar.bz2' % version, file=f)
print('%build', file=f)
print('cd dcpomatic-%s' % version, file=f)
- print('export PKG_CONFIG_PATH=%s/lib/pkgconfig:%s/lib64/pkgconfig:/usr/local/lib/pkgconfig' % (target.directory, target.directory), file=f)
+ print('export PKG_CONFIG_PATH=%s/lib/pkgconfig:%s/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig' % (target.directory, target.directory), file=f)
if target.distro == 'centos' and target.version == '5':
- prefix = './usr'
+ prefix = 'BUILDROOT/usr'
else:
- prefix = '%%{buildroot}/usr'
+ prefix = '%{buildroot}/usr'
print('CXXFLAGS="-I%s/include" LDFLAGS="-L%s/lib" ./waf configure --prefix=%s --install-prefix=/usr %s' %
(target.directory, target.directory, prefix, configure_options(target)), file=f)
else:
ffmpeg_options = {}
- return (('ffmpeg-cdist', 'cd922b8', ffmpeg_options),
- ('libdcp', '4e6b78d'),
- ('libsub', 'b082fb6'))
+ return (('ffmpeg-cdist', '1d4a1a4', ffmpeg_options),
+ ('libdcp', 'eb772d2'),
+ ('libsub', '3db5052'))
def configure_options(target):
opt = ''
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):
target.command('./waf install')
def package_windows(target):
- shutil.copyfile('build/platform/windows/installer.%s.nsi' % target.bits, 'build/platform/windows/installer2.%s.nsi' % target.bits)
- target.command('sed -i "s~%%resources%%~%s/platform/windows~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
- target.command('sed -i "s~%%graphics%%~%s/graphics~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
- target.command('sed -i "s~%%static_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.windows_prefix, target.bits))
- target.command('sed -i "s~%%cdist_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.directory, target.bits))
- target.command('sed -i "s~%%mingw%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.mingw_path, target.bits))
- target.command('sed -i "s~%%binaries%%~%s/build~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
- target.command('sed -i "s~%%bits%%~32~g" build/platform/windows/installer2.%s.nsi' % target.bits)
- target.command('makensis build/platform/windows/installer2.%s.nsi' % target.bits)
+ identifier = ''
+ if target.version is not None:
+ identifier = '%s.' % target.version
+ identifier += '%d' % target.bits
+ shutil.copyfile('build/platform/windows/installer.%s.nsi' % identifier, 'build/platform/windows/installer2.%s.nsi' % identifier)
+ target.command('sed -i "s~%%resources%%~%s/platform/windows~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier))
+ target.command('sed -i "s~%%graphics%%~%s/graphics~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier))
+ target.command('sed -i "s~%%static_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.windows_prefix, identifier))
+ target.command('sed -i "s~%%cdist_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.directory, identifier))
+ target.command('sed -i "s~%%mingw%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.mingw_path, identifier))
+ target.command('sed -i "s~%%binaries%%~%s/build~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), identifier))
+ target.command('sed -i "s~%%bits%%~32~g" build/platform/windows/installer2.%s.nsi' % identifier)
+ target.command('makensis build/platform/windows/installer2.%s.nsi' % identifier)
return os.path.abspath(glob.glob('build/platform/windows/*%s*.exe' % target.bits)[0])
def package_debian(target, cpu, version):
)
make_spec('build/platform/linux/dcpomatic2.spec', version, target)
- target.command('rpmbuild --define \'_topdir %s\' -bb build/platform/linux/dcpomatic2.spec' % topdir)
+ cmd = 'rpmbuild --define \'_topdir %s\' -bb build/platform/linux/dcpomatic2.spec' % topdir
+ if target.distro == 'centos' and target.version == '5':
+ cmd += ' --buildroot %s/BUILD/dcpomatic-%s/BUILDROOT' % (topdir, version)
+ target.command(cmd)
rpms = []
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)):
target.command('pdflatex colour.tex')
return [os.path.abspath('pdf'), os.path.abspath('html'), os.path.abspath('colour.pdf')]
-def test(target):
+def test(target, test):
if target.platform != 'windows':
target.set('LC_ALL', 'C')
- target.command('run/tests')
+ cmd = 'run/tests '
+ if target.debug:
+ cmd += '--backtrace '
+ if test is not None:
+ cmd += '--run_test=%s' % test
+ target.command(cmd)