diff --git a/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.2-GCCcore-14.2.0.eb b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.2-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..35cecc151142 --- /dev/null +++ b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.2-GCCcore-14.2.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'TurboVNC' +version = '3.2' + +homepage = 'https://www.turbovnc.org' +description = """TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide + peak performance for 3D and video workloads.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/%(name)s/%(namelower)s/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'df92ba7eeda90b56e7407a2cd3f62b26fb65f477f674bd15311f25de40f76987', # 3.2.tar.gz +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] + +dependencies = [ + ('Java', '21', '', SYSTEM), + ('X11', '20250521'), + ('pixman', '0.46.2'), + ('libjpeg-turbo', '3.1.0'), + ('Mesa', '25.1.3'), + ('libGLU', '9.0.3'), + ('libglvnd', '1.7.0'), + ('Xvfb', '21.1.18'), + ('OpenSSL', '3', '', SYSTEM), +] + +osdependencies = [('pam-devel', 'libpam0g-dev')] + +configopts = "-DTVNC_BUILDJAVA=0 -DTVNC_SYSTEMX11=1 " +configopts += "-DX11_X11_LIB=$EBROOTX11/lib/libX11.%s " % SHLIB_EXT +configopts += "-DX11_Xau_LIB=$EBROOTX11/lib/libXau.%s " % SHLIB_EXT +configopts += "-DX11_SM_LIB=$EBROOTX11/lib/libSM.%s " % SHLIB_EXT +configopts += "-DX11_ICE_LIB=$EBROOTX11/lib/libICE.%s " % SHLIB_EXT +configopts += "-DX11_Pixman_LIB=$EBROOTPIXMAN/lib/libpixman-1.%s.0 " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_egl_LIBRARY=$EBROOTLIBGLVND/lib/libEGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTLIBGLVND/lib/libOpenGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glx_LIBRARY=$EBROOTLIBGLVND/lib/libGLX.%s " % SHLIB_EXT + +# if installdir starts with /opt, i.e. /opt/xxx, CMake will set SYSCONFDIR to /etc/opt/xxx instead of /opt/xxx/etc +# https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html +# the solution is to define CMAKE_INSTALL_SYSCONFDIR explicitly +configopts += "-DCMAKE_INSTALL_SYSCONFDIR=%(installdir)s/etc " + +# remove etc/turbovncserver-security.conf, to avoid errors like: +# (EE) Fatal server error: +# (EE) ERROR: .../TurboVNC/2.2.3-GCCcore-8.2.0/etc/turbovncserver-security.conf must be owned by you or by root +postinstallcmds = ['rm -rf %(installdir)s/etc/turbovncserver-security.conf'] + +sanity_check_paths = { + 'files': ['bin/vncserver', 'bin/vncpasswd', 'bin/Xvnc'], + 'dirs': [], +} + +moduleclass = 'vis'