1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-08 06:48:28 +00:00

New port: science/dakota: Interface between analysis codes & iterative systems analysis methods

This commit is contained in:
Yuri Victorovich 2021-02-20 00:44:15 +00:00
parent af64b27ae4
commit c68c56d30c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=566127
9 changed files with 2746 additions and 0 deletions

View File

@ -58,6 +58,7 @@
SUBDIR += cp2k
SUBDIR += cp2k-data
SUBDIR += crf++
SUBDIR += dakota
SUBDIR += dalton
SUBDIR += dcl
SUBDIR += devisor

82
science/dakota/Makefile Normal file
View File

@ -0,0 +1,82 @@
# $FreeBSD$
PORTNAME= dakota
DISTVERSION= 6.13.0
CATEGORIES= science
MASTER_SITES= https://dakota.sandia.gov/sites/default/files/distributions/public/
MAINTAINER= yuri@FreeBSD.org
COMMENT= Interface between analysis codes & iterative systems analysis methods
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libblas.so:math/blas \
libboost_system.so:devel/boost-libs \
liblapack.so:math/lapack
RUN_DEPENDS= bash:shells/bash
USES= cmake compiler:c++11-lang fortran perl5 python shebangfix
USE_LDCONFIG= yes
SHEBANG_GLOB= *.sh *.py
SHEBANG_FILES= interfaces/Python/mpitile \
scripts/pyprepro/dprepro \
scripts/pyprepro/pyprepro \
scripts/dprepro.perl \
test/dakota_test.perl
CMAKE_ON= Boost_NO_BOOST_CMAKE \
DAKOTA_GIT_checkout
CMAKE_OFF= DAKOTA_ENABLE_TESTS
CMAKE_ARGS= -DDakota_VERSION_SRC:STRING=${DISTVERSION} -DDakota_GIT_REVL:STRING=${GIT_HASH} -DDakota_RELEASE_DATE:${STRING}=20201116
FFLAGS+= -fallow-argument-mismatch
LDFLAGS+= -lexecinfo
CONFLICTS_INSTALL= openblas
USES_GIT= no
GIT_URL= https://software.sandia.gov/git/dakota
GIT_HASH= 82fd55ea1c6bb6d32e4c68e7f92d991d658ba90a
.if ${USES_GIT} == "yes"
FETCH_DEPENDS= git:devel/git
do-fetch:
@if [ "${FORCE_FETCH_ALL}" = "true" ] || ! [ -f "${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX}" ]; then \
${MKDIR} ${DISTDIR}/${DIST_SUBDIR} && \
cd ${DISTDIR}/${DIST_SUBDIR} && \
git clone -q ${GIT_URL} ${PORTNAME}-${DISTVERSIONFULL} && \
(cd ${PORTNAME}-${DISTVERSIONFULL} && \
git checkout devel && \
git submodule init packages/external && \
git submodule init packages/pecos && \
git submodule init packages/surfpack && \
git submodule update) && \
(cd ${PORTNAME}-${DISTVERSIONFULL} && git reset -q --hard ${GIT_HASH} && ${RM} -r .git) && \
${FIND} ${PORTNAME}-${DISTVERSIONFULL} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \
${FIND} ${PORTNAME}-${DISTVERSIONFULL} -print0 | LC_ALL=C ${SORT} -z | \
${TAR} czf ${PORTNAME}-${DISTVERSIONFULL}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \
${RM} -r ${PORTNAME}-${DISTVERSIONFULL}; \
fi
.else
DISTNAME= ${PORTNAME}-${DISTVERSION}-release-public.src-UI
.endif
post-extract:
@${FIND} ${WRKSRC} -name "*.orig" -delete
@${ECHO} ${DISTVERSION} > ${WRKSRC}/VERSION # expected by the 'install' target
post-install:
# remove eigen3 that Dakota installs
cd ${STAGEDIR}${PREFIX} && ${RM} -r include/eigen3 share/eigen3
do-test: # from Additional Test Suites @ https://dakota.sandia.gov/content/additional-test-suites (many tests are known to fail)
# minimal set of fast-running tests that should NOT FAIL (may DIFF, depending on platform / compiler)
cd ${WRKSRC}/test && ./dakota_test.perl
# test suite that should PASS on any supported platform (NO DIFF or FAIL)
cd ${WRKSRC}/test && ./dakota_test.perl --label-regex=AcceptanceTest
# run all Dakota tests active in this build (should PASS or DIFF)
cd ${WRKSRC}/test && ./dakota_test.perl --label-regex=dakota_
.include <bsd.port.mk>

3
science/dakota/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1613774738
SHA256 (dakota-6.13.0-release-public.src-UI.tar.gz) = 064f6e49569893cfcbe53a86b089fa3502b8b5f3c52f0122b88f93704464b9e7
SIZE (dakota-6.13.0-release-public.src-UI.tar.gz) = 139642138

View File

@ -0,0 +1,37 @@
--- CMakeLists.txt.orig 1970-01-01 00:00:00 UTC
+++ CMakeLists.txt
@@ -253,7 +253,9 @@ if(ENABLE_DAKOTA_DOCS)
add_subdirectory(docs)
endif()
-add_subdirectory(examples)
+if (FREEBSD_ENABLE_EXAMPLES)
+ add_subdirectory(examples)
+endif()
add_subdirectory(interfaces)
@@ -275,19 +277,23 @@ install(FILES INSTALL LICENSE COPYRIGHT README
DESTINATION ${DAKOTA_TOPFILES_INSTALL}
)
+if (FREEBSD_ENABLE_EXAMPLES)
install(DIRECTORY examples DESTINATION ${DAKOTA_EXAMPLES_INSTALL}
USE_SOURCE_PERMISSIONS
PATTERN "CMakeLists.txt" EXCLUDE
PATTERN "*.c" EXCLUDE
PATTERN "*.f" EXCLUDE
)
+endif()
+if (FREEBSD_INSTALL_TESTS)
install(DIRECTORY test DESTINATION ${DAKOTA_TEST_INSTALL}
PATTERN "CMakeLists.txt" EXCLUDE
PATTERN "*.c" EXCLUDE
PATTERN "*.cpp" EXCLUDE
PATTERN "*.f" EXCLUDE
)
+endif()
# Final CPack settings (depends on DAKOTA_GIT_checkout)
dakota_cpack_finalize()

View File

@ -0,0 +1,11 @@
--- cmake/DakotaVersionUtils.cmake.orig 2021-02-10 05:46:56 UTC
+++ cmake/DakotaVersionUtils.cmake
@@ -28,7 +28,7 @@ macro(dakota_version_from_git)
# Building in a Git repo or a source package?
set(DAKOTA_VERSION_file_path)
- set(DAKOTA_GIT_checkout FALSE)
+ set(DAKOTA_GIT_checkout TRUE)
if(EXISTS ${Dakota_SOURCE_DIR}/.git)

View File

@ -0,0 +1,17 @@
- patch provided by the upstream
--- packages/external/acro/packages/colin/src/colin/AppResponse.h.orig 2021-02-17 01:12:03 UTC
+++ packages/external/acro/packages/colin/src/colin/AppResponse.h
@@ -54,10 +54,10 @@ class AppResponse
public: // typedefs
///
- typedef std::pair<response_info_t, const utilib::Any > response_pair_t;
+ typedef std::pair<response_info_t, utilib::Any > response_pair_t;
///
- typedef std::map<response_info_t, const utilib::Any > response_map_t;
+ typedef std::map<response_info_t, utilib::Any > response_map_t;
public: // construct / destruct / copy / compare methods

View File

@ -0,0 +1,14 @@
- patch provided by the upstream
--- src/ProcessHandleApplicInterface.cpp.orig 2021-02-17 01:12:32 UTC
+++ src/ProcessHandleApplicInterface.cpp
@@ -17,6 +17,9 @@
#include "ParallelLibrary.hpp"
#include "WorkdirHelper.hpp"
#include <algorithm>
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h> // for wait process status macros (Posix only)
+#endif
namespace Dakota {

6
science/dakota/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
The Dakota project delivers both state-of-the-art research and robust, usable
software for optimization and UQ. Broadly, the Dakota software's advanced
parametric analyses enable design exploration, model calibration, risk analysis,
and quantification of margins and uncertainty with computational models.
WWW: https://dakota.sandia.gov/

2575
science/dakota/pkg-plist Normal file

File diff suppressed because it is too large Load Diff