aboutsummaryrefslogtreecommitdiffstats
path: root/main/pgtcl
diff options
context:
space:
mode:
Diffstat (limited to 'main/pgtcl')
-rw-r--r--main/pgtcl/APKBUILD81
-rw-r--r--main/pgtcl/pgtcl-tests.patch91
2 files changed, 147 insertions, 25 deletions
diff --git a/main/pgtcl/APKBUILD b/main/pgtcl/APKBUILD
index b3ea308bc5a..e804851dc5b 100644
--- a/main/pgtcl/APKBUILD
+++ b/main/pgtcl/APKBUILD
@@ -1,30 +1,40 @@
# Contributor: G.J.R. Timmer <gjr.timmer@gmail.com>
-# Maintainer: G.J.R. Timmer <gjr.timmer@gmail.com>
+# Maintainer: rubicon <rubicon@mailo.com>
pkgname=pgtcl
-_pkgname=Pgtcl
-pkgver=2.1.0
-pkgrel=1
+pkgver=3.0.1
+pkgrel=0
pkgdesc="Tcl client side interface to PostgreSQL (libpgtcl)"
url="https://flightaware.github.io/Pgtcl/"
arch="all"
license="BSD-3-Clause"
-makedepends="postgresql-dev tcl-dev docbook2x"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/flightaware/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+depends="tcl"
+makedepends="autoconf libpq-dev tcl-dev"
+checkdepends="postgresql"
+subpackages="$pkgname-doc $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/flightaware/Pgtcl/archive/v$pkgver.tar.gz
+ pgtcl-tests.patch
+ "
+builddir="$srcdir/Pgtcl-$pkgver"
-prepare() {
- default_prepare || return 1
+ERROR_CLEANUP="$ERROR_CLEANUP srcdir"
- cd "$builddir"
- sed -i -e 's/docbook2man/docbook2x-man/g' \
- -e 's|sh \./fix-fi\.sh man/\*||g' \
- doc/Makefile
+cleanup_srcdir() {
+ if [ -f "$_data_dir"/postmaster.pid ]; then
+ local pg_pid="$(head -1 "$_data_dir"/postmaster.pid)"
+ msg "Killing PostgreSQL test server with PID: $pg_pid"
+ kill "$pg_pid"
+ fi
+ default_cleanup_srcdir
}
-build() {
- cd "$builddir"
+prepare() {
+ default_prepare
+ sed -i "s/@USER@/${USER:-$(id -un)}/" tests/conninfo.tcl
+ autoupdate
+ autoreconf -fiv
+}
+build() {
local x64_flags
case "$CARCH" in
aarch64 | x86_64) x64_flags="--enable-64bit";;
@@ -37,19 +47,40 @@ build() {
--mandir=/usr/share/man \
--disable-rpath \
--enable-threads \
- $x64_flags \
- || return 1
- make || return 1
+ $x64_flags
+ make
}
-package() {
- cd "$builddir"
+check() {
+ export PATH="/usr/libexec/postgresql:$PATH"
+ _data_dir="$srcdir"/pgtcltest
+ local socket_dir="$srcdir"
- make DESTDIR="$pkgdir" install || return 1
- make -C doc DESTDIR="$pkgdir" all || return 1
+ rm -vrf "$_data_dir"
+ mkdir -vp "$_data_dir"
+ pg_ctl initdb -D "$_data_dir"
+ pg_ctl start -D "$_data_dir" -o -k"$socket_dir"
+ createdb -h "$socket_dir" pgtcl
+
+ make test TESTFLAGS="-verbose pbtels -notfile 'sqlite3.test'"
+ cd tests
+ psql -h "$socket_dir" -d pgtcl -c '\i create.sql'
+ local test; for test in import*.tcl; do
+ msg "Testing $test"
+ time tclsh $test
+ done
+
+ pg_ctl stop -D "$_data_dir" -m immediate
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
# Remove empty directories.
- rmdir "$pkgdir"/usr/bin "$pkgdir"/usr/include
+ rmdir -v "$pkgdir"/usr/bin
}
-sha512sums="895f81548d5fde128b258cfb9cad732f539089a7c89bad08b7bc8a229d7f2ecdb9b31a374ddb3fb392ed3e20ba45cca47c2dccfa6ab86e617177f7021d08b3b3 pgtcl-2.1.0.tar.gz"
+sha512sums="
+a50eca8d48b88439747e43e32c7e79e325ac73d2864467e0713b3c8e2ea811942780baef3283796c4eb9ee618b55fa10af75737e4972f77293c6eca831213e66 pgtcl-3.0.1.tar.gz
+8c9f5bf024919dd59f29ecc99d1be305169c1a6a8dcad1ff0bcaefda4e1d206731b867340167adf44f7e607745152a7745a4d1dc4a67f835de469990ed9e1cd8 pgtcl-tests.patch
+"
diff --git a/main/pgtcl/pgtcl-tests.patch b/main/pgtcl/pgtcl-tests.patch
new file mode 100644
index 00000000000..445c2232aac
--- /dev/null
+++ b/main/pgtcl/pgtcl-tests.patch
@@ -0,0 +1,91 @@
+--- a/tests/conninfo.tcl
++++ b/tests/conninfo.tcl
+@@ -4,8 +4,8 @@
+ array set conninfo {
+ host localhost
+ port 5432
+- dbname ####
+- user ####
++ dbname pgtcl
++ user @USER@
+ }
+
+ # Or copy and fill out the above datastructure into ~/.conninfo
+--- a/tests/pgtcl.test
++++ b/tests/pgtcl.test
+@@ -1045,7 +1045,7 @@
+ lappend res [string equal $val $val2]
+ ::pg::disconnect $conn
+
+- lappend res [regexp {(7|8|9|10|11|12)0([0-9])[012]([0-9])} $val]
++ lappend res [regexp {(7|8|9|10|11|12|13|14)0([0-9])[012]([0-9])} $val]
+
+ } -result [list 1 1]
+
+@@ -1079,9 +1079,9 @@
+ lappend res [string equal $val $val2]
+ ::pg::disconnect $conn
+
+- set match [regexp {(7|8|9|10|11|12)\.([0-9])\.([0-9])} $val]
++ set match [regexp {(7|8|9|10|11|12|13|14)\.([0-9])\.([0-9])} $val]
+ if {!$match} {
+- set match [regexp {^(10|11|12)\.[1-9][0-9]* \(.*} $val]
++ set match [regexp {^(10|11|12|13|14)\.[1-9][0-9]*} $val]
+ }
+ lappend res $match
+
+--- a/tests/import_sampledata.tcl
++++ b/tests/import_sampledata.tcl
+@@ -4,6 +4,8 @@
+ # $Id$
+ #
+
++lappend auto_path ..
++
+ package require Pgtcl
+
+ if {[file exists conninfo.tcl]} {
+--- a/tests/import_sampledata_connobj.tcl
++++ b/tests/import_sampledata_connobj.tcl
+@@ -5,6 +5,8 @@
+ # $Id$
+ #
+
++lappend auto_path ..
++
+ package require Pgtcl
+
+ if {[file exists conninfo.tcl]} {
+--- a/tests/import_sampledata_onetransaction.tcl
++++ b/tests/import_sampledata_onetransaction.tcl
+@@ -5,6 +5,8 @@
+ # $Id$
+ #
+
++lappend auto_path ..
++
+ package require Pgtcl
+
+ if {[file exists conninfo.tcl]} {
+--- a/tests/import_sampledata_prepared.tcl
++++ b/tests/import_sampledata_prepared.tcl
+@@ -5,6 +5,8 @@
+ # $Id$
+ #
+
++lappend auto_path ..
++
+ package require Pgtcl
+
+ if {[file exists conninfo.tcl]} {
+--- a/tests/import_sampledata_prepared_onetransaction.tcl
++++ b/tests/import_sampledata_prepared_onetransaction.tcl
+@@ -5,6 +5,8 @@
+ # $Id$
+ #
+
++lappend auto_path ..
++
+ package require Pgtcl
+
+ if {[file exists conninfo.tcl]} {