From ee2aa40b6bfd69c268aeb52ade2f5c77efe888de Mon Sep 17 00:00:00 2001 From: Alan Date: Thu, 25 Aug 2016 16:14:36 +0200 Subject: [PATCH 01/11] add easyconfig LLVM-3.8.1-GCCcore-4.9.3.eb --- .../c/CMake/CMake-3.6.1-GCCcore-4.9.3.eb | 35 ++++++++++++++++ .../l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 40 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.6.1-GCCcore-4.9.3.eb create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.6.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/c/CMake/CMake-3.6.1-GCCcore-4.9.3.eb new file mode 100644 index 00000000000..d5ca429e05c --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.6.1-GCCcore-4.9.3.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.6.1' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +builddependencies = [ + ('binutils', '2.25'), +] + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1p'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb new file mode 100644 index 00000000000..3fc9b2d6f5b --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.8.1' + +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': 'GCCcore', 'version': '4.9.3'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('binutils', '2.25'), + ('CMake', '3.6.1'), + # We use the system Python in GCCcore + #('Python', '2.7.12'), +] + +# We use the system Python in GCCcore +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +dependencies = [ + ('ncurses', '6.0'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON' +# required to install extra tools in bin/ +configopts += "-DLLVM_INSTALL_UTILS=ON" + +separate_build_dir = True + +moduleclass = 'compiler' From d817e80e61c0c3d8c8d1a39dd351502ba5934108 Mon Sep 17 00:00:00 2001 From: Alan Date: Fri, 26 Aug 2016 12:14:48 +0200 Subject: [PATCH 02/11] add easyconfig LLVM-3.8.1-GCCcore-4.9.3.eb --- .../l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 7 +-- .../Python-2.7.12-GCCcore-4.9.3-bare.eb | 31 +++++++++++++ .../s/SQLite/SQLite-3.14.1-GCCcore-4.9.3.eb | 44 +++++++++++++++++++ .../t/Tcl/Tcl-8.6.6-GCCcore-4.9.3.eb | 29 ++++++++++++ 4 files changed, 106 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.14.1-GCCcore-4.9.3.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.6-GCCcore-4.9.3.eb diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb index 3fc9b2d6f5b..ab5263c53f2 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -20,13 +20,10 @@ sources = ["llvm-%(version)s.src.tar.xz"] builddependencies = [ ('binutils', '2.25'), ('CMake', '3.6.1'), - # We use the system Python in GCCcore - #('Python', '2.7.12'), + # We use the minimal Python in GCCcore + ('Python', '2.7.12', '-bare'), ] -# We use the system Python in GCCcore -allow_system_deps = [('Python', SYS_PYTHON_VERSION)] - dependencies = [ ('ncurses', '6.0'), ] diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb new file mode 100644 index 00000000000..c964fa0788a --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -0,0 +1,31 @@ +name = 'Python' +version = '2.7.12' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +dependencies = [ + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('SQLite', '3.14.1'), + # ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev')] + +# We hide this by default since users should not use it in production +hidden = True + +# bare installation: only known module deps for GCCcore tools included +exts_list =[] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.14.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.14.1-GCCcore-4.9.3.eb new file mode 100644 index 00000000000..d38cf611011 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.14.1-GCCcore-4.9.3.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.14.1' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2016/'] +version_str = '%%(version_major)s%s00' % ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +builddependencies = [ + ('binutils', '2.25'), +] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.6'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.6-GCCcore-4.9.3.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.6-GCCcore-4.9.3.eb new file mode 100644 index 00000000000..35b772ac6fe --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.6-GCCcore-4.9.3.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.6' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +builddependencies = [ + ('binutils', '2.25'), +] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' From 05f59d21243238f0051c88719158ebe837dbaf45 Mon Sep 17 00:00:00 2001 From: Alan Date: Fri, 26 Aug 2016 15:42:23 +0200 Subject: [PATCH 03/11] add easyconfig LLVM-3.8.1-GCCcore-4.9.3.eb --- .../easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb index c964fa0788a..be62c66c15e 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -23,7 +23,7 @@ dependencies = [ osdependencies = [('openssl-devel', 'libssl-dev')] # We hide this by default since users should not use it in production -hidden = True +#hidden = True # bare installation: only known module deps for GCCcore tools included exts_list =[] From 799511370e617339233dc9998632801b52685636 Mon Sep 17 00:00:00 2001 From: Alan Date: Fri, 26 Aug 2016 16:09:59 +0200 Subject: [PATCH 04/11] Update the comment for why it might be a good idea to hide the bare Python module --- .../easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb index be62c66c15e..ffcdc89a3aa 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -22,7 +22,8 @@ dependencies = [ osdependencies = [('openssl-devel', 'libssl-dev')] -# We hide this by default since users should not use it in production +# We hide this by default since users should not use it in production, high-performance Python should be delivered at +# compiler level with a default extension set #hidden = True # bare installation: only known module deps for GCCcore tools included From 22346e9e0806b51649e4d0f8b37860a60471d359 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 26 Aug 2016 16:51:29 +0200 Subject: [PATCH 05/11] Add custom sanity check path --- easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb index ab5263c53f2..a702a8accea 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -34,4 +34,9 @@ configopts += "-DLLVM_INSTALL_UTILS=ON" separate_build_dir = True +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + moduleclass = 'compiler' From 661bca46603ec68ee41eb8a077e8aaa471b2e13c Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 26 Aug 2016 16:54:54 +0200 Subject: [PATCH 06/11] Various minor tweaks --- .../easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb index ffcdc89a3aa..d460591e205 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -6,13 +6,14 @@ homepage = 'http://python.org/' description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." toolchain = {'name': 'GCCcore', 'version': '4.9.3'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} +toolchainopts = {'pic': True} source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] dependencies = [ ('zlib', '1.2.8'), + ('bzip2', '1.0.6'), ('libreadline', '6.3'), ('ncurses', '6.0'), ('SQLite', '3.14.1'), @@ -20,7 +21,7 @@ dependencies = [ # nice to have an up to date openssl for security reasons ] -osdependencies = [('openssl-devel', 'libssl-dev')] +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] # We hide this by default since users should not use it in production, high-performance Python should be delivered at # compiler level with a default extension set From 3cb609f2d4f7ef66903346d826bd79f305e1ecd7 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Fri, 26 Aug 2016 20:16:06 +0200 Subject: [PATCH 07/11] Add binutils as dep ...since python may be called on its own --- .../easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb index d460591e205..c12401c7851 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -12,6 +12,7 @@ source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] dependencies = [ + ('binutils', '2.25'), ('zlib', '1.2.8'), ('bzip2', '1.0.6'), ('libreadline', '6.3'), From 231364cfd73599b6a976fe92410c9fba000a1c09 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Wed, 31 Aug 2016 13:06:55 +0200 Subject: [PATCH 08/11] Make binutils a dep instead of a buidldep... since we have a bin directory --- easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb index a702a8accea..3e0ed4ee146 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -18,13 +18,13 @@ source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] builddependencies = [ - ('binutils', '2.25'), ('CMake', '3.6.1'), # We use the minimal Python in GCCcore ('Python', '2.7.12', '-bare'), ] dependencies = [ + ('binutils', '2.25'), # Has executables so needs an explicit binutils dep ('ncurses', '6.0'), ] From 81c0bc48cd760db273e8b6655253d018ee634a03 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Wed, 31 Aug 2016 13:20:58 +0200 Subject: [PATCH 09/11] Missed a very important space --- easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb index 3e0ed4ee146..af227cc9f20 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -28,7 +28,7 @@ dependencies = [ ('ncurses', '6.0'), ] -configopts = '-DBUILD_SHARED_LIBS=ON' +configopts = '-DBUILD_SHARED_LIBS=ON ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON" From 277daf5e5593bc16083c34be5968a91784b2cb09 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Wed, 31 Aug 2016 13:22:21 +0200 Subject: [PATCH 10/11] Put binutils back as a builddep only --- easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb index af227cc9f20..fe4a09d2cd4 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.1-GCCcore-4.9.3.eb @@ -18,13 +18,13 @@ source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] builddependencies = [ + ('binutils', '2.25'), ('CMake', '3.6.1'), # We use the minimal Python in GCCcore ('Python', '2.7.12', '-bare'), ] dependencies = [ - ('binutils', '2.25'), # Has executables so needs an explicit binutils dep ('ncurses', '6.0'), ] From 87634784a7de600239154f381e3d6c2813a8022d Mon Sep 17 00:00:00 2001 From: ocaisa Date: Wed, 31 Aug 2016 13:24:17 +0200 Subject: [PATCH 11/11] Binutils is builddep only --- .../easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb index c12401c7851..62cd674cc5b 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-GCCcore-4.9.3-bare.eb @@ -11,8 +11,11 @@ toolchainopts = {'pic': True} source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] -dependencies = [ +builddependencies = [ ('binutils', '2.25'), +] + +dependencies = [ ('zlib', '1.2.8'), ('bzip2', '1.0.6'), ('libreadline', '6.3'),