mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-11-04 02:11:39 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Jakub Jirutka <jakub@jirutka.cz>
 | 
						|
Date: Wed, 29 Mar 2017 22:02:00 +0200
 | 
						|
Subject: [PATCH] Add system-level config /etc/emscripten.cfg
 | 
						|
 | 
						|
If ~/.emscripten does not exist and /etc/emscripten.cfg do exist, then
 | 
						|
/etc/emscripten.cfg will be used.
 | 
						|
 | 
						|
--- a/emscripten.py
 | 
						|
+++ b/emscripten.py
 | 
						|
@@ -1791,7 +1791,7 @@
 | 
						|
                     help='Where to write the output; defaults to stdout.')
 | 
						|
   parser.add_option('-c', '--compiler',
 | 
						|
                     default=None,
 | 
						|
-                    help='Which JS engine to use to run the compiler; defaults to the one in ~/.emscripten.')
 | 
						|
+                    help='Which JS engine to use to run the compiler; defaults to the one in ~/.emscripten or /etc/emscripten.cfg.')
 | 
						|
   parser.add_option('-s', '--setting',
 | 
						|
                     dest='settings',
 | 
						|
                     default=[],
 | 
						|
 | 
						|
--- a/tools/file_packager.py
 | 
						|
+++ b/tools/file_packager.py
 | 
						|
@@ -24,8 +24,8 @@
 | 
						|
                it knows that closure is not run.
 | 
						|
 
 | 
						|
   --crunch=X Will compress dxt files to crn with quality level X. The crunch commandline tool must be present
 | 
						|
-             and CRUNCH should be defined in ~/.emscripten that points to it. JS crunch decompressing code will
 | 
						|
-             be added to convert the crn to dds in the browser.
 | 
						|
+             and CRUNCH should be defined in ~/.emscripten or /etc/emscripten.cfg that points to it. JS crunch
 | 
						|
+             decompressing code will be added to convert the crn to dds in the browser.
 | 
						|
              crunch-worker.js will be generated in the current directory. You should include that file when
 | 
						|
              packaging your site.
 | 
						|
              DDS files will not be crunched if the .crn is more recent than the .dds. This prevents a lot of
 | 
						|
--- a/tools/scons/site_scons/site_tools/emscripten/emscripten.py
 | 
						|
+++ b/tools/scons/site_scons/site_tools/emscripten/emscripten.py
 | 
						|
@@ -10,6 +10,8 @@
 | 
						|
 	EM_CONFIG = os.environ.get('EM_CONFIG')
 | 
						|
 	if not EM_CONFIG:
 | 
						|
 		EM_CONFIG = os.path.expanduser('~/.emscripten')
 | 
						|
+	if not os.path.exists(EM_CONFIG) and os.path.exists('/etc/emscripten.cfg'):
 | 
						|
+		EM_CONFIG = '/etc/emscripten.cfg'
 | 
						|
 
 | 
						|
 	if emscripten_path is None:
 | 
						|
 		
 | 
						|
--- a/tools/shared.py
 | 
						|
+++ b/tools/shared.py
 | 
						|
@@ -209,7 +209,10 @@
 | 
						|
     EM_CONFIG = EM_CONFIG.replace(';', '\n') + '\n'
 | 
						|
 
 | 
						|
 if not EM_CONFIG:
 | 
						|
-  EM_CONFIG = '~/.emscripten'
 | 
						|
+  if not os.path.exists(os.path.expanduser('~/.emscripten')) and os.path.exists('/etc/emscripten.cfg'):
 | 
						|
+    EM_CONFIG = '/etc/emscripten.cfg'
 | 
						|
+  else:
 | 
						|
+    EM_CONFIG = '~/.emscripten'
 | 
						|
 if '\n' in EM_CONFIG:
 | 
						|
   CONFIG_FILE = None
 | 
						|
   logging.debug('EM_CONFIG is specified inline without a file')
 | 
						|
@@ -271,7 +274,7 @@
 | 
						|
 # without a file, this hints to "default" location at ~/.emscripten)
 | 
						|
 def hint_config_file_location():
 | 
						|
   if CONFIG_FILE: return CONFIG_FILE
 | 
						|
-  else: return '~/.emscripten'
 | 
						|
+  else: return '~/.emscripten' if os.path.exists(os.path.expanduser('~/.emscripten')) else '/etc/emscripten.cfg'
 | 
						|
 
 | 
						|
 def listify(x):
 | 
						|
   if type(x) is not list: return [x]
 | 
						|
@@ -515,6 +515,8 @@
 | 
						|
       sanity_file = CONFIG_FILE + '_sanity'
 | 
						|
       if get_llvm_target() == WASM_TARGET:
 | 
						|
         sanity_file += '_wasm'
 | 
						|
+      if not os.access(os.path.dirname(sanity_file), os.W_OK):
 | 
						|
+        sanity_file = os.path.join('/var/tmp', os.path.basename(sanity_file))
 | 
						|
       if os.path.exists(sanity_file):
 | 
						|
         try:
 | 
						|
           sanity_mtime = os.stat(sanity_file).st_mtime
 | 
						|
@@ -580,7 +580,8 @@
 | 
						|
 
 | 
						|
     if not force:
 | 
						|
       # Only create/update this file if the sanity check succeeded, i.e., we got here
 | 
						|
-      f = open(sanity_file, 'w')
 | 
						|
+      f = open(sanity_file, 'w+')
 | 
						|
       f.write(generate_sanity())
 | 
						|
+      os.chmod(sanity_file, 0o666)
 | 
						|
       f.close()
 | 
						|
 
 |