ungoogled-software / ungoogled-chromium-macos Goto Github PK
View Code? Open in Web Editor NEWmacOS packaging for ungoogled-chromium
License: BSD 3-Clause "New" or "Revised" License
macOS packaging for ungoogled-chromium
License: BSD 3-Clause "New" or "Revised" License
I have a working build of ungoogled-chromium-macos 77.0.3865.90, but it has one key caveat: it requires manually setting the enable_swiftshader
gn flag to true
; ungoogled-chromium sets it to false
.
Chromium 77 appears to require egl to be enabled. When building Chromium for macOS, it appears that enabling egl depends on enabling swiftshader (on Linux, egl can be enabled without enabling swiftshader). In the build that I have working, I do not apply swiftshader.patch
and set enable_swiftshader
to true
.
The best way to resolve this that I can see is to remove the enable_swiftshader
line from flags.gn
in ungoogled-chromium and make whether it is set to true
or false
a platform specific flag.
I've looked at updating these patches to support chromium-110.0.5481.177
, and while there aren't too many changes needed, I feel that some of them may warrant discussion.
In my opinion, these could all be dropped, save for patches/debian_buster/disable/installer.patch
, which could go to the upstream ungoogled-chromium
repo, since there's nothing macOS-specific about it.
The Debian Chromium repo no longer ships any of these patches, and while most of them still apply, they seem to have no impact when building with the latest LLVM toolchain. (Discussed in the next section.)
I'm not sure if patches/inox-patchset/fix-cfi-failures-with-unbundled-libxml.patch
is needed either. Replacing all uses of XmlFree
with free
seems a bit odd. I don't have an unbundled libxml to test this with, though.
Building with LLVM 15 is currently broken. Either chromium/chromium@cb5ad37 needs to be reverted, or the odd initialization should be changed to work with LLVM 15.
Alternatively, the minimum LLVM version could be bumped to LLVM 16, though it remains unreleased as of yet. (It's not yet available in homebrew, so maybe the build script could handle building it?) However, building with LLVM 16 is broken on arm without chromium/chromium@9f43d82. (See https://bugs.chromium.org/p/chromium/issues/detail?id=1405048)
I'd prefer requiring LLVM 16 for maximum compatibility, but supporting older releases shouldn't be too difficult (yet.)
Can we get 98 release for mac it has few important security fixes. it would be great for mac users to get this update as it's been quiet a while since we got last update.
(This can still be viewed as a part of the works to improve compiling efficiency)
As for now, even if we build ungoogled-chromium-macos on Apple Silicon (arm64), an x86-64 version of LLVM is still used to compile. I think we should try to use arm64 LLVM in this case instead, so no translation for binaries are needed.
This might consist of appending different entries to downloads.ini
while running build script.
Any opinions on this? /cc @networkException @PF4Public
Hello, I am not getting any repo update since version 108.0.5359.125 with Homebrew back in December which is confirmed on Homebrew page. You are not providing any updates via homebrew anymore?
Homebrew page(https://formulae.brew.sh/cask/eloston-chromium#default)
Name: Ungoogled Chromium
Google Chromium, sans integration with Google
https://ungoogled-software.github.io/ungoogled-chromium-binaries/
/api/cask/eloston-chromium.json (JSON API)
Cask code on GitHub
Current version: 108.0.5359.125-1.1,1671136997
this morning, i built new chromium on my machine using commit id 73e79586cb25136feb2a197efbbfe17d2d287eb5
.
chromium version: 75.0.3770.90-1.2
everything builds fine and after system restart, chromium keeps on prompting for incoming network connections permission. Even though i deny/allow keeps on prompting for permission on each launch
.
applied code signing on chromium.app using below command and prompt was only for one time.
sudo codesign --force --deep --sign - /Applications/Chromium.app
Looks like we need to add above code signing part of build. This requires sudo
command, is it okay to include as part of build.sh
file? If so, we should add below command in build.sh file @ line 33 before packaging starts.
sudo codesign --force --deep --sign - out/Default/Chromium.app
Right now, building the latest release tagged on the main project results in a Only source, header, and object files belong in the sources of a static_library
error.
It looks like the culprits are some generated python files but adding them to pruning_list.txt
doesn't help.
Haven't solved this yet, if someone has any ideas, feel free to comment.
+ ./tools/gn/bootstrap/bootstrap.py -o out/Default/gn --skip-generate-buildfiles
ninja: Entering directory `ungoogled-chromium-macos/build/src/out/Release/gn_build'
[178/178] LINK gn
+ ./out/Default/gn gen out/Default --fail-on-unused-args
ERROR at //third_party/protobuf/proto_library.gni:369:15: Only source, header, and object files belong in the sources of a static_library. //out/Default/pyproto/google_apis/gcm/protocol/mcs_pb2.py is not one of the valid types.
sources = get_target_outputs(":$action_name")
^---------------------------------
See //google_apis/gcm/BUILD.gn:78:1: whence it was called.
proto_library("proto") {
^-----------------------
See //BUILD.gn:81:7: which caused the file to be included.
"//google_apis/gcm:gcm_unit_tests",
^---------------------------------
I'm always getting the same error while trying to build uc.
Ninja updated to latest
python 2.7.18, 3.9
llvm/clang 11.0 (tried with 12.0 with no success)
xcode 12.0.1.
I even tried with windows build but its the same error.
LOG:
(large list of files from this file here)
python ../../third_party/blink/renderer/bindings/scripts/generate_bindings.py --web_idl_database gen/third_party/blink/renderer/bindings/web_idl_database.pickle --root_src_dir ../../ --root_gen_dir gen --output_core_reldir third_party/blink/renderer/bindings/core/v8/ --output_modules_reldir third_party/blink/renderer/bindings/modules/v8/ enumeration interface
Problem while looking for clang-format in Chromium source tree:
Could not find checkout in any parent of the current path.
Set CHROMIUM_BUILDTOOLS_PATH to use outside of a chromium checkout.
(previous three lines repeated like 20 times)
.
.
.
Traceback (most recent call last):
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 100, in
main()
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 95, in main
task_queue.run(report_progress)
File "/Users/nikolafilipovic/Apps/ungoogled-chromium-macos/build/src/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py", line 66, in run
worker_task.get() # Let |get()| raise an exception.
File "/usr/local/Cellar/python@2/2.7.17_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 572, in get
raise self._value
RuntimeError: Style-formatting failed: filename = /Users/nikolafilipovic/Apps/ungoogled-chromium-macos/build/src/out/Default/gen/third_party/blink/renderer/bindings/core/v8/v8_text_track_mode.h
---- stderr ----
None:
[24448/43278] ACTION //third_party/blink/public/mojom:mojom_core__parser(//build/toolchain/mac:clang_x64)
Originally posted by @Luka-Filipovic in #61 (comment)
Since the release title already includes the version and timestamp, it might be unnecessary to repeat this information in the release body, especially since the two timestamps do not match.
Simply delete these two lines.
I think you should include an unattended script like this one:
Since the last two versions or so, I have a problem with updating my web browser. Every time I update it, my cookies are being deleted. Weirdly enough, it's only the cookies. History, LocalStorage, IndexedDB, bookmarks — everything is there, but the cookies aren't. As a consequence, I get logged out on every website that I have :(
I use the Homebrew build, so I apologize in advance if I submit this issue in a wrong repository. Maybe you can help me out with trying to debug this issue. Perhaps @frodera or @kramred know what could be wrong?
Trying to build 74.0.3729.131-1.1
, it fails with the below message:
********************************************************************************
WARNING: The Mac OS X SDK is incompatible with the version of Xcode. To fix,
either upgrade Xcode to the latest version or install the Mac OS X
10.13 SDK. For more information, see https://crbug.com/620127.
Current SDK Version: 10.14
Current Xcode Version: 1021 (10E1001)
********************************************************************************
ERROR at //build/config/mac/mac_sdk.gni:111:3: Assertion failed.
assert(false, "SDK is incompatible with Xcode")
^-----
SDK is incompatible with Xcode
See //build/config/sysroot.gni:64:3: whence it was imported.
Do I just have to bump a variable from 10.13 to 10.14 somewhere? If so, where?
Google Voice in-call Audio Silent
— used to work until maybe a month ago (7/2023)
Discovered macOS 13.4.1.(c) Chromium 114.0.5735.198
Also present: macOS 13.5 Chromium 115.0.5790.170 (Official Build, ungoogled-chromium) (arm64)
works with macOS 13.5 Safari 16.6 (18615.3.12.11.2)
browse to: https://voice.google.com, place call
BUG: in-call audio in/out is silent
— ringing and hang-up sounds work
— listen to voicemail works
— audio test functions work
A periodical problem since 2019 when things no work related to some voice Plugin
When attempting to compile the build, I keep getting the error:
FAILED: gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts
python3 ../../tools/polymer/html_to_wrapper.py --in_folder gen/chrome/browser/resources/about_sys/preprocessed --out_folder gen/chrome/browser/resources/about_sys/preprocessed --in_files app.html log_entry.html --minify
Traceback
...
subprocess.CalledProcessError: Command '['which', 'node']' returned non-zero exit status 1
[533/57706] ACTION //chrome/browser/metrics:expired_histograms_array(//build/toolchain/mac:clang_x64)
What could be causing this issue?
When building,
xattr -cr out/Default/Chromium.app
output:
xattr: No such file: out/Default/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Libraries
The "Libraries" is a symbolic link to "Versions/Current/Libraries", so xattr
needs the -s
switch to avoid this error.
xattr -csr out/Default/Chromium.app
INFO: Unpacking "chromium" to ./ ...
DEBUG: Using BSD or GNU tar extractor
DEBUG: tar command line: /usr/bin/tar -xf /Users/fusion/git/ungoogled-chromium-macos/build/download_cache/chromium-75.0.3770.80.tar.xz -C /Users/fusion/git/ungoogled-chromium-macos/build/src
INFO: Unpacking "google-toolbox-for-mac" to third_party/google_toolbox_for_mac/src ...
DEBUG: Using BSD or GNU tar extractor
DEBUG: tar command line: /usr/bin/tar -xf /Users/fusion/git/ungoogled-chromium-macos/build/download_cache/google-toolbox-for-mac-v2.2.1.tar.gz -C /Users/fusion/git/ungoogled-chromium-macos/build/src/third_party/google_toolbox_for_mac/src
ERROR: Could not find relative_to directory in extracted files: google-toolbox-for-mac-v2.2.1
Traceback (most recent call last):
File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 393, in <module>
main()
File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 389, in main
args.callback(args)
File "/Users/fusion/git/ungoogled-chromium-macos/ungoogled-chromium/utils/downloads.py", line 343, in _unpack_callback
unpack_downloads(DownloadInfo(args.ini), args.cache, args.output, extractors)
When I follow the instructions on refreshing the patches, it returns an error when it runs push -a --refresh
.
Applying patch core/inox-patchset/0001-fix-building-without-safebrowsing.patch
can't find file to patch at input on line 3
Can I ignore this or do I need to use quilt remove
?
Thank you!
I am trying to build the binary using actions, but facing some issues.
This is the workflow file.
Homebrew doesn't respect permissions, leaves a mess, does unwanted updates at odd times, it's just always been an ugly hack at the expense of ease of use. Also, not for nothing, Homebrew is offensive, especially to recovering alcoholics.
MacPorts is based on the FreeBSD ports system, is far more mature and far more organized, and has tens of thousands more packages available than Homebrew. When MacPorts is uninstalled it leaves nothing behind. Good luck completely uninstalling Homebrew. I don't think it's possible without formatting the boot drive and reinstalling the OS.
Thank you for your consideration.
I have set up most of the things for building it but I would like to use the latest version of chromium to build it. Can I manually set them? And if so, how?
(I'm a newbie so pls help me out with this stupid question)
So, this happened to me today: Search on duckduckgo.com for "google ui guidelines"
https://duckduckgo.com/?q=google+ui+guidelines&ia=web
Open first 3 hits in tabs:
https://developers.google.com/assistant/interactivecanvas/design
https://developers.google.com/photos/library/guides/ux-guidelines
https://developers.google.com/mobile-data-plan/ui_guidelines
Get an incoming connection warning from little snitch:
from 142.250.184.14 on UDP port 58040
I could not reproduce this afterwards.
I'm leaving this here as a note that there may be more (google) connection types hidden in the code that are not yet disabled by a patch.
It seems the latest version of ungoogled-chromium-macos at @kramred 's fork is not building the latest version of amr64 for some reason:
https://github.com/kramred/ungoogled-chromium-macos/releases
I'd like to use this Software but I don't know if the Software updates itself. Do you guys provide any tool for auto updating this?
Building Chromium on the latest Mojave/Xcode11 (the Xcode release shouldn't matter):
In file included from gen/chrome/browser/ui/ui_jumbo_mm.mm:52:
./../../chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm:101:42: error: too many arguments to function call, expected 0, have 5
g_original_populatemenu_implementation(self, _cmd, menu, remainingEntries,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from gen/chrome/browser/browser_jumbo_mm.mm:5:
./../../chrome/browser/app_controller_mac.mm:317:60: error: too many arguments to function call, expected 0, have 5
g_swizzle_imk_input_session->GetOriginalImplementation()(self, _cmd, range,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
1 error generated.
I didn't really look into these errors and i'm just modifying those function calls as required(still compiling).
I could submit a patch but... did someone else see these errors?
This repository is currently unmaintained, as such we are considering to add people to the team as described in https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/repo_management.md#teams-in-the-ungoogled-software-organization with access to this repository.
@kramred You have been doing great work maintaining macOS packaging on your fork to the same (in my opinion quite high) standards that we have for Windows and Arch Linux packaging in this organisation. Would you be willing to upstream the work as a maintainer here? I sadly only just saw #84 as I wasn't watching activity until now.
See also ungoogled-software/ungoogled-chromium-windows#144 and ungoogled-software/ungoogled-chromium-debian#301
Version 92.0.4515.131 (Official Build, ungoogled-chromium) (x86_64)
macOS 12.2 (21D49)
Context: ungoogled-software/ungoogled-chromium#301 (comment)
@HarukaMa Are you doing a component build (is_component_build=true
)?
As of macOS 10.15 (Catalina), Apple has started to strongly encourage Mac application notarization.
I've only done a bit of looking, but it seems like this is something that can be automated and built into the GitHub Actions CI pipeline. All of the technical stuff looks pretty straightforward, but Apple requires a paid developer account for the notarization process.
Can any of the maintainers support this? If not, would it be sufficient to add instructions for getting around the quarantine to this repo's README
and/or the ungoogled software downloads page?
ref. ungoogled-software/ungoogled-chromium#859 for a related discussion. AFAICT, that pre-dates this repository having a CI process that generates the binaries, so I figured it might be worth re-opening a conversation on this repo.
I found this script on the official chromium page, maybe integrate it? https://github.com/scheib/chromium-latest-linux
I wonder if an ARM version of 116.0.5845.179 will be released soon. Thank you.
A few releases behind. I hope you will release new versions as soon as possible?
When you plan to update the Chrome for MacOS 64-bit ARM?
Thanks in advance.
Just a heads up, GitHub is upgrading the macOS environment to Catalina, moving forward the only available environment value will be macos-latest
and older releases will NOT be supported.
The migration is ongoing, so, sooner or later CI will start to fail as for #31.
The master
branch should be ready for testing. Please try it out and let us know how it goes.
ungoogled-chromium tag: 77.0.3865.90-1
OS: macOS 10.15
Xcode 11.2 beta 2
In file included from gen/chrome/browser/ui/ui_jumbo_mm.mm:52:
./../../chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm:101:42: error: too many arguments to function call, expected 0, have 5
g_original_populatemenu_implementation(self, _cmd, menu, remainingEntries,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from gen/chrome/browser/browser_jumbo_mm.mm:5:
./../../chrome/browser/app_controller_mac.mm:317:60: error: too many arguments to function call, expected 0, have 5
g_swizzle_imk_input_session->GetOriginalImplementation()(self, _cmd, range,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
If I pass -DOBJC_OLD_DISPATCH_PROTOTYPES
flag to the compiler, this error no longer occurs. However another error jumped out:
[1583/1739] ACTION //tools/v8_context_snapshot:generate_v8_context_snapshot(//build/toolchain/mac:clang_x64)
FAILED: v8_context_snapshot.bin
python ../../build/gn_run_binary.py ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
./v8_context_snapshot_generator failed with exit code -5
ninja: build stopped: subcommand failed.
In the current build of ungoogled chromium on macos there is no option to authenticate with Touch ID through webauthn.
Steps to reproduce:
Left is Ungoogled Chromium, right is Chrome
I understand this might have something to do with signatures, is there anything we could do to possibly self sign it or something?
Would you guys ever consider making an "Ungoogled Arc Browser" ?
Basically, Arc Browser, but with all the spyware features removed just like for Ungoogled Chromium.
Install the extension and try to sign it into iCloud via authentication. You are informed you must be using macOS Sonoma and are asked to download it.
I'm running macOS Sonoma :)
It seems the GitHub Action did not produce the final installation file like the x86 one even though it is marking as complete.
I just realised that I haven't been receive any update in homebrew for quite a while now.
Is this project now dead ?
This issue is used to track the following issue and inform ungoogled-chromium macOS users about this (as it was reported before).
An error message with code (Error code: 9) (Extra code: 0)
is shown in the about page since PR #134 (update to v120). (Check the photo below).
It does also happen with official Google Chromium macOS builds. The same error is shown with the official build (while testing on my local environment) and there's multiple reports found online like this one.
It's either an upstream issue or intended (as the update is disabled with vanilla Chromium). If it is intended, what's weird is that only macOS builds have the error message...
Hi there, I have an issue with updates of the latest build 109.0.5414.120 with Brew.
I am getting the following error message as it seems the new build 109.0.5414.120 can't be installed over the December build 108.0.5359.125. After using the usual comands: brew update and brew upgrade, I got the following:-
==> Upgrading 1 outdated package:
eloston-chromium 108.0.5359.125-1.1,1671136997 -> 109.0.5414.120-1.1,1674771644
==> Upgrading eloston-chromium
==> Downloading https://github.com/kramred/ungoogled-chromium-macos/releases/download/109.0.5414.120-1.1_x86-64__1674771
Already downloaded: /Users/Mac11/Library/Caches/Homebrew/downloads/27f81d70f49cf5f312fe547f1fa4798536efa0c03dd13e138ba57b354a64b0ec--ungoogled-chromium_109.0.5414.120-1.1_x86-64-macos.dmg
==> Purging files for version 109.0.5414.120-1.1,1674771644 of Cask eloston-chromium
Error: eloston-chromium: It seems there is already an App at '/usr/local/Caskroom/eloston-chromium/108.0.5359.125-1.1,1671136997/Chromium.app'.
I have never had this issue before of conflict between previous and current version.
Is there anything I should do?
Thanks
As described in #157 (comment), we would migrate the source validation process from Cirrus to GitHub Action to prevent issue like Cirrus queuing the task but not running it.
Hi do you know how can I fix this:
ninja -C out/Default chrome
ninja: Entering directory `out/Default'
[1/387] SOLINK libcontent.dylib libcontent.dylib.TOC
FAILED: libcontent.dylib libcontent.dylib.TOC
Undefined symbols for architecture x86_64:
"switches::kFingerprintingClientRectsNoise", referenced from:
(anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
"switches::kFingerprintingCanvasImageDataNoise", referenced from:
(anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
"switches::kFingerprintingCanvasMeasureTextNoise", referenced from:
(anonymous namespace)::SetIndividualRuntimeFeatures(base::CommandLine const&, bool) in runtime_features.o
content::RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(base::CommandLine const&, base::CommandLine*)::kSwitchNames in browser_jumbo_14.o
ld: symbol(s) not found for architecture x86_64
Help wanted for updating to ungoogled-chromium 73. Please respond if you'd like to work on this. Thanks
Hey, when trying to update from 88 to 89 and installing ungoogled-chromium_89.0.4389.90-1.1_arm64-macos.dmg
I got a weird message that my macOS 10.15.7 is incompatible with this build and it requires Big Sur. Surely this is just a mistake and we can just change back the target when building, right? Or there is some other even more simple solution? Thanks so much for working on this project.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.