From d307af92dc33143925c089c296efab37b8ef1f08 Mon Sep 17 00:00:00 2001 From: "Philip M. Gollucci" Date: Fri, 12 Feb 2010 22:17:21 +0000 Subject: SALOME is a free software that provides a generic platform for Pre and Post-Processing for numerical simulation. +Supports interoperability between CAD modeling and computation software (CAD-CAE link) +Makes easier the integration of new components on heterogeneous systems for numerical computation +Sets the priority to multi-physics coupling between computation software +Provides a generic user interface, user-friendly and efficient, which helps to reduce the costs and delays of carrying out the studies +Reduces training time to the specific time for learning the software solution which has been based on this platform +All functionalities are accessible through the programmatic integrated Python console This package contains meta-port. WWW: http://www.salome-platform.org - Stas Timokhin devel@stasyan.com PR: ports/143469 Submitted by: Stas Timokhin --- cad/Makefile | 1 + cad/salome/Makefile | 80 +++++++++++++ cad/salome/Makefile.ext | 291 ++++++++++++++++++++++++++++++++++++++++++++++++ cad/salome/distinfo | 3 + cad/salome/pkg-descr | 19 ++++ 5 files changed, 394 insertions(+) create mode 100644 cad/salome/Makefile create mode 100644 cad/salome/Makefile.ext create mode 100644 cad/salome/distinfo create mode 100644 cad/salome/pkg-descr (limited to 'cad') diff --git a/cad/Makefile b/cad/Makefile index 9c2eda5664cc..7c49554d5650 100644 --- a/cad/Makefile +++ b/cad/Makefile @@ -72,6 +72,7 @@ SUBDIR += qfsm SUBDIR += qmls SUBDIR += qucs + SUBDIR += salome SUBDIR += salome-geom SUBDIR += salome-gui SUBDIR += salome-kernel diff --git a/cad/salome/Makefile b/cad/salome/Makefile new file mode 100644 index 000000000000..7ae6b98fe36e --- /dev/null +++ b/cad/salome/Makefile @@ -0,0 +1,80 @@ +# New ports collection makefile for: cad/salome +# Date created: 16 Oct 2009 +# Whom: Stas Timokhin +# +# $FreeBSD$ + +PORTNAME= salome +PORTVERSION= 5.1.3 +CATEGORIES= cad science +MASTER_SITES= http://www.stasyan.com/devel/distfiles/ +DISTNAME= src5.1.3 +DIST_SUBDIR= ${PORTNAME} +.if !defined(PKGNAMESUFFIX) +EXTRACT_ONLY= #none +.endif + +MAINTAINER= devel@stasyan.com + +OPTIONS= \ + GEOM "GEOM module" on \ + MED "MED module" on \ + SMESH "SMESH module (require MED & GEOM)" on \ + VISU "VISU module (require MED)" on \ + LIGHT "LIGHT module" on \ + YACS "Yacs module" on \ + MULTIPR "Multipr module" on \ + RANDOMIZER "Randomizer module" on \ + SIERPINSKY "Sierpinsky module" on \ + CPPUNIT "build with C++ unit testing framework" off \ + MPI "build with support parrallel calculation" off + +RESOURCEDIR= ${DATADIR}/resources + +.include + +.if !defined(PKGNAMESUFFIX) +COMMENT= Metaport for cad/salome + +NO_BUILD= yes + +.include + +RUN_DEPENDS+= ${RESOURCEDIR}/kernel:${PORTSDIR}/cad/salome-kernel \ + ${RESOURCEDIR}/gui:${PORTSDIR}/cad/salome-gui + +.if defined(WITH_GEOM) +RUN_DEPENDS+= ${RESOURCEDIR}/geom:${PORTSDIR}/cad/salome-geom +.endif +.if defined(WITH_LIGHT) +RUN_DEPENDS+= ${RESOURCEDIR}/light:${PORTSDIR}/cad/salome-light +.endif +.if defined(WITH_YACS) +RUN_DEPENDS+= ${RESOURCEDIR}/yacs:${PORTSDIR}/cad/salome-yacs +.endif +.if defined(WITH_RANDOMIZER) +RUN_DEPENDS+= ${RESOURCEDIR}/randomizer:${PORTSDIR}/cad/salome-randomizer +.endif +.if defined(WITH_VISU) +RUN_DEPENDS+= ${RESOURCEDIR}/visu:${PORTSDIR}/cad/salome-visu +.endif +.if defined(WITH_MED) +RUN_DEPENDS+= ${RESOURCEDIR}/med:${PORTSDIR}/cad/salome-med +.endif +.if defined(WITH_SIERPINSKY) +RUN_DEPENDS+= ${RESOURCEDIR}/sierpinsky:${PORTSDIR}/cad/salome-sierpinsky +.endif +.if defined(WITH_SMESH) +RUN_DEPENDS+= ${RESOURCEDIR}/smesh:${PORTSDIR}/cad/salome-smesh +.endif +.if defined(WITH_MULTIPR) +RUN_DEPENDS+= ${RESOURCEDIR}/multipr:${PORTSDIR}/cad/salome-multipr +.endif + +do-install: + ${DO_NADA} + +.include +.else +.include "${MASTERDIR}/Makefile.ext" +.endif diff --git a/cad/salome/Makefile.ext b/cad/salome/Makefile.ext new file mode 100644 index 000000000000..08a0c0a45faf --- /dev/null +++ b/cad/salome/Makefile.ext @@ -0,0 +1,291 @@ +COMMENT= ${SAL_MODULE_UPPER} module of Salome platform + +USE_PYTHON= 2.4+ +USE_GMAKE= yes +USE_LDCONFIG= yes +SAL_MODULE= ${PKGNAMESUFFIX:S/-//} +#.if ${SAL_MODULE} == "med" || ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "visu" || ${SAL_MODULE} == "sierpinsky" || ${SAL_MODULE} == "multipr" +.if !${SAL_MODULE} == "gui" +USE_FORTRAN=yes +USE_GCC= 4.4 +.else +USE_GCC= 4.5 +.endif +#SAL_MODULE_UPPER= `${ECHO} ${SAL_MODULE} | ${AWK} '{ print(toupper($$1)); }'` +#SAL_MODULE_UPPER= YACS + +USE_TK= 84+ +PLIST= ../salome${PKGNAMESUFFIX}/pkg-plist + +#dependencies between modules +KERNEL_DEPEND= "" +GUI_DEPEND= KERNEL QWT +GEOM_DEPEND= KERNEL GUI +MED_DEPEND= KERNEL GUI MED2 +SMESH_DEPEND= KERNEL GUI MED GEOM +VISU_DEPEND= KERNEL GUI MED +LIGHT_DEPEND= KERNEL GUI +YACS_DEPEND= KERNEL GUI +RANDOMIZER_DEPEND= KERNEL GUI +SIERPINSKY_DEPEND= KERNEL GUI VISU MED RANDOMIZER +FILTER_DEPEND= KERNEL GUI MED +MULTIPR_DEPEND= KERNEL GUI MED MED2 HDF5 CAS QT OMNIORB + + +RELEASENAME= 5.1.3 +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --prefix=${PREFIX} +CONFIGURE_ARGS+= --enable-debug +CONFIGURE_ENV+= MACHINE=${OPSYS:U} +#CXXFLAGS+= -L${LOCALBASE}/lib -I/usr/include -I${LOCALBASE}/include -D__freebsd__ -DFREEBSD -DHAVE_IOSTREAM -DHAVE_LIMITS_H -DHAVE_IOMANIP -DMPICH_IGNORE_CXX_SEEK +CPPFLAGS+= -L${LOCALBASE}/lib -I/usr/include -I${LOCALBASE}/include -D__freebsd__ -DFREEBSD -DHAVE_IOSTREAM -DHAVE_LIMITS_H -DHAVE_IOMANIP -DMPICH_IGNORE_CXX_SEEK +CXXFLAGS+= -ffriend-injection -fno-inline -fpermissive -L${LOCALBASE}/lib -L${LOCALBASE}/lib/salome +CONFIGURE_SCRIPT= ../configure +PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}/${SAL_MODULE_UPPER}_SRC_${RELEASENAME} +WRKSRC= ${PATCH_WRKSRC} +CONFIGURE_WRKSRC= ${WRKSRC}/${SAL_MODULE_UPPER}_build +BUILD_WRKSRC= ${WRKSRC}/${SAL_MODULE_UPPER}_build +INSTALL_WRKSRC= ${BUILD_WRKSRC} +EXTRACT_AFTER_ARGS= | ${TAR} -xf - ${DISTNAME}/${SAL_MODULE_UPPER}_SRC_${RELEASENAME}/* +PATCHDIR= ${MASTERDIR}/../salome-${SAL_MODULE}/files/ + +#Depend from other modules +.if !${SAL_MODULE} == "kernel" +.for D in ${${SAL_MODULE_UPPER}_DEPEND} + CONFIGURE_ENV+= ${D}_ROOT_DIR=${LOCALBASE} + CPPFLAGS+= -L${LOCALBASE}/lib/salome +.endfor +.endif + +#Depndency from KERNEL module +.if !${SAL_MODULE} == "kernel" +BUILD_DEPENDS+= ${RESOURCEDIR}/kernel:${PORTSDIR}/cad/salome-kernel +RUN_DEPENDS+= ${RESOURCEDIR}/kernel:${PORTSDIR}/cad/salome-kernel +.endif + + +#Depndency from GUI module +.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "gui" +BUILD_DEPENDS+= ${RESOURCEDIR}/gui:${PORTSDIR}/cad/salome-gui +RUN_DEPENDS+= ${RESOURCEDIR}/gui:${PORTSDIR}/cad/salome-gui +.endif + +#Depndency from MED module +.if ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "sierpinsky" || ${SAL_MODULE} == "multipr" || ${SAL_MODULE} == "visu" +BUILD_DEPENDS+= ${RESOURCEDIR}/med:${PORTSDIR}/cad/salome-med +RUN_DEPENDS+= ${RESOURCEDIR}/med:${PORTSDIR}/cad/salome-med +.endif + +#Depndency from GEOM module +.if ${SAL_MODULE} == "smesh" +BUILD_DEPENDS+= ${RESOURCEDIR}/geom:${PORTSDIR}/cad/salome-geom +RUN_DEPENDS+= ${RESOURCEDIR}/geom:${PORTSDIR}/cad/salome-geom +.endif + +#Dependency for SIERPINSKY +.if ${SAL_MODULE} == "sierpinsky" +BUILD_DEPENDS+= ${RESOURCEDIR}/visu:${PORTSDIR}/cad/salome-visu \ + ${RESOURCEDIR}/randomizer:${PORTSDIR}/cad/salome-randomizer +RUN_DEPENDS+= ${RESOURCEDIR}/visu:${PORTSDIR}/cad/salome-visu \ + ${RESOURCEDIR}/randomizer:${PORTSDIR}/cad/salome-randomizer +.endif + + +########################################################################### +#Dependency from other ports +########################################################################### +#Dependency from autotools +USE_AUTOTOOLS= autoconf:262 automake:15 libtool:22 + +#Dependency from HDF5 +.if !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "yacs" && !${SAL_MODULE} == "hello" && !${SAL_MODULE} == "pyhello" +LIB_DEPENDS+= hdf5.0:${PORTSDIR}/science/hdf5 +CONFIGURE_ARGS+= --with-hdf5=${LOCALBASE} +.endif + +#Dependency from Opencascade +.if !${SAL_MODULE} == "kernel" +LIB_DEPENDS+= TKernel.0:${PORTSDIR}/cad/opencascade +CASROOT= ${LOCALBASE}/OpenCAS/ros +CONFIGURE_ENV+= CASROOT=${CASROOT} +#CXXFLAGS+= -I${CASROOT}/inc +.endif + +#Dependency from swig +.if !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "light" && !${SAL_MODULE} == "multipr" +BUILD_DEPENDS+= swig:${PORTSDIR}/devel/swig13 +.endif + +#Dependency from doxygen +BUILD_DEPENDS+= doxygen:${PORTSDIR}/devel/doxygen + +#Dependency from libxml2 +.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "med" || ${SAL_MODULE} == "yacs" +LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2 +CPPFLAGS+= -I${LOCALBASE}/include/libxml2 +CONFIGURE_ENV+= LIBXML_DIR=${LOCALBASE} +.endif + +#Dependency from boost +.if !${SAL_MODULE} == "light" && !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "pycalculator" && !${SAL_MODULE} == "light" +CONFIGURE_ENV+= BOOSTDIR=${LOCALBASE} +LIB_DEPENDS+= boost_thread:${PORTSDIR}/devel/boost-all +###python boost support off by default +RUN_DEPENDS+= ${LOCALBASE}/lib/libboost_python.so:${PORTSDIR}/devel/boost-python-libs +BUILD_DEPENDS+= ${LOCALBASE}/lib/libboost_python.so:${PORTSDIR}/devel/boost-python-libs +.endif + +#Dependency from qt4 +.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "randomizer" +USE_QT_VER= 4 +CONFIGURE_ENV+= QTDIR=${LOCALBASE} +QTFLAGS+= -I${LOCALBASE}/include/qt4 -L${LOCALBASE}/lib/qt4 +QT_COMPONENTS= gui opengl svg xml qmake_build moc_build rcc_build uic_build linguist +.endif + +#Dependency from qscintilla2 +.if ${SAL_MODULE} == "yacs" +LIB_DEPEDNS+= qscintilla2.5:${PORTSDIR}/devel/qscintilla2 +CONFIGURE_ARGS+= --with-qsci4-libraries=${QT_LIBDIR} --with-qsci4-includes=${QT_INCDIR} +.endif + + +#Dependency from vtk +.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "randomizer" +LIB_DEPENDS+= vtkCommon.5:${PORTSDIR}/math/vtk5 +CONFIGURE_ENV+= VTKHOME=${LOCALBASE} +.endif + +#Dependency from qwt5 +.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component" || ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "visu" || ${SAL_MODULE} == "filter" +LIB_DEPENDS+= qwt.5:${PORTSDIR}/x11-toolkits/qwt5 +#CONFIGURE_ENV+= QWTHOME=${LOCALBASE} +CONFIGURE_ARGS+= --with-qwt=${LOCALBASE} +CPPFLAGS+= -I/${LOCALBASE}/include/qwt/ +.endif + +#Dependency from omniORB & py-omniorb +.if !${SAL_MODULE} == "light" +LIB_DEPENDS+= omniORB4.1:${PORTSDIR}/devel/omniORB +RUN_DEPENDS+= ${LOCALBASE}/include/omniORBpy.h:${PORTSDIR}/devel/py-omniorb +RUN_DEPENDS+= notifd:${PORTSDIR}/devel/omniNotify +.endif + +#Dependency from sip +.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component" +BUILD_DEPENDS+= sip:${PORTSDIR}/devel/py-sip +RUN_DEPENDS+= sip:${PORTSDIR}/devel/py-sip +.endif + +#Dependency from Pyqt4 +.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component" +CONFIGURE_ENV+= PYQTDIR=${PYTHON_SITELIBDIR} PYQT_SIPS=${LOCALBASE}/share/py-sip +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:${PORTSDIR}/x11-toolkits/py-qt4-gui +BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:${PORTSDIR}/x11-toolkits/py-qt4-gui +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtXml.so:${PORTSDIR}/textproc/py-qt4-xml +BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtXml.so:${PORTSDIR}/textproc/py-qt4-xml +.endif + +#Dependency from metis & scotsch +.if ${SAL_MODULE} == "med" +BUILD_DEPENDS+= kmetis:${PORTSDIR}/math/metis \ + gmap:${PORTSDIR}/cad/scotch +RUN_DEPENDS+= kmetis:${PORTSDIR}/math/metis \ + gmap:${PORTSDIR}/cad/scotch +CONFIGURE_ENV+= METISDIR=${LOCALBASE} SCOTCHDIR=${LOCALBASE} +CPPFLAGS+= -I${LOCALBASE}/include/metis +.endif + +#Dependency from graphviz +BUILD_DEPENDS+= gvgen:${PORTSDIR}/graphics/graphviz + +#Dependency from MED +.if ${SAL_MODULE} == "med" +LIB_DEPENDS+= med.2:${PORTSDIR}/french/med +CONFIGURE_ENV+= MED2HOME=${LOCALBASE} +.endif + +.if ${SAL_MODULE} == "yacs" +LIB_DEPENDS+= argp.0:${PORTSDIR}/devel/argp-standalone +LIB_DEPENDS+= expat.6:${PORTSDIR}/textproc/expat2 +LDFLAGS+= -largp +.endif + +#Don't strip binaries +.if ${SAL_MODULE} == "multipr" +STRIP= +.endif + +#optionally dependency from cppunit +.if ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "yacs" || ${SAL_MODULE} == "med" +.if defined(WITH_CPPUNIT) +CONFIGURE_ARGS+= --with-cppunit=${LOCALBASE} --with-cppunit_inc=${LOCALBASE}/include/cppunit +BUILD_DEPENDS+= cppunit-config:${PORTSDIR}/devel/cppunit +PLIST_SUB+= CPPUNIT="" +. else +CONFIGURE_ARGS+= --with-cppunit=no +PLIST_SUB+= CPPUNIT="@comment " +.endif +.endif + +.if ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "med" +.if defined(WITH_MPI) +BUILD_DEPENDS+= ${LOCALBASE}/mpich2/bin/mpicc:${PORTSDIR}/net/mpich2 +RUN_DEPENDS+= ${LOCALBASE}/mpich2/lib/libmpich.so:${PORTSDIR}/net/mpich2 +CONFIGURE_ARGS+= --with-mpich=${LOCALBASE}/mpich2 --with-mpi=${LOCALBASE}/mpich2 +PLIST_SUB+= MPI="" +. else +#CONFIGURE_ARGS+= --with-mpich=NO --with-mpi=NO +PLIST_SUB+= MPI="@comment " +.endif +.endif + +CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" CXXFLAGS="${QSCIFLAGS} ${QTFLAGS} ${CXXFLAGS} " CPPFLAGS="${CPPFLAGS}" + +.include + +#MAKE_JOBS_SAFE= yes + +.if ${SAL_MODULE} == "kernel" +. if ${PYTHON_REL} > 260 + post-patch: + ${REINPLACE_CMD} 's|fromlist=None)|fromlist=None, level=-1)|g' ${WRKSRC}/src/KERNEL_PY/import_hook.py +. endif +.endif + +.if ${SAL_MODULE} == "kernel" + pre-patch: + ${MKDIR} ${WRKSRC}/src/Communication/rpc + ${CP} /usr/include/rpc/xdr.h ${WRKSRC}/src/Communication/rpc + ${REINPLACE_CMD} 's|__rpc_xdr|XDR|g' ${WRKSRC}/src/Communication/rpc/xdr.h +.endif + + + pre-configure: +# SAL_MODULE_UPPER=`${ECHO} ${SAL_MODULE} | ${AWK} '{ print(toupper($1)); }'`; \ + MMDEPENDS="${${SAL_MODULE_UPPER}_DEPEND}"; \ + for D in $${MMDEPENDS}; do \ + export "$$D"_ROOT_DIR=${LOCALBASE}; \ + if test "$$D"="MED2"; then \ + export MED2HOME=${LOCALBASE}; \ + fi; \ + if test "$$D"="QWT"; then \ + export QWTHOME=${LOCALBASE}; \ + fi; \ + if test "$$D"="HDF5HOME"; then \ + export HDF5HOME=${LOCALBASE}; \ + fi; \ + if test "$$D"="CASROOT"; then \ + export CASROOT=${CASROOT}; \ + fi; \ + if test "$$D"="QT"; then \ + export QTDIR=${LOCALBASE}; \ + fi; \ + if test "$$D"="OMNIORB"; then \ + export OMNIORBDIR=${LOCALBASE}; \ + fi; \ + echo "$$D"_ROOT_DIR; \ + done; \ + MACHINE=${OPSYS:U}; export MACHINE; set ${SAL_MODULE_UPPER}_ROOT_DIR ${PREFIX}; export ${SAL_MODULE_UPPER}_ROOT_DIR; cd ${WRKSRC}; ${MKDIR} ${BUILD_WRKSRC}; ${SH} ./build_configure + +.include diff --git a/cad/salome/distinfo b/cad/salome/distinfo new file mode 100644 index 000000000000..01f42435a057 --- /dev/null +++ b/cad/salome/distinfo @@ -0,0 +1,3 @@ +MD5 (salome/src5.1.3.tar.gz) = 8564d0a7ef94d4d6d4b4c82ade84b1b0 +SHA256 (salome/src5.1.3.tar.gz) = 78ce2acc9cfa474e030723674f4420c420fd2de926b1939455c3716f1fd48a2b +SIZE (salome/src5.1.3.tar.gz) = 106470135 diff --git a/cad/salome/pkg-descr b/cad/salome/pkg-descr new file mode 100644 index 000000000000..b3d55a00af95 --- /dev/null +++ b/cad/salome/pkg-descr @@ -0,0 +1,19 @@ +SALOME is a free software that provides a generic platform for Pre +and Post-Processing for numerical simulation. ++Supports interoperability between CAD modeling and + computation software (CAD-CAE link) ++Makes easier the integration of new components on heterogeneous systems + for numerical computation ++Sets the priority to multi-physics coupling between computation software ++Provides a generic user interface, user-friendly and efficient, + which helps to reduce the costs and delays of carrying out the studies ++Reduces training time to the specific time for learning the software solution + which has been based on this platform ++All functionalities are accessible through the programmatic + integrated Python console + +This package contains meta-port. + +WWW: http://www.salome-platform.org +- Stas Timokhin +devel@stasyan.com -- cgit v1.2.3