git: ccec2df8f056 - main - databases/rubygem-red-arrow: Add rubygem-red-arrow 8.0.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 09 Oct 2022 15:38:56 UTC
The branch main has been updated by sunpoet:

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

commit ccec2df8f05632d74f827d6d263e937237ddd291
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-10-09 15:19:08 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-10-09 15:37:43 +0000

    databases/rubygem-red-arrow: Add rubygem-red-arrow 8.0.0
    
    Red Arrow is the Ruby bindings of Apache Arrow. Red Arrow is based on GObject
    Introspection.
    
    Apache Arrow is an in-memory columnar data store. It's used by many products for
    data analytics.
    
    GObject Introspection is a middleware for language bindings of C library.
    GObject Introspection can generate language bindings automatically at runtime.
    
    Red Arrow uses Apache Arrow GLib and gobject-introspection gem to generate Ruby
    bindings of Apache Arrow.
    
    See also: https://github.com/apache/arrow/tree/master/ruby/red-arrow
---
 databases/Makefile                                 |  1 +
 databases/rubygem-red-arrow/Makefile               | 25 ++++++++++++++++++++++
 databases/rubygem-red-arrow/distinfo               |  3 +++
 .../files/patch-ext-arrow-extconf.rb               | 11 ++++++++++
 databases/rubygem-red-arrow/pkg-descr              | 13 +++++++++++
 5 files changed, 53 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 5312e3be50ac..a6bb2932bfc7 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -982,6 +982,7 @@
     SUBDIR += rubygem-postgres_ext
     SUBDIR += rubygem-puppetdb_cli
     SUBDIR += rubygem-rbase
+    SUBDIR += rubygem-red-arrow
     SUBDIR += rubygem-redis
     SUBDIR += rubygem-redis-actionpack
     SUBDIR += rubygem-redis-actionpack-rails5
diff --git a/databases/rubygem-red-arrow/Makefile b/databases/rubygem-red-arrow/Makefile
new file mode 100644
index 000000000000..6c1e34b7731d
--- /dev/null
+++ b/databases/rubygem-red-arrow/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	red-arrow
+PORTVERSION=	8.0.0
+CATEGORIES=	databases rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Ruby bindings of Apache Arrow
+WWW=		https://arrow.apache.org/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+LIB_DEPENDS=	libarrow-glib.so:databases/arrow-glib
+RUN_DEPENDS=	rubygem-bigdecimal>=2.0.3:math/rubygem-bigdecimal \
+		rubygem-extpp>=0.0.7:devel/rubygem-extpp \
+		rubygem-gio2>=3.5.0:devel/rubygem-gio2 \
+		rubygem-native-package-installer>=0:devel/rubygem-native-package-installer \
+		rubygem-pkg-config>=0:devel/rubygem-pkg-config \
+
+USES=		gem localbase
+USE_RUBY=	yes
+
+CFLAGS+=	-I${LOCALBASE}/include
+
+.include <bsd.port.mk>
diff --git a/databases/rubygem-red-arrow/distinfo b/databases/rubygem-red-arrow/distinfo
new file mode 100644
index 000000000000..896a205483a6
--- /dev/null
+++ b/databases/rubygem-red-arrow/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665073074
+SHA256 (rubygem/red-arrow-8.0.0.gem) = 57b460b3a1672cf2b255a86195e817aa196dc7e701d104ab30ca95bb13323d89
+SIZE (rubygem/red-arrow-8.0.0.gem) = 97792
diff --git a/databases/rubygem-red-arrow/files/patch-ext-arrow-extconf.rb b/databases/rubygem-red-arrow/files/patch-ext-arrow-extconf.rb
new file mode 100644
index 000000000000..e1efe63ad39e
--- /dev/null
+++ b/databases/rubygem-red-arrow/files/patch-ext-arrow-extconf.rb
@@ -0,0 +1,11 @@
+--- ext/arrow/extconf.rb.orig	2022-09-13 15:47:51 UTC
++++ ext/arrow/extconf.rb
+@@ -65,7 +65,7 @@ unless required_pkg_config_package([
+ end
+ 
+ [
+-  ["glib2", "ext/glib2"],
++  ["glib2", "lib"],
+ ].each do |name, relative_source_dir|
+   spec = find_gem_spec(name)
+   source_dir = File.join(spec.full_gem_path, relative_source_dir)
diff --git a/databases/rubygem-red-arrow/pkg-descr b/databases/rubygem-red-arrow/pkg-descr
new file mode 100644
index 000000000000..6013643d5b20
--- /dev/null
+++ b/databases/rubygem-red-arrow/pkg-descr
@@ -0,0 +1,13 @@
+Red Arrow is the Ruby bindings of Apache Arrow. Red Arrow is based on GObject
+Introspection.
+
+Apache Arrow is an in-memory columnar data store. It's used by many products for
+data analytics.
+
+GObject Introspection is a middleware for language bindings of C library.
+GObject Introspection can generate language bindings automatically at runtime.
+
+Red Arrow uses Apache Arrow GLib and gobject-introspection gem to generate Ruby
+bindings of Apache Arrow.
+
+See also: https://github.com/apache/arrow/tree/master/ruby/red-arrow