aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Fechner <mfechner@FreeBSD.org>2021-01-25 19:57:21 +0800
committerMatthias Fechner <mfechner@FreeBSD.org>2021-01-25 19:57:21 +0800
commit9fd82b49be4de2a94f452e7638ee6512045f140b (patch)
tree74ac6e35afcbce81e234ca8bef233a15a2457d24
parentfead9decc5b477e0fdf051799aba429ef24885f3 (diff)
downloadfreebsd-ports-gnome-9fd82b49be4de2a94f452e7638ee6512045f140b.tar.gz
freebsd-ports-gnome-9fd82b49be4de2a94f452e7638ee6512045f140b.tar.zst
freebsd-ports-gnome-9fd82b49be4de2a94f452e7638ee6512045f140b.zip
New port required for gitlab-ce 13.8.
-rw-r--r--databases/Makefile1
-rw-r--r--databases/rubygem-pg_query/Makefile23
-rw-r--r--databases/rubygem-pg_query/distinfo3
-rw-r--r--databases/rubygem-pg_query/files/patch-ext_pg__query_extconf.rb55
-rw-r--r--databases/rubygem-pg_query/pkg-descr7
5 files changed, 89 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 4cfd0ddf42ac..bdb59f6d04f1 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -947,6 +947,7 @@
SUBDIR += rubygem-pg0
SUBDIR += rubygem-pg018
SUBDIR += rubygem-pg_array_parser
+ SUBDIR += rubygem-pg_query
SUBDIR += rubygem-pghero
SUBDIR += rubygem-pghero-rails5
SUBDIR += rubygem-pghero-rails50
diff --git a/databases/rubygem-pg_query/Makefile b/databases/rubygem-pg_query/Makefile
new file mode 100644
index 000000000000..3ed8679e660e
--- /dev/null
+++ b/databases/rubygem-pg_query/Makefile
@@ -0,0 +1,23 @@
+# Created by: Matthias Fechner <mfechner@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= pg_query
+PORTVERSION= 1.3.0
+PORTREVISION= 0
+CATEGORIES= databases rubygems
+MASTER_SITES= RG
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Parses SQL queries using a copy of the PostgreSQL server query parser
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+MY_DEPENDS= ${LOCALBASE}/lib/libpg_query.a:databases/libpg_query
+BUILD_DEPENDS= ${MY_DEPENDS}
+RUN_DEPENDS= ${MY_DEPENDS}
+
+USES= gem
+USE_RUBY= yes
+
+.include <bsd.port.mk>
diff --git a/databases/rubygem-pg_query/distinfo b/databases/rubygem-pg_query/distinfo
new file mode 100644
index 000000000000..77f92a8eb30e
--- /dev/null
+++ b/databases/rubygem-pg_query/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1611263359
+SHA256 (rubygem/pg_query-1.3.0.gem) = 0e1be8d88a8c0521b81f84d43efb8349ef1330861d4a353015b535018a1f34c5
+SIZE (rubygem/pg_query-1.3.0.gem) = 36864
diff --git a/databases/rubygem-pg_query/files/patch-ext_pg__query_extconf.rb b/databases/rubygem-pg_query/files/patch-ext_pg__query_extconf.rb
new file mode 100644
index 000000000000..401629e85688
--- /dev/null
+++ b/databases/rubygem-pg_query/files/patch-ext_pg__query_extconf.rb
@@ -0,0 +1,55 @@
+--- ext/pg_query/extconf.rb.orig 2021-01-21 21:10:31 UTC
++++ ext/pg_query/extconf.rb
+@@ -4,52 +4,9 @@ require 'digest'
+ require 'mkmf'
+ require 'open-uri'
+
+-LIB_PG_QUERY_TAG = '10-1.0.4'.freeze
+-LIB_PG_QUERY_SHA256SUM = '88cc90296e5fcaaebd0b360c46698b7c5badddf86f120e249ef682a820d41338'.freeze
+-
+ workdir = Dir.pwd
+-libdir = File.join(workdir, 'libpg_query-' + LIB_PG_QUERY_TAG)
+ gemdir = File.join(__dir__, '../..')
+-libfile = libdir + '/libpg_query.a'
+-filename = File.join(workdir, 'libpg_query-' + LIB_PG_QUERY_TAG + '.tar.gz')
+
+-unless File.exist?(filename)
+- File.open(filename, 'wb') do |target_file|
+- URI.open('https://codeload.github.com/lfittl/libpg_query/tar.gz/' + LIB_PG_QUERY_TAG, 'rb') do |read_file|
+- target_file.write(read_file.read)
+- end
+- end
+-
+- checksum = Digest::SHA256.hexdigest(File.read(filename))
+-
+- if checksum != LIB_PG_QUERY_SHA256SUM
+- raise "SHA256 of #{filename} does not match: got #{checksum}, expected #{expected_sha256}"
+- end
+-end
+-
+-unless Dir.exist?(libdir)
+- system("tar -xzf #{filename}") || raise('ERROR')
+-end
+-
+-unless Dir.exist?(libfile)
+- # Build libpg_query (and parts of PostgreSQL)
+- system(format("cd %s; %s build", libdir, ENV['MAKE'] || (RUBY_PLATFORM =~ /bsd/ ? 'gmake' : 'make')))
+-end
+-
+-# Copy test files (this intentionally overwrites existing files!)
+-system("cp #{libdir}/testdata/* #{gemdir}/spec/files/")
+-
+ $objs = ['pg_query_ruby.o']
+-
+-$LOCAL_LIBS << '-lpg_query'
+-$LIBPATH << libdir
+-$CFLAGS << " -I #{libdir} -O3 -Wall -fno-strict-aliasing -fwrapv -g"
+-
+-SYMFILE = File.join(__dir__, 'pg_query_ruby.sym')
+-if RUBY_PLATFORM =~ /darwin/
+- $DLDFLAGS << " -Wl,-exported_symbols_list #{SYMFILE}" unless defined?(::Rubinius)
+-else
+- $DLDFLAGS << " -Wl,--retain-symbols-file=#{SYMFILE}"
+-end
+
+ create_makefile 'pg_query/pg_query'
diff --git a/databases/rubygem-pg_query/pkg-descr b/databases/rubygem-pg_query/pkg-descr
new file mode 100644
index 000000000000..7a86795e7fa5
--- /dev/null
+++ b/databases/rubygem-pg_query/pkg-descr
@@ -0,0 +1,7 @@
+This Ruby extension uses the actual PostgreSQL server source
+to parse SQL queries and return the internal PostgreSQL parsetree.
+
+In addition the extension allows you to normalize queries (replacing constant
+values with ?) and parse these normalized queries into a parsetree again.
+
+WWW: https://github.com/lfittl/pg_query