Howdy Kenneth/all, Will triple quotes still be available for description and *opts in 3.0? Is that inherit to Python or something EB goes out of the way to support.
Being not so good at Python (or Git), I've kinda come up with a style that is pleasing to the eye, makes pep8 happy, and seems to work (example attached). And I don't have to write a stupid easyblock for it (I really do hate a lot of them). For description, I use the 3x" and a new line followed with one space on each line (less than 80 chars) until the closing 3x" For preconfigopts/configopt/prebuildopts/etc. it looks so much cleaner than a bunch of '&&' or ';'. Of course, remembering where the backslashes are need is important. patches vs. sed is for another discussion... I use four spaces on those lines to adhere to something Pythonesque and it doesn't matter so much (using four spaces in the "description" makes it look weird.... using it on a command/configure/make line, eh, who cares). Anyway, I think 3.0 needs to be able to support something cleanish like this... some EasyBuild's easyconfigs are downright ugly. :) (and make pep8 very unhappy) Thanks for everything, -- Jack Perdue Lead Systems Administrator High Performance Research Computing TAMU Division of Research [email protected] http://hprc.tamu.edu HPRC Helpdesk: [email protected] p.s. if you want to know why I chose this particular package as an example, look me up at SC17 in Colorado and we can talk after hours. I'm not a geoscientist (though we do have some that want to use it... take that as you like) .
# Authors:: Jack Perdue <[email protected]> - TAMU HPRC - http://hprc.tamu.edu easyblock = 'ConfigureMake' name = 'GRASS' version = '7.0.4' versionsuffix = '-Python-%(pyver)s' homepage = 'https://grass.osgeo.org/' description = """ GRASS GIS, commonly referred to as GRASS (Geographic Resources Analysis Support System), is a free and open source Geographic Information System (GIS) software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization. """ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True, 'opt': True, 'optarch': True} source_urls = ['https://grass.osgeo.org/grass70/source/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('Bison', '3.0.4'), ('flex', '2.6.0'), ] dependencies = [ ('cairo', '1.14.6'), ('FFmpeg', '2.8.6'), ('freetype', '2.6.2'), ('GDAL', '2.0.2'), ('GEOS', '3.5.0', versionsuffix), ('libpng', '1.6.21'), ('libpthread-stubs', '0.3'), ('libreadline', '6.3'), ('LibTIFF', '4.0.6'), ('matplotlib', '1.5.1', versionsuffix), ('Mesa', '11.1.2'), ('netCDF', '4.3.3.1'), ('PostgreSQL', '9.5.2', versionsuffix), ('PROJ', '4.9.2'), ('Python', '2.7.11'), ('SQLite', '3.9.2'), ('wxPython', '3.0.2.0', versionsuffix), ('zlib', '1.2.8'), ] preconfigopts = """ ml -t sed -e 's/-lfftw3/-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core/'\ -i.eb.fftw configure sed -e 's/-lblas/-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core/'\ -i.eb.blas configure sed -e 's/-llapack/-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core/'\ -i.eb.lapack configure """ configopts = """\ --with-blas\ --with-lapack\ --with-openmp\ --with-postgres\ --with-pthread\ --with-readline\ --with-x\ --with-geos=$EBROOTGEOS/bin/geos-config\ --with-wxwidgets=$EBROOTWXPYTHON/bin/wx-config\ --with-netcdf=$EBROOTNETCDF/bin/nc-config\ --with-fftw-includes=$FFTW_INC_DIR\ --with-fftw-libs=$FFTW_LIB_DIR\ --with-cairo-includes=$EBROOTCAIRO/include\ --with-cairo-libs=$EBROOTCAIRO/lib\ --with-postgres-includes=$EBROOTPOSTGRESQL/include\ --with-postgres-libs=$EBROOTPOSTGRESQL/lib\ """ prebuildopts = """ sed -e 's/LINK_FLAGS\\(.*\\)/LINK_FLAGS\\1 -lpthread -liomp5/'\ -i.eb.pthread include/Make/Platform.make """ sanity_check_paths = { 'dirs': ['bin', 'grass-7.0.4'], # could test for more grass* dirs later 'files': ['bin/grass70'], } moduleclass = 'geo' # EOF

