-
Notifications
You must be signed in to change notification settings - Fork 305
update LLVM easyblock for LLVM v16: symlink third-party to third-party-<version>.src
#2970
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
Conversation
|
wondering if it wouldn't be clearer to use something like @SebastianAchilles @surak @casparvl, since you're testing the LLVM easyconfig, what's your opinion? |
|
I don't really have a strong preference one way or another. I'm inclined to keep these kind of things in the easyblock if they are at least somewhat generic - it keeps the EasyConfigs cleaner. I think this qualifies: there's hopefully a fair chance that they won't change this with every version, at least I don't think they've changed in the the recent major versions before this change. Another advantage is that this gives us the opportunity to raise an error if that folder is not where expected. We could consider rephrasing the error message and giving even more explicit instructions (i.e. look in the source folder, check if the third-party stuff is moved, if so, update the EasyBlock). Then again, having it in the EasyConfig is indeed a clear indication that it is version dependent (and therefore a 'configurable'). If I find myself in 2 years seeing that they changed it again in the next 3 versions, I would have agreed with you - but there's no way to know for sure. |
third-party to third-party-<version>.src
|
The easyblock is indeed the right place to deal with this based on what we currently know, I fully agree ("do once and forget"). |
boegel
left a comment
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.
lgtm
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
|
fair enough :) to be clear, the reason I have to think that something will still change is that if they had thought this through, we wouldn't have had to change anything, unpacking the tarball would just work. Hopefully they will just make CMake look into |
| cwd = change_dir(self.builddir) | ||
| symlink('third-party-%s.src' % self.version, 'third-party') | ||
| change_dir(cwd) |
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.
2 Questions here: Why the symlink and not a move? The name "third-party-version.src" is only because of the filename of the archive, I don't see how it is required to be kept.
2nd: Why the change_dir? symlink('third-party-%s.src' % self.version, os.path.join(self.builddir, 'third-party'), use_abspath_source=False) would be better, wouldn't it?
But I'd just rename it instead.
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.
@Flamefire If you think it's worth changing this, please open an issue or a PR, following up on stuff in merged PRs is a nightmare I don't want to get into :)
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 see: It was C&P from the cmake folder above. Opened PR: #2994
Required to install LLVM-16.x