Blog: 2022-11-14: Difference between revisions
(Created page with "Gonna try to compile a couple browsers Note: would be good to try to do this on a fresh mac machine / vm. But I'll compile it on my macbook air with a bunch of junk on it for...") |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Gonna try to compile a couple browsers |
Gonna try to compile a couple browsers |
||
Note: would be good to try to do this on a fresh mac machine / vm. But I'll compile it on my macbook air with a bunch of junk on it for starters. |
''Note: would be good to try to do this on a fresh mac machine / vm. But I'll compile it on my macbook air with a bunch of junk on it for starters.'' |
||
Gonna listen to https://musicforprogramming.net/latest/ episode 65 was not great; I didn't like all the futurist talking stuff, found it distracting |
|||
== Firefox == |
|||
Let's start with firefox. https://firefox-source-docs.mozilla.org/setup/macos_build.html |
|||
And we're off to the races... <code>/Users/razzi/projects/browser-builds</code> |
|||
They want me to install mercurial, ok, that's a bit odd. And a specific, older version, which isn't great. |
|||
Experiment: let's try running hg with the latest, version 6.2.3. |
|||
Ok now they want me to get the firefox source code with a bootstrap script. Wouldn't it be nice to just clone the source code using standard git/hg? |
|||
Now I've downloaded the script, and I'm reading it to see why they use a script at all. |
|||
Fun tip: curl can act like wget - download the file - with the -O option, with no parameter. |
|||
curl <nowiki>https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py</nowiki> -O |
|||
The script sets up generaldelta to be true, but it appears this is not necessary as of mercurial version 3.7 |
|||
"format.generaldelta=true", |
|||
So let's skip that |
|||
Now for the actual merge command: |
|||
hg clone <nowiki>https://hg.mozilla.org/mozilla-unified</nowiki> |
|||
It's running, and it's taking a while. I wonder if there'd be a faster / easier way to do this, maybe using bittorrent? |
|||
So this is already a clear bother for users; slow ass cloning. |
|||
Found a broken link on https://firefox-source-docs.mozilla.org/contributing/directory_structure.html: "snapshot" links to https://developer.mozilla.org/docs/Mozilla/Developer_guide/Source_Code/Downloading_Source_Archives |
|||
Would be good to find how to clone with depth 1 |
|||
It gave me a helpful warning: |
|||
(warning: large working directory being used without fsmonitor enabled; enable fsmonitor to improve performance; see "hg help -e fsmonitor") |
|||
The clone is done!!! 3:57pm |
|||
Now I'm stuck because I'm missing the rustup command; I guess I have rust version rustc 1.64.0 from homebrew |
|||
So I'm uninstalling rust from homebrew and reinstalling from rustup. It wants to add ~/.cargo/bin to my path, and did it for a bunch of non-fish shells I guess: |
|||
<pre> |
|||
This path will then be added to your PATH environment variable by |
|||
modifying the profile files located at: |
|||
/Users/razzi/.profile |
|||
/Users/razzi/.bashrc |
|||
/Users/razzi/.zshenv |
|||
</pre> |
|||
Well I added the path to ~/.profile manually and now I have rust installed at 1.65. But <code>rustup which rust</code> fails with a weird error, let's see if <code>./mach build</code> complains. I guess not. |
|||
17 minutes in now and I'm going to pause to head out |
Latest revision as of 21:46, 16 November 2022
Gonna try to compile a couple browsers
Note: would be good to try to do this on a fresh mac machine / vm. But I'll compile it on my macbook air with a bunch of junk on it for starters.
Gonna listen to https://musicforprogramming.net/latest/ episode 65 was not great; I didn't like all the futurist talking stuff, found it distracting
Firefox
Let's start with firefox. https://firefox-source-docs.mozilla.org/setup/macos_build.html
And we're off to the races... /Users/razzi/projects/browser-builds
They want me to install mercurial, ok, that's a bit odd. And a specific, older version, which isn't great.
Experiment: let's try running hg with the latest, version 6.2.3.
Ok now they want me to get the firefox source code with a bootstrap script. Wouldn't it be nice to just clone the source code using standard git/hg?
Now I've downloaded the script, and I'm reading it to see why they use a script at all.
Fun tip: curl can act like wget - download the file - with the -O option, with no parameter.
curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O
The script sets up generaldelta to be true, but it appears this is not necessary as of mercurial version 3.7
"format.generaldelta=true",
So let's skip that
Now for the actual merge command:
hg clone https://hg.mozilla.org/mozilla-unified
It's running, and it's taking a while. I wonder if there'd be a faster / easier way to do this, maybe using bittorrent?
So this is already a clear bother for users; slow ass cloning.
Found a broken link on https://firefox-source-docs.mozilla.org/contributing/directory_structure.html: "snapshot" links to https://developer.mozilla.org/docs/Mozilla/Developer_guide/Source_Code/Downloading_Source_Archives
Would be good to find how to clone with depth 1
It gave me a helpful warning:
(warning: large working directory being used without fsmonitor enabled; enable fsmonitor to improve performance; see "hg help -e fsmonitor")
The clone is done!!! 3:57pm
Now I'm stuck because I'm missing the rustup command; I guess I have rust version rustc 1.64.0 from homebrew
So I'm uninstalling rust from homebrew and reinstalling from rustup. It wants to add ~/.cargo/bin to my path, and did it for a bunch of non-fish shells I guess:
This path will then be added to your PATH environment variable by modifying the profile files located at: /Users/razzi/.profile /Users/razzi/.bashrc /Users/razzi/.zshenv
Well I added the path to ~/.profile manually and now I have rust installed at 1.65. But rustup which rust
fails with a weird error, let's see if ./mach build
complains. I guess not.
17 minutes in now and I'm going to pause to head out