From nobody Fri Aug 4 09:07:22 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RHKbt69Nbz4gtDk; Fri, 4 Aug 2023 09:07:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RHKbt5CKhz4HKk; Fri, 4 Aug 2023 09:07:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691140042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCba5I+1U31neRyNB04mNYVbDCYXa5W7Jhuypu1reKs=; b=YF6fwi61pp4ujQDwV7HJF7r9AINdxHhHUstuQxdTQEivqbz7vF5pfbHHVs3xCJVX6DULfl YxlOY05078tdt9DWaEk19ydh49GV5gzijHUTQ1PDvTmBK3HMq7t0D4phh3R/ZdS6Rj+mvz VoJxWAAZW6rERJgHK0gYp0XTcH5sN6HeUTLk2hT8ylbBwDcOgoMBrK5727g2i/BlTOSr/e slbdyCFENBUk4RDJ9ms/Y8zRt7a6qZ8vC3HohM0rhntR5sWrReWzyK3V/1pklEkcB68gxb nB0kcqevOsWSeBXYKcDU54RwFfdLBwCCtZZe1GEeZ3OxEkTGGq7NV4iBphK31A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691140042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCba5I+1U31neRyNB04mNYVbDCYXa5W7Jhuypu1reKs=; b=lLhLCZBYs+LCEhoPV/zwYvH32UpEt2JsFutw0F6pR0gVburNbPthnWWH0qE/2WI2tVEU7B N8AmnH9AvdXJxEDRauyfP3GexXKYLUf+yx0YqIxrcNb0OhwzpGGK8Wg91T0cjA0PdqcANo rJv2HsE1CmhHOHargw66YgkKqtulUs6HukI8CTZVcg1qtiy7kdAi3lKAm80dMdswXpI07i DXEqcrs4Npxbqhkrt9xAvFuIH4/LEkDft9hz2Q4bVGCZBjjzfe3UwSO3v9UcXMlI2Cvr+1 SWW/Vhqm5HJPLC7hlsVr7vHEv9veq8Z4X+tEPRgzV86AuB7XQ2ju0RQZA8oc6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691140042; a=rsa-sha256; cv=none; b=vbIkTYWQhmtJnSMjrawSTEqYuZIcgrW6zRsDBMcPJMattDbQPeVpCJyPRlK8HZbhWUVrfx lcO748swCfdMvqKpxG9HGB8Hgsegd9XHAU6dhmAqd9j3z2PodFCu9Esg9/qq2ZB+xXx745 s002al0W0OzTRHXegKMrmLmnS7w0NxpiRJy8ndHp7HdCgoPuu8ImuNcvHqhltXZez37ITz U9MDS0ES5F2kzW/+KJvImWMyEws/Rxg7yYWXUqnG6boFxsJHsoEW0cTV4VI4hU39KWPq3k QzqpMdcmsjLtvt50PI4SthdARip0UW/hRMHcV/qRqxLilKWRpY9TSFPyA+0cvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RHKbt4HpqzwnQ; Fri, 4 Aug 2023 09:07:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37497M7j088441; Fri, 4 Aug 2023 09:07:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37497Mlc088440; Fri, 4 Aug 2023 09:07:22 GMT (envelope-from git) Date: Fri, 4 Aug 2023 09:07:22 GMT Message-Id: <202308040907.37497Mlc088440@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 6672a6559d09 - main - net/mercury: New port: C library for implementing RPC, optimized for HPC List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6672a6559d098b8721d66523bb324681462b60b8 Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=6672a6559d098b8721d66523bb324681462b60b8 commit 6672a6559d098b8721d66523bb324681462b60b8 Author: Yuri Victorovich AuthorDate: 2023-08-04 06:49:24 +0000 Commit: Yuri Victorovich 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 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 + ++#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