-
Notifications
You must be signed in to change notification settings - Fork 283
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 GoPackage EasyBlock #2042
Add GoPackage EasyBlock #2042
Conversation
Yet another take on reproducible go package easyblock. This time GoPackage easyblock is using Setting only How it works? Option a) There is Option b) There is no However "modulename" is required in this case. So that go knows how to call it. Sometimes it also fails to pinpoint exact version of dependency, so "force_deps" is used to say go which version of that dependency is used. Then it does all the magic. Ideally you should make patchfile with those 2 new files, and include that into build. And this should truly ensure reproducibility of the build. |
# Go Package should produce something into bin directory | ||
custom_paths = { | ||
'files': [], | ||
'dirs': ['bin'], |
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.
This is very generic... We can't derive anything from software name?
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'm not very confident in naming in go. But it should match last part of Go module name, considering that main.go is in root. Otherwise it could be any name from any sub-folder producing binary.
The main reason for this "basic" check was that for example compiling gonum doesn't produce any binary, since it is intended to be used as dependency in go source. So you are able to build and install this package, but no binary will be dropped in bin and nothing you can use on easybuild will be installed.
Should we check the name (namelower)?
Consider this: https://github.com/evolbioinfo/gotree
They have 3 different names in single paragraph:
Gotree
in heading
GoTree
just below in description
gotree
as cli command
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 think assuming that there will be a bin/%(namelower)s
makes sense, since this is only a default (it's easy to override in the easyconfig file).
This would work for both goalign
and gotree
.
Maybe also add %(namelower)s --help
as default sanity check commands (via custom_commands
here)?
Also easy to override in easyconfig file via sanity_check_commands
.
# Go Package should produce something into bin directory | ||
custom_paths = { | ||
'files': [], | ||
'dirs': ['bin'], |
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 think assuming that there will be a bin/%(namelower)s
makes sense, since this is only a default (it's easy to override in the easyconfig file).
This would work for both goalign
and gotree
.
Maybe also add %(namelower)s --help
as default sanity check commands (via custom_commands
here)?
Also easy to override in easyconfig file via sanity_check_commands
.
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, tested with easybuilders/easybuild-easyconfigs#10469
No description provided.