Date: Mon, 7 Aug 2017 13:46:50 +0000 (UTC) From: Torsten Zuehlsdorff <tz@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r447494 - in head/databases: . pgloader3 pgloader3/files Message-ID: <201708071346.v77DkoK6016248@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: tz Date: Mon Aug 7 13:46:50 2017 New Revision: 447494 URL: https://svnweb.freebsd.org/changeset/ports/447494 Log: 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> Added: head/databases/pgloader3/ head/databases/pgloader3/Makefile (contents, props changed) head/databases/pgloader3/distinfo (contents, props changed) head/databases/pgloader3/files/ head/databases/pgloader3/files/patch-Makefile (contents, props changed) head/databases/pgloader3/files/patch-pgloader__wrapper.sh (contents, props changed) head/databases/pgloader3/pkg-descr (contents, props changed) Modified: head/databases/Makefile Modified: head/databases/Makefile ============================================================================== --- head/databases/Makefile Mon Aug 7 13:43:28 2017 (r447493) +++ head/databases/Makefile Mon Aug 7 13:46:50 2017 (r447494) @@ -586,6 +586,7 @@ SUBDIR += pgFormatter SUBDIR += pgfouine SUBDIR += pgloader + SUBDIR += pgloader3 SUBDIR += pglogical SUBDIR += pgmodeler SUBDIR += pgpool Added: head/databases/pgloader3/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/pgloader3/Makefile Mon Aug 7 13:46:50 2017 (r447494) @@ -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> Added: head/databases/pgloader3/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/pgloader3/distinfo Mon Aug 7 13:46:50 2017 (r447494) @@ -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 Added: head/databases/pgloader3/files/patch-Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/pgloader3/files/patch-Makefile Mon Aug 7 13:46:50 2017 (r447494) @@ -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 \ Added: head/databases/pgloader3/files/patch-pgloader__wrapper.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/pgloader3/files/patch-pgloader__wrapper.sh Mon Aug 7 13:46:50 2017 (r447494) @@ -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 "${@}" Added: head/databases/pgloader3/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/pgloader3/pkg-descr Mon Aug 7 13:46:50 2017 (r447494) @@ -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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708071346.v77DkoK6016248>