Skip to content

Commit

Permalink
TTK-1.3.0: add Graphviz and zfp dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
Louwrensth committed Oct 29, 2024
1 parent df032a0 commit 191493e
Show file tree
Hide file tree
Showing 4 changed files with 217 additions and 1 deletion.
94 changes: 94 additions & 0 deletions easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
easyblock = 'ConfigureMake'

name = 'Graphviz'
version = '9.0.0'
local_pyver_major = '3'

homepage = 'https://www.graphviz.org/'
description = """Graphviz is open source graph visualization software. Graph visualization
is a way of representing structural information as diagrams of
abstract graphs and networks. It has important applications in networking,
bioinformatics, software engineering, database and web design, machine learning,
and in visual interfaces for other technical domains."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s']
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-%(version)s_skip-install-data-hook.patch']
checksums = [
{'graphviz-9.0.0.tar.gz': '504d19b5d0e5398a57e9d9de42393f90b9e79aff0969b4ebc3b891ccb39602ed'},
{'Graphviz-9.0.0_skip-install-data-hook.patch': '148bcae14aa053cab9448c5c151876ec995a9b71f76366db742b6f0f8b7fc22a'},
]

builddependencies = [
('Autotools', '20220317'),
('binutils', '2.40'),
('Bison', '3.8.2'),
('flex', '2.6.4'),
('SWIG', '4.1.1'),
('pkgconf', '2.0.3'),
]

dependencies = [
('Java', '21', '', SYSTEM),
('Python', '3.11.5'),
('FriBidi', '1.0.13'),
('Gdk-Pixbuf', '2.42.10'),
('Ghostscript', '10.02.1'),
('GTS', '0.7.6'),
('libgd', '2.3.3'),
('Pango', '1.51.0'),
('Perl', '5.38.0'),
('Qt6', '6.6.3'),
('Tcl', '8.6.13'),
('zlib', '1.2.13'),
('bzip2', '1.0.8'),
('libjpeg-turbo', '3.0.1'),
('expat', '2.5.0'),
]

preconfigopts = './autogen.sh NOCONFIG && '

configopts = '--enable-python%s=yes ' % local_pyver_major
configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no '
configopts += '--enable-r=no --enable-ruby=no --enable-php=no '
# Use ltdl from libtool in EB
configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install '
configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib '
# Override the hardcoded paths to Java libraries
configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux '
configopts += '--with-javalibdir=$JAVA_HOME/lib'
configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib'
configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib'

prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && '

postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration

sanity_check_paths = {
'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot',
'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml',
'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv',
'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten',
'vimdot']] +
['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut',
'libpathplan', 'libxdot']],
'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major,
'lib/pkgconfig', 'share']
}

sanity_check_commands = [
("test ! -d $EBROOTTCL/lib/*/graphviz", ''),
("test ! -d $EBROOTTCL/lib64/*/graphviz", ''),
('python', '-c "import gv"'),
]

modextrapaths = {
'CLASSPATH': 'lib/graphviz/java',
'LD_LIBRARY_PATH': 'lib/graphviz/java',
'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major,
'TCLLIBPATH': 'lib/graphviz/tcl',
}

moduleclass = 'vis'
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
diff -Nru graphviz-9.0.0-orig/tclpkg/Makefile.am graphviz-9.0.0/tclpkg/Makefile.am
--- graphviz-9.0.0-orig/tclpkg/Makefile.am 2023-09-11 20:27:30.000000000 +0200
+++ graphviz-9.0.0/tclpkg/Makefile.am 2024-05-31 18:26:29.103828602 +0200
@@ -32,78 +32,7 @@
# ./configure --prefix=$HOME/graphviz; make; make install
# without root privileges.
install-data-hook:
-if WITH_LUA
- -mkdir -p $(DESTDIR)$(LUA_INSTALL_DIR);
- if test -w $(DESTDIR)$(LUA_INSTALL_DIR); then \
- (cd $(DESTDIR)$(LUA_INSTALL_DIR); \
- cp -f $(DESTDIR)$(pkgluadir)/libgv_lua.so gv.so;) \
- else \
- echo "Warning: $(LUA_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of lua binding."; \
- fi
-endif
-if WITH_PERL
- -mkdir -p $(DESTDIR)$(PERL_INSTALL_DIR);
- if test -w $(DESTDIR)$(PERL_INSTALL_DIR); then \
- (cd $(DESTDIR)$(PERL_INSTALL_DIR); \
- cp -f $(DESTDIR)$(pkgperldir)/libgv_perl.so gv.so; \
- cp -f $(DESTDIR)$(pkgperldir)/gv.pm gv.pm;) \
- else \
- echo "Warning: $(PERL_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of perl binding."; \
- fi
-endif
-if WITH_PHP
- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DIR);
- if test -w $(DESTDIR)$(PHP_INSTALL_DIR); then \
- (cd $(DESTDIR)$(PHP_INSTALL_DIR); \
- cp -f $(DESTDIR)$(pkgphpdir)/libgv_php.so gv.so;) \
- else \
- echo "Warning: $(PHP_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of php binding."; \
- fi
-if WITH_SWIG_PHP_DATA
- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DATADIR);
- if test -w $(DESTDIR)$(PHP_INSTALL_DATADIR); then \
- (cd $(DESTDIR)$(PHP_INSTALL_DATADIR); \
- cp -f $(DESTDIR)$(pkgphpdir)/gv.php gv.php;) \
- else \
- echo "Warning: $(PHP_INSTALL_DATADIR) is not writable."; \
- echo "Skipping system installation of php binding."; \
- fi
-endif
-endif
-if WITH_PYTHON3
- -mkdir -p $(DESTDIR)$(PYTHON3_INSTALL_DIR);
- if test -w $(DESTDIR)$(PYTHON3_INSTALL_DIR); then \
- (cd $(DESTDIR)$(PYTHON3_INSTALL_DIR); \
- cp -f $(DESTDIR)$(pkgpython3dir)/libgv_python3.so _gv.so; \
- cp -f $(DESTDIR)$(pkgpython3dir)/gv.py gv.py;) \
- else \
- echo "Warning: $(PYTHON3_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of python3 binding."; \
- fi
-endif
-if WITH_RUBY
- -mkdir -p $(DESTDIR)$(RUBY_INSTALL_DIR);
- if test -w $(DESTDIR)$(RUBY_INSTALL_DIR); then \
- (cd $(DESTDIR)$(RUBY_INSTALL_DIR); \
- cp -f $(DESTDIR)$(pkgrubydir)/libgv_ruby.so gv.so;) \
- else \
- echo "Warning: $(RUBY_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of ruby binding."; \
- fi
-endif
-if WITH_TCL
- -mkdir -p $(DESTDIR)$(TCL_INSTALL_DIR);
- if test -w $(DESTDIR)$(TCL_INSTALL_DIR)/; then \
- (cd $(DESTDIR)$(TCL_INSTALL_DIR); \
- cp -rf $(DESTDIR)$(pkgtcldir) $(PACKAGE_NAME);) \
- else \
- echo "Warning: $(TCL_INSTALL_DIR) is not writable."; \
- echo "Skipping system installation of tcl bindings."; \
- fi
-endif
+ echo "(installing in non-owned directories has been patched out)"
endif

# removal of installs into $(xxx_INSTALL_DIR) fail if root
1 change: 0 additions & 1 deletion easybuild/easyconfigs/t/TTK/TTK-1.3.0-foss-2023b.eb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ dependencies = [
]

separate_build_dir = True
build_type = 'Release'

configopts = ''
configopts += '-DTTK_ENABLE_EIGEN=ON '
Expand Down
40 changes: 40 additions & 0 deletions easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
# Update: Thomas Hoffmann (EMBL)
easyblock = 'MakeCp'

name = 'zfp'
version = '1.0.1'

homepage = 'https://github.com/LLNL/zfp'
description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays.
zfp provides compressed-array classes that support high throughput read and write random access to individual array
elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications
that read and write large data sets to and from disk."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/LLNL/zfp/archive']
sources = ['%(version)s.tar.gz']
checksums = ['4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f']

builddependencies = [
('binutils', '2.40'),
]

prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && "
buildopts = 'ZFP_WITH_OPENMP=1'

runtest = 'test'

files_to_copy = ['bin', 'include', 'lib']

sanity_check_paths = {
'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'],
'dirs': ['include/zfp'],
}

sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"]

moduleclass = 'lib'

0 comments on commit 191493e

Please sign in to comment.