-
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
Add crashpad [Draft] [Help Needed] #5419
Conversation
This comment has been minimized.
This comment has been minimized.
I think you can build it without the need for
This fails on my Windows box because it needs python2.
|
|
It looks like it is possible to download certain commits as tarballs. |
I'll look into it. |
Downloading the sources as a taball doesn't work since
The same happens if you run
🤔 |
this seems to be a (shell script/python) wrapper around |
Looking into |
…sn't build, needs gn]
It looks like the google git tarballs are created dynamically and are not reproducible (their hashes always differ). I don't find an up-to-date github fork for gn. |
I'm looking into building
What does target platform mean in this context? Does a gn build only support one platform? |
I have no idea, I have no experience with EDIT: See draft PR for getsentry/crashpad here #5432 |
I've created an initial gn recipe at #5433 |
This comment has been minimized.
This comment has been minimized.
Failure in build 3 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. |
I've pushed a WIP crashpad recipe at https://github.com/madebr/conan-center-index/tree/sentry_wip
|
I've been working on the CMake fork, the draft is on the description if this PR |
The crashpad recipe at https://github.com/madebr/conan-center-index/tree/sentry_wip is now fully working on Linux (gcc-static). |
I'll do some testing and let you know how it goes.
|
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. |
Specify library name and version: crashpad/1.0
This is a draft PR to get some help on a recipe for google crashpad. It is a missing requirement of sentry-native.
This is heavily based on https://github.com/bincrafters/community/blob/main/recipes/crashpad.
I also have a draft PR for Sentry.io's fork of crashpad, which has CMake Support. #5432
Packaging the fork is way easier, but it also has its limitations.
The challenges I'm currently facing are:
Getting the sources.
The official method relies on
depot-tools
usinggclient
orsync
. This pulls the sources and also the submodules needed to build. If I understand correctly this is a conan antipattern since the submodules should be different packages, right? Even if we move forward with this approach, can the commit hash be listed inconandata.yml
(instead of the sources link)?There is a github mirror that would allow us to do a more traditional conan source pull, listing a github link, a sha556 and then using
tools.get()
. The problem with this is that it doesn't pull the submodules.This library uses google's custom ninja files generator called
gn
. There is work being done right now to package it.Passing profile configs to the build system.
The bincrafters recipe had this snippet which picks up env variables like
CXX
,CC
,CXXFLAGS
and translate them to what the build system understand. This only works if you have this configured in the[env]
section of the profile, otherwise they get completely ignored.For example I build with a profile that sets compiler=gcc, compiler.version=8, compiler.libcxx=libstdc++11, but during build clang gets used instead.
What would be the best way to parse all this configurations?
As discused here #5417 (comment) there is a fork of this library which has CMake support. It would be an option to ditch this all together and use those sources for the conan package.
I know there are a lot of smaller problems on this recipe (like the version not being the latest or not starting with
cci.
), but I would rather focus on the main issues first so please don't comment on those now so we can keep it cleaner :)conan-center hook activated.