Skip to content
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

{cae} [intel-2015a] GATE-7.0, Geant4-9.6.p04, root-5.34.26, clhep-2.1.3.1 (REVIEW) #1439

Merged
merged 27 commits into from
Jan 12, 2016
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
22 changes: 22 additions & 0 deletions easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2015a.eb
@@ -0,0 +1,22 @@
easyblock = 'ConfigureMake'

name = 'CFITSIO'
version = '3.37'

homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/'
description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in
FITS (Flexible Image Transport System) data format."""

toolchain = {'name': 'intel', 'version': '2015a'}
toolchainopts = {'optarch': True, 'pic': True}

srcversion = '%s0' % version.replace('.', '')
source_urls = ['ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/']
sources = ['%%(namelower)s%s.tar.gz' % srcversion]

sanity_check_paths = {
'files': ["lib/libcfitsio.a"],
'dirs': ["include"],
}

moduleclass = 'lib'
31 changes: 31 additions & 0 deletions easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2015a.eb
@@ -0,0 +1,31 @@
easyblock = 'CMakeMake'

name = 'CLHEP'
version = '2.1.3.1'

homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/'
description = """The CLHEP project is intended to be a set of HEP-specific foundation and
utility classes such as random generators, physics vectors, geometry and linear algebra.
CLHEP is structured in a set of packages independent of any external package."""


toolchain = {'name': 'intel', 'version': '2015a'}
toolchainopts = {'pic': True}

sources = [SOURCELOWER_TGZ]
source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/']

dependencies = [('CMake', '3.1.3')]

# build dir should not be in the source tree!
ext_bldd = '../../builddir'
preconfigopts = 'mkdir %s && cd %s &&' % (ext_bldd,ext_bldd)
prebuildopts = 'cd %s &&' % ext_bldd
preinstallopts = 'cd %s &&' % ext_bldd
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CMakeMake (now) supports separate_build_dir = True, so just use that?


configopts = '-DCMAKE_BUILD_TYPE=Release'

# build dir should not be in the source tree!
srcdir = '../%s/%s/' % (version,name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can probably drop this too if you change it to using separate_build_dir = True


moduleclass = 'numlib'
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb
@@ -0,0 +1,26 @@
name = 'GATE'
version = '7.0'

homepage = 'http://www.opengatecollaboration.org/'
description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and
dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography
(Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography"""

toolchain = {'name': 'intel', 'version': '2015a'}

sources = [('%(namelower)s_v%(version)s.tar_.gz' , "tar xfvz %s")]
source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration.org/files/']

patches = [
'GATE-%(version)s_Makefile-prefix.patch',
'GATE-%(version)s_unistdh.patch',
]

dependencies = [
('Geant4', '9.6.p04'),
('CLHEP', '2.1.3.1'),
('ROOT', 'v5.34.26'),
('CMake', '3.1.3'),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build dep only?

]

moduleclass = 'cae'
46 changes: 46 additions & 0 deletions easybuild/easyconfigs/g/GATE/GATE-7.0_Makefile-prefix.patch
@@ -0,0 +1,46 @@
--- gate_v7.0/cluster_tools/filemerger/Makefile.orig 2014-05-12 11:18:16.000000000 +0200
+++ gate_v7.0/cluster_tools/filemerger/Makefile 2015-03-04 10:54:55.461301152 +0100
@@ -16,6 +16,8 @@
INCLUDE := -I./include `geant4-config --cflags` `root-config --cflags`
LDFLAGS := `geant4-config --libs` `root-config --glibs`

+PREFIX := /usr/local
+
TARGET := gjm

.PHONY: all clean directories cleanall install uninstall
@@ -49,8 +51,9 @@

install:
@echo Installing ...
- @$(CP) $(TARGET) /usr/local/bin
+ mkdir -p $(PREFIX)/bin
+ @$(CP) $(TARGET) $(PREFIX)/bin

uninstall:
@echo Uninstalling...
- @$(RM) /usr/local/bin/$(TARGET)
+ @$(RM) $(PREFIX)/bin/$(TARGET)
--- gate_v7.0/cluster_tools/jobsplitter/Makefile.orig 2014-05-12 11:18:16.000000000 +0200
+++ gate_v7.0/cluster_tools/jobsplitter/Makefile 2015-03-04 10:54:55.461301152 +0100
@@ -16,6 +16,8 @@
INCLUDE := -I./include `geant4-config --cflags`
LDFLAGS := `geant4-config --libs`

+PREFIX := /usr/local
+
TARGET := gjs

.PHONY: all clean directories cleanall install uninstall
@@ -57,8 +59,9 @@

install:
@echo Installing ...
- @$(CP) $(TARGET) /usr/local/bin
+ mkdir -p $(PREFIX)/bin
+ @$(CP) $(TARGET) $(PREFIX)/bin

uninstall:
@echo Uninstalling...
- @$(RM) /usr/local/bin/$(TARGET)
+ @$(RM) $(PREFIX)/bin/$(TARGET)
10 changes: 10 additions & 0 deletions easybuild/easyconfigs/g/GATE/GATE-7.0_unistdh.patch
@@ -0,0 +1,10 @@
--- gate_v7.0/cluster_tools/jobsplitter/include/GateMacfileParser.hh.org 2014-05-12 11:18:16.000000000 +0200
+++ gate_v7.0/cluster_tools/jobsplitter/include/GateMacfileParser.hh 2015-03-04 10:32:24.416298472 +0100
@@ -19,6 +19,7 @@
#include <sstream>
#include <fstream>
#include <math.h>
+#include <unistd.h>

using namespace std;

24 changes: 24 additions & 0 deletions easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb
@@ -0,0 +1,24 @@
name = 'Geant4'
version = '9.6.p04'

homepage = 'http://geant4.cern.ch/'
description = """Geant4 is a toolkit for the simulation of the passage of particles through matter.
Its areas of application include high energy, nuclear and accelerator physics,
as well as studies in medical and space science."""

toolchain = {'name': 'intel', 'version': '2015a'}

source_urls = ['http://geant4.cern.ch/support/source']
sources = ['%(namelower)s.%(version)s.tar.gz']

dependencies = [
('expat', '2.1.0'),
('CLHEP', '2.1.3.1'),
]

builddependencies = [('CMake', '3.1.3')]

configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include"
configopts += "-DGEANT4_INSTALL_DATA=OFF"

moduleclass = 'phys'
@@ -0,0 +1,38 @@
easyblock = 'CMakeMake'

name = 'LLVM'
version = '3.6.2'
python = 'Python'
pyver = '2.7.9'
versionsuffix = '-%s-%s' % (python, pyver)

homepage = "http://llvm.org/"
description = """The LLVM Core libraries provide a modern source- and target-independent
optimizer, along with code generation support for many popular CPUs
(as well as some less common ones!) These libraries are built around a well
specified code representation known as the LLVM intermediate representation
("LLVM IR"). The LLVM Core libraries are well documented, and it is
particularly easy to invent your own language (or port an existing compiler)
to use LLVM as an optimizer and code generator."""

toolchain = {'name': 'intel', 'version': '2015a'}
toolchainopts = {'cstd': 'gnu++11'}

source_urls = ["http://llvm.org/releases/%(version)s"]
sources = ["llvm-%(version)s.src.tar.xz"]

builddependencies = [
('CMake', '3.2.3'),
(python, pyver),
]

configopts = '-DBUILD_SHARED_LIBS=ON '

sanity_check_paths = {
'files' : ['bin/llvm-ar'],
'dirs' : ['include/llvm', 'include/llvm-c'],
}

separate_build_dir = True

moduleclass = 'compiler'
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2015a.eb
@@ -0,0 +1,26 @@
easyblock = 'ConfigureMake'

name = 'libXdamage'
version = '1.1.4'
pyver = '-Python-2.7.9'

homepage = "http://www.freedesktop.org/wiki/Software/xlibs"
description = """X Damage extension library"""

toolchain = {'name': 'intel', 'version': '2015a'}

sources = [SOURCE_TAR_GZ]
source_urls = [XORG_LIB_SOURCE]

dependencies = [
('libX11', '1.6.3', pyver),
('libxcb', '1.11', pyver),
('libXau', '1.0.8'),
]

sanity_check_paths = {
'files': ['include/X11/extensions/Xdamage.h', 'lib/libXdamage.so', 'lib/libXdamage.a'],
'dirs': [],
}

moduleclass = 'vis'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2015a.eb
@@ -0,0 +1,29 @@
easyblock = 'ConfigureMake'

name = 'libXfont'
version = '1.5.1'

homepage = "http://www.freedesktop.org/wiki/Software/xlibs"
description = """X font libary"""

toolchain = {'name': 'intel', 'version': '2015a'}

sources = [SOURCE_TAR_GZ]
source_urls = [XORG_LIB_SOURCE]

builddependencies = [
('fontsproto', '2.1.3'),
('xproto', '7.0.27'),
('xtrans', '1.3.5'),
('libfontenc', '1.1.3'),
]
dependencies = [
('libX11', '1.6.3', '-Python-2.7.9'),
]

sanity_check_paths = {
'files': ['lib/libXfont.so', 'lib/libXfont.a'],
'dirs': ['include/X11/fonts'],
}

moduleclass = 'vis'
@@ -0,0 +1,26 @@
easyblock = 'ConfigureMake'

name = 'libpciaccess'
version = '0.13.3'

homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/'
description = """Generic PCI access library."""

source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot']
sources = [SOURCE_TAR_GZ]

toolchain = {'name': 'intel', 'version': '2015a'}

builddependencies = [
('Autoconf', '2.69'),
('xorg-macros', '1.19.0'),
]

preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && "

sanity_check_paths = {
'files': ['include/pciaccess.h', 'lib/libpciaccess.a'],
'dirs': ['lib/pkgconfig'],
}

moduleclass = 'system'
17 changes: 17 additions & 0 deletions easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2015a.eb
@@ -0,0 +1,17 @@
easyblock = 'ConfigureMake'

name = 'libtool'
version = '2.4.5'

homepage = 'http://www.gnu.org/software/libtool'
description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries
behind a consistent, portable interface."""

toolchain = {'name': 'intel', 'version': '2015a'}

sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]

dependencies = [('M4', '1.4.17')]

moduleclass = 'lib'
@@ -0,0 +1,76 @@
easyblock = 'ConfigureMake'

name = 'Mesa'
version = '10.4.5'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this relate to #1226?

I put a lot of effort in avoid all osdependencies there, but got stuck because of libudev...

I'd like to see a Mesa easyconfig without OS deps, and I think we're quite close with #1226...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to using actual deps, thanks @hajgato


homepage = 'http://www.mesa3d.org/'
description = """Mesa is an open-source implementation of the OpenGL specification -
a system for rendering interactive 3D graphics."""


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop one empty line here please

toolchain = {'name': 'intel', 'version': '2015a'}
toolchainopts = {'optarch': True}

sources = ['%sLib-%s.tar.gz' % (name, version)]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sources = ['%(name)sLib-%(version)s.tar.gz']

source_urls = [
'ftp://ftp.freedesktop.org/pub/mesa/%(version)s',
'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s',
]

patches = ['Mesa-10.4.5_sse4_1.patch']
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use %(version)s


pythonver = '2.7.9'
pythonshortver = '.'.join(pythonver.split('.')[0:2])
versionsuffix = '-%s-%s' % ('Python', pythonver)

builddependencies = [
('flex', '2.5.39'),
('Bison', '3.0.2'),
('Automake', '1.15'),
('makedepend', '1.0.5'),
('kbproto', '1.0.6'),
('xextproto', '7.3.0'),
('xproto', '7.0.27'),
('libtool', '2.4.5'),
('pkg-config', '0.28'),
('glproto', '1.4.17'),
('M4', '1.4.17')
]

dependencies = [
('Python', pythonver),
('libxml2', '2.9.2', versionsuffix),
('libdrm', '2.4.59'),
('libX11', '1.6.3', versionsuffix),
('libXext', '1.3.3'),
('libXfixes', '5.0.1'),
('libXdamage', '1.1.4'),
('libXfont', '1.5.1'),
('LLVM', '3.6.2', versionsuffix),
('eudev', '3.0'),
]

#Use the os provided libudev or the EB provided eudev
#osdependencies = ['libudev']

# GLU is not part anymore of Mesa package!
configopts = " --disable-osmesa --disable-gallium-llvm --enable-glx --disable-dri --enable-xlib-glx"
configopts += " --disable-driglx-direct --with-gallium-drivers='' --disable-egl"""

# package-config files for os dependencies are in an os specific place
#preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" '

prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" '

sanity_check_paths = {
'files': ['lib/libGL.so', 'include/GL/glext.h', 'include/GL/gl_mangle.h',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please use 'lib/libGL.%s' % SHLIB_EXT, cfr. #2298

'include/GL/glx.h', 'include/GL/osmesa.h',
'include/GL/wglext.h', 'include/GL/gl.h',
'include/GL/glxext.h', 'include/GL/glx_mangle.h',
'include/GL/wmesa.h'],
'dirs': []
}

maxparallel = 1

moduleclass = 'vis'