Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upApple iOS support #18154
Apple iOS support #18154
Comments
|
I'm interested in this if it's a good first PR :) |
|
@JJayet It's not clear what work will be required. If you want to give it a try, you are welcome to! |
|
@jdm I'm actually looking at the problem right now.
or
doesn't seem to work (in Any idea ? |
|
You need to modify the existing cfg to use |
|
@jdm so... this seems to do the trick :
Thanks for the help :) I'm know facing multiple errors from other packages ( I will try to find out why. |
|
@JJayet Nice work! Does this work with:
? If so, that would be ideal. If it works and gets to the next set of errors, please feel free to open a PR with just that change! Then we can edit this issue to have errors from the other packages and handle them in separate PRs. It's fine for this to take 50 PRs to incrementally land the whole support! |
|
@larsbergstrom Yes indeed it works! You're right, I'll try to PR with just that. |
|
@JJayet Thank you for joining in to work on this bug when I hadn't even properly tagged it! |
First step toward iOS Support
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : #18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18189)
<!-- Reviewable:end -->
|
@larsbergstrom @jdm As I'm working on getting each part to compile, I stumble upon the (lack of) User Agent. Right now, I've added this : UserAgent::iOS => {
"Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X; rv:55.0) Servo/1.0 Firefox/55.0"
}There are two things that bother me :
It may be nitpicking though. Would the above UA be satisfying for now ? |
|
That seems fine as an initial sensible UA. |
Add initial iOS User-Agent This commit adds an initial iOS User-Agent as discussed here : #18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- 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="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18205) <!-- Reviewable:end -->
|
Was this supposed to be closed? |
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a2c0b7ec260e7fb45156d5d278abcd0a6b701e4c
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 1c1f59395f06c51c3a16716a4f9afeec8165e10a
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
|
Hello everyone, Here are the errors that pop-in:
I'm wondering if some of the errors could come from my Mac not having the right setup or if those libs do not have an iOS target. |
|
@JJayet It seems that you are using mac frameworks to link iphone builds ("warning: using sysroot for 'MacOSX' but targeting 'iPhone"). All those 3 projects use cmake/make for building C code which may require setting some CXX or sysroot variables. I had to do many fixes for Android armv7/arm64 builds in the same libraries. See #11921 |
|
@MortimerGoro Good to know, I'll look into it, thanks ! |
|
I'm seen some iOS-specific PR landing lately. Does libservo compile on iOS now? (I don't care about the If not, how far are we? |
|
Hi, what is the status of iOS support? I see iOS is still not mentioned on https://servo.org page. |
|
I too would love to see it on iOS .... |
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
UltraBlame original commit: 3eb8ae58925fd9b1d118400e306eec1666c1f236
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392 UltraBlame original commit: 0fe6f6ffc4198662402ad81f58d7ff3b2bc55292
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
UltraBlame original commit: 3eb8ae58925fd9b1d118400e306eec1666c1f236
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392 UltraBlame original commit: 0fe6f6ffc4198662402ad81f58d7ff3b2bc55292
…support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.
Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.
```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
DOMString::from("iOS")
}
```
See here for more informations : servo/servo#18154
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154
- [X] These changes do not require tests because it deals with the compile toolchain
Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
UltraBlame original commit: 3eb8ae58925fd9b1d118400e306eec1666c1f236
…port); r=jdm This commit adds an initial iOS User-Agent as discussed here : servo/servo#18154 (comment) --- <!-- 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 - [ ] These changes (continues to) fix #18154. <!-- Either: --> - [X] These changes do not require tests because too little is done <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: bde7135a3be80f8d8a4d15719394eddc97934392 UltraBlame original commit: 0fe6f6ffc4198662402ad81f58d7ff3b2bc55292
|
any update on this issue? |
|
Nobody is working in this. |
This is a meta-issue for adding support for compiling Servo to target iOS. To work on this, just clone Servo as normal but build with:
./mach build -d --target aarch64-apple-iosAdd
-j 1to turn this into more of a linear process.Next tasks: