git: 221ac7c3f423 - main - devel/rubygem-pairing_heap: Add rubygem-pairing_heap 0.3.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 31 Aug 2022 18:50:33 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=221ac7c3f4234f323dd8644baab9079e6353cda9

commit 221ac7c3f4234f323dd8644baab9079e6353cda9
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-08-31 18:06:33 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-08-31 18:49:28 +0000

    devel/rubygem-pairing_heap: Add rubygem-pairing_heap 0.3.0
    
    PairingHeap is a pure Ruby priority queue implementation using a pairing heap as
    the underlying data structure. While a pairing heap is asymptotically less
    efficient than the Fibonacci heap, it is usually faster in practice. This makes
    it a popular choice for Prim's MST or Dijkstra's algorithm implementations.
    
    PairingHeap is currently being used as the priority queue data structure in RGL.
    
    Also implementation without priority change support is
    provided(SimplePairingHeap), while the asymptotical complexity of the methods
    stay the same, bookkeeping of elements is not needed making, the constant
    smaller.
    
    WWW: https://github.com/mhib/pairing_heap
---
 devel/Makefile                       |  1 +
 devel/rubygem-pairing_heap/Makefile  | 17 +++++++++++++++++
 devel/rubygem-pairing_heap/distinfo  |  3 +++
 devel/rubygem-pairing_heap/pkg-descr | 13 +++++++++++++
 4 files changed, 34 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 23cb44d00fd5..203c44ff677e 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6729,6 +6729,7 @@
     SUBDIR += rubygem-ostruct
     SUBDIR += rubygem-p4ruby
     SUBDIR += rubygem-paint
+    SUBDIR += rubygem-pairing_heap
     SUBDIR += rubygem-paperclip-rails5
     SUBDIR += rubygem-paperclip-rails50
     SUBDIR += rubygem-parser
diff --git a/devel/rubygem-pairing_heap/Makefile b/devel/rubygem-pairing_heap/Makefile
new file mode 100644
index 000000000000..9a4c3055bcc1
--- /dev/null
+++ b/devel/rubygem-pairing_heap/Makefile
@@ -0,0 +1,17 @@
+PORTNAME=	pairing_heap
+PORTVERSION=	0.3.0
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Performant priority queue with support for changing priority
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+USES=		gem
+USE_RUBY=	yes
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-pairing_heap/distinfo b/devel/rubygem-pairing_heap/distinfo
new file mode 100644
index 000000000000..212ff36dc267
--- /dev/null
+++ b/devel/rubygem-pairing_heap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1661950808
+SHA256 (rubygem/pairing_heap-0.3.0.gem) = 2854a7bd7aa16f86945c816bd8235c633387716b0b594ee77d8b21f709c8cadd
+SIZE (rubygem/pairing_heap-0.3.0.gem) = 12800
diff --git a/devel/rubygem-pairing_heap/pkg-descr b/devel/rubygem-pairing_heap/pkg-descr
new file mode 100644
index 000000000000..be11d15daf61
--- /dev/null
+++ b/devel/rubygem-pairing_heap/pkg-descr
@@ -0,0 +1,13 @@
+PairingHeap is a pure Ruby priority queue implementation using a pairing heap as
+the underlying data structure. While a pairing heap is asymptotically less
+efficient than the Fibonacci heap, it is usually faster in practice. This makes
+it a popular choice for Prim's MST or Dijkstra's algorithm implementations.
+
+PairingHeap is currently being used as the priority queue data structure in RGL.
+
+Also implementation without priority change support is
+provided(SimplePairingHeap), while the asymptotical complexity of the methods
+stay the same, bookkeeping of elements is not needed making, the constant
+smaller.
+
+WWW: https://github.com/mhib/pairing_heap