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.
This is very generic... We can't derive anything from software name?
There was a problem hiding this comment.
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.
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.
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.
boegel
left a comment
There was a problem hiding this comment.
lgtm, tested with easybuilders/easybuild-easyconfigs#10469
No description provided.