Update lwext4 for build fix so that its arm64 library is relinked
[dcpomatic.git] / cscript
diff --git a/cscript b/cscript
index 480b93f1a4188d1f04eb4f07ee19dc0b51baf024..e91607600570895d4682e93306d72838eaa41916 100644 (file)
--- a/cscript
+++ b/cscript
@@ -325,6 +325,8 @@ def make_spec(filename, version, target, options, requires=None):
         print('%%{_datadir}/locale/%s/LC_MESSAGES/dcpomatic2.mo' % l, file=f)
         print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2-wx.mo' % l, file=f)
         print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2.mo' % l, file=f)
+    print('%{_datadir}/libdcp/tags/*', file=f)
+    print('%{_datadir}/libdcp/xsd/*', file=f)
     print('', file=f)
     print('%prep', file=f)
     print('rm -rf $RPM_BUILD_DIR/dcpomatic-%s' % version, file=f)
@@ -339,6 +341,9 @@ def make_spec(filename, version, target, options, requires=None):
     print('cd dcpomatic-%s' % version, file=f)
     print('./waf install', file=f)
     print('/bin/cp %s/src/openssl/apps/openssl %%{buildroot}/usr/bin/dcpomatic2_openssl' % target.directory, 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('', file=f)
     print('%post', file=f)
     print('/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :', file=f)
@@ -360,28 +365,28 @@ def dependencies(target, options):
         ffmpeg_options = {}
 
     if target.platform != 'linux' or target.distro != 'arch':
-        deps = [('ffmpeg-cdist', 'd798b45', ffmpeg_options)]
+        deps = [('ffmpeg-cdist', 'e89aa4a', ffmpeg_options)]
     else:
         # Use distro-provided FFmpeg on Arch
         deps = []
 
     # Let's use C++11 mode if we can
     cpp_lib_options = {'force-cpp11': True} if (
-            (target.platform == 'osx' and target.bits == 64) or
+            (target.platform == 'osx') or
             (target.platform == 'windows')) else {}
 
-    deps.append(('libdcp', '2b522d0', cpp_lib_options))
-    deps.append(('libsub', 'fd87fad', cpp_lib_options))
-    deps.append(('leqm-nrt', 'carl'))
-    deps.append(('rtaudio', 'carl'))
+    deps.append(('libdcp', 'c6665c1', cpp_lib_options))
+    deps.append(('libsub', '64eb116', cpp_lib_options))
+    deps.append(('leqm-nrt', '131f971'))
+    deps.append(('rtaudio', 'f619b76'))
     # We get our OpenSSL libraries from the environment, but we
     # also need a patched openssl binary to make certificates.
     # This dependency is to get that binary, which is added into
     # the appropriate place later
-    deps.append(('openssl', 'carl'))
+    deps.append(('openssl', '7f29dd5'))
     if can_build_disk(target):
-        deps.append(('lwext4', '370b3de6'))
-    deps.append(('ffcmp', None))
+        deps.append(('lwext4', 'd67dd1b'))
+    deps.append(('ffcmp', 'a915540'))
 
     return deps
 
@@ -412,7 +417,7 @@ def configure_options(target, options):
                 # I worry that this will cause ABI problems but I don't have
                 # a better solution.
                 opt += ' --force-cpp11'
-    elif target.platform == 'osx' and target.bits == 64:
+    elif target.platform == 'osx':
         opt += ' --force-cpp11'
 
     if not options['gui']:
@@ -426,7 +431,10 @@ def configure_options(target, options):
         opt += ' --static-dcpomatic'
 
     if can_build_disk(target):
-       opt += ' --enable-disk'
+        opt += ' --enable-disk'
+
+    if target.platform == 'osx' and target.arch == 'arm64':
+        opt += ' --target-macos-arm64 --wx-config=%s/wx-config' % target.bin
 
     return opt
 
@@ -680,11 +688,8 @@ 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' and target.bits is None:
-        target.command('bash platform/osx/make_dmg.sh %s %s universal no %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))
+    elif target.platform == 'osx':
+        target.command('bash platform/osx/make_dmg.sh %s %s %s %s' % (target.environment_prefix, target.directory, target.apple_id, target.apple_password))
         packages = []
         for x in glob.glob('build/platform/osx/DCP-o-matic*.dmg'):
             a = os.path.abspath(x)