pantry/projects/duckdb.org/package.yml
Max Howell 81e7a5e16f
pkgx
2023-10-01 14:44:42 -04:00

57 lines
1.3 KiB
YAML

distributable:
url: https://github.com/duckdb/duckdb/archive/refs/tags/v{{version}}.tar.gz
strip-components: 1
versions:
github: duckdb/duckdb/releases/tags
build:
dependencies:
cmake.org: ^3
git-scm.org: '*'
working-directory: build
script: |
# duckdb uses git to get its version
git init ..
git config user.email "bot@pkgx.dev"
git config user.name "pkgxbot"
git commit --allow-empty -mnil
git tag v{{version}}
cmake ..
make --jobs {{ hw.concurrency }}
mkdir -p "{{prefix}}"/bin
mv duckdb "{{prefix}}"/bin
env:
ARGS:
- -DCMAKE_INSTALL_PREFIX="{{prefix}}"
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_ICU_EXTENSION=1
- -DBUILD_JSON_EXTENSION=1
- -DBUILD_PARQUET_EXTENSION=1
provides:
- bin/duckdb
test:
fixture: |
CREATE TABLE weather (temp INTEGER);
INSERT INTO weather (temp) VALUES (40), (45), (50);
SELECT AVG(temp) FROM weather;
script: |
out="$(duckdb < $FIXTURE)"
exp=$(cat <<EOS
┌─────────────┐
│ avg("temp") │
│ double │
├─────────────┤
│ 45.0 │
└─────────────┘
EOS)
test "$out" = "$exp"
if [[ "$(duckdb --version)" != "v{{version}}"* ]]; then
echo "invalid version" >&2
exit 1
fi