Skip site navigation (1)Skip section navigation (2)
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>