summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rawlinson2021-10-30 06:37:03 +0000
committerGeorge Rawlinson2021-10-30 06:37:03 +0000
commitee1fe5f60ff0182ea7b2b0dc5fd42e7af5155e08 (patch)
treec126ef0f2abc9007df6ae49f5746a6ceb7e39ff2
downloadaur-ee1fe5f60ff0182ea7b2b0dc5fd42e7af5155e08.tar.gz
addpkg: duckdb 0.3.0-1
-rw-r--r--.SRCINFO30
-rw-r--r--PKGBUILD73
2 files changed, 103 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b6b97e29d328
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,30 @@
+pkgbase = duckdb
+ pkgdesc = A high-performance analytical database system
+ pkgver = 0.3.0
+ pkgrel = 1
+ url = https://duckdb.org
+ arch = x86_64
+ license = MIT
+ makedepends = git
+ makedepends = cmake
+ makedepends = python-setuptools
+ makedepends = pybind11
+ makedepends = python-numpy
+ makedepends = python-pandas
+ makedepends = libutf8proc
+ makedepends = python-pip
+ makedepends = python-wheel
+ makedepends = python-setuptools-scm
+ depends = gcc-libs
+ depends = openssl
+ conflicts = duckdb-git
+ source = duckdb::git+https://github.com/duckdb/duckdb.git#commit=46a0fc50aa00ac019aee2157cf3382b85993f728
+ b2sums = SKIP
+
+pkgname = duckdb
+
+pkgname = python-duckdb
+ pkgdesc = A high-performance analytical database system (Python API)
+ depends = python
+ optdepends = python-numpy
+ optdepends = python-pandas
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..63e101c1e4e7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer: George Rawlinson <grawlinson@archlinux.org>
+
+pkgbase=duckdb
+pkgname=('duckdb' 'python-duckdb')
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="A high-performance analytical database system"
+arch=('x86_64')
+url="https://duckdb.org"
+license=('MIT')
+depends=('gcc-libs' 'openssl')
+makedepends=('git' 'cmake' 'python-setuptools' 'pybind11' 'python-numpy' 'python-pandas' 'libutf8proc' 'python-pip' 'python-wheel' 'python-setuptools-scm')
+conflicts=('duckdb-git')
+_commit='46a0fc50aa00ac019aee2157cf3382b85993f728'
+source=("$pkgbase::git+https://github.com/duckdb/duckdb.git#commit=$_commit")
+b2sums=('SKIP')
+
+pkgver() {
+ cd "$pkgbase"
+ git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "$pkgbase"
+
+ python "scripts/amalgamation.py" --extended
+
+ cmake -S . -B "$srcdir/build" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_VISUALIZER_EXTENSION=1 \
+ -DBUILD_ICU_EXTENSION=1 \
+ -DBUILD_TPCH_EXTENSION=1 \
+ -DBUILD_TPCDS_EXTENSION=1 \
+ -DBUILD_FTS_EXTENSION=1 \
+ -DBUILD_HTTPFS_EXTENSION=1 \
+ -DBUILD_PARQUET_EXTENSION=1 \
+ -DBUILD_BENCHMARKS=1 \
+ -DBUILD_REST=1 \
+ -DBUILD_TPCE=1 \
+ -DAMALGAMATION_BUILD=1
+}
+
+build() {
+ cmake --build "$srcdir/build"
+
+ python "$srcdir/$pkgbase/tools/pythonpkg/setup.py" build
+}
+
+package_duckdb() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # sqlite wrapper
+ install -vDm755 -t "$pkgdir/usr/lib" build/tools/sqlite3_api_wrapper/libsqlite3_api_wrapper.so
+
+ # license
+ install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgbase" "$pkgbase/LICENSE"
+}
+
+package_python-duckdb() {
+ pkgdesc+=" (Python API)"
+ depends=('python')
+ optdepends=('python-numpy' 'python-pandas')
+
+ # library
+ python "$pkgbase/tools/pythonpkg/setup.py" install --root="$pkgdir" --optimize=1 --skip-build
+
+ # license
+ install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase/LICENSE"
+
+ # remove cruft
+ rm -rf "$pkgdir/usr/duckdb" "$pkgdir/usr/"*.list
+}