-
Notifications
You must be signed in to change notification settings - Fork 9
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
uberenv updates to support dev with python in spack envs #124
base: main
Are you sure you want to change the base?
Conversation
Looks like i need to fix the view dir patching logic. |
@@ -788,17 +797,22 @@ def find_spack_pkg_path_from_hash(self, pkg_name, pkg_hash): | |||
# TODO: at least print a warning when several choices exist. This will | |||
# pick the first in the list. | |||
if l.startswith(pkg_name) and len(l.split()) > 1: | |||
return {"name": pkg_name, "path": l.split()[-1]} | |||
pkg_path = l.split()[-1] |
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.
part of a fix for #123
for l in out.split("\n"): | ||
# TODO: at least print a warning when several choices exist. This will | ||
# pick the first in the list. | ||
if l.startswith(pkg_name) and len(l.split()) > 1: | ||
return {"name": pkg_name, "path": l.split()[-1]} | ||
pkg_path = l.split()[-1] |
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.
part of a fix for #123
I removed the logic that tried to present a better default view by hacking yaml, and instead opt-ed to symlink whatever the view directory is under the prefix. This should be more robust and work with any view setup even if it was customized in an input spack.yaml |
I need to test why we can't inspect and symlink the view for the
|
@white238 @kennyweiss @chapman39 This branch has been tested and is now in use for both conduit and ascent CI. |
Updates that adjust uberenv spack env setup so that folks can develop using python modules installed to a spack view.
Addresses most challenges outlined #120.
May still need some cleanup, so comments welcome.
Details:
Uses patterns from
.uberenv_config.json
spack_host_config_patches` entry to drive what is patched:Example input:
Creates a
-patchd.cmake
file in the prefix dir (does not modify original host config)--spack-skip-externals
optionThis is mostly driven by the limitations of using an external python, but is generally useful for cases where system libs undermine you.
{prefix}/spack_view
for easy access.- patch spack.yaml to create theview
dir underspack_env
, instead of a hidden file deeper in the dir hierarchyThis should only happen in cases where spack.yaml lacks view customization.