-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Crashpad recipe #5511
Crashpad recipe #5511
Conversation
… http_transport=socket
I detected other pull requests that are modifying crashpad/all recipe: This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@jgsogo Thanks! |
This recipe needs components, otherwise it won't be consumable by |
Thanks for noticing. |
Found... It surprises me it is the first time this happens. The problem comes from the But the binary (I keep thinking about this issue and solution) |
After approaching the issue in many different ways, I think that the best we can do is to allow these This is my proposal (I've already submitted a PR to the library):
Hopefully it will be approved, merged, and deployed soon. If we go for a different implementation I will let you know. |
Thanks for the quick feedback! |
recipes/crashpad/all/conanfile.py
Outdated
# FIXME: is this true? | ||
self.output.warn("crashpad needs a shared libcurl library") | ||
if self.settings.os == "Windows": | ||
raise ConanInvalidConfiguration("Windows is not (yet) supported by this recipe because the build system requires python 2.x which is not (yet) available on CCI.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it is better to just patch the sources? Recipe for cpython
is being hard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really still the case? depot_tools
in recent versions should work fine with python 3.8, which AFAIK is the dependency that had the python issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It works on Python 3.9.5 on Linux (works on my machine).
But an error is thrown when building on Windows.
Maybe it can be patched..
|
||
self.copy("*.a", src=os.path.join(self._source_subfolder, "out", "Default"), dst="lib", keep_path=False) | ||
self.copy("crashpad_handler", src=os.path.join(self._source_subfolder, "out", "Default"), dst="bin", keep_path=False) | ||
self.copy("crashpad_handler.exe", src=os.path.join(self._source_subfolder, "out", "Default"), dst="bin", keep_path=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Windows there seems to be two executables provided. (missing .com)
https://chromium.googlesource.com/crashpad/crashpad/+/master/doc/overview_design.md
On Windows, this executable is built by default as a Windows GUI app, so no console will appear in normal usage. This is the version that will typically be used. A second copy is also made with a .com extension, rather than .exe. In this second copy, the PE header is modified to indicate that it’s a console app. This is useful because the .com is found in the path before the .exe, so when run normally from a shell using only the basename (without an explicit .com or .exe extension), the .com console version will be chosen, and so stdio will be hooked up as expected to the parent console so that logging output will be visible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in eb7a82a but untested
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added it. It's called crashpad_handler_com.com
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How come it's called crashpad_handler_com.com
instead of just crashpad_handler.com
as according to the documentation?
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of comments quickly going over
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
All green in build 21 (
|
Awesome work! |
* sentry: add recipe (WIP) * switch to github fork * crashpad: only require libcurl when curl is needed * crashpad: add windows system libraries * crashpad: add explicit zlib * crashpad: add tls option if http_transport=socket + add tls option if http_transport=socket * crashpad: fixes * crashpad: various * crashpad: no Windows for you * crashpad: print found files in library folder (DEBUG) * crashpad: handle libs per component * crashpad: needs CoreFoundation framework * crashpad: cosmetup changes * crashpad: apple thingies * crashpad: fixie * crashpad: fixie^2 * crashpad: add ninja to build_requires * crashpad: add components + bump git hash * crashpad: drop verbose ninja build * crashpad: crashpad requires c++14 (pass through CMake target) * crashpad: add provides attribute to recipe * crashpad: add mini_chromium provides + add bin to PATH env * crashpad: build crash_handler.com on Windows * crashpad: use patches + msvc + win_helper.py -> py3 * crashpad: remove unused patch * crashpad: update comments * crashpad: check compiler versions in validate()
since conan-io/conan-center-index#5511 is merged
Specify library name and version: crashpad/some-git-hash
This packages crashpad.
It also embeds mini_chromium, of which the library + build system is used.
Chromium's mini_chromium project does not have a self-containing gn build system.
Also, Windows is (currently) not supported by this recipe because it requires python 2.x.
conan-center hook activated.