From fffada35c10c237b8eb640a737d710f586e45e94 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Tue, 27 Jan 2026 18:50:09 +0000 Subject: [PATCH 1/6] build(QD): dependency --- easyconfigs/q/QD/QD-2.3.24-GCCcore-13.3.0.eb | 34 +++++++++++++++++++ easyconfigs/q/QD/QD-2.3.24_rm-docs.patch | 35 ++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 easyconfigs/q/QD/QD-2.3.24-GCCcore-13.3.0.eb create mode 100644 easyconfigs/q/QD/QD-2.3.24_rm-docs.patch diff --git a/easyconfigs/q/QD/QD-2.3.24-GCCcore-13.3.0.eb b/easyconfigs/q/QD/QD-2.3.24-GCCcore-13.3.0.eb new file mode 100644 index 00000000..d24db6da --- /dev/null +++ b/easyconfigs/q/QD/QD-2.3.24-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.24' + +homepage = 'https://www.davidhbailey.com/dhbsoftware/' +description = "Quad Double computation package" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'optarch': False} + +github_account = 'BL-highprecision' +source_urls = [GITHUB_RELEASE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_rm-docs.patch'] +checksums = [ + {'v2.3.24.tar.gz': 'e15c1aa4564da7c25006483005779c9e8fa729c05117c068931a70209d093c6a'}, + {'QD-2.3.24_rm-docs.patch': '1cb3ca1b3a23fb1821570f8c143ca92a284b345ba6afc44ce4123722b9fafa26'}, +] + +builddependencies = [ + ('libtool', '2.4.7'), +] + +preconfigopts = 'autoreconf -fi && ' +configopts = ' --with-gnu-ld ' +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libqdmod.a', 'lib/libqd.a'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easyconfigs/q/QD/QD-2.3.24_rm-docs.patch b/easyconfigs/q/QD/QD-2.3.24_rm-docs.patch new file mode 100644 index 00000000..223ae2f9 --- /dev/null +++ b/easyconfigs/q/QD/QD-2.3.24_rm-docs.patch @@ -0,0 +1,35 @@ +diff --git a/Makefile.am b/Makefile.am +index 4120d60..e0e6de6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,30 +4,6 @@ SUBDIRS = src include tests fortran + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = qd.pc + +-BUILT_SOURCES = docs/qd.pdf +-dist_doc_DATA = README README.md docs/qd.pdf +-dist_noinst_DATA = docs/Makefile \ +- docs/qd.tex docs/qd.bib \ +- docs/nine-two-sum.eps docs/nine-two-sum.fig \ +- docs/normal_sum_prod.eps docs/normal_sum_prod.fig \ +- docs/qd_add.eps docs/qd_add.fig \ +- docs/qd_add_proof.eps docs/qd_add_proof.fig \ +- docs/qd_add_qd_d.eps docs/qd_add_qd_d.fig \ +- docs/qd_mul_accum.eps docs/qd_mul_accum.fig \ +- docs/qd_mul_qd_d.eps docs/qd_mul_qd_d.fig \ +- docs/quick-two-sum.eps docs/quick-two-sum.fig \ +- docs/six-three-sum.eps docs/six-three-sum.fig \ +- docs/three-sum-2.eps docs/three-sum-2.fig \ +- docs/three-sum-3.eps docs/three-sum-3.fig \ +- docs/three-sum.eps docs/three-sum.fig \ +- docs/two-prod.eps docs/two-prod.fig \ +- docs/two-sum.eps docs/two-sum.fig +- +-doc: docs/qd.pdf +- +-docs/qd.pdf: +- $(MAKE) -C docs qd.pdf +- + cpp-demo: + $(MAKE) -C tests demo + From f91e2bfdc78e0580dcfec6c7f839db344ee49f50 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Wed, 28 Jan 2026 13:37:21 +0000 Subject: [PATCH 2/6] build(MESMER): 7.1 --- .../m/MESMER/MESMER-7.1-gompi-2024a.eb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb diff --git a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb new file mode 100644 index 00000000..246c2cad --- /dev/null +++ b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'MESMER' +version = '7.1' + +homepage = 'https://www.chem.leeds.ac.uk/mesmer.html' +description = """An open source, general purpose program for calculating rate coefficients through solving the chemical + master equation""" + +toolchain = {'name': 'gompi', 'version': '2024a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['Mesmer%(version)s-source.tar.gz'] +checksums = ['7f9423d627f17ddbfabeac2a4d37d7db8f5702ca44f318d7403b16c19aa27690'] + +dependencies = [ + ('QD', '2.3.24'), +] + +# build internal tinyxml +prebuildopts = "cd tinyxml && make -f MakeLib DEBUG=NO && cd ../src && " +# build parallel (i.e. MPI) and set the include and library paths +buildopts = 'install DEBUG=NO PARALLEL=YES INCS="-I../tinyxml/ -I$EBROOTQD/include -I$EBROOTOPENMPI/include" LIBS="../tinyxml/tinyxml.a $EBROOTQD/lib/libqd.a -L$EBROOTOPENMPI/lib -lmpi" ' + +files_to_copy = [ + 'bin', + 'Documentation', + 'examples', + 'MesmerQA', + 'schemas', + '*.xsl', + '*.xml', + 'License.txt', +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'chem' From 44e6e6541f588b2cd610ea9ab4e13b8b888854d1 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Wed, 28 Jan 2026 13:45:35 +0000 Subject: [PATCH 3/6] style(MESMER): line length --- easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb index 246c2cad..74b51120 100644 --- a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb +++ b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb @@ -20,7 +20,9 @@ dependencies = [ # build internal tinyxml prebuildopts = "cd tinyxml && make -f MakeLib DEBUG=NO && cd ../src && " # build parallel (i.e. MPI) and set the include and library paths -buildopts = 'install DEBUG=NO PARALLEL=YES INCS="-I../tinyxml/ -I$EBROOTQD/include -I$EBROOTOPENMPI/include" LIBS="../tinyxml/tinyxml.a $EBROOTQD/lib/libqd.a -L$EBROOTOPENMPI/lib -lmpi" ' +buildopts = 'install DEBUG=NO PARALLEL=YES ' +buildopts += 'INCS="-I../tinyxml/ -I$EBROOTQD/include -I$EBROOTOPENMPI/include" ' +buildopts += 'LIBS="../tinyxml/tinyxml.a $EBROOTQD/lib/libqd.a -L$EBROOTOPENMPI/lib -lmpi" ' files_to_copy = [ 'bin', From 56e517e60de6903e940306b8511ec00472501f98 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Wed, 28 Jan 2026 16:14:14 +0000 Subject: [PATCH 4/6] feat(MESMER): test --- easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb index 74b51120..d682a0fc 100644 --- a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb +++ b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb @@ -35,6 +35,13 @@ files_to_copy = [ 'License.txt', ] +maxparallel = 8 + +_pretest = 'sed -i "s/\(mpirun -n \)12/\1 %s/" QA.sh' % maxparallel +_test = 'for i in */baselines/Linux64 ; do echo TEST: $i; diff "$i"/mesmer.test "$i"/../../mesmer.test ; done' +test_cmd = 'cd %%(install_dir)s/MesmerQA && ./QA.sh -u && %s && %s ' % (_pretest, _test) +runtest = '' + sanity_check_paths = { 'files': ['bin/%(namelower)s'], 'dirs': [], From 9b751d33a1bc9840ad4ddcaffca3e66349ce1031 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Wed, 28 Jan 2026 18:52:10 +0000 Subject: [PATCH 5/6] fix(MESMER): testing fails due to insignificant mismatch hence pass --- easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb index d682a0fc..9ecbec8d 100644 --- a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb +++ b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb @@ -35,11 +35,16 @@ files_to_copy = [ 'License.txt', ] -maxparallel = 8 - -_pretest = 'sed -i "s/\(mpirun -n \)12/\1 %s/" QA.sh' % maxparallel -_test = 'for i in */baselines/Linux64 ; do echo TEST: $i; diff "$i"/mesmer.test "$i"/../../mesmer.test ; done' -test_cmd = 'cd %%(install_dir)s/MesmerQA && ./QA.sh -u && %s && %s ' % (_pretest, _test) +maxparallel = 8 +_allowTestFail = 'true' + +_pretest = ''.join([ + "sed -i -e 's|executable=.*|executable=%(start_dir)sbin/%(namelower)s|'", + r' -e "s/\(mpirun -n \)12/\1', + '%s/" QA.sh' % int(maxparallel**0) +]) +_test = 'for i in */baselines/Linux64 ; do echo TEST: $i; diff "$i"/mesmer.test "$i"/test.test ; done' +test_cmd = 'cd %%(start_dir)s/MesmerQA && %s && ./QA.sh -u && %s || %s ' % (_pretest, _test, _allowTestFail) runtest = '' sanity_check_paths = { From e6b3b2ac038fbfb6824a06cef8f06cbe7e0aa800 Mon Sep 17 00:00:00 2001 From: Vladislav Mogilev Date: Wed, 28 Jan 2026 19:22:41 +0000 Subject: [PATCH 6/6] chore(MESMER): description and link to discussion webpage as no active home --- easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb index 9ecbec8d..f5b53903 100644 --- a/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb +++ b/easyconfigs/m/MESMER/MESMER-7.1-gompi-2024a.eb @@ -4,8 +4,14 @@ name = 'MESMER' version = '7.1' homepage = 'https://www.chem.leeds.ac.uk/mesmer.html' -description = """An open source, general purpose program for calculating rate coefficients through solving the chemical - master equation""" +description = """MESMER is designed to analyze and simulate reactions in the gas phase that take place on a potential + energy surface that is characterized by having one or more potential wells, and which are typically described by + rate coefficients that depend on pressure (or concentration) as well as temperature. MESMER allows you to simulate + systems over a wide range of pressures and temperatures, extract rate coefficients, analyze experimental data, + fit model parameters and represent rate coefficients in formats that can be used directly in large scale simulations + (e.g. Cantera or Chemkin). +""" +upstream_contacts = 'https://sourceforge.net/p/mesmer/discussion/627433' toolchain = {'name': 'gompi', 'version': '2024a'}