Remove setuid root and use setcap instead in RPM packages.
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index bfc84112da9053ab54e48fd6ecee0cce4d550138..5c729bd4326c0428471a3a7f7d0038c98524bf28 100644 (file)
--- a/wscript
+++ b/wscript
@@ -35,9 +35,11 @@ except ImportError:
 from waflib import Logs, Context
 
 APPNAME = 'dcpomatic'
+libdcp_version = '1.8.5'
+libsub_version = '1.6.5'
 
 this_version = subprocess.Popen(shlex.split('git tag -l --points-at HEAD'), stdout=subprocess.PIPE).communicate()[0]
-last_version = subprocess.Popen(shlex.split('git describe --tags --abbrev=0'), stdout=subprocess.PIPE).communicate()[0]
+last_version = subprocess.Popen(shlex.split('git describe --tags --match v* --abbrev=0'), stdout=subprocess.PIPE).communicate()[0]
 
 # Python 2/3 compatibility; I don't really understand what's going on here
 if not isinstance(this_version, str):
@@ -151,7 +153,6 @@ def configure(conf):
         conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_WINDOWS')
         conf.env.append_value('CXXFLAGS', '-DWIN32_LEAN_AND_MEAN')
         conf.env.append_value('CXXFLAGS', '-DBOOST_USE_WINDOWS_H')
-        conf.env.append_value('CXXFLAGS', '-DUNICODE')
         conf.env.append_value('CXXFLAGS', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN')
         conf.env.append_value('CXXFLAGS', '-mfpmath=sse')
         conf.env.append_value('CXXFLAGS', '-Wcast-align')
@@ -303,21 +304,21 @@ def configure(conf):
 
     # libdcp
     if conf.options.static_dcp:
-        conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.7', args='--cflags', uselib_store='DCP', mandatory=True)
+        conf.check_cfg(package='libdcp-1.0', atleast_version=libdcp_version, args='--cflags', uselib_store='DCP', mandatory=True)
         conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
         conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-carl', 'kumu-carl', 'openjp2']
         conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt', 'xerces-c']
     else:
-        conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.7', args='--cflags --libs', uselib_store='DCP', mandatory=True)
+        conf.check_cfg(package='libdcp-1.0', atleast_version=libdcp_version, args='--cflags --libs', uselib_store='DCP', mandatory=True)
         conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
 
     # libsub
     if conf.options.static_sub:
-        conf.check_cfg(package='libsub-1.0', atleast_version='1.4.7', args='--cflags', uselib_store='SUB', mandatory=True)
+        conf.check_cfg(package='libsub-1.0', atleast_version=libsub_version, args='--cflags', uselib_store='SUB', mandatory=True)
         conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB]
         conf.env.STLIB_SUB = ['sub-1.0']
     else:
-        conf.check_cfg(package='libsub-1.0', atleast_version='1.4.7', args='--cflags --libs', uselib_store='SUB', mandatory=True)
+        conf.check_cfg(package='libsub-1.0', atleast_version=libsub_version, args='--cflags --libs', uselib_store='SUB', mandatory=True)
         conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB]
 
     # libxml++
@@ -586,24 +587,8 @@ def configure(conf):
 
     Logs.pprint('YELLOW', '')
 
-def download_supporters(can_fail):
-    r = os.system('curl -m 2 -s -f https://dcpomatic.com/supporters.cc > src/wx/supporters.cc')
-    if (r >> 8) == 0:
-        r = os.system('curl -s -f https://dcpomatic.com/subscribers.cc > src/wx/subscribers.cc')
-    if (r >> 8) != 0:
-        if can_fail:
-            raise Exception("Could not download supporters lists (%d)" % (r >> 8))
-        else:
-            f = open('src/wx/supporters.cc', 'w')
-            print('supported_by.Add(wxT("Debug build - no supporters lists available"));', file=f)
-            f.close()
-            f = open('src/wx/subscribers.cc', 'w')
-            print('subscribers.Add(wxT("Debug build - no subscribers lists available"));', file=f)
-            f.close()
-
 def build(bld):
     create_version_cc(VERSION, bld.env.CXXFLAGS)
-    download_supporters(not bld.env.DEBUG)
 
     bld.recurse('src')
     bld.recurse('graphics')
@@ -679,10 +664,6 @@ def create_version_cc(version, cxx_flags):
 def post(ctx):
     if ctx.cmd == 'install' and ctx.env.TARGET_LINUX:
         ctx.exec_command('/sbin/ldconfig')
-        # setuid root executable
-        exe = os.path.join(ctx.env['INSTALL_PREFIX'], 'bin/%s/dcpomatic2_disk_writer')
-        if os.path.exists(exe):
-            os.chmod(exe, 0o4755)
 
 def pot(bld):
     bld.recurse('src')
@@ -690,6 +671,13 @@ def pot(bld):
 def pot_merge(bld):
     bld.recurse('src')
 
+def supporters(bld):
+    r = os.system('curl -m 2 -s -f https://dcpomatic.com/supporters.cc > src/wx/supporters.cc')
+    if (r >> 8) == 0:
+        r = os.system('curl -s -f https://dcpomatic.com/subscribers.cc > src/wx/subscribers.cc')
+    if (r >> 8) != 0:
+        raise Exception("Could not download supporters lists (%d)" % (r >> 8))
+
 def tags(bld):
     os.system('etags src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc')