Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jun 2024 12:59:58 GMT
From:      Thierry Thomas <thierry@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 298551c2dc60 - main - science/linearelasticity: new port, Elas, a solver for linear elasticity
Message-ID:  <202406231259.45NCxwfB069728@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=298551c2dc60383093f6687648519222b7127a5a

commit 298551c2dc60383093f6687648519222b7127a5a
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2024-06-22 21:07:11 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2024-06-23 12:58:40 +0000

    science/linearelasticity: new port, Elas, a solver for linear elasticity
    
    Required by Mmg.
---
 science/Makefile                                   |  1 +
 science/linearelasticity/Makefile                  | 37 +++++++++++++++++++
 science/linearelasticity/distinfo                  |  3 ++
 .../linearelasticity/files/patch-CMakeLists.txt    | 42 ++++++++++++++++++++++
 science/linearelasticity/pkg-descr                 |  6 ++++
 science/linearelasticity/pkg-plist                 |  6 ++++
 6 files changed, 95 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index ddbfcac05382..50cd1d2e219d 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -166,6 +166,7 @@
     SUBDIR += libvdwxc
     SUBDIR += libxc
     SUBDIR += liggghts
+    SUBDIR += linearelasticity
     SUBDIR += linux-zotero
     SUBDIR += luscus
     SUBDIR += m-aneos
diff --git a/science/linearelasticity/Makefile b/science/linearelasticity/Makefile
new file mode 100644
index 000000000000..127a2a37c42b
--- /dev/null
+++ b/science/linearelasticity/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	LinearElasticity
+PORTVERSION=	1.0.0
+DISTVERSIONPREFIX=	v
+CATEGORIES=	science
+
+MAINTAINER=	thierry@FreeBSD.org
+COMMENT=	Elas, a solver for linear elasticity
+WWW=		https://github.com/ISCDtoolbox/LinearElasticity
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+LIB_DEPENDS=	libCommons.so:devel/iscd-commons
+
+USES=		cmake:testing compiler:c++17-lang
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ISCDtoolbox
+
+CFLAGS+=	-I${LOCALBASE}/include/ISCD
+USE_LDCONFIG=	yes
+
+OPTIONS_DEFINE=	DOCS EXAMPLES
+
+PORTDOCS=	README.md
+PORTEXAMPLES=	*
+
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+
+do-install-EXAMPLES-on:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	(cd ${WRKSRC}/demos &&	\
+		${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR})
+
+.include <bsd.port.mk>
diff --git a/science/linearelasticity/distinfo b/science/linearelasticity/distinfo
new file mode 100644
index 000000000000..67572e5f07ab
--- /dev/null
+++ b/science/linearelasticity/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1719072290
+SHA256 (ISCDtoolbox-LinearElasticity-v1.0.0_GH0.tar.gz) = e25d5cd448f4eb8d15461cea4203e854c87a0504c8343ff01c8f8f55b33ee2b7
+SIZE (ISCDtoolbox-LinearElasticity-v1.0.0_GH0.tar.gz) = 855724
diff --git a/science/linearelasticity/files/patch-CMakeLists.txt b/science/linearelasticity/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..f78bd758f17f
--- /dev/null
+++ b/science/linearelasticity/files/patch-CMakeLists.txt
@@ -0,0 +1,42 @@
+--- CMakeLists.txt.orig	2021-05-06 07:50:46 UTC
++++ CMakeLists.txt
+@@ -1,6 +1,4 @@ cmake_minimum_required(VERSION 2.8)
+ cmake_minimum_required(VERSION 2.8)
+-set(CMAKE_BUILD_TYPE  "Release")
+-SET(CMAKE_CXX_FLAGS   "-w -g -O3")
+ set(CMAKE_MACOSX_RPATH 1)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ 
+@@ -11,24 +9,20 @@ ADD_LIBRARY(           Elas SHARED ${source_files})
+ file(                  GLOB_RECURSE source_files sources/*)
+ file(                  GLOB_RECURSE header_files sources/*.h)
+ ADD_LIBRARY(           Elas SHARED ${source_files})
+-find_library(          Commons NAMES Commons HINTS "$ENV{HOME}/lib")
+-INCLUDE_DIRECTORIES(  "$ENV{HOME}/include")
+-LINK_DIRECTORIES(     "$ENV{HOME}/lib")
++set_target_properties( Elas PROPERTIES VERSION 0.0.0 SOVERSION 0)
++find_library(          Commons NAMES Commons HINTS lib)
++INCLUDE_DIRECTORIES(   include/ISCD)
++LINK_DIRECTORIES(      ${Elas_BINARY_DIR})
+ target_link_libraries( Elas ${Commons})
+ INSTALL(
+   TARGETS Elas
+-  LIBRARY  DESTINATION "$ENV{HOME}/lib"
+-  RUNTIME  DESTINATION "$ENV{HOME}/lib")
+-INSTALL(               FILES ${header_files} DESTINATION "$ENV{HOME}/include")
++  LIBRARY  DESTINATION lib${LIB_SUFFIX}
++  RUNTIME  DESTINATION lib${LIB_SUFFIX})
++INSTALL(               FILES ${header_files} DESTINATION include)
+ 
+ #Executable
+ project(main)
+ add_executable(        elastic sources/elastic.c)
+ target_link_libraries( elastic ${Commons} Elas)
+-INSTALL(               TARGETS elastic RUNTIME DESTINATION "$ENV{HOME}/bin")
+-
+-
+- 
+-
+-
++INSTALL(               TARGETS elastic RUNTIME DESTINATION bin)
+ 
diff --git a/science/linearelasticity/pkg-descr b/science/linearelasticity/pkg-descr
new file mode 100644
index 000000000000..bbb07da4c6c7
--- /dev/null
+++ b/science/linearelasticity/pkg-descr
@@ -0,0 +1,6 @@
+Elas, alias Elastic, is a simple yet efficient finite element solver for linear
+elasticity problems in two and three dimensions.
+
+A full description of all parameters and options that can be specified in the
+command line or in a parameter file [file.elas] can be found in the project
+wiki, see <https://github.com/ISCDtoolbox/LinearElasticity/wiki>.
diff --git a/science/linearelasticity/pkg-plist b/science/linearelasticity/pkg-plist
new file mode 100644
index 000000000000..4a18ee1968af
--- /dev/null
+++ b/science/linearelasticity/pkg-plist
@@ -0,0 +1,6 @@
+bin/elastic
+include/elastic.h
+include/ls_calls.h
+lib/libElas.so
+lib/libElas.so.0
+lib/libElas.so.0.0.0



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202406231259.45NCxwfB069728>