Skip to content

Commit

Permalink
Merge pull request easybuilders#21732 from maxim-masterov/namd_2024a
Browse files Browse the repository at this point in the history
{chem,tools}[GCCcore/13.3.0,foss/2024a] NAMD v3.0, tcsh v6.24.13 w/ mpi
  • Loading branch information
smoors authored Nov 11, 2024
2 parents 255f675 + 047308f commit f5f8985
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 0 deletions.
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/n/NAMD/NAMD-3.0-foss-2024a-mpi.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name = 'NAMD'
version = '3.0'
versionsuffix = '-mpi'

homepage = 'https://www.ks.uiuc.edu/Research/namd/'
description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of
large biomolecular systems."""

toolchain = {'name': 'foss', 'version': '2024a'}
toolchainopts = {'usempi': True, 'openmp': False, 'pic': True}

source_urls = [
'https://www.ks.uiuc.edu/Research/%(namelower)s/%(version)s/download/946183/',
'https://www.ks.uiuc.edu/Research/%(namelower)s/%(version)s/download/342056/',
]
sources = ['NAMD_%(version)s_Source.tar.gz']

patches = ['NAMD-3.0_fix_hwloc_build.patch']

checksums = [
'301c64f0f1db860f7336efdb26223ccf66b5ab42bfc9141df8d81ec1e20bf472', # NAMD_3.0_Source.tar.gz
'03f7caa4027604e0483a9b149ebb5de310653a2aad99403faf3359ccc0015f02', # NAMD-3.0_fix_hwloc_build.patch
]

# /bin/csh is required by 'config' script
builddependencies = [
('tcsh', '6.24.13'),
('Autotools', '20231222'),
]
dependencies = [
('Tcl', '8.6.14'),
]

# Hard to make charm build the mpi version with gcc on POWER, so we don't currently try
charm_arch = 'mpi-linux-%(arch)s'
charm_extra_cxxflags = '-fpermissive'

moduleclass = 'chem'
54 changes: 54 additions & 0 deletions easybuild/easyconfigs/n/NAMD/NAMD-3.0_fix_hwloc_build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# What: Fix hwloc cmake build issue in charm-8.0.0, see https://github.com/charmplusplus/charm/issues/3843
# This patch is based on the following PR: https://github.com/charmplusplus/charm/pull/3847
# Author: maxim-masterov (SURF)
diff -Nru NAMD_3.0_Source.orig/charm-8.0.0/contrib/hwloc/config/hwloc.m4 NAMD_3.0_Source/charm-8.0.0/contrib/hwloc/config/hwloc.m4
--- NAMD_3.0_Source.orig/charm-8.0.0/contrib/hwloc/config/hwloc.m4 2024-10-02 14:22:40.779651616 +0200
+++ NAMD_3.0_Source/charm-8.0.0/contrib/hwloc/config/hwloc.m4 2024-10-23 17:15:35.921883766 +0200
@@ -140,28 +140,43 @@
AC_CONFIG_HEADERS(hwloc_config_prefix[include/private/autogen/config.h])
AC_CONFIG_HEADERS(hwloc_config_prefix[include/hwloc/autogen/config.h])

+
# What prefix are we using?
- AC_MSG_CHECKING([for hwloc symbol prefix])
+ AH_VERBATIM([prefix_details_ifndef],
+ [ /* hwloc details should only be set once */
+ #ifndef HWLOC_SYM_DETAILS
+ #define HWLOC_SYM_DETAILS
+ ])
+ AC_MSG_CHECKING([for hwloc symbol prefix])
AS_IF([test "$hwloc_symbol_prefix_value" = ""],
[AS_IF([test "$with_hwloc_symbol_prefix" = ""],
[hwloc_symbol_prefix_value=hwloc_],
[hwloc_symbol_prefix_value=$with_hwloc_symbol_prefix])])
+
+
AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX, [$hwloc_symbol_prefix_value],
[The hwloc symbol prefix])
# Ensure to [] escape the whole next line so that we can get the
# proper tr tokens
[hwloc_symbol_prefix_value_caps="`echo $hwloc_symbol_prefix_value | tr '[:lower:]' '[:upper:]'`"]
- AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX_CAPS, [$hwloc_symbol_prefix_value_caps],
- [The hwloc symbol prefix in all caps])
+ AC_CHECK_DEFINE([HWLOC_SYM_PREFIX_CAPS],[0],AC_DEFINE_UNQUOTED(HWLOC_SYM_PREFIX_CAPS, [$hwloc_symbol_prefix_value_caps],
+ [The hwloc symbol prefix in all caps]))
AC_MSG_RESULT([$hwloc_symbol_prefix_value])

- # Give an easy #define to know if we need to transform all the
+
+ # Give an easy #define to know if we need to transform all the
# hwloc names
AH_TEMPLATE([HWLOC_SYM_TRANSFORM], [Whether we need to re-define all the hwloc public symbols or not])
AS_IF([test "$hwloc_symbol_prefix_value" = "hwloc_"],
[AC_DEFINE([HWLOC_SYM_TRANSFORM], [0])],
[AC_DEFINE([HWLOC_SYM_TRANSFORM], [1])])

+ AH_VERBATIM([prefix_details_endif],
+ [ /* HWLOC_DETAILS_SET */
+ #endif
+ ])
+
+
# Disabled for Charm++ due to https://github.com/charmplusplus/charm/issues/2606
# hwloc 2.0+ requires a C99 compliant compiler
# AC_PROG_CC_C99 obsolete, detected inside AC_PROG_CC, since autoconf 2.70
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/t/tcsh/tcsh-6.24.13-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# #
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit
# Authors:: Valentin Plugaru <[email protected]>
# 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/HPCBIOS_05-06.html
# #
easyblock = 'ConfigureMake'

name = 'tcsh'
version = '6.24.13'

homepage = 'https://www.tcsh.org'
description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh).
It is a command language interpreter usable both as an interactive login shell and a shell script command
processor. It includes a command-line editor, programmable word completion, spelling correction, a history
mechanism, job control and a C-like syntax."""

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

source_urls = [
'https://astron.com/pub/%(namelower)s',
'https://astron.com/pub/%(namelower)s/old',
'ftp://ftp.astron.com/pub/%(namelower)s',
'ftp://ftp.astron.com/pub/%(namelower)s/old',
]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['1e927d52e9c85d162bf985f24d13c6ccede9beb880d86fec492ed15480a5c71a']

builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('ncurses', '6.5'),
]

postinstallcmds = ['ln -s %(name)s %(installdir)s/bin/csh']

sanity_check_paths = {
'files': ['bin/%(name)s', 'bin/csh'],
'dirs': [],
}

moduleclass = 'tools'

0 comments on commit f5f8985

Please sign in to comment.