Commit graph

389 commits

Author SHA1 Message Date
Matt Brubeck
a824177bf1 Fix error in cross-compiling bootstrap 2016-07-05 11:17:46 -07:00
bors-servo
1e1db061c0 Auto merge of #11945 - gpoesia:master, r=SimonSapin
Add mach build-stable to build with stable rustc

<!-- Please describe your changes on the following line: -->

Added mach subcommand (build-stable) to build servo and its dependencies using a stable version of rustc.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11806 (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because they're in the build process. I've manually tested both build and build-stable several times and in different orders and it seems to work. If the mach subcommands are tested automatically somewhere, I'll be happy to add a test, but I couldn't find it.

This is an example of output I get, which is what I'd expect:

```plain
[gpoesia@gabriel-notebook servo]$ ./mach build
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/2016-06-24/rustc-nightly-x86_64-unknown-linux-gnu/rustc/bin/rustc
Downloading Rust compiler...
Downloading Rust compiler: 100.0%
Extracting Rust compiler...
Rust compiler ready.
Downloading Host rust library for target x86_64-unknown-linux-gnu...
Downloading Host rust library for target x86_64-unknown-linux-gnu: 100.0%
Extracting Rust stdlib for target x86_64-unknown-linux-gnu...
Rust x86_64-unknown-linux-gnu libs ready.
Build completed in 0:00:01
[gpoesia@gabriel-notebook servo]$ ./mach build
Build completed in 0:00:02
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
   Compiling log v0.3.6
   Compiling tenacious v0.2.1
   Compiling traitobject v0.0.1
   Compiling azure v0.4.6 (https://github.com/servo/rust-azure#4d72934a)
   Compiling crossbeam v0.2.9
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1:1: 1:42 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:1 #![feature(plugin_registrar, box_syntax)]
                                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3:1: 3:27 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/tenacious-0.2.1/src/lib.rs:3 #![feature(rustc_private)]
                                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 2 previous errors
Build failed, waiting for other jobs to finish...
error: Could not compile `tenacious`.

To learn more, run the command again with --verbose.
Build completed in 0:00:03
[gpoesia@gabriel-notebook servo]$ ./mach build-stable
looking for rustc at /home/gpoesia/dev/servo/.servo/rust/rustc-1.9.0-x86_64-unknown-linux-gnu/rustc/bin/rustc
Rust compiler already downloaded. Use |bootstrap-rust --force| to download again.
Rust lib for target x86_64-unknown-linux-gnu already downloaded. Use |bootstrap-rust --force| to download again.
   Compiling js v0.1.3 (https://github.com/servo/rust-mozjs#707bfb4f)
   Compiling serde_item v0.2.0
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling angle v0.1.0 (https://github.com/servo/angle?branch=servo#d0a2db05)
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3:43: 3:74 error: #[feature] may not be used on the stable release channel
/home/gpoesia/dev/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_item-0.2.0/src/lib.rs:3 #![cfg_attr(not(feature = "with-syntex"), feature(rustc_private, plugin))]
                                                                                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: Could not compile `serde_item`.

To learn more, run the command again with --verbose.
Build completed in 0:00:37
[gpoesia@gabriel-notebook servo]$
```

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11945)
<!-- Reviewable:end -->
2016-07-05 07:17:48 -07:00
bors-servo
bb18e99597 Auto merge of #12088 - this-jacob:colon_to_dash, r=ConnorGBrewster
Change colons to dashes in package name

<!-- Please describe your changes on the following line: -->

Updating packaging so that packages use '-' instead of a ':'

r? @ConnorGBrewster

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] These changes fix #11984  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they are updating packaging

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12088)
<!-- Reviewable:end -->
2016-07-03 05:42:41 -07:00
Jacob Thomas
fe818addd0 Change colons to dashes in package name 2016-07-01 10:48:10 -06:00
Marco Neumann
f7b86f349b Add shebang to Linux runservo.sh 2016-07-01 10:56:51 +02:00
Connor Brewster
322d39442c fix runservo.sh using absolute path 2016-06-30 22:28:22 -06:00
Connor Brewster
0b84921d03 Copy resources on linux package 2016-06-30 22:17:09 -06:00
Connor Brewster
352090875c put run script in the right folder for packaging 2016-06-30 18:33:07 -06:00
Gabriel Poesia
a1a1dec4d5 Add mach build-stable to build with stable rustc
Github issue: #11806
Building with current stable rust (1.9.0) still fails because of
feature pragmas in some dependencies (e.g. serde_item).
2016-06-30 00:15:50 -03:00
bors-servo
5478e605ae Auto merge of #11262 - campaul:add_version_flag, r=Manishearth
Add `--version` flag

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11241 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Not 100% sure of a good way to test this, so I'm submitting as is for feedback. Manually testing it appears to work fine.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11262)
<!-- Reviewable:end -->
2016-06-29 09:05:35 -05:00
Cameron Paul
d76ffa8fd8 Add --version flag 2016-06-28 20:00:39 -05:00
Connor Brewster
694b930891 fix dylib relinking issue for mac packaging 2016-06-28 16:24:21 -06:00
Connor Brewster
96b7a19ca0 create an app bundle and package it in dmg
Fix resource lookup, add package prefs

fix tidy issues
2016-06-28 13:09:08 -06:00
Paul Rouget
8836250d71 Fix preference name 2016-06-24 12:03:01 +02:00
mrmiywj
909f0da3c2 add reload keyboard shortcut
rename the preference to shell.builtin-key-shortcuts.enabled
2016-06-23 17:37:56 +08:00
Simon Martin
ec5792ed2a Issue #11388: --debug and --browserhtml are not exclusive in 'mach run'. 2016-06-18 00:15:29 +02:00
Josh Matthews
342ccafe92 Pass Ctr+C to underlying process when invoking commands through mach. 2016-06-17 10:45:54 +01:00
Florian Duraffourg
dbef65129f Add mach command to update public domain list and use a HashSet instead of a Vec to lookup public domains 2016-06-09 09:14:01 +02:00
bors-servo
28c0b869ca Auto merge of #11543 - UK992:browserhtml, r=metajack
Fix ./mach --browserhtml

Rebased https://github.com/servo/servo/pull/10943 and simplified by https://github.com/servo/servo/pull/10943#issuecomment-221643014.
Fixes path related issue with browser.html on Windows and enable borderless window only on OSX.

r? @metajack

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11543)
<!-- Reviewable:end -->
2016-06-08 19:01:42 -05:00
Patrick Walton
8d5ff5cae7 mach: Set a nice icon for the binary on the Mac.
There's actually a practical reason for this: it helps me pick out the
app in Instruments.app.

See:
http://apple.stackexchange.com/questions/6901/how-can-i-change-a-file-or-folder-icon-using-the-terminal/161984#161984
2016-06-08 12:29:46 -07:00
Adam Casey
64c5c3ee9d Only enable borderless browserhtml window on OSX.
Pass browserhtml path as relative path to avoid a mingw->windows path conversion
2016-06-07 14:38:51 +02:00
bors-servo
1e968b0d3f Auto merge of #11516 - DDEFISHER:master, r=metajack
add update-manifest command

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11369

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11516)
<!-- Reviewable:end -->
2016-06-06 22:54:13 -05:00
Daniel
04b062b2fb add update-manifest command 2016-06-06 21:31:06 -04:00
bors-servo
bc52617d33 Auto merge of #11210 - edunham:mach-package, r=larsbergstrom
Start on Mach package

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [ ] `./mach build -d` does not report any errors
  - these changes don't touch anything that mach build touches>
- [ ] `./mach test-tidy --faster` does not report any errors
  - Tidy errors on some dependencies that I think we'll need for real `package` but aren't using for android
- [X] These changes address #9918 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because I don't think Mach has tests yet?

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11210)
<!-- Reviewable:end -->
2016-06-06 15:19:55 -05:00
Daniel Robertson
5fc1b6c351 Add FreeBSD to host_triple
Add FreeBSD to `host_triple` so that the correct nightly compiler will
be downloaded.
2016-06-05 21:00:16 +00:00
edunham
a1a8e08dca Create mach package
* Split package commands into their own file
* Delete spurious files from build dir
* Create runservo.sh to invoke servo with the right browserhtml incantation
* Tar it all up with the date and time in the filename
2016-06-03 14:47:21 -07:00
Andrew Shu
b79e8e96b3 mach: Introduce --all flag to run all test suites
Also remove broken "faster" parameter passed to test-tidy
2016-06-02 21:57:39 -07:00
Per Lundberg
70b64d654b Provide a better error message when downloading rustc fails
I was running into the error below locally. The previous version of the code hid away important details that helps when debugging; hence, this suggested change.

> Error downloading Rust compiler: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590). URL: https://static-rust-lang-org.s3.amazonaws.com/dist/2016-05-17/rustc-nightly-x86_64-pc-windows-gnu.tar.gz
2016-05-31 21:04:04 +03:00
Ms2ger
3535f3f6c2 Warn me when I try to sync upstream tests without requesting a commit.
This default invariably wastes my time, and I'm about the only person using
the sync argument.
2016-05-30 09:34:51 +02:00
Lars Bergstrom
02c7e06d54 Remove the gonk port 2016-05-27 19:33:43 -05:00
bors-servo
2d4941660b Auto merge of #11378 - mbrubeck:debug-mozjs, r=larsbergstrom
Default to the same Cargo features in all build commands

Fixes #8308 and #7327. r? @larsbergstrom

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11378)
<!-- Reviewable:end -->
2016-05-27 17:15:24 -05:00
Matt Brubeck
8587ec4278 Default to the same Cargo features in all build commands
Fixes #8308 and #7327.
2016-05-27 14:43:55 -07:00
bors-servo
345b8b9c00 Auto merge of #11374 - servo:no-microseconds, r=Ms2ger
Don’t include microsecons when reporting build times.

"0:03:40.817715" is harder to read and no more informative than "0:03:40"

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11374)
<!-- Reviewable:end -->
2016-05-25 21:31:48 -05:00
bors-servo
ebb690d28c Auto merge of #11409 - mitchhentges:test-tidy-faster-default, r=aneeshusa
Remove --faster flag from test-tidy, go fast by default. Fixes 11217

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11217 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they just change command-line options, which aren't tested

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

This finishes #11267

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11409)
<!-- Reviewable:end -->
2016-05-25 17:16:15 -05:00
Mitchell Hentges
52507c80a0 Remove --faster flag from test-tidy, go fast by default. Fixes 11217 2016-05-25 21:17:22 +02:00
bors-servo
40b2d424c0 Auto merge of #11393 - perlun:fix/find-cargo-exe-on-windows, r=metajack
Fixed the build tools to handle cargo being named cargo.exe

It's actually quite weird that I had to do this, but I got errors without it (on Windows). I noted the `BIN_SUFFIX` existed elsewhere so it felt logical to use it here also.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11393)
<!-- Reviewable:end -->
2016-05-25 12:41:30 -05:00
bors-servo
b6e06bd837 Auto merge of #11267 - mitchhentges:test-tidy-sanic-by-default, r=aneeshusa
Add --all option to `mach test-tidy`, with compatibility with --faster

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [X] These changes partially fix #11217

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it just affects `mach` script parameters

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11267)
<!-- Reviewable:end -->
2016-05-24 16:54:12 -07:00
Per Lundberg
e266953f39 Fixed the build tools to handle cargo being named cargo.exe
It's actually quite weird that I had to do this, but I got errors without it. I noted the `BIN_SUFFIX` existed elsewhere so it felt logical to use it here also.
2016-05-25 00:52:18 +03:00
Mitchell Hentges
29da462136 Add --all for test-tidy, with backwards-compat with --faster 2016-05-24 22:23:37 +02:00
bors-servo
ea38ccfdfe Auto merge of #11278 - mitchhentges:8348-reduce-duplication, r=aneeshusa
Reduce 'android-18' duplication by putting it in $ANDROID_TARGET env variable

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes fix #8348

Either:
- [X] These changes do not require tests because ~~I'm lazy~~ it's a configuration change, and asserting default values is usually tedious and not very helpful

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

---

Allegedly, this broke the build [back in the day](https://github.com/servo/servo/pull/8519).
Going to see if it's a piece of cake to land now

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11278)
<!-- Reviewable:end -->
2016-05-24 13:08:05 -07:00
Simon Sapin
799490d920 Don’t include microsecons when reporting build times.
"0:03:40.817715" is harder to read and no more informative than "0:03:40"
2016-05-24 18:17:11 +02:00
Paul Rouget
3a05f387a0 browserhtml update 2016-05-23 06:22:57 +02:00
Jack Moffitt
568d454ca6 Make Servo DPI aware on Windows
This implements system level DPI awareness for Windows. It has three
parts:

1. Add a application manifest which is copied alongside servo.exe during
build that declares our DPI awareness level. This is needed otherwise
DPI queries will return 96dpi and our application will be upscaled on
high DPI displays.

2. Rename hidpi_factor to avoid confusion with Glutin's hidpi_factor
which does something else.

3. Correctly convert windows sizes on window creation for
Windows. Unlike OS X, Windows uses device pixels for window creation.
2016-05-20 23:40:39 -06:00
Mitchell Hentges
619212abf3 Reduce 'android-18' duplication, as originally done by wenderen
Use android.platform (and $ANDROID_PLATFORM) for configuration, apply 'android-18' default
2016-05-20 22:23:28 +02:00
bors-servo
c519739b7b Auto merge of #11196 - fduraffourg:master, r=jdm
Add unit tests for cookies handling

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #9965

Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Add unit tests for the `net` component about cookies. The tests are generated
with a new `mach update-net-cookies` command from this repo: https://github.com/abarth/http-state.

This PR also includes two trivial bug fixes about cookie handling.

From all the tests included, the following ones are currently failing:

- cookie_http_state::test_0003
- cookie_http_state::test_0006
- cookie_http_state::test_attribute0004
- cookie_http_state::test_attribute0005
- cookie_http_state::test_attribute0007
- cookie_http_state::test_attribute0008
- cookie_http_state::test_domain0017
- cookie_http_state::test_mozilla0001
- cookie_http_state::test_mozilla0002
- cookie_http_state::test_mozilla0003
- cookie_http_state::test_mozilla0005
- cookie_http_state::test_mozilla0007
- cookie_http_state::test_mozilla0009
- cookie_http_state::test_mozilla0010
- cookie_http_state::test_mozilla0013

`test_000[36]` and `test_mozilla*` are failing because there is currently no
method to clean a `net::cookie_storage` from expired cookies.

`test_attribute000[4578]` are failing because hyper does not parse the `Secure`
attribute correctly. I will open an issue on the upstream project.

`test_domain0017` fails because the TLD .org is not on the PUB_DOMAINS list.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11196)
<!-- Reviewable:end -->
2016-05-17 16:34:16 -07:00
Florian Duraffourg
8b9b36454c Add unit tests for cookies base on abarth/http-state github repo
- Add unit tests
- Add a mach command to update cookie's unit tests
2016-05-17 10:13:26 +02:00
Anthony Ramine
429c82bdf1 Implement --pref in test-wpt 2016-05-16 23:09:50 +02:00
bors-servo
7f76e3ba74 Auto merge of #11122 - mbrubeck:unify-builds, r=larsbergstrom
Use the same build environment and features for CEF, Servo, Gonk, Geckolib

* Remove unnecessary dependencies and features from top-level Cargo.tomls.  The features for each crate will be computed based on the union of features specified in the dependency graph.  Specifying the same ones again just adds more ways for them to get out of sync.
* Move all cargo build environment variables into CommandBase

Fixes #11112. r? @metajack

(Not included: CI test to make sure #11112 doesn't regress again.)

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11122)
<!-- Reviewable:end -->
2016-05-11 12:35:32 -07:00
Matt Brubeck
ce5d9bc819 Override $CARGO_HOME only if cargo-home-dir is in .servobuild
This preserved the fix from #11097 in the situation where `$CARGO_HOME` and
`cargo-home-dir` in `.servobuild` are both present: `.servobuild` should win.

But it changes the behavior when `$CARGO_HOME` is present and `.servobuild` is
not:  Then `$CARGO_HOME` should be used.

We now check the following values in order of priority and use the first one
that is found:

1. `cargo-home-dir` in `.servobuild`
2. `CARGO_HOME_DIR` in the enivironment
3. default value (`<servo-repo>/.cargo`)
2016-05-11 11:11:16 -07:00
Matt Brubeck
b2e874e151 Remove unnecessary dependencies and features from top-level Cargo.tomls
The features for each crate will be computed based on the union of features
specified in the dependency graph.  Specifying the same ones again just adds
more ways for them to get out of sync.
2016-05-11 08:46:55 -07:00