Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use official builds from cefbuilds.com for all platforms #212

Closed
cztomczak opened this issue Feb 14, 2016 · 1 comment
Closed

Use official builds from cefbuilds.com for all platforms #212

cztomczak opened this issue Feb 14, 2016 · 1 comment
Milestone

Comments

@cztomczak
Copy link
Owner

Below are listed custom patches that we currently apply to Chromium and CEF. The goal is to get rid of these so that we can use official builds from cefbuilds.com . Without requirement to build Chromium from sources we can speed up the process of building cefpython from several hours to just a few minutes - this will facilitate development of the project.

1. [linux] Disabling tcmalloc memory allocator global hook

Marshall is currently testing Linux builds with tcmalloc disabled and if there are no issues tcmalloc will be disabled by default for all builds on cefbuilds.com - see upstream CEF issue 1827. Related cefpython issues: #73 and #155 .

2. [linux] Patch to fix the CEF GTK implementation

This patch needs to be reinvestigated. See details here. Recently with Aura UI changes in Chromium there were many implementation changes in CEF in regards to GTK/X11. Needs to be checked whether the "hidden window" and "GtkVBox" issues were resolved. Regarding the GtkPizza element issue in wxPython - maybe this can be fixed by exposing a helper function in cefpython that will remove the GtkPizza element for the control CEF is being embedded in. The removal of GtkPizza element is causing auto-focus issues so while at it reinvestigate to see if anything can be done with that.

3. [windows] [linux] Patch to fix HTTPS cache problems on sites with certificate errors

This patch is so that caching works with self-signed SSL certificates on private networks. See Issue #125. We have to drop this feature or convince Marshall to add this patch in CEF. It modifies behavior only when "ignore_certificate_errors" option is set to True (which is not default). We could even add a separate command line switch for this feature, so that it doesn't collide with current "ignore_certificate_errors" behavior. See the related CEF topic.

Arguments for not using official builds

There still are use cases for a self-signed certificate.

Currently cefbuilds.com doesn't provide new builds since about 2.5 months. We can't rely on it to have latest builds in the future. It's convenient to use it, but we can't always use it.

Either way we need to create the automate.py tool for automating building of CEF. The automate-git.py provided by CEF has some issues. On Linux we can prepare Debian/Ubuntu binaries and it would be useful to have some toolchain to automate this for other Linux distribs.

@cztomczak cztomczak added this to the Chrome 47 milestone Feb 14, 2016
@cztomczak
Copy link
Owner Author

New automated build system appeared recently, Spotify automated builds. This build system is now prefered over cefbuilds.com. Link: http://opensource.spotify.com/cefbuilds/index.html . Spotify already applies the no tcmalloc patch.

With the introduction of the tools/automate.py script and patches/ directory, building CEF Python along with CEF from sources with CEF Python patches applied is very straightforward. See the docs/Build-instructions.md for more details. With that in mind, I don't see using custom CEF binaries an issue. We need to support lots of cases with many UI frameworks and its quirks and some patches will always be required. However you are free to build CEF Python with prebuilt binaries from Spotify if that works with your use case. Spotify binaries for CEF 51 do work fine when building latest CEF Python 51 from master.

With each release I will be uploading CEF binaries and libraries with patches applied to GH releases tagged eg. "v51-upstream". You can use these binaries to build CEF Python from sources. There will be plenty of options now.

@cztomczak cztomczak modified the milestones: v51, Chrome 50+ Feb 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant