Commit graph

253 commits

Author SHA1 Message Date
Simon Sapin
acfbf8c85a Correctly install 'nigthtly' (without a date) if it’s not installed already.
Should fix errors like:

https://community-tc.services.mozilla.com/tasks/WWNv1op4QUau10ixVuJfFQ/runs/0/logs/https%3A%2F%2Fcommunity-tc.services.mozilla.com%2Fapi%2Fqueue%2Fv1%2Ftask%2FWWNv1op4QUau10ixVuJfFQ%2Fruns%2F0%2Fartifacts%2Fpublic%2Flogs%2Flive.log#L364-401

… where the previous code would find the string `nightly` in the output of `rustup toolchain list` in a line like `nightly-2020-01-16-x86_64-unknown-linux-gnu` and conclude that that toolchain was already installed.
2020-01-31 12:30:22 +01:00
Zhuowei Zhang
aff14a77e7 mach: fix error on Python 3 when specifying a target
Previously, when running Mach on Python 3, specifying a target when building
causes this error:

```
TypeError: a bytes-like object is required, not 'str'

  File "/servo/python/servo/build_commands.py", line 241, in build
    self.ensure_bootstrapped(target=target)
  File "/servo/python/servo/command_base.py", line 1023, in ensure_bootstrapped
    ["rustup", "target", "list", "--installed", "--toolchain", toolchain]
```

This change encodes the target using utf-8 before comparing.

Fixes #25614.
2020-01-26 10:39:22 -05:00
bors-servo
9f971f794e
Auto merge of #25300 - MeFisto94:improve-msvc-detection, r=jdm
Mach: Improve Visual Studio detection for non-standard-path installations

Improve locating the Visual Studio installation

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25225
- [X] These changes do not require tests because testing build infrastructure is difficult
2020-01-08 09:55:14 -05:00
pshaughn
f80958d2e8 Put correct version number in rustup version-requirement string, sys.exit(1) on bad rustup version 2020-01-06 11:23:56 -05:00
Simon Sapin
1d3fdc471e Fix Python 3 support in mach’s ensure_bootstrapped 2020-01-02 17:02:12 +01:00
Simon Sapin
f93c03cda3 Install rust-docs rustup component in ./mach doc 2020-01-02 15:48:11 +01:00
Simon Sapin
1110cac184 mach + rustup: use the minimal profile and install rustc-dev 2020-01-02 15:48:11 +01:00
Simon Sapin
6f70a9c1de mach: always call ensure_bootstrapped before call_rustup_run 2020-01-02 15:30:33 +01:00
Simon Sapin
e96bcea669 mach: explicitly install the toolchain and target in ensure_bootstrapped 2020-01-02 15:30:33 +01:00
Simon Sapin
855601ebb4 mach: check rustup version in ensure_bootstrapped() 2020-01-02 15:30:33 +01:00
Simon Sapin
d4da65d149 mach: on Windows, opt into MSVC target for all uses of rust_toolchain() 2020-01-02 15:30:33 +01:00
Simon Sapin
e56e49e98f mach: run rustup target add in ensure_bootstrapped 2020-01-02 15:30:33 +01:00
Simon Sapin
cef92a2050 Mach: rename default_toolchain to rust_toolchain 2020-01-02 14:20:18 +01:00
Josh Matthews
e922d5e11d Print OSMesa environment variables when starting debugger under WPT. 2019-12-20 11:25:19 -05:00
pylbrecht
65a21e9bad Enable raqote by default 2019-12-17 19:51:55 +01:00
MeFisto94
0a80dd9417 Mach: Improve Visual Studio detection for non-standard-path installations 2019-12-16 22:56:02 +01:00
Simon Sapin
d670b4420a Add layout-2020 option to the .servobuild file
… and `--with-layout-2013` command-line option to disable it.
2019-12-16 15:36:18 +01:00
marmeladema
e6a3a9774a Use filename instead of already opened file descriptor when calling ZipFile
This should fix #25251
2019-12-12 00:14:32 +00:00
marmeladema
7b5fabe855 Fix tidiness errors for Python3 compatibility across whole repo 2019-12-11 16:03:20 +00:00
marmeladema
02c55e2eca Use is_linux to check for current platform instead of relying on sys.platform 2019-12-10 16:11:03 +00:00
marmeladema
267eaad4eb Properly open file as 'wb' in archive_deterministically 2019-12-10 16:10:58 +00:00
marmeladema
3f48f2863c Convert cmp= to key= in sort method call for Python3 compatibility 2019-12-09 19:31:46 +00:00
Josh Matthews
fcdf347d83
Support overriding the moztools path order. 2019-11-27 11:56:47 -05:00
Simon Sapin
c156bf2dd9 Add a .servobuild option for --with-debug-assertions 2019-11-26 16:36:24 +01:00
Alan Jeffrey
57af033a28 Require gstreamer 1.16 in mach 2019-11-25 10:12:05 -06:00
Tuncer Ayaz
81c439a899 Extract media_stack pick into CommandBase 2019-11-21 20:08:04 +00:00
Tuncer Ayaz
6d8f35c590 Allow media_stack in run_cargo_build_like_command 2019-11-21 20:08:04 +00:00
Tuncer Ayaz
d641585679 Implement ./mach check --media-stack
While at it, extract --media-stack flag into command_base.py.
2019-11-21 20:08:03 +00:00
Tuncer Ayaz
528322cfed Fix needs_gstreamer_env() signature
Use iterable default value for `features`.
2019-11-21 20:08:01 +00:00
Tuncer Ayaz
a3ef594470 Pass feature list to build_env() 2019-11-21 20:08:01 +00:00
Patrick Walton
a358bca766 Use surfman for managing GL surfaces
Co-authored-by: Alan Jeffrey <ajeffrey@mozilla.com>
Co-authored-by: Zakor Gyula <gyula.zakor@h-lab.eu>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2019-11-01 08:47:11 -05:00
marmeladema
45817ac26e Use 'byte' regexp pattern to match on 'byte' string
This is done in order to be compatible with Python3
2019-10-22 10:16:00 +01:00
marmeladema
af7e4d633a Convert git sha hash to text to be compatible with Python3
This also pin the six module version to 1.12 in order to be sure
six.ensure_text is available.
2019-10-22 10:15:59 +01:00
marmeladema
7e9ce2dbd5 Use six.text_type instead of str to check instance type 2019-10-22 10:15:59 +01:00
marmeladema
4d6f28df35 Use linux_distribution() from distro package instead of builtin platform module
platform.linux_distribution() is deprecated since Python 3.5 and
will be removed with Python 3.8.
2019-10-20 23:56:46 +01:00
marmeladema
bed6f2dbec Use relative import statements to be compatible with Python3 2019-10-20 23:43:26 +01:00
bors-servo
9032207b8a
Auto merge of #24447 - servo:uninit, r=nox
Work around deprecation warnings caused by autocfg $RUSTFLAGS handling

See https://github.com/servo/servo/issues/24446
2019-10-16 17:03:13 -04:00
marmeladema
6c813d073c Use octal literal syntax compatible with Python3 2019-10-16 00:22:07 +01:00
marmeladema
f1d42fe787 Use urllib from six module in order to be compatible with Python3 2019-10-16 00:22:07 +01:00
marmeladema
4e1ee07a79 Improve print statement compatibility with Python3 2019-10-16 00:22:06 +01:00
Simon Sapin
6ef9d34132 Work around deprecation warnings caused by autocfg $RUSTFLAGS handling
See https://github.com/servo/servo/issues/24446
2019-10-15 11:25:36 +02:00
Josh Matthews
5367da98f8 Support building UWP with native UWP rustc target. 2019-10-12 10:19:26 -04:00
Fernando Jimenez Moreno
becb694013 Allow building and cleaning for UWP without system GStreamer 2019-10-08 10:27:10 +02:00
Josh Matthews
6535899d54
Use correct OpenSSL arch in UWP builds. 2019-10-03 00:52:27 -04:00
Josh Matthews
96302bad91 Update to UWP compatible OpenSSL build. 2019-10-02 15:00:29 -04:00
Josh Matthews
c1f9dfda25 Make APPX build part of package command. Add nightly build for UWP. 2019-09-12 23:27:38 -04:00
Joel Martin
1291d52f3f Call gstreamer_root with top_dir string, not func.
Commit 72e28dffcd introduced a build
regression on Linux when resolving the in-tree gstreamer libs.

The error:

------------------------------------
$ ./mach build --release
...
The details of the failure are as follows:

AttributeError: 'function' object has no attribute 'endswith'

  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/build_commands.py", line 237, in build
    env = self.build_env(target=target, is_build=True)
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 646, in build_env
    if self.needs_gstreamer_env(target or host_triple(), env):
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 574, in needs_gstreamer_env
    if path.isdir(gstreamer_root(effective_target, env, self.get_top_dir)):
  File "/data/joelm/personal/UTA/dissertation/servo/servo-master.git/python/servo/command_base.py", line 257, in gstreamer_root
    return path.join(topdir, "support", "linux", "gstreamer", "gst")
  File "/usr/lib/python2.7/posixpath.py", line 70, in join
    elif path == '' or path.endswith('/'):
------------------------------------

The problem is that get_top_dir is being passed as a function to
gstreamer_root in a couple of places instead of being invoked first.
2019-08-29 09:29:55 -05:00
Alan Jeffrey
1c661be721 In mach, add arguments to bare uses of is_windows 2019-08-23 11:54:46 -05:00
angelortiz1007
3dd1bfc317 Added support to download nuget and added python code to automate the x64 and arm64 mach build -r/-d --uwp build process. 2019-08-21 20:28:41 -04:00
Fernando Jimenez Moreno
72e28dffcd Do not require setting PKG_CONFIG_PATH on Windows 2019-08-20 08:47:35 +02:00