From 8ae287375f9c711ea108ff0255e08eb4ae1e7691 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 30 May 2019 13:02:43 -0400 Subject: [PATCH 1/3] Update gstreamer on Windows to 1.16.0. --- etc/taskcluster/decision_task.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index bbe797bc4f0..9c9686f0573 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -701,15 +701,19 @@ def android_build_task(name): def windows_build_task(name, package=True, arch="x86_64"): hashes = { "devel": { - "x86_64": "b13ea68c1365098c66871f0acab7fd3daa2f2795b5e893fcbb5cd7253f2c08fa", - "x86": "50a18d050cdbb0779cd00607cc00a90f24fac48f2fb6c622ade6f23f050feb7a", + "x86_64": "c136cbfb0330041d52fe6ec4e3e468563176333c857f6ed71191ebc37fc9d605", + "x86": "fed862659360b4fbc77920bdc28f1a7da56bb953b88044834db5161c0ee05eb3", }, "non-devel": { - "x86_64": "f4f20c713766ed6718b914b9ae57ed993a59ffe194e6ef530c8547508b4484d8", - "x86": "52692c12ba8c3f59b5a289050e146d34d8374ab32b9f5070f7d1e37809656068", + "x86_64": "0744a8ef2a4ba393dacb7927d741df871400a85bab5aecf7905f63bf52c405e4", + "x86": "f36df8ba7a3858c2299162312cb939e3fe8ff65c704f988c497405ba8d9cb275", }, } - version = "1.14.3" + prefix = { + "x86_64": "msvc", + "x86": "mingw", + } + version = "1.16.0" task = ( windows_task(name) .with_max_run_time_minutes(90) @@ -728,13 +732,13 @@ def windows_build_task(name, package=True, arch="x86_64"): .with_rustup() .with_repacked_msi( url=("https://gstreamer.freedesktop.org/data/pkg/windows/" + - "%s/gstreamer-1.0-%s-%s.msi" % (version, arch, version)), + "%s/gstreamer-1.0-%s-%s-%s.msi" % (version, prefix[arch], arch, version)), sha256=hashes["non-devel"][arch], path="gst", ) .with_repacked_msi( url=("https://gstreamer.freedesktop.org/data/pkg/windows/" + - "%s/gstreamer-1.0-devel-%s-%s.msi" % (version, arch, version)), + "%s/gstreamer-1.0-devel-%s-%s-%s.msi" % (version, prefix[arch], arch, version)), sha256=hashes["devel"][arch], path="gst", ) From 96c51cf173ce3cb1526fe58f904e67ffc771893d Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 30 May 2019 13:04:45 -0400 Subject: [PATCH 2/3] Package DLLs correctly for Windows cross builds. --- etc/taskcluster/decision_task.py | 5 ++++- python/servo/build_commands.py | 4 +++- python/servo/command_base.py | 4 +++- python/servo/package_commands.py | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 9c9686f0573..604c94cf12b 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -358,14 +358,17 @@ def android_x86_wpt(): def windows_x86(): return ( - windows_build_task("Dev build", package=False, arch="x86") + windows_build_task("Dev build", arch="x86") .with_treeherder("Windows x86") .with_env(**{ "VCVARSALL_PATH": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build" }) .with_script( "python mach build --dev --target i686-pc-windows-msvc", + "python mach package --dev --target i686-pc-windows-msvc", ) + .with_artifacts("repo/target/i686-pc-windows-msvc/debug/msi/Servo.exe", + "repo/target/i686-pc-windows-msvc/debug/msi/Servo.zip") .find_or_create("build.windows_x86_dev." + CONFIG.task_id()) ) diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 1a00d8be97d..a491d0a0bd5 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -615,7 +615,8 @@ class MachCommands(CommandBase): return rv if sys.platform == "win32": - servo_exe_dir = path.join(base_path, "debug" if dev else "release") + servo_exe_dir = os.path.dirname(self.get_binary_path(release, dev, target=target)) + assert os.path.exists(servo_exe_dir) msvc_x64 = "64" if "x86_64" in (target or host_triple()) else "" # on msvc builds, use editbin to change the subsystem to windows, but only @@ -629,6 +630,7 @@ class MachCommands(CommandBase): servo_exe_dir) # Search for the generated nspr4.dll build_path = path.join(servo_exe_dir, "build") + assert os.path.exists(build_path) def package_generated_shared_libraries(libs, build_path, servo_exe_dir): for root, dirs, files in os.walk(build_path): diff --git a/python/servo/command_base.py b/python/servo/command_base.py index a7e6ead3bf0..2251b620098 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -367,7 +367,7 @@ class CommandBase(object): def get_gstreamer_path(self): return path.join(self.context.topdir, "support", "linux", "gstreamer", "gst") - def get_binary_path(self, release, dev, android=False, magicleap=False): + def get_binary_path(self, release, dev, target=None, android=False, magicleap=False): # TODO(autrilla): this function could still use work - it shouldn't # handle quitting, or printing. It should return the path, or an error. base_path = self.get_target_dir() @@ -380,6 +380,8 @@ class CommandBase(object): elif android: base_path = path.join(base_path, "android", self.config["android"]["target"]) binary_name = "libsimpleservo.so" + elif target: + base_path = path.join(base_path, target) release_path = path.join(base_path, "release", binary_name) dev_path = path.join(base_path, "debug", binary_name) diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py index 12ab0607a3a..491abf2eb84 100644 --- a/python/servo/package_commands.py +++ b/python/servo/package_commands.py @@ -219,7 +219,7 @@ class PackageCommands(CommandBase): if magicleap: target = "aarch64-linux-android" env = self.build_env(target=target) - binary_path = self.get_binary_path(release, dev, android=android, magicleap=magicleap) + binary_path = self.get_binary_path(release, dev, target=target, android=android, magicleap=magicleap) dir_to_root = self.get_top_dir() target_dir = path.dirname(binary_path) if magicleap: From c973587a7f1c43cd616579592c531b75697cf347 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 3 Jun 2019 10:18:42 -0400 Subject: [PATCH 3/3] Update gstreamer on appveyor. --- appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index dee402b8c46..1511c63a0cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -50,10 +50,10 @@ cache: install: - appveyor-retry choco install pkgconfiglite - - appveyor-retry appveyor DownloadFile https://gstreamer.freedesktop.org/data/pkg/windows/1.14.1/gstreamer-1.0-devel-x86_64-1.14.1.msi - - appveyor-retry appveyor DownloadFile https://gstreamer.freedesktop.org/data/pkg/windows/1.14.1/gstreamer-1.0-x86_64-1.14.1.msi - - msiexec /i gstreamer-1.0-devel-x86_64-1.14.1.msi /quiet /qn /norestart /log install-devel.log - - msiexec /i gstreamer-1.0-x86_64-1.14.1.msi /quiet /qn /norestart /log install.log + - appveyor-retry appveyor DownloadFile https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi + - appveyor-retry appveyor DownloadFile https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/gstreamer-1.0-msvc-x86_64-1.16.0.msi + - msiexec /i gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi /quiet /qn /norestart /log install-devel.log + - msiexec /i gstreamer-1.0-msvc-x86_64-1.16.0.msi /quiet /qn /norestart /log install.log - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain none