aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/bootstrap.py
Commit message (Collapse)AuthorAgeFilesLines
* Start organizing platform-specific Python codeMartin Robinson2023-05-191-314/+0
| | | | | | This starts to split platform-specific Python code into its own module, which should help to tidy up our mach commands and make things more reusable.
* Consume official GStreamer binaries on MacOSMukilan Thiyagarajan2023-05-121-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR re-enables support for the gstreamer mediastack in macOS by consuming the official binary '.pkg' files from gstreamer.freedesktop.org To maintain symmetry with other platforms, the '.pkg' files are uploaded to servo-build-deps and fetched from there using the new script 'etc/install_macos_gstreamer.sh'. Unlike the Homebrew version, the official GStreamer is distributed as a 'relocatable' framework i.e the dylibs all have @rpath-relative install names and also link to other dylibs using @rpath relative path. To address this difference the 'servo' binary needs to be patched with 'install_name_tool' to add an LC_RPATH command that sets the relative paths that the dynamic linker should search when trying to satify dependencies. In Servo's case, this will be a path relative to the 'servo' binary itself i.e '@executable_path/lib/' The additional 'lib' is due to a flaw in the gstreamer packaging where the install names of some of the dylibs have the prefix '@rpath/lib' and some of them just have '@rpath'. This PR also fixes a couple of issues present in the `mach build` process on MacOS: 1. `mach build` process was not copying transitive dependencies of servo binary but only the first level dylibs 2. `mach build` process didn't patch the links to dylibs in servo binary (and dependencies). This meant though (some) dylibs were copied to local path, the binary still loaded the dylibs from system GStreamer installation i.e homebrew instead of the copieds dylibs The build and runtime dependencies in etc/homebrew/Brewfile and etc/homebrew/Brewfile-build have also been removed in This PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Fix installing dependencies on Fedora and remove usage of ↵Veronika Horáčků2023-04-301-4/+3
| | | | | | | | `distro.linux_distribution()` `distro.linux_distribution()` is a deprecated function in the distro module. Signed-off-by: Veronika Horáčků <paricbat@email.cz>
* Download prebuilt dependencies from Github instead of S3Mukilan Thiyagarajan2023-04-201-1/+1
| | | | | | | | | | | | | | | After moving nightly builds to GitHub releases, the major contributor to AWS cost is now the S3 data transfer charges. This PR only addresses the data transfer costs incurred due to the download of gstreamer dependency in the linux and the Windows dependencies (llvm, cmake, moztools, openssl etc) for MSVC builds. Android dependencies and UWP/Hololens dependencies will continue to be served from S3. These can be moved to GH as well in a future PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Replace usage of six.moves.urllib with urllibMartin Robinson2023-04-101-1/+1
| | | | | | Also organize some of the imports. Now that Servo only uses Python 3, this module is unnecessary. This is part of the gradual migration to using only Python 3.
* Warning instead of exception on unsupported Ubuntusagudev2023-02-171-1/+1
|
* Remove unused salt bootstrapping process.Josh Matthews2023-01-191-136/+0
|
* Fail faster on CI when Linux bootstrap failsMartin Robinson2023-01-131-4/+6
| | | | | | Raise an exception when dependencies fail to install. Also split the run phase of the Linux bootstrap so that either of these failing commands will cause the job to fail.
* Arch Linux patch for mach tools.michaelgrigoryan252022-12-151-0/+2
|
* Removed a typoMichael G2022-11-281-1/+1
|
* Added required dependencies for FedoraMichael G2022-11-281-1/+2
|
* Update bootstrap.pysagu2022-08-271-1/+1
| | | support Ubuntu 22.04
* Fix ./mach bootstrap on fedora.Teymour Aldridge2022-08-031-0/+1
|
* Update bootstrap to support Pop!_OS 22.04Thomas Hansen2022-04-291-2/+8
| | | linux mint kde neon too
* Allow bootstrap on Pop!_OS 21.10Wu Yu Wei2021-12-301-1/+3
|
* update Ubuntu version check to > 21.10Gio de Guzman2021-12-151-1/+1
| | | | Update clang-format version check to use find() instead of startswith() to deal with distro-specific discrepancy
* bootstrap: add support for Ubuntu 21.04Tristan Matthews2021-07-021-1/+1
| | | | Signed-off-by: Tristan Matthews <tmatth@videolan.org>
* extend message about nixOS shellMaciej Krüger2021-06-211-2/+6
|
* add NixOS support to mach and automatically re-launch mach in nix-shellMaciej Krüger2021-06-041-0/+6
|
* add missing llvm package for fedoraSoveu2021-02-261-1/+1
|
* Fix bootstrap error on Ubuntu 20.10Vincent Ricard2021-01-141-1/+1
|
* Add support for KDE neon in bootstrapSimon Schmeisser2020-12-271-1/+1
| | | it's based on Ubuntu but provides recent (User edition) or git versions of the KDE Plasma desktop environment and ecosystem
* Use new S3 bucketsSimon Sapin2020-11-111-1/+1
| | | | CC https://github.com/servo/project/issues/25
* Support Linux Mint 20.04Wyatt Turner2020-08-021-1/+3
|
* Add libxcb dependencies to README and bootstrap.pyAlan Jeffrey2020-07-221-0/+1
|
* Fix Py3 failures when installing MSVC dependenciesKagami Sascha Rosylight2020-06-201-1/+2
|
* support Pop!_OS 20.04Akshat Agarwal2020-06-151-1/+3
|
* Add void packages to mach bootstrapMohammad Amin Sameti2020-05-231-10/+27
|
* Update Ubuntu version upto 20.04complexengine2020-04-301-1/+1
| | | Update Ubuntu version upto 20.04
* OSMesa is no longer a build dependencySimon Sapin2020-04-201-2/+2
| | | | Since https://github.com/servo/servo/pull/25853
* [python/servo/bootstrap.py] Add missing commaEllen Marie Dash2020-04-181-1/+1
| | | Add a missing comma in `pkgs_dnf` list.
* add missing dependenciesAkshat Agarwal2020-04-151-3/+5
|
* Remove some old requirementsDaniel Alley2020-04-121-51/+8
| | | | Remove some bits left over from Skia and Ubuntu 14.04 support
* Add 'python3-devel' to the DNF bootstrap packages listSean Stangl2020-04-121-1/+1
| | | | | Bootstrapping on Fedora 31 fails with a missing <Python.h> header. That header is provided by the 'python3-devel' package.
* Add support for Debian in mach bootstrapDylan Lom2020-04-011-1/+1
|
* added pop!_os support for ./mach bootstrapAkshat Agarwal2020-03-201-0/+16
|
* Instruct intallation of python-vitualenvLuka Zitnik2020-02-141-20/+18
| | | | | Fixes servo/servo#23210 Closes servo/servo#23212
* Auto merge of #24857 - pshaughn:master, r=jdmbors-servo2019-11-251-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add llvm-dev to Debian requirements <!-- Please describe your changes on the following line: --> --- <!-- 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 - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #24852 (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because it's the build process itself, not servo code <!-- 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. -->
| * llvm-dev is required on DebianPatrick Shaughnessy2019-11-231-1/+1
| |
* | Require gstreamer 1.16 in machAlan Jeffrey2019-11-251-1/+1
|/
* Fix Debian bootstrapJan Andre Ikenmeyer2019-11-101-1/+1
|
* fix: adding a check for Linux Mint with a spaceGabe Martin2019-11-011-1/+1
|
* Update the maximum version of Ubuntu suppported to 19.10David Wagner2019-10-271-1/+1
|
* Use input() from six instead of raw_input to be compatible with Python3marmeladema2019-10-221-1/+2
|
* Use linux_distribution() from distro package instead of builtin platform modulemarmeladema2019-10-201-15/+18
| | | | | platform.linux_distribution() is deprecated since Python 3.5 and will be removed with Python 3.8.
* Use urllib from six module in order to be compatible with Python3marmeladema2019-10-161-2/+2
|
* Encode path name of MSVC URLs when downloading.Josh Matthews2019-07-231-1/+2
|
* fixed formatting in bootstrap fileMartin Boros2019-05-241-1/+1
|
* adds libunwind-devel to fedora dnf dependencies for bootstrap and updates ↵Martin Boros2019-05-241-2/+2
| | | | README file
* Bootstrap: Use most recent version of OpenSSLJan Andre Ikenmeyer2019-05-151-13/+1
|