-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
emsdk_installer init #6163
emsdk_installer init #6163
Conversation
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.
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.
There was a previous attempt here #4860
Is it acceptable that this package downloads its own node.js? I think I can make this package pass the conan hooks and still work. But is this wanted? |
tools.get(**self.conan_data["sources"][self.version]) | ||
extracted_folder = "emsdk-%s" % self.version | ||
os.rename(extracted_folder, self._source_subfolder) | ||
|
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.
A validate
method to check whether os
is valid would be useful, I think.
This recipe is supposed to be used in a cross build configuration. So it should also probably test whether the target os is actually wasm
.
Something like:
def validate(self):
if self.settings.os not in ("Linux", "Macos", "Windows"):
raise ConanInvalidConfiguration("Invalid OS. Only Linux, Macos and Windows are supported.")
if hasattr(self, "settings_target"):
if self.settings_target.os != "wasm":
raise ConanInvalidConfiguration("Emscripten targets only os=wasm, not {}.".format(self.settings_target.os)
You will also need to add from conans import ConanInvalidConfiguration
at the top of this file.
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.
When providing "--profile:host" self.settings.os contains the value of that profile. So when the consumer sets a profile as host which os is Emscripten this does not work.
I think "wasm" is not an os.
To be honest I do not know what configurations are wrong.
I think it is a great idea to give the user feedback.
Maybe we could use "self.settings_build" instead of "self.settings.os" to check if the build os is linux mac or windows.
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.
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.
The build fails with "CMakeFiles/test_package.dir/test_package.cpp.o: must specify -mwasm64 to process wasm64 object files" cat .conan/profiles/clang |
The
Is it possible to configure this cache folder? conan generates a manifest file after packaging, but it's always nice to keep the package folder pristine. |
It is possible to set the folder. Which path do you suggest and what is wrong with the current path? |
This recipe is supposed to be used as a build requirement, so the test should be run with I would try to write the test package such that, when not using conan's cross building feature, try to work around the missing bits.
I am asking because it caches in the package folder. |
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.
I'm having a look at this PR. Trying to polish it for Macos world (running locally 💪 ) |
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.
One more hook... we've never reached that far (Windows builds) 🚀
|
All green in build 57 (
|
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.
🎉
Thanks a lot, @werto87 During the weekend I kept working with I don't know if you have any insights about this new topic, any idea if newer versions of |
Thank you too, |
@werto87 . The issue is that here I need to talk as a package manager advocate (this is ConanCenter). I can build |
@jgsogo. I tried to replace my magnum-integration/2020.06 recipe with the conan magnum-integration/2020.06 recipe. my profiles are:
and
I run the command |
You need to disable some components, you need to modify It works, I promise, I did it live here: https://youtu.be/PjiJ-3sxKbs. Anyway I plan to write a blogpost with detailed information, and future work to be done. |
@jgsogo. Sounds great! I'm looking forward to the blogpost. Where and when do you post it? |
I think the blogpost will be a bit delayed... because I thought it was a good idea to refactor my personal blog using some modern technology... and now I'm starting to play with NuxtJS and TailwindCSS 😅 But, you can check the steps here: https://github.com/jgsogo/blog-20211008-example-emsdk-magnum |
Hi! I've finally recreated my blog from scratch... and learned some NuxtJS in the process (still a lot of details to improve, I'm really bad at CSS) 🚀 Here you have the blogpost (most like a draft/quick notes): https://jgsogo.es/blog/2021-11-10-emscripten-magnum/ |
Hi, thanks for the credits. It was a good read. I will try it out. |
I tried it on arch linux and it works perfectly 👍 . |
emsdk_installer/2.0.10
This recipe creates a package which may be used as build_requires to build packages for emscripten wasm.
This recipe is based on "#4860".
closes #620
conan-center hook activated.