summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorTorsten Zuehlsdorff <tz@FreeBSD.org>2017-08-07 13:46:50 +0000
committerTorsten Zuehlsdorff <tz@FreeBSD.org>2017-08-07 13:46:50 +0000
commitec1e4f8f2e23f2dbd19fc650e24eb48c55557433 (patch)
tree3b448651ed91b404e1287267b264b357223374b0 /databases
parentUpdate to version 0.3.0.10 (diff)
New port: databases/pgloader3
Pgloader loads data into PostgreSQL using the COPY streaming protocol,and doing so with separate threads for reading and writing data.Asynchronous IO,compiled to the metal programming language. pgloader knows how to read data from MySQL,SQLite or dBase databases,and knows how to discover the schema and properly cast data types over.It also knows how to read CSV files in several definitions of CSV,and fixed columns files. WWW: http://pgloader.io PR: 219165 Submitted by: Jov <amutu@amutu.com>
Notes
Notes: svn path=/head/; revision=447494
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile1
-rw-r--r--databases/pgloader3/Makefile45
-rw-r--r--databases/pgloader3/distinfo5
-rw-r--r--databases/pgloader3/files/patch-Makefile38
-rw-r--r--databases/pgloader3/files/patch-pgloader__wrapper.sh11
-rw-r--r--databases/pgloader3/pkg-descr9
6 files changed, 109 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 365075068ef2..0f01bb30fced 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -586,6 +586,7 @@
SUBDIR += pgFormatter
SUBDIR += pgfouine
SUBDIR += pgloader
+ SUBDIR += pgloader3
SUBDIR += pglogical
SUBDIR += pgmodeler
SUBDIR += pgpool
diff --git a/databases/pgloader3/Makefile b/databases/pgloader3/Makefile
new file mode 100644
index 000000000000..62bd20192b1b
--- /dev/null
+++ b/databases/pgloader3/Makefile
@@ -0,0 +1,45 @@
+# Created by: Jov <amutu@amutu.com>
+# $FreeBSD$
+
+PORTNAME= pgloader
+PORTVERSION= 3.4.1
+DISTVERSIONPREFIX= v
+CATEGORIES= databases
+PKGNAMESUFFIX= 3
+
+MAINTAINER= amutu@amutu.com
+COMMENT= Data loading tool for PostgreSQL,using the COPY command
+
+LICENSE= PostgreSQL
+
+BUILD_DEPENDS= ccl:lang/ccl
+LIB_DEPENDS= libsqlite3.so:databases/sqlite3 \
+ libtdsodbc.so:databases/freetds
+
+CONFLICTS= pgloader-2*
+
+USES= gmake
+
+USE_GITHUB= yes
+GH_ACCOUNT= dimitri
+GH_TUPLE= amutu:quicklisp_offline:e9008cc:qlp/build/quicklisp
+
+PLIST_FILES= bin/pgloader \
+ bin/pgloader3 \
+ man/man1/pgloader.1.gz
+
+MAKE_ARGS= CL=ccl
+MAKE_ENV= ASDF_OUTPUT_TRANSLATIONS=/:
+
+# stripping can break lisp binaries
+STRIP=
+
+post-patch:
+ ${LN} ${WRKSRC}/build/quicklisp/quicklisp.lisp ${WRKSRC}/build
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/build/bin/pgloader ${STAGEDIR}${PREFIX}/bin/pgloader3
+ ${INSTALL_SCRIPT} ${WRKSRC}/pgloader_wrapper.sh ${STAGEDIR}${PREFIX}/bin/pgloader
+ ${INSTALL_MAN} ${WRKSRC}/pgloader.1 ${STAGEDIR}${MANPREFIX}/man/man1
+
+.include <bsd.port.mk>
diff --git a/databases/pgloader3/distinfo b/databases/pgloader3/distinfo
new file mode 100644
index 000000000000..0633adcfcc77
--- /dev/null
+++ b/databases/pgloader3/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1499825145
+SHA256 (dimitri-pgloader-v3.4.1_GH0.tar.gz) = 3ac4d03706057a35e1d4d0e63571b84be7d0d07ea09e015d90e242200488fe82
+SIZE (dimitri-pgloader-v3.4.1_GH0.tar.gz) = 4218005
+SHA256 (amutu-quicklisp_offline-e9008cc_GH0.tar.gz) = 2085b87b2c62b0eca85784995c86a66a0a202950c242e100273c9cea4cde0453
+SIZE (amutu-quicklisp_offline-e9008cc_GH0.tar.gz) = 4833120
diff --git a/databases/pgloader3/files/patch-Makefile b/databases/pgloader3/files/patch-Makefile
new file mode 100644
index 000000000000..bca53923c3b3
--- /dev/null
+++ b/databases/pgloader3/files/patch-Makefile
@@ -0,0 +1,38 @@
+--- Makefile.orig 2017-07-06 14:53:29 UTC
++++ Makefile
+@@ -84,7 +84,7 @@ $(QLDIR)/local-projects/cl-csv:
+
+ $(QLDIR)/setup.lisp:
+ mkdir -p $(BUILDDIR)
+- curl -o $(BUILDDIR)/quicklisp.lisp http://beta.quicklisp.org/quicklisp.lisp
++# curl -o $(BUILDDIR)/quicklisp.lisp http://beta.quicklisp.org/quicklisp.lisp
+ $(CL) $(CL_OPTS) --load $(BUILDDIR)/quicklisp.lisp \
+ --load src/getenv.lisp \
+ --eval '(quicklisp-quickstart:install :path "$(BUILDDIR)/quicklisp" :proxy (getenv "http_proxy"))' \
+@@ -97,7 +97,7 @@ clones: $(QLDIR)/local-projects/cl-ixf \
+ $(QLDIR)/local-projects/cl-csv \
+ $(QLDIR)/local-projects/qmynd ;
+
+-$(LIBS): $(QLDIR)/setup.lisp clones
++$(LIBS): $(QLDIR)/setup.lisp
+ $(CL) $(CL_OPTS) --load $(QLDIR)/setup.lisp \
+ --eval '(push "$(PWD)/" asdf:*central-registry*)' \
+ --eval '(ql:quickload "pgloader")' \
+@@ -113,7 +113,7 @@ $(MANIFEST): $(LIBS)
+
+ manifest: $(MANIFEST) ;
+
+-$(BUILDAPP_CCL): $(QLDIR)/setup.lisp
++$(BUILDAPP_CCL): $(QLDIR)/setup.lisp $(LIBS)
+ mkdir -p $(BUILDDIR)/bin
+ $(CL) $(CL_OPTS) --load $(QLDIR)/setup.lisp \
+ --eval '(ql:quickload "buildapp")' \
+@@ -176,7 +176,7 @@ $(BUNDLE): $(BUNDLEDIR)
+ sed -e s/%VERSION%/$(VERSION)/ < bundle/Makefile > $(BUNDLEDIR)/Makefile
+ git archive --format=tar --prefix=pgloader-$(VERSION)/ master \
+ | tar -C $(BUNDLEDIR)/local-projects/ -xf -
+- make QLDIR=$(BUNDLEDIR) clones
++ make QLDIR=$(BUNDLEDIR)
+ tar -C build/bundle \
+ --exclude bin \
+ --exclude test/sqlite \
diff --git a/databases/pgloader3/files/patch-pgloader__wrapper.sh b/databases/pgloader3/files/patch-pgloader__wrapper.sh
new file mode 100644
index 000000000000..0f6137dd9c78
--- /dev/null
+++ b/databases/pgloader3/files/patch-pgloader__wrapper.sh
@@ -0,0 +1,11 @@
+--- pgloader_wrapper.sh.orig 2017-07-14 08:47:14 UTC
++++ pgloader_wrapper.sh
+@@ -0,0 +1,8 @@
++#!/bin/sh
++
++# There is a bug for current ccl on FreeBSD, which is determine_executable_name
++# doesn't do the job for FreeBSD. Now we use this script as a workaround. See:
++# https://github.com/Clozure/ccl/issues/38
++
++BIN_DIR="$(cd $(/usr/bin/dirname $0);pwd)"
++exec "${BIN_DIR}"/pgloader3 "${@}"
diff --git a/databases/pgloader3/pkg-descr b/databases/pgloader3/pkg-descr
new file mode 100644
index 000000000000..d9e93db9ed4e
--- /dev/null
+++ b/databases/pgloader3/pkg-descr
@@ -0,0 +1,9 @@
+Pgloader loads data into PostgreSQL using the COPY streaming protocol,and
+doing so with separate threads for reading and writing data.Asynchronous
+IO,compiled to the metal programming language.
+pgloader knows how to read data from MySQL,SQLite or dBase databases,and
+knows how to discover the schema and properly cast data types over.It also
+knows how to read CSV files in several definitions of CSV,and fixed columns
+files.
+
+WWW: http://pgloader.io