print('', file=f)
suffix = '' if gui else '-cli'
print(f'Package: dcpomatic{suffix}', file=f)
+ if gui:
+ print('Replaces: dcpomatic-cli', file=f)
if bits == 32:
print('Architecture: i386', file=f)
else:
print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2.mo' % l, file=f)
print('%{_datadir}/libdcp/tags/*', file=f)
print('%{_datadir}/libdcp/xsd/*', file=f)
+ print('%{_datadir}/libdcp/ratings', file=f)
print('%{_datadir}/polkit-1/actions/com.dcpomatic.write-drive.policy', file=f)
print('', file=f)
print('%prep', file=f)
print('cd dcpomatic-%s' % version, 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)
print('CXXFLAGS="-I%s/include" LDFLAGS="-L%s/lib" ./waf configure --prefix=%%{buildroot}/usr --destdir=/usr %s' %
- (target.directory, target.directory, configure_options(target, options)), file=f)
+ (target.directory, target.directory, configure_options(target, options, for_package=True)), file=f)
print('./waf', file=f)
print('%install', file=f)
print('cd dcpomatic-%s' % version, file=f)
print('/bin/mkdir -p %{buildroot}/usr/share/libdcp', file=f)
print('/bin/cp -r %s/src/libdcp/tags %%{buildroot}/usr/share/libdcp' % target.directory, file=f)
print('/bin/cp -r %s/src/libdcp/xsd %%{buildroot}/usr/share/libdcp' % target.directory, file=f)
+ print('/bin/cp %s/src/libdcp/ratings %%{buildroot}/usr/share/libdcp' % target.directory, file=f)
print('/bin/mv %s/bin/dcpverify %%{buildroot}/usr/bin/dcpomatic2_verify' % target.directory, file=f)
print('', file=f)
print('%post', file=f)
ffmpeg_options = {}
if target.platform != 'linux' or target.distro != 'arch':
- deps = [('ffmpeg-cdist', 'cb2b073d4f88230fca1d1d74e45235f5268fd825', ffmpeg_options)]
+ deps = [('ffmpeg-cdist', '4721b55de017702b0d1c8ce1163331378905c637', ffmpeg_options)]
else:
# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'v1.8.7'))
- deps.append(('libsub', 'v1.6.7'))
+ deps.append(('libdcp', 'v1.8.13'))
+ deps.append(('libsub', 'v1.6.13'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
# We get our OpenSSL libraries from the environment, but we
deps.append(('openssl', '7f29dd5'))
if can_build_disk(target):
deps.append(('lwext4', 'cce3730'))
- deps.append(('ffcmp', '10934f1a9cd9770ef0b38da153f9576e77e7e925'))
+ deps.append(('ffcmp', 'da96af56f3ddf074f2044a0cd6e50c95184fd169'))
return deps
option_defaults = { "gui": True, "variant": None }
-def configure_options(target, options):
+def configure_options(target, options, for_package=False):
opt = ' --warnings-are-errors'
- if not ((target.platform == 'linux' and target.distro == 'ubuntu' and target.version == '18.04') or
+ if for_package or not (
+ (target.platform == 'linux' and target.distro == 'ubuntu' and target.version == '18.04') or
(target.platform == 'osx') or
- (target.platform == 'windows')):
+ (target.platform == 'windows')
+ ):
# Currently we only build tests on Ubuntu 18.04, macOS and Windows
opt += ' --disable-tests'
if target.debug:
opt += ' --enable-debug'
if target.platform == 'windows':
- opt += ' --target-windows'
+ opt += f' --target-windows-{target.bits}'
elif target.platform == 'linux':
opt += ' --static-dcpomatic --static-wxwidgets --static-ffmpeg --static-dcp --static-sub --static-cxml'
if target.distro == 'centos':
json.dump(desc, outfile)
target.command('%s --repo=build/platform/repo build/platform/flatpak build/com.dcpomatic.DCP-o-matic.json' % target.flatpak_builder())
elif target.platform != 'linux' or target.detail == 'appimage' or not for_package:
- target.command('./waf configure --prefix=%s %s' % (target.directory, configure_options(target, options)))
+ target.command('./waf configure --prefix=%s %s' % (target.directory, configure_options(target, options, for_package)))
target.command('./waf')
target.command('./waf install')
target.set('CDIST_PKG_CONFIG_PATH', target.get('PKG_CONFIG_PATH'))
target.set('CDIST_DIRECTORY', target.directory)
- target.set('CDIST_CONFIGURE', '"' + configure_options(target, options) + '"')
+ target.set('CDIST_CONFIGURE', '"' + configure_options(target, options, for_package=True) + '"')
target.set('CDIST_PACKAGE', f'dcpomatic{suffix}')
if not target.debug:
target.set('CDIST_DEBUG_PACKAGE_FLAG', '--no-ddebs')
target.command(f'cp -r {target.directory}/share/dcpomatic2 {appdir}/usr/share/')
target.command(f'cp -r {target.directory}/share/libdcp/xsd {appdir}/usr/share/libdcp/')
target.command(f'cp -r {target.directory}/share/libdcp/tags {appdir}/usr/share/libdcp/')
+ target.command(f'cp {target.directory}/share/libdcp/ratings {appdir}/usr/share/libdcp/')
lib = 'usr/lib/x86_64-linux-gnu'
target.command(f'mkdir -p build/{nice_filename}.AppDir/{lib}/gdk-pixbuf-2.0/2.10.0')
target.command(f'cp -a /{lib}/gdk-pixbuf-2.0 build/{nice_filename}.AppDir/usr/lib/x86_64-linux-gnu/')