Date: Sun, 1 Apr 2018 21:54:44 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r466185 - in head/math: . mppp Message-ID: <201804012154.w31LsiuN093623@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuri Date: Sun Apr 1 21:54:44 2018 New Revision: 466185 URL: https://svnweb.freebsd.org/changeset/ports/466185 Log: New port: math/mppp: Multiprecision for modern C++ tests and benchmarks depend on a not yet committed bug#227102 (math/mpfr update) Added: head/math/mppp/ head/math/mppp/Makefile (contents, props changed) head/math/mppp/distinfo (contents, props changed) head/math/mppp/pkg-descr (contents, props changed) head/math/mppp/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Sun Apr 1 21:45:08 2018 (r466184) +++ head/math/Makefile Sun Apr 1 21:54:44 2018 (r466185) @@ -323,6 +323,7 @@ SUBDIR += mpexpr SUBDIR += mpfr SUBDIR += mpir + SUBDIR += mppp SUBDIR += mprime SUBDIR += msieve SUBDIR += mtl Added: head/math/mppp/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/mppp/Makefile Sun Apr 1 21:54:44 2018 (r466185) @@ -0,0 +1,43 @@ +# $FreeBSD$ + +PORTNAME= mppp +DISTVERSIONPREFIX= v +DISTVERSION= 0.9-33 +DISTVERSIONSUFFIX= -g9d18861 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Multiprecision for modern C++ + +LICENSE= MPL20 +LICENSE_FILE= ${WRKSRC}/COPYING + +# build only checks that the headers exist, and then they are included in the run time +BUILD_DEPENDS= ${LOCALBASE}/include/gmp.h:math/gmp \ + ${LOCALBASE}/include/mpfr.h:math/mpfr +RUN_DEPENDS= ${LOCALBASE}/include/gmp.h:math/gmp \ + ${LOCALBASE}/include/mpfr.h:math/mpfr + +USES= cmake:outsource +USE_GITHUB= yes +GH_ACCOUNT= bluescarni +NO_BUILD= yes +NO_ARCH= yes + +TEST_USES= compiler:c++14-lang +TEST_ARGS= -DMPPP_BUILD_TESTS=ON -DMPPP_WITH_MPFR=ON #-DMPPP_WITH_QUADMATH=ON (quadmath requires __float128, only available in clang6) +BENCHMARK_ARGS= -DMPPP_BUILD_BENCHMARKS=ON -DMPPP_BENCHMARK_BOOST=ON + +do-test: + @cd ${BUILD_WRKSRC} && \ + ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${TEST_ARGS} ${CMAKE_SOURCE_PATH} && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test + +benchmarks: build # additionally depends on boost-libs + @cd ${BUILD_WRKSRC} && \ + ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${BENCHMARK_ARGS} ${CMAKE_SOURCE_PATH} && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} benchmark + +.include <bsd.port.mk> Added: head/math/mppp/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/mppp/distinfo Sun Apr 1 21:54:44 2018 (r466185) @@ -0,0 +1,3 @@ +TIMESTAMP = 1522615913 +SHA256 (bluescarni-mppp-v0.9-33-g9d18861_GH0.tar.gz) = 837da4d28c8fee3aa9004fd8c801e7ebc8653d75c5b74d6b3b752664b42125de +SIZE (bluescarni-mppp-v0.9-33-g9d18861_GH0.tar.gz) = 1280347 Added: head/math/mppp/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/mppp/pkg-descr Sun Apr 1 21:54:44 2018 (r466185) @@ -0,0 +1,18 @@ +mp++ is a C++11 library for multiprecision arithmetic, currently supporting +arbitrary-precision integers, rationals and floats, and quadruple-precision +floats. + +Based on well-known libraries such as GMP, MPFR, and others, mp++ was initially +conceived as a GMP wrapper with a special focus on performance with small +operands. In particular, a small buffer optimisation and custom implementations +of basic mathematical primitives are instrumental in achieving a performance +increase, with respect to GMP and other integer multiprecision libraries, which +can be substantial (see the benchmarks section of the documentation). The price +to pay is a small overhead when operating on large integers. + +Eventually, a multiprecision rational class and two multiprecision +floating-point classes were added, and today a secondary objective of mp++ is to +provide a modern, consistent and unified C++ interface to several lower-level +multiprecision libraries. + +WWW: https://github.com/bluescarni/mppp Added: head/math/mppp/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/mppp/pkg-plist Sun Apr 1 21:54:44 2018 (r466185) @@ -0,0 +1,22 @@ +include/mp++/concepts.hpp +include/mp++/config.hpp +include/mp++/detail/demangle.hpp +include/mp++/detail/fwd_decl.hpp +include/mp++/detail/gmp.hpp +include/mp++/detail/mpfr.hpp +include/mp++/detail/quadmath.hpp +include/mp++/detail/type_traits.hpp +include/mp++/detail/utils.hpp +include/mp++/exceptions.hpp +include/mp++/extra/pybind11.hpp +include/mp++/integer.hpp +include/mp++/mp++.hpp +include/mp++/rational.hpp +include/mp++/real.hpp +include/mp++/real128.hpp +lib/cmake/mp++/FindGMP.cmake +lib/cmake/mp++/FindMPFR.cmake +lib/cmake/mp++/FindQuadmath.cmake +lib/cmake/mp++/mp++-config-version.cmake +lib/cmake/mp++/mp++-config.cmake +lib/cmake/mp++/mp++_export.cmake
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804012154.w31LsiuN093623>