Hi Kenneth,

Kenneth Hoste <kenneth.ho...@ugent.be> writes:

> On 30/08/2019 20:51, Sam Moors wrote:
>> Dear Loris,
>>
>> ConfigureMake does indeed not have [files_to_copy].
>> With this easyblock you can customize [install_cmd], which by default is set
>> to 'make install':
>>
>> install_cmd = 'cd swig && cp BloomFilter.pm BloomFilter.so
>> %(installdir)s/lib/'
>>
>> Does does work for you?
>
> Sidenote: see the output of "eb --easyblock ConfigureMake -a" for the full 
> list
> of supported easyconfig parameters for the ConfigureMake easyblock.
>
> EasyBuild 4.x will print a warning if you're trying to use an easyconfig
> parameter that is not supported for the easyblock you are using.

Thank you for that - that's very useful.

However, it does illustrate a point I made recently about the naming
convention for parameters:

  [build@admin eco]$ eb --easyblock MakeCp -a
  Available easyconfig parameters (* indicates specific to the MakeCp 
easyblock):

  MANDATORY
  ---------
  description             A short description of the software [default: None]
  docurls                 List of urls with documentation of the software (not 
necessarily on homepage) [default: None]
  files_to_copy*          List of files or dirs to copy [default: []]
  homepage                The homepage of the software [default: None]
  name                    Name of software [default: None]
  software_license        Software license [default: None]
  software_license_urls   List of software license locations [default: None]
  toolchain               Name and version of toolchain [default: None]
  version                 Version of software [default: None]
  ...
  DEPENDENCIES
  ------------
  allow_system_deps         Allow listed system dependencies (format: (<name>, 
<version>)) [default: []]
  builddependencies         List of build dependencies [default: []]

So for example it's 'docurls' but 'software_license_urls', and 
'allow_system_deps'
but ' builddependencies'.

I appreciate how this can happen in a long running project with a very
high level of functionality, but precisely because there are so many
parameters, it would be helpful if the naming scheme were more
consistent.

My suggestion would be to try to move towards snake case and define a
list of abbreviations to use, such as 'deps', 'opts', etc.  Any
parameter names not conforming to the new convention could remain valid
but deprecated alternatives to new standardised names.

Cheers,

Loris

-- 
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email loris.benn...@fu-berlin.de

Reply via email to