diff --git a/math/Makefile b/math/Makefile index 0641a365d70e..01c448fa73cc 100644 --- a/math/Makefile +++ b/math/Makefile @@ -238,6 +238,7 @@ SUBDIR += eigen2 SUBDIR += eigen3 SUBDIR += eispack + SUBDIR += elemental SUBDIR += elpa SUBDIR += emc2 SUBDIR += ensmallen diff --git a/math/elemental/Makefile b/math/elemental/Makefile new file mode 100644 index 000000000000..3c66c3f13602 --- /dev/null +++ b/math/elemental/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +PORTNAME= elemental +DISTVERSIONPREFIX= v +DISTVERSION= 0.87.7 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Dense and sparse linear algebra, conic optimization, lattice reduction + +LICENSE= BSD2CLAUSE + +LIB_DEPENDS= libgmp.so:math/gmp \ + libmetis.so:math/metis \ + libmpc.so:math/mpc \ + libmpfr.so:math/mpfr \ + libmpi_cxx.so:net/openmpi \ + libopenblas.so:math/openblas \ + libqd.so:math/qd + +USES= cmake compiler:c++11-lang fortran +USE_GITHUB= yes +GH_PROJECT= Elemental +USE_LDCONFIG= yes + +CMAKE_ON= EL_DISABLE_PARMETIS +CMAKE_ARGS= -DGFORTRAN_LIB:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgfortran.so \ + -DFREEBSD_GCC_LIB:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so + +DOCSDIR= ${PREFIX}/share/doc/Elemental + +OPTIONS_DEFINE= DOCS + +PORTDOCS= * + +post-install: + @cd ${STAGEDIR}${PREFIX} && \ + ${MV} CMake lib/cmake && \ + ${RM} -r ${STAGEDIR}${PREFIX}/python && \ + ${RM} -r ${STAGEDIR}${PREFIX}/conf + +.include diff --git a/math/elemental/distinfo b/math/elemental/distinfo new file mode 100644 index 000000000000..ff1326460314 --- /dev/null +++ b/math/elemental/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1534478643 +SHA256 (elemental-Elemental-v0.87.7_GH0.tar.gz) = 7becfdbc223e9c72e65ae876d842c48d2037d13f83e9f41cea285e21b840d7d9 +SIZE (elemental-Elemental-v0.87.7_GH0.tar.gz) = 3011641 diff --git a/math/elemental/files/patch-CMakeLists.txt b/math/elemental/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..728b31cd83ff --- /dev/null +++ b/math/elemental/files/patch-CMakeLists.txt @@ -0,0 +1,20 @@ +--- CMakeLists.txt.orig 2017-02-07 01:23:30 UTC ++++ CMakeLists.txt +@@ -25,6 +25,8 @@ project(Elemental C CXX) + set(EL_VERSION_MAJOR 0) + set(EL_VERSION_MINOR 87) + ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + +@@ -100,7 +102,7 @@ option(EL_HYBRID "Make use of OpenMP within MPI packin + + option(EL_C_INTERFACE "Build C interface" ON) + +-if(BUILD_SHARED_LIBS AND EL_C_INTERFACE) ++if(FALSE AND BUILD_SHARED_LIBS AND EL_C_INTERFACE) # disable Python + # Define PYTHON_SITE_PACKAGES if you want to install the python package + # somewhere other than the default system-wide location (e.g., within your + # home directory). Alternatively, if you do NOT define PYTHON_SITE_PACKAGES diff --git a/math/elemental/files/patch-cmake_modules_ElCheckFunctionExists.cmake b/math/elemental/files/patch-cmake_modules_ElCheckFunctionExists.cmake new file mode 100644 index 000000000000..ccdae44c3ee2 --- /dev/null +++ b/math/elemental/files/patch-cmake_modules_ElCheckFunctionExists.cmake @@ -0,0 +1,10 @@ +--- cmake/modules/ElCheckFunctionExists.cmake.orig 2018-08-17 05:32:25 UTC ++++ cmake/modules/ElCheckFunctionExists.cmake +@@ -93,6 +93,7 @@ macro(EL_CHECK_FUNCTION_EXISTS FUNCTION + ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES} + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} ${CHECK_FUNCTION_EXISTS_ADD_LINKER_FLAGS} + "${CHECK_FUNCTION_EXISTS_ADD_INCLUDES}" ++ LINK_LIBRARIES ${FREEBSD_GCC_LIB} + OUTPUT_VARIABLE OUTPUT) + if(${VARIABLE}) + set(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}") diff --git a/math/elemental/pkg-descr b/math/elemental/pkg-descr new file mode 100644 index 000000000000..3e5bdb56df40 --- /dev/null +++ b/math/elemental/pkg-descr @@ -0,0 +1,4 @@ +Distributed-memory, arbitrary-precision, dense and sparse-direct linear algebra, +conic optimization, and lattice reduction. + +WWW: https://github.com/elemental/Elemental diff --git a/math/elemental/pkg-plist b/math/elemental/pkg-plist new file mode 100644 index 000000000000..d6d3eb8b1c1c --- /dev/null +++ b/math/elemental/pkg-plist @@ -0,0 +1,359 @@ +include/El-lite.h +include/El-lite.hpp +include/El.h +include/El.hpp +include/El/FCMangle.h +include/El/blas_like.h +include/El/blas_like.hpp +include/El/blas_like/level1.h +include/El/blas_like/level1.hpp +include/El/blas_like/level1/AllReduce.hpp +include/El/blas_like/level1/Axpy.hpp +include/El/blas_like/level1/Axpy/util.hpp +include/El/blas_like/level1/AxpyContract.hpp +include/El/blas_like/level1/AxpyTrapezoid.hpp +include/El/blas_like/level1/Broadcast.hpp +include/El/blas_like/level1/Concatenate.hpp +include/El/blas_like/level1/Conjugate.hpp +include/El/blas_like/level1/ConjugateDiagonal.hpp +include/El/blas_like/level1/ConjugateSubmatrix.hpp +include/El/blas_like/level1/Contract.hpp +include/El/blas_like/level1/Copy.hpp +include/El/blas_like/level1/Copy/AllGather.hpp +include/El/blas_like/level1/Copy/ColAllGather.hpp +include/El/blas_like/level1/Copy/ColAllToAllDemote.hpp +include/El/blas_like/level1/Copy/ColAllToAllPromote.hpp +include/El/blas_like/level1/Copy/ColFilter.hpp +include/El/blas_like/level1/Copy/Exchange.hpp +include/El/blas_like/level1/Copy/Filter.hpp +include/El/blas_like/level1/Copy/Gather.hpp +include/El/blas_like/level1/Copy/GeneralPurpose.hpp +include/El/blas_like/level1/Copy/PartialColAllGather.hpp +include/El/blas_like/level1/Copy/PartialColFilter.hpp +include/El/blas_like/level1/Copy/PartialRowAllGather.hpp +include/El/blas_like/level1/Copy/PartialRowFilter.hpp +include/El/blas_like/level1/Copy/RowAllGather.hpp +include/El/blas_like/level1/Copy/RowAllToAllDemote.hpp +include/El/blas_like/level1/Copy/RowAllToAllPromote.hpp +include/El/blas_like/level1/Copy/RowFilter.hpp +include/El/blas_like/level1/Copy/Scatter.hpp +include/El/blas_like/level1/Copy/Translate.hpp +include/El/blas_like/level1/Copy/TranslateBetweenGrids.hpp +include/El/blas_like/level1/Copy/TransposeDist.hpp +include/El/blas_like/level1/Copy/internal_decl.hpp +include/El/blas_like/level1/Copy/internal_impl.hpp +include/El/blas_like/level1/Copy/util.hpp +include/El/blas_like/level1/DiagonalScale.hpp +include/El/blas_like/level1/DiagonalScaleTrapezoid.hpp +include/El/blas_like/level1/DiagonalSolve.hpp +include/El/blas_like/level1/Dot.hpp +include/El/blas_like/level1/EntrywiseFill.hpp +include/El/blas_like/level1/EntrywiseMap.hpp +include/El/blas_like/level1/Fill.hpp +include/El/blas_like/level1/FillDiagonal.hpp +include/El/blas_like/level1/Full.hpp +include/El/blas_like/level1/GetDiagonal.hpp +include/El/blas_like/level1/GetMappedDiagonal.hpp +include/El/blas_like/level1/GetSubmatrix.hpp +include/El/blas_like/level1/Givens.hpp +include/El/blas_like/level1/Hadamard.hpp +include/El/blas_like/level1/ImagPart.hpp +include/El/blas_like/level1/IndexDependentFill.hpp +include/El/blas_like/level1/IndexDependentMap.hpp +include/El/blas_like/level1/Kronecker.hpp +include/El/blas_like/level1/MakeDiagonalReal.hpp +include/El/blas_like/level1/MakeReal.hpp +include/El/blas_like/level1/MakeSubmatrixReal.hpp +include/El/blas_like/level1/MakeSymmetric.hpp +include/El/blas_like/level1/MakeTrapezoidal.hpp +include/El/blas_like/level1/Nrm2.hpp +include/El/blas_like/level1/QuasiDiagonalScale.hpp +include/El/blas_like/level1/QuasiDiagonalSolve.hpp +include/El/blas_like/level1/RealPart.hpp +include/El/blas_like/level1/Recv.hpp +include/El/blas_like/level1/Reshape.hpp +include/El/blas_like/level1/Rotate.hpp +include/El/blas_like/level1/Round.hpp +include/El/blas_like/level1/SafeScale.hpp +include/El/blas_like/level1/Scale.hpp +include/El/blas_like/level1/ScaleTrapezoid.hpp +include/El/blas_like/level1/Send.hpp +include/El/blas_like/level1/SendRecv.hpp +include/El/blas_like/level1/SetDiagonal.hpp +include/El/blas_like/level1/SetSubmatrix.hpp +include/El/blas_like/level1/Shift.hpp +include/El/blas_like/level1/ShiftDiagonal.hpp +include/El/blas_like/level1/Transpose.hpp +include/El/blas_like/level1/Transpose/ColAllGather.hpp +include/El/blas_like/level1/Transpose/ColFilter.hpp +include/El/blas_like/level1/Transpose/PartialColAllGather.hpp +include/El/blas_like/level1/Transpose/PartialColFilter.hpp +include/El/blas_like/level1/Transpose/PartialRowFilter.hpp +include/El/blas_like/level1/Transpose/RowFilter.hpp +include/El/blas_like/level1/TransposeAxpy.hpp +include/El/blas_like/level1/TransposeAxpyContract.hpp +include/El/blas_like/level1/TransposeContract.hpp +include/El/blas_like/level1/UpdateDiagonal.hpp +include/El/blas_like/level1/UpdateMappedDiagonal.hpp +include/El/blas_like/level1/UpdateSubmatrix.hpp +include/El/blas_like/level1/Zero.hpp +include/El/blas_like/level1/decl.hpp +include/El/blas_like/level1/impl.hpp +include/El/blas_like/level2.h +include/El/blas_like/level2.hpp +include/El/blas_like/level2/CReflect.hpp +include/El/blas_like/level3.h +include/El/blas_like/level3.hpp +include/El/blas_like/level3/CReflect.hpp +include/El/config.h +include/El/control.h +include/El/control.hpp +include/El/core.h +include/El/core.hpp +include/El/core/CReflect.hpp +include/El/core/DistGraph.h +include/El/core/DistGraph.hpp +include/El/core/DistGraph/decl.hpp +include/El/core/DistMap.hpp +include/El/core/DistMap/decl.hpp +include/El/core/DistMatrix.h +include/El/core/DistMatrix.hpp +include/El/core/DistMatrix/Abstract.hpp +include/El/core/DistMatrix/Block.hpp +include/El/core/DistMatrix/Block/CIRC_CIRC.hpp +include/El/core/DistMatrix/Block/MC_MR.hpp +include/El/core/DistMatrix/Block/MC_STAR.hpp +include/El/core/DistMatrix/Block/MD_STAR.hpp +include/El/core/DistMatrix/Block/MR_MC.hpp +include/El/core/DistMatrix/Block/MR_STAR.hpp +include/El/core/DistMatrix/Block/STAR_MC.hpp +include/El/core/DistMatrix/Block/STAR_MD.hpp +include/El/core/DistMatrix/Block/STAR_MR.hpp +include/El/core/DistMatrix/Block/STAR_STAR.hpp +include/El/core/DistMatrix/Block/STAR_VC.hpp +include/El/core/DistMatrix/Block/STAR_VR.hpp +include/El/core/DistMatrix/Block/VC_STAR.hpp +include/El/core/DistMatrix/Block/VR_STAR.hpp +include/El/core/DistMatrix/Element.hpp +include/El/core/DistMatrix/Element/CIRC_CIRC.hpp +include/El/core/DistMatrix/Element/MC_MR.hpp +include/El/core/DistMatrix/Element/MC_STAR.hpp +include/El/core/DistMatrix/Element/MD_STAR.hpp +include/El/core/DistMatrix/Element/MR_MC.hpp +include/El/core/DistMatrix/Element/MR_STAR.hpp +include/El/core/DistMatrix/Element/STAR_MC.hpp +include/El/core/DistMatrix/Element/STAR_MD.hpp +include/El/core/DistMatrix/Element/STAR_MR.hpp +include/El/core/DistMatrix/Element/STAR_STAR.hpp +include/El/core/DistMatrix/Element/STAR_VC.hpp +include/El/core/DistMatrix/Element/STAR_VR.hpp +include/El/core/DistMatrix/Element/VC_STAR.hpp +include/El/core/DistMatrix/Element/VR_STAR.hpp +include/El/core/DistMultiVec.h +include/El/core/DistMultiVec.hpp +include/El/core/DistMultiVec/decl.hpp +include/El/core/DistMultiVec/impl.hpp +include/El/core/DistPermutation.hpp +include/El/core/DistSparseMatrix.h +include/El/core/DistSparseMatrix.hpp +include/El/core/DistSparseMatrix/decl.hpp +include/El/core/DistSparseMatrix/impl.hpp +include/El/core/Element.h +include/El/core/Element.hpp +include/El/core/Element/Complex/decl.hpp +include/El/core/Element/Complex/impl.hpp +include/El/core/Element/decl.hpp +include/El/core/Element/impl.hpp +include/El/core/FlamePart.hpp +include/El/core/FlamePart/Merge.h +include/El/core/FlamePart/Merge.hpp +include/El/core/FlamePart/Partition.h +include/El/core/FlamePart/Partition.hpp +include/El/core/FlamePart/Repartition.h +include/El/core/FlamePart/Repartition.hpp +include/El/core/FlamePart/SlidePartition.h +include/El/core/FlamePart/SlidePartition.hpp +include/El/core/Graph.h +include/El/core/Graph.hpp +include/El/core/Graph/decl.hpp +include/El/core/Grid.h +include/El/core/Grid.hpp +include/El/core/Matrix.h +include/El/core/Matrix.hpp +include/El/core/Matrix/decl.hpp +include/El/core/Matrix/impl.hpp +include/El/core/Memory.hpp +include/El/core/Memory/decl.hpp +include/El/core/Memory/impl.hpp +include/El/core/Permutation.h +include/El/core/Permutation.hpp +include/El/core/Proxy.hpp +include/El/core/Serialize.hpp +include/El/core/SparseMatrix.h +include/El/core/SparseMatrix.hpp +include/El/core/SparseMatrix/decl.hpp +include/El/core/SparseMatrix/impl.hpp +include/El/core/Timer.hpp +include/El/core/View.h +include/El/core/View.hpp +include/El/core/View/decl.hpp +include/El/core/View/impl.hpp +include/El/core/environment.h +include/El/core/environment/decl.hpp +include/El/core/environment/impl.hpp +include/El/core/imports/blas.hpp +include/El/core/imports/choice.hpp +include/El/core/imports/flame.hpp +include/El/core/imports/lapack.hpp +include/El/core/imports/mkl.hpp +include/El/core/imports/mpfr.hpp +include/El/core/imports/mpi.h +include/El/core/imports/mpi.hpp +include/El/core/imports/mpi_choice.hpp +include/El/core/imports/omp.hpp +include/El/core/imports/openblas.hpp +include/El/core/imports/pmrrr.hpp +include/El/core/imports/qd.hpp +include/El/core/imports/qt5.hpp +include/El/core/imports/scalapack.hpp +include/El/core/imports/scalapack/blacs.hpp +include/El/core/imports/scalapack/pblas.hpp +include/El/core/imports/suite_sparse.hpp +include/El/core/imports/valgrind.hpp +include/El/core/indexing/decl.hpp +include/El/core/indexing/impl.hpp +include/El/core/limits.hpp +include/El/core/random/decl.hpp +include/El/core/random/impl.hpp +include/El/core/types.h +include/El/core/types.hpp +include/El/io.h +include/El/io.hpp +include/El/io/CReflect.hpp +include/El/io/ComplexDisplayWindow-premoc.hpp +include/El/io/DisplayWidget.hpp +include/El/io/DisplayWindow-premoc.hpp +include/El/io/SpyWidget.hpp +include/El/io/SpyWindow.hpp +include/El/lapack_like.h +include/El/lapack_like.hpp +include/El/lapack_like/CReflect.hpp +include/El/lapack_like/condense.h +include/El/lapack_like/condense.hpp +include/El/lapack_like/condense/CReflect.hpp +include/El/lapack_like/equilibrate.hpp +include/El/lapack_like/euclidean_min.h +include/El/lapack_like/euclidean_min.hpp +include/El/lapack_like/euclidean_min/CReflect.hpp +include/El/lapack_like/factor.h +include/El/lapack_like/factor.hpp +include/El/lapack_like/factor/CReflect.hpp +include/El/lapack_like/factor/ldl/sparse/numeric.hpp +include/El/lapack_like/factor/ldl/sparse/symbolic.hpp +include/El/lapack_like/factor/ldl/sparse/symbolic/NodeInfo.hpp +include/El/lapack_like/factor/ldl/sparse/symbolic/Separator.hpp +include/El/lapack_like/factor/qr/ProxyHouseholder.hpp +include/El/lapack_like/funcs.h +include/El/lapack_like/funcs.hpp +include/El/lapack_like/perm.hpp +include/El/lapack_like/props.h +include/El/lapack_like/props.hpp +include/El/lapack_like/props/CReflect.hpp +include/El/lapack_like/reflect.h +include/El/lapack_like/reflect.hpp +include/El/lapack_like/solve.h +include/El/lapack_like/solve.hpp +include/El/lapack_like/solve/FGMRES.hpp +include/El/lapack_like/solve/LGMRES.hpp +include/El/lapack_like/solve/Refined.hpp +include/El/lapack_like/spectral.h +include/El/lapack_like/spectral.hpp +include/El/lapack_like/spectral/CReflect.hpp +include/El/lapack_like/spectral/HermitianEig.hpp +include/El/lapack_like/spectral/Lanczos.hpp +include/El/lapack_like/spectral/ProductLanczos.hpp +include/El/lapack_like/spectral/SVD.hpp +include/El/lapack_like/spectral/Schur.hpp +include/El/lapack_like/util.h +include/El/lapack_like/util.hpp +include/El/macros/CInstantiate.h +include/El/macros/GuardAndPayload.h +include/El/macros/Instantiate.h +include/El/macros/NestedGuardAndPayload.h +include/El/matrices.h +include/El/matrices.hpp +include/El/matrices/deterministic/classical/Circulant.hpp +include/El/matrices/deterministic/lattice/NTRUAttack.hpp +include/El/number_theory.h +include/El/number_theory.hpp +include/El/number_theory/DynamicSieve.hpp +include/El/number_theory/JacobiSymbol.hpp +include/El/number_theory/LegendreSymbol.hpp +include/El/number_theory/MillerRabin.hpp +include/El/number_theory/NextProbablePrime.hpp +include/El/number_theory/PowerDecomp.hpp +include/El/number_theory/PrimalityTest.hpp +include/El/number_theory/PrimitiveRoot.hpp +include/El/number_theory/SqrtModPrime.hpp +include/El/number_theory/TrialDivision.hpp +include/El/number_theory/dlog/PollardRho.hpp +include/El/number_theory/factor/PollardPMinusOne.hpp +include/El/number_theory/factor/PollardRho.hpp +include/El/number_theory/lattice.h +include/El/number_theory/lattice.hpp +include/El/number_theory/lattice/BKZ.hpp +include/El/number_theory/lattice/CReflect.hpp +include/El/number_theory/lattice/Enrich.hpp +include/El/number_theory/lattice/Enumerate.hpp +include/El/number_theory/lattice/LLL.hpp +include/El/number_theory/lattice/LLL/Left.hpp +include/El/number_theory/lattice/NearestPlane.hpp +include/El/optimization.h +include/El/optimization.hpp +include/El/optimization/CReflect.hpp +include/El/optimization/models.h +include/El/optimization/models.hpp +include/El/optimization/prox.h +include/El/optimization/prox.hpp +include/El/optimization/solvers.h +include/El/optimization/solvers.hpp +include/El/optimization/util.h +include/El/optimization/util.hpp +include/El/optimization/util/cone.hpp +include/El/optimization/util/pos_orth.hpp +include/El/optimization/util/soc.hpp +include/ElSuiteSparse/amd.h +include/ElSuiteSparse/amd_internal.h +include/ElSuiteSparse/config.h +include/ElSuiteSparse/ldl.hpp +include/ElSuiteSparse/ldl/impl.hpp +include/pmrrr.h +include/pmrrr/counter.h +include/pmrrr/global.h +include/pmrrr/plarre.h +include/pmrrr/plarrv.h +include/pmrrr/process_task.h +include/pmrrr/queue.h +include/pmrrr/rrr.h +include/pmrrr/structs.h +include/pmrrr/tasks.h +lib/cmake/elemental/ElementalConfig.cmake +lib/cmake/elemental/ElementalConfigVersion.cmake +lib/cmake/elemental/ElementalTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/elemental/ElementalTargets.cmake +lib/libEl.so +lib/libEl.so.0 +lib/libEl.so.87 +lib/libElSuiteSparse.so +lib/libElSuiteSparse.so.0 +lib/libElSuiteSparse.so.87 +lib/libpmrrr.so +lib/libpmrrr.so.0 +lib/libpmrrr.so.87 +%%DATADIR%%/lapack_like/c-41.mtx +%%DATADIR%%/lapack_like/memplus.mtx +%%DATADIR%%/number_theory/SVP80_BKZ49.txt +%%DATADIR%%/number_theory/SVPChallenge100.txt +%%DATADIR%%/number_theory/SVPChallenge146.txt +%%DATADIR%%/number_theory/SVPChallenge40.txt +%%DATADIR%%/number_theory/SVPChallenge80.txt