Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1,45 @@ +# Created by: Jov +# $FreeBSD$ + +PORTNAME= pgloader3 +PORTVERSION= 3.3.2 +DISTVERSIONPREFIX= v +CATEGORIES= databases + +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_PROJECT= pgloader +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 Index: distinfo =================================================================== --- /dev/null +++ distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1497510374 +SHA256 (dimitri-pgloader-v3.3.2_GH0.tar.gz) = 09408a976ca1e474e5461db766e0a1efef446303cb744ec3748356b98cf0efbd +SIZE (dimitri-pgloader-v3.3.2_GH0.tar.gz) = 4198989 +SHA256 (amutu-quicklisp_offline-e9008cc_GH0.tar.gz) = 2085b87b2c62b0eca85784995c86a66a0a202950c242e100273c9cea4cde0453 +SIZE (amutu-quicklisp_offline-e9008cc_GH0.tar.gz) = 4833120 Index: files/patch-Makefile =================================================================== --- /dev/null +++ files/patch-Makefile @@ -0,0 +1,37 @@ +--- Makefile.orig 2016-12-03 16:38:52 UTC ++++ Makefile +@@ -71,20 +71,20 @@ docs: + ronn -roff pgloader.1.md + + $(QLDIR)/local-projects/qmynd: +- git clone --depth 1 https://github.com/qitab/qmynd.git $@ ++# git clone --depth 1 https://github.com/qitab/qmynd.git $@ + + $(QLDIR)/local-projects/cl-ixf: +- git clone --depth 1 https://github.com/dimitri/cl-ixf.git $@ ++# git clone --depth 1 https://github.com/dimitri/cl-ixf.git $@ + + $(QLDIR)/local-projects/cl-db3: +- git clone --depth 1 https://github.com/dimitri/cl-db3.git $@ ++# git clone --depth 1 https://github.com/dimitri/cl-db3.git $@ + + $(QLDIR)/local-projects/cl-csv: +- git clone --depth 1 https://github.com/AccelerationNet/cl-csv.git $@ ++# git clone --depth 1 https://github.com/AccelerationNet/cl-csv.git $@ + + $(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"))' \ +@@ -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")' \ Index: files/patch-pgloader_wrapper.sh =================================================================== --- /dev/null +++ files/patch-pgloader_wrapper.sh @@ -0,0 +1,11 @@ +--- pgloader_wrapper.sh.orig 2017-06-15 08:44:13 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="$(/usr/bin/dirname $0)" ++exec "${BIN_DIR}"/pgloader3 "${@}" Index: pkg-descr =================================================================== --- /dev/null +++ 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