mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Create bundle with GStreamer and Servo installers
This commit is contained in:
parent
049eb6887e
commit
c3ed1d11c0
3 changed files with 51 additions and 1 deletions
|
@ -18,6 +18,7 @@ import shutil
|
|||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import urllib
|
||||
|
||||
from mach.decorators import (
|
||||
CommandArgument,
|
||||
|
@ -330,7 +331,7 @@ class PackageCommands(CommandBase):
|
|||
import mako.template
|
||||
template_path = path.join(dir_to_root, "support", "windows", "Servo.wxs.mako")
|
||||
template = mako.template.Template(open(template_path).read())
|
||||
wxs_path = path.join(dir_to_msi, "Servo.wxs")
|
||||
wxs_path = path.join(dir_to_msi, "Installer.wxs")
|
||||
open(wxs_path, "w").write(template.render(
|
||||
exe_path=target_dir,
|
||||
dir_to_temp=dir_to_temp_servo,
|
||||
|
@ -351,6 +352,35 @@ class PackageCommands(CommandBase):
|
|||
except subprocess.CalledProcessError as e:
|
||||
print("WiX light exited with return value %d" % e.returncode)
|
||||
return e.returncode
|
||||
print("Packaged Servo into " + path.join(dir_to_msi, "Installer.msi"))
|
||||
|
||||
# Download GStreamer installer. Only once.
|
||||
dir_to_gst_deps = path.join(dir_to_msi, 'Gstreamer.msi');
|
||||
gstreamer_msi_path = path.join(target_dir, 'Gstreamer.msi');
|
||||
if os.path.exists(gstreamer_msi_path):
|
||||
shutil.copy(gstreamer_msi_path, dir_to_gst_deps)
|
||||
else:
|
||||
print('Fetching GStreamer installer. This may take a while...')
|
||||
urllib.urlretrieve('https://gstreamer.freedesktop.org/data/pkg/windows/1.14.2/gstreamer-1.0-x86-1.14.2.msi', gstreamer_msi_path)
|
||||
|
||||
# Generate bundle with GStreamer and Servo installers.
|
||||
print("Creating bundle")
|
||||
shutil.copy(path.join(dir_to_root, 'support', 'windows', 'Servo.wxs'), dir_to_msi)
|
||||
bundle_wxs_path = path.join(dir_to_msi, 'Servo.wxs')
|
||||
dir_to_bundle_msi = path.join(dir_to_msi, 'Servo.msi')
|
||||
try:
|
||||
with cd(dir_to_msi):
|
||||
subprocess.check_call(['candle', bundle_wxs_path, '-ext', 'WixBalExtension'])
|
||||
except subprocess.CalledProcessError as e:
|
||||
print("WiX candle exited with return value %d" % e.returncode)
|
||||
return e.returncode
|
||||
try:
|
||||
wxsobj_path = "{}.wixobj".format(path.splitext(bundle_wxs_path)[0])
|
||||
with cd(dir_to_msi):
|
||||
subprocess.check_call(['light', wxsobj_path, '-ext', 'WixBalExtension'])
|
||||
except subprocess.CalledProcessError as e:
|
||||
print("WiX light exited with return value %d" % e.returncode)
|
||||
return e.returncode
|
||||
print("Packaged Servo into " + path.join(dir_to_msi, "Servo.msi"))
|
||||
|
||||
print("Creating ZIP")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue