Date: Fri, 4 Aug 2023 09:07:22 GMT From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 6672a6559d09 - main - net/mercury: New port: C library for implementing RPC, optimized for HPC Message-ID: <202308040907.37497Mlc088440@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=6672a6559d098b8721d66523bb324681462b60b8 commit 6672a6559d098b8721d66523bb324681462b60b8 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2023-08-04 06:49:24 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2023-08-04 09:07:12 +0000 net/mercury: New port: C library for implementing RPC, optimized for HPC --- net/Makefile | 1 + net/mercury/Makefile | 29 ++++++++++++ net/mercury/distinfo | 9 ++++ net/mercury/files/patch-src_util_mercury__mem.c | 17 +++++++ net/mercury/pkg-descr | 9 ++++ net/mercury/pkg-plist | 61 +++++++++++++++++++++++++ 6 files changed, 126 insertions(+) diff --git a/net/Makefile b/net/Makefile index c6239b9ff07a..bd43587b6128 100644 --- a/net/Makefile +++ b/net/Makefile @@ -464,6 +464,7 @@ SUBDIR += mediastreamer SUBDIR += megacmd SUBDIR += megatools + SUBDIR += mercury SUBDIR += messagelib SUBDIR += mgen SUBDIR += micro_inetd diff --git a/net/mercury/Makefile b/net/mercury/Makefile new file mode 100644 index 000000000000..3426719cedf8 --- /dev/null +++ b/net/mercury/Makefile @@ -0,0 +1,29 @@ +PORTNAME= mercury +DISTVERSIONPREFIX= v +DISTVERSION= 2.3.0 +CATEGORIES= net +PKGNAMESUFFIX= -rpc + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C library for implementing RPC, optimized for HPC +WWW= https://mercury-hpc.github.io/ + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +USES= cmake:testing +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= mercury-hpc +GH_TUPLE= mercury-hpc:kwsys:ee35b49:kwsys/Testing/driver/kwsys \ + mercury-hpc:mchecksum:a4c489d:mchecksum/src/mchecksum \ + mercury-hpc:preprocessor:749783c:preprocessor/src/boost + +CMAKE_ON= BUILD_SHARED_LIBS + +.if !exists(/usr/include/byteswap.h) +BROKEN= needs /usr/include/byteswap.h +.endif + +.include <bsd.port.mk> diff --git a/net/mercury/distinfo b/net/mercury/distinfo new file mode 100644 index 000000000000..5e6dfccb0291 --- /dev/null +++ b/net/mercury/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1691129378 +SHA256 (mercury-hpc-mercury-v2.3.0_GH0.tar.gz) = 2d2bb7900ee9c32b923798352d06d859f588fb593a9943253aa3c28758fa1c6b +SIZE (mercury-hpc-mercury-v2.3.0_GH0.tar.gz) = 506473 +SHA256 (mercury-hpc-kwsys-ee35b49_GH0.tar.gz) = c3b03e95e5aca586d3fa8662d30676c60bbfad2d8d6f4e84a0c67cec3fad163f +SIZE (mercury-hpc-kwsys-ee35b49_GH0.tar.gz) = 225218 +SHA256 (mercury-hpc-mchecksum-a4c489d_GH0.tar.gz) = c3a42462b9040a049872834155832cef395a82ef78b4fd42bab4bb20ce63d07a +SIZE (mercury-hpc-mchecksum-a4c489d_GH0.tar.gz) = 28067 +SHA256 (mercury-hpc-preprocessor-749783c_GH0.tar.gz) = d22fa2122bff7dda52ba167d408a0047439f598d56c4c5b734399f6d03549a8d +SIZE (mercury-hpc-preprocessor-749783c_GH0.tar.gz) = 195007 diff --git a/net/mercury/files/patch-src_util_mercury__mem.c b/net/mercury/files/patch-src_util_mercury__mem.c new file mode 100644 index 000000000000..b9307b02020c --- /dev/null +++ b/net/mercury/files/patch-src_util_mercury__mem.c @@ -0,0 +1,17 @@ +--- src/util/mercury_mem.c.orig 2023-08-04 06:03:19 UTC ++++ src/util/mercury_mem.c +@@ -24,6 +24,14 @@ + #endif + #include <stdlib.h> + ++#ifdef MAP_ALIGNED_SUPER ++#define MAP_HUGETLB MAP_ALIGNED_SUPER // FreeBSD ++#endif ++ ++#ifndef MAP_HUGETLB ++#define MAP_HUGETLB 0 ++#endif ++ + /*---------------------------------------------------------------------------*/ + long + hg_mem_get_page_size(void) diff --git a/net/mercury/pkg-descr b/net/mercury/pkg-descr new file mode 100644 index 000000000000..0ba59abbea56 --- /dev/null +++ b/net/mercury/pkg-descr @@ -0,0 +1,9 @@ +Mercury is a Remote Procedure Call (RPC) framework specifically designed for use +in High-Performance Computing (HPC) systems with high-performance fabrics. Its +network implementation is abstracted to make efficient use of native transports +and allow easy porting to a variety of systems (including future systems). +Mercury supports asynchronous transfer of parameters and execution requests, and +has dedicated support for large data arguments that are transferred using Remote +Memory Access (RMA). Its interface is generic and allows any function call to be +serialized. Since code generation is done using the C preprocessor, no external +tool is required. diff --git a/net/mercury/pkg-plist b/net/mercury/pkg-plist new file mode 100644 index 000000000000..1c2763da023d --- /dev/null +++ b/net/mercury/pkg-plist @@ -0,0 +1,61 @@ +bin/hg_info +include/mercury.h +include/mercury_atomic.h +include/mercury_atomic_queue.h +include/mercury_bulk.h +include/mercury_byteswap.h +include/mercury_compiler_attributes.h +include/mercury_config.h +include/mercury_core.h +include/mercury_core_header.h +include/mercury_core_types.h +include/mercury_dl.h +include/mercury_dlog.h +include/mercury_event.h +include/mercury_hash_string.h +include/mercury_hash_table.h +include/mercury_header.h +include/mercury_inet.h +include/mercury_list.h +include/mercury_log.h +include/mercury_macros.h +include/mercury_mem.h +include/mercury_mem_pool.h +include/mercury_param.h +include/mercury_poll.h +include/mercury_proc.h +include/mercury_proc_bulk.h +include/mercury_proc_string.h +include/mercury_queue.h +include/mercury_request.h +include/mercury_string_object.h +include/mercury_thread.h +include/mercury_thread_annotation.h +include/mercury_thread_condition.h +include/mercury_thread_mutex.h +include/mercury_thread_pool.h +include/mercury_thread_rwlock.h +include/mercury_thread_spin.h +include/mercury_time.h +include/mercury_types.h +include/mercury_util.h +include/mercury_util_config.h +include/na.h +include/na_config.h +include/na_types.h +lib/libmercury.so +lib/libmercury.so.2 +lib/libmercury.so.2.3.0 +lib/libmercury_util.so +lib/libmercury_util.so.4 +lib/libmercury_util.so.4.0.0 +lib/libna.so +lib/libna.so.4 +lib/libna.so.4.0.0 +libdata/pkgconfig/mercury.pc +libdata/pkgconfig/mercury_util.pc +libdata/pkgconfig/na.pc +share/cmake/mercury/mercury-config-version.cmake +share/cmake/mercury/mercury-config.cmake +share/cmake/mercury/mercury-targets-%%CMAKE_BUILD_TYPE%%.cmake +share/cmake/mercury/mercury-targets.cmake
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308040907.37497Mlc088440>