diff --git a/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb b/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2a6d46501eb7deb90ab4e6a3e20625bd539d139e --- /dev/null +++ b/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,95 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '5.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': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +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 = [ + 'f8cc576694ae93659f453b6b4a4c2f04572a90cfccdca2d4271f2e7c60bb3d60', # graphviz-5.0.0.tar.gz + '4cafb6eac6f59fa4e90cef6e83c276ad5e4e24b10992b18d4b51c6d28dfe4ca1', # Graphviz-5.0.0_skip-install-data-hook.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('SWIG', '4.0.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), + ('FriBidi', '1.0.12'), + ('Gdk-Pixbuf', '2.42.8'), + ('Ghostscript', '9.56.1'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.50.7'), + ('Perl', '5.34.1'), + ('Qt5', '5.15.5'), + ('Tcl', '8.6.12'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libjpeg-turbo', '2.1.3'), + ('expat', '2.4.8'), +] + +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' diff --git a/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch b/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch new file mode 100644 index 0000000000000000000000000000000000000000..96c30b27410237690c1b56df33621dd530741f39 --- /dev/null +++ b/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch @@ -0,0 +1,96 @@ +don't create directories and install language bindings in non-owned directories +author: Kenneth Hoste (HPC-UGent) +update version 2.42.2: Alex Domingo (VUB) +update version 5.0.0: Simon Pinches +diff -Nru graphviz-5.0.0-orig/tclpkg/Makefile.am graphviz-5.0.0/tclpkg/Makefile.am +--- graphviz-5.0.0-orig/tclpkg/Makefile.am 2022-07-07 17:40:57.000000000 +0200 ++++ graphviz-5.0.0/tclpkg/Makefile.am 2022-08-09 11:38:18.162458502 +0200 +@@ -33,87 +33,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 +- -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 +-if WITH_PYTHON +- -mkdir -p $(DESTDIR)$(PYTHON_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpythondir)/libgv_python.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpythondir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python binding."; \ +- fi +-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