Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Dec 2024 06:57:54 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: b95e5ac0afb0 - main - net-p2p/aeron: New port: Reliable UDP unicast, UDP multicast, and IPC message transport
Message-ID:  <202412100657.4BA6vssS058044@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=b95e5ac0afb028d6c6f3f168ca6b091e951218f2

commit b95e5ac0afb028d6c6f3f168ca6b091e951218f2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-12-10 06:57:03 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-12-10 06:57:40 +0000

    net-p2p/aeron: New port: Reliable UDP unicast, UDP multicast, and IPC message transport
---
 net-p2p/Makefile                                   |   1 +
 net-p2p/aeron/Makefile                             |  34 +++
 net-p2p/aeron/distinfo                             |   3 +
 ...tch-aeron-client_src_main_c_util_aeron__clock.c |  11 +
 net-p2p/aeron/pkg-descr                            |   7 +
 net-p2p/aeron/pkg-plist                            | 277 +++++++++++++++++++++
 6 files changed, 333 insertions(+)

diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index baed38f9ccb0..1ea962ca10b5 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -1,5 +1,6 @@
     COMMENT = Peer-to-peer network applications
 
+    SUBDIR += aeron
     SUBDIR += amule
     SUBDIR += autoscan
     SUBDIR += awgg
diff --git a/net-p2p/aeron/Makefile b/net-p2p/aeron/Makefile
new file mode 100644
index 000000000000..b5446644554b
--- /dev/null
+++ b/net-p2p/aeron/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	aeron
+DISTVERSION=	1.44.6
+CATEGORIES=	net-p2p
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Reliable UDP unicast, UDP multicast, and IPC message transport
+WWW=		https://aeron.io/ \
+		https://github.com/real-logic/aeron
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+TEST_DEPENDS=	googletest>0:devel/googletest
+
+USES=		cmake:testing
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	real-logic
+
+CMAKE_OFF=	${CMAKE_TESTING_ON} \
+		AERON_BUILD_SAMPLES \
+		BUILD_AERON_ARCHIVE_API
+CMAKE_OFF+=	FETCHCONTENT_FULLY_DISCONNECTED
+
+CMAKE_TESTING_ON=	AERON_TESTS \
+			AERON_UNIT_TESTS \
+			AERON_SYSTEM_TESTS \
+			AERON_SLOW_SYSTEM_TESTS
+
+LDFLAGS+=	-lm
+
+# tests as of 1.44.6: 89% tests passed, 15 tests failed out of 131, see https://github.com/real-logic/aeron/issues/1696
+
+.include <bsd.port.mk>
diff --git a/net-p2p/aeron/distinfo b/net-p2p/aeron/distinfo
new file mode 100644
index 000000000000..ce5f062e045f
--- /dev/null
+++ b/net-p2p/aeron/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1733791827
+SHA256 (real-logic-aeron-1.44.6_GH0.tar.gz) = e5482fde62998d80434f73f807b29b0e4c82dd4b8d55a81f9af05cbfab151b73
+SIZE (real-logic-aeron-1.44.6_GH0.tar.gz) = 3452582
diff --git a/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__clock.c b/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__clock.c
new file mode 100644
index 000000000000..47d5457b135a
--- /dev/null
+++ b/net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__clock.c
@@ -0,0 +1,11 @@
+--- aeron-client/src/main/c/util/aeron_clock.c.orig	2024-12-10 01:20:47 UTC
++++ aeron-client/src/main/c/util/aeron_clock.c
+@@ -87,7 +87,7 @@ int aeron_clock_gettime_monotonic(struct timespec *tp)
+ 
+ int aeron_clock_gettime_monotonic(struct timespec *tp)
+ {
+-#if defined(__CYGWIN__) || defined(__linux__)
++#if defined(__CYGWIN__) || defined(__linux__) | defined(__FreeBSD__)
+     return clock_gettime(CLOCK_MONOTONIC, tp);
+ #else
+     return clock_gettime(CLOCK_MONOTONIC_RAW, tp);
diff --git a/net-p2p/aeron/pkg-descr b/net-p2p/aeron/pkg-descr
new file mode 100644
index 000000000000..43f7589e1931
--- /dev/null
+++ b/net-p2p/aeron/pkg-descr
@@ -0,0 +1,7 @@
+Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
+Java, C, C++, .NET clients are available.
+All clients can exchange messages across machines, or on the same machine
+via IPC, very efficiently. Message streams can be recorded by the Archive module
+to persistent storage for later, or real-time, replay. Aeron Cluster provides
+support for fault-tolerant services as replicated state machines based on the
+Raft consensus algorithm.
diff --git a/net-p2p/aeron/pkg-plist b/net-p2p/aeron/pkg-plist
new file mode 100644
index 000000000000..b3e8a038e981
--- /dev/null
+++ b/net-p2p/aeron/pkg-plist
@@ -0,0 +1,277 @@
+bin/aeronmd
+bin/aeronmd_s
+include/Aeron.h
+include/AeronVersion.h
+include/BufferBuilder.h
+include/ChannelUri.h
+include/ChannelUriStringBuilder.h
+include/ClientConductor.h
+include/CncFileDescriptor.h
+include/CncFileReader.h
+include/Context.h
+include/ControlledFragmentAssembler.h
+include/Counter.h
+include/DriverListenerAdapter.h
+include/DriverProxy.h
+include/ExclusivePublication.h
+include/FragmentAssembler.h
+include/HeartbeatTimestamp.h
+include/Image.h
+include/ImageControlledFragmentAssembler.h
+include/ImageFragmentAssembler.h
+include/LogBuffers.h
+include/Publication.h
+include/Subscription.h
+include/aeron/aeron_agent.h
+include/aeron/aeron_alloc.h
+include/aeron/aeron_client.h
+include/aeron/aeron_client_conductor.h
+include/aeron/aeron_cnc_file_descriptor.h
+include/aeron/aeron_common.h
+include/aeron/aeron_context.h
+include/aeron/aeron_counter.h
+include/aeron/aeron_counters.h
+include/aeron/aeron_exclusive_publication.h
+include/aeron/aeron_fragment_assembler.h
+include/aeron/aeron_image.h
+include/aeron/aeron_log_buffer.h
+include/aeron/aeron_publication.h
+include/aeron/aeron_socket.h
+include/aeron/aeron_subscription.h
+include/aeron/aeron_windows.h
+include/aeron/aeronc.h
+include/aeron/collections/aeron_array_to_ptr_hash_map.h
+include/aeron/collections/aeron_bit_set.h
+include/aeron/collections/aeron_hashing.h
+include/aeron/collections/aeron_int64_counter_map.h
+include/aeron/collections/aeron_int64_to_ptr_hash_map.h
+include/aeron/collections/aeron_int64_to_tagged_ptr_hash_map.h
+include/aeron/collections/aeron_linked_queue.h
+include/aeron/collections/aeron_map.h
+include/aeron/collections/aeron_str_to_ptr_hash_map.h
+include/aeron/command/aeron_control_protocol.h
+include/aeron/concurrent/aeron_atomic.h
+include/aeron/concurrent/aeron_atomic64_c11.h
+include/aeron/concurrent/aeron_atomic64_gcc_x86_64.h
+include/aeron/concurrent/aeron_atomic64_msvc.h
+include/aeron/concurrent/aeron_blocking_linked_queue.h
+include/aeron/concurrent/aeron_broadcast_descriptor.h
+include/aeron/concurrent/aeron_broadcast_receiver.h
+include/aeron/concurrent/aeron_broadcast_transmitter.h
+include/aeron/concurrent/aeron_concurrent_array_queue.h
+include/aeron/concurrent/aeron_counters_manager.h
+include/aeron/concurrent/aeron_distinct_error_log.h
+include/aeron/concurrent/aeron_executor.h
+include/aeron/concurrent/aeron_logbuffer_descriptor.h
+include/aeron/concurrent/aeron_mpsc_concurrent_array_queue.h
+include/aeron/concurrent/aeron_mpsc_rb.h
+include/aeron/concurrent/aeron_rb.h
+include/aeron/concurrent/aeron_spsc_concurrent_array_queue.h
+include/aeron/concurrent/aeron_spsc_rb.h
+include/aeron/concurrent/aeron_term_gap_filler.h
+include/aeron/concurrent/aeron_term_gap_scanner.h
+include/aeron/concurrent/aeron_term_rebuilder.h
+include/aeron/concurrent/aeron_term_scanner.h
+include/aeron/concurrent/aeron_term_unblocker.h
+include/aeron/concurrent/aeron_thread.h
+include/aeron/protocol/aeron_udp_protocol.h
+include/aeron/reports/aeron_loss_reporter.h
+include/aeron/status/aeron_local_sockaddr.h
+include/aeron/uri/aeron_uri.h
+include/aeron/util/aeron_arrayutil.h
+include/aeron/util/aeron_bitutil.h
+include/aeron/util/aeron_clock.h
+include/aeron/util/aeron_deque.h
+include/aeron/util/aeron_dlopen.h
+include/aeron/util/aeron_env.h
+include/aeron/util/aeron_error.h
+include/aeron/util/aeron_fileutil.h
+include/aeron/util/aeron_http_util.h
+include/aeron/util/aeron_math.h
+include/aeron/util/aeron_netutil.h
+include/aeron/util/aeron_parse_util.h
+include/aeron/util/aeron_platform.h
+include/aeron/util/aeron_properties_util.h
+include/aeron/util/aeron_strutil.h
+include/aeron/util/aeron_symbol_table.h
+include/aeronmd/aeron_congestion_control.h
+include/aeronmd/aeron_csv_table_name_resolver.h
+include/aeronmd/aeron_data_packet_dispatcher.h
+include/aeronmd/aeron_driver.h
+include/aeronmd/aeron_driver_common.h
+include/aeronmd/aeron_driver_conductor.h
+include/aeronmd/aeron_driver_conductor_proxy.h
+include/aeronmd/aeron_driver_context.h
+include/aeronmd/aeron_driver_name_resolver.h
+include/aeronmd/aeron_driver_receiver.h
+include/aeronmd/aeron_driver_receiver_proxy.h
+include/aeronmd/aeron_driver_sender.h
+include/aeronmd/aeron_driver_sender_proxy.h
+include/aeronmd/aeron_driver_version.h
+include/aeronmd/aeron_duty_cycle_tracker.h
+include/aeronmd/aeron_flow_control.h
+include/aeronmd/aeron_ipc_publication.h
+include/aeronmd/aeron_loss_detector.h
+include/aeronmd/aeron_name_resolver.h
+include/aeronmd/aeron_name_resolver_cache.h
+include/aeronmd/aeron_network_publication.h
+include/aeronmd/aeron_port_manager.h
+include/aeronmd/aeron_position.h
+include/aeronmd/aeron_publication_image.h
+include/aeronmd/aeron_retransmit_handler.h
+include/aeronmd/aeron_system_counters.h
+include/aeronmd/aeron_termination_validator.h
+include/aeronmd/aeronmd.h
+include/aeronmd/agent/aeron_driver_agent.h
+include/aeronmd/concurrent/aeron_logbuffer_unblocker.h
+include/aeronmd/media/aeron_receive_channel_endpoint.h
+include/aeronmd/media/aeron_receive_destination.h
+include/aeronmd/media/aeron_send_channel_endpoint.h
+include/aeronmd/media/aeron_timestamps.h
+include/aeronmd/media/aeron_udp_channel.h
+include/aeronmd/media/aeron_udp_channel_transport.h
+include/aeronmd/media/aeron_udp_channel_transport_bindings.h
+include/aeronmd/media/aeron_udp_channel_transport_fixed_loss.h
+include/aeronmd/media/aeron_udp_channel_transport_loss.h
+include/aeronmd/media/aeron_udp_destination_tracker.h
+include/aeronmd/media/aeron_udp_transport_poller.h
+include/aeronmd/uri/aeron_driver_uri.h
+include/command/ClientTimeoutFlyweight.h
+include/command/ControlProtocolEvents.h
+include/command/CorrelatedMessageFlyweight.h
+include/command/CounterMessageFlyweight.h
+include/command/CounterUpdateFlyweight.h
+include/command/DestinationMessageFlyweight.h
+include/command/ErrorResponseFlyweight.h
+include/command/Flyweight.h
+include/command/ImageBuffersReadyFlyweight.h
+include/command/ImageMessageFlyweight.h
+include/command/OperationSucceededFlyweight.h
+include/command/PublicationBuffersReadyFlyweight.h
+include/command/PublicationMessageFlyweight.h
+include/command/RemoveMessageFlyweight.h
+include/command/SubscriptionMessageFlyweight.h
+include/command/SubscriptionReadyFlyweight.h
+include/command/TerminateDriverFlyweight.h
+include/concurrent/AgentInvoker.h
+include/concurrent/AgentRunner.h
+include/concurrent/Atomic64.h
+include/concurrent/AtomicArrayUpdater.h
+include/concurrent/AtomicBuffer.h
+include/concurrent/AtomicCounter.h
+include/concurrent/BackOffIdleStrategy.h
+include/concurrent/BusySpinIdleStrategy.h
+include/concurrent/CountersManager.h
+include/concurrent/CountersReader.h
+include/concurrent/NoOpIdleStrategy.h
+include/concurrent/SleepingIdleStrategy.h
+include/concurrent/YieldingIdleStrategy.h
+include/concurrent/atomic/Atomic64_gcc_cpp11.h
+include/concurrent/atomic/Atomic64_gcc_x86_64.h
+include/concurrent/atomic/Atomic64_msvc.h
+include/concurrent/broadcast/BroadcastBufferDescriptor.h
+include/concurrent/broadcast/BroadcastReceiver.h
+include/concurrent/broadcast/BroadcastTransmitter.h
+include/concurrent/broadcast/CopyBroadcastReceiver.h
+include/concurrent/broadcast/RecordDescriptor.h
+include/concurrent/errors/DistinctErrorLog.h
+include/concurrent/errors/ErrorLogDescriptor.h
+include/concurrent/errors/ErrorLogReader.h
+include/concurrent/logbuffer/BufferClaim.h
+include/concurrent/logbuffer/DataFrameHeader.h
+include/concurrent/logbuffer/FrameDescriptor.h
+include/concurrent/logbuffer/Header.h
+include/concurrent/logbuffer/HeaderWriter.h
+include/concurrent/logbuffer/LogBufferDescriptor.h
+include/concurrent/logbuffer/TermBlockScanner.h
+include/concurrent/logbuffer/TermGapScanner.h
+include/concurrent/logbuffer/TermReader.h
+include/concurrent/logbuffer/TermRebuilder.h
+include/concurrent/logbuffer/TermScanner.h
+include/concurrent/reports/LossReportDescriptor.h
+include/concurrent/reports/LossReportReader.h
+include/concurrent/ringbuffer/ManyToOneRingBuffer.h
+include/concurrent/ringbuffer/OneToOneRingBuffer.h
+include/concurrent/ringbuffer/RecordDescriptor.h
+include/concurrent/ringbuffer/RingBufferDescriptor.h
+include/concurrent/status/LocalSocketAddressStatus.h
+include/concurrent/status/Position.h
+include/concurrent/status/ReadablePosition.h
+include/concurrent/status/StatusIndicatorReader.h
+include/concurrent/status/UnsafeBufferPosition.h
+include/protocol/DataHeaderFlyweight.h
+include/protocol/HeaderFlyweight.h
+include/protocol/NakFlyweight.h
+include/protocol/SetupFlyweight.h
+include/protocol/StatusMessageFlyweight.h
+include/util/BitUtil.h
+include/util/CommandOption.h
+include/util/CommandOptionParser.h
+include/util/Exceptions.h
+include/util/Export.h
+include/util/Index.h
+include/util/LangUtil.h
+include/util/MacroUtil.h
+include/util/MemoryMappedFile.h
+include/util/Platform.h
+include/util/ScopeUtils.h
+include/util/StringUtil.h
+include/wrapper/Aeron.h
+include/wrapper/BufferBuilder.h
+include/wrapper/ChannelUri.h
+include/wrapper/ChannelUriStringBuilder.h
+include/wrapper/ClientConductor.h
+include/wrapper/CncFileDescriptor.h
+include/wrapper/CncFileReader.h
+include/wrapper/Context.h
+include/wrapper/ControlledFragmentAssembler.h
+include/wrapper/Counter.h
+include/wrapper/ExclusivePublication.h
+include/wrapper/FragmentAssembler.h
+include/wrapper/HeartbeatTimestamp.h
+include/wrapper/Image.h
+include/wrapper/ImageControlledFragmentAssembler.h
+include/wrapper/ImageFragmentAssembler.h
+include/wrapper/Publication.h
+include/wrapper/Subscription.h
+include/wrapper/concurrent/AgentInvoker.h
+include/wrapper/concurrent/AgentRunner.h
+include/wrapper/concurrent/Atomic64.h
+include/wrapper/concurrent/AtomicBuffer.h
+include/wrapper/concurrent/AtomicCounter.h
+include/wrapper/concurrent/BackOffIdleStrategy.h
+include/wrapper/concurrent/BusySpinIdleStrategy.h
+include/wrapper/concurrent/CountersReader.h
+include/wrapper/concurrent/NoOpIdleStrategy.h
+include/wrapper/concurrent/SleepingIdleStrategy.h
+include/wrapper/concurrent/YieldingIdleStrategy.h
+include/wrapper/concurrent/atomic/Atomic64_gcc_cpp11.h
+include/wrapper/concurrent/atomic/Atomic64_gcc_x86_64.h
+include/wrapper/concurrent/atomic/Atomic64_msvc.h
+include/wrapper/concurrent/errors/ErrorLogReader.h
+include/wrapper/concurrent/logbuffer/BufferClaim.h
+include/wrapper/concurrent/logbuffer/DataFrameHeader.h
+include/wrapper/concurrent/logbuffer/FrameDescriptor.h
+include/wrapper/concurrent/logbuffer/Header.h
+include/wrapper/concurrent/logbuffer/LogBufferDescriptor.h
+include/wrapper/concurrent/logbuffer/TermReader.h
+include/wrapper/concurrent/status/Position.h
+include/wrapper/concurrent/status/ReadablePosition.h
+include/wrapper/concurrent/status/StatusIndicatorReader.h
+include/wrapper/concurrent/status/UnsafeBufferPosition.h
+include/wrapper/util/BitUtil.h
+include/wrapper/util/CommandOption.h
+include/wrapper/util/CommandOptionParser.h
+include/wrapper/util/Exceptions.h
+include/wrapper/util/Index.h
+include/wrapper/util/LangUtil.h
+include/wrapper/util/MacroUtil.h
+include/wrapper/util/Platform.h
+include/wrapper/util/ScopeUtils.h
+include/wrapper/util/StringUtil.h
+lib/libaeron.so
+lib/libaeron_client.a
+lib/libaeron_client_shared.so
+lib/libaeron_driver.so
+lib/libaeron_driver_static.a
+lib/libaeron_static.a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412100657.4BA6vssS058044>