Alex313031 / Mercury

Firefox fork with compiler optimizations and patches from Librewolf, Waterfox, and GNU IceCat.
https://thorium.rocks/mercury
Mozilla Public License 2.0
1.06k stars 25 forks source link

macOS builds? #9

Open future10se opened 1 year ago

future10se commented 1 year ago

Thank you for developing Thorium and Mercury.

Would you consider maintaining a macOS build for Mercury as well?

Alex313031 commented 1 year ago

@Midzer makes the macos thorium builds because you need a mac to compile, which I don't have. It would be up to him.

surapunoyousei commented 1 year ago

I recommend to use GitHub Actions.

( GitHub doesn't provide M1 Mac. PGO can enable at Intel build only) https://raw.githubusercontent.com/Floorp-Projects/Floorp/ESR115/.github/workflows/macOS-Universal.yml

gz83 commented 1 year ago

I don't agree with using GitHub Actions, it doesn't bring much convenience

@surapunoyousei

surapunoyousei commented 1 year ago

It is up to the developer to decide, but we are saying that if the focus is on providing the product, it should be used.

Not convenient, but practical.

gz83 commented 1 year ago

Mercury is a relatively large project. If we use GitHub Action to compile and publish, we need to create multiple different bots, and the entire compilation process takes a long time, and operations such as modifying code are not as convenient as compiling on a local device.

In addition, GitHub Action has certain restrictions, and it is not a free product.

The above is my opinion, we also need to listen to the opinions of other team members.

@surapunoyousei

surapunoyousei commented 1 year ago

@gz83 Not to be contrary, but Github Actions does not charge for public repositories. It is completely free.

We also use it to build our Floorp. The beta version is built on a Github Actions machine, but the stable version is built using Buildjet.

You have to write about 1400 lines to automate the process, but once done, it is very useful.

https://github.com/Floorp-Projects/Floorp/actions/runs/5498342219

https://github.com/Floorp-Projects/Floorp/actions/runs/5498342219/workflow

I think it is worth doing, but there is certainly no problem at all doing it locally.

gz83 commented 1 year ago

Thank you for providing more information

+Alex +midzer

@Alex313031 @midzer @surapunoyousei

allemand-instable commented 8 months ago

I tried to build the binaries from source on my M1 mac but I get the following error :

 0:00.41 checking for vcs source checkout... hg
 0:00.41 checking for a shell... /bin/sh
 0:00.43 checking for host system type... aarch64-apple-darwin23.1.0
 0:00.44 checking for target system type... x86_64-pc-linux-gnu
 0:00.46 Traceback (most recent call last):
 0:00.46   File "/Users/allemandinstable/mozilla-unified/configure.py", line 351, in <module>
 0:00.46     sys.exit(main(sys.argv))
 0:00.46              ^^^^^^^^^^^^^^
 0:00.46   File "/Users/allemandinstable/mozilla-unified/configure.py", line 138, in main
 0:00.46     sandbox.include_file(os.path.join(os.path.dirname(__file__), "moz.configure"))
 0:00.46   File "/Users/allemandinstable/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 494, in include_file
 0:00.46     exec_(code, self)
 0:00.46   File "/Users/allemandinstable/mozilla-unified/python/mozbuild/mozbuild/util.py", line 56, in exec_
 0:00.46     exec(object, globals, locals)
 0:00.46   File "/Users/allemandinstable/mozilla-unified/moz.configure", line 209, in <module>
 0:00.46     include("build/moz.configure/memory.configure", when="--enable-compile-environment")
 0:00.46   File "/Users/allemandinstable/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 868, in include_impl
 0:00.46     self.include_file(what)
 0:00.46   File "/Users/allemandinstable/mozilla-unified/python/mozbuild/mozbuild/configure/__init__.py", line 494, in include_file
 0:00.46     exec_(code, self)
 0:00.47   File "/Users/allemandinstable/mozilla-unified/python/mozbuild/mozbuild/util.py", line 56, in exec_
 0:00.47     exec(object, globals, locals)
 0:00.47   File "/Users/allemandinstable/mozilla-unified/build/moz.configure/memory.configure", line 95, in <module>
 0:00.47     @depends("--enable-phc", target, have_unwind, when="--enable-jemalloc")
 0:00.47                                      ^^^^^^^^^^^
 0:00.47 NameError: name 'have_unwind' is not defined

what I have done before

 7356  mv Mercury-v.115.4.0 $HOME/Mercury
 7359  cd $HOME/Mercury/
 7362  chmod +x bootstrap.sh
 7367  conda install mercurial
 7368  sudo ./bootstrap.sh
 7371  sudo ./setup.sh
 7374  sudo ./build.sh

Mozilla bootstrap

folders location

I have the following folders :

Let me know if you think of any relevant information you would like to know

gz83 commented 8 months ago

It seems that the compilation parameters you used are incorrect, and we currently do not seem to provide compilation parameters for MacOS. I will now forward this issue to Alex and midzer for further investigation.

@Alex313031 @midzer