archrelease: copy trunk to community-any
[arch-community.git] / timescaledb-old-upgrade / trunk / PKGBUILD
blob58097a35d825bb3e9a3438a23e24ce9492d83854
1 # Maintainer: George Rawlinson <george@rawlinson.net.nz>
3 _pkgname=timescaledb
4 pkgname=timescaledb-old-upgrade
5 _commit=5e62e82341a237468b5f31a5e7d6840dec9dfbcb
6 _current_pg_version=15
7 _old_pg_version=$(( _current_pg_version-1 ))
8 # limit to last 5 releases
9 _versions=(
10   2.9.3
11   2.10.0
12   2.10.1
13   2.10.2
14   2.10.3
16 pkgver="${_versions[-1]}"
17 pkgrel=1
18 pkgdesc='TimescaleDB build for migrating between major versions of PostgreSQL'
19 arch=('x86_64')
20 url='https://www.timescale.com/'
21 license=('Apache' 'custom:Timescale')
22 depends=("timescaledb=$pkgver" 'postgresql-old-upgrade')
23 makedepends=('git' 'gcc' 'cmake' 'postgresql' 'postgresql-libs')
24 source=("$_pkgname::git+https://github.com/timescale/timescaledb#commit=$_commit")
25 b2sums=('SKIP')
27 prepare() {
28   mkdir -p build
31 build() {
32   for version in "${_versions[@]}"; do
33     cd "$srcdir/$_pkgname"
35     git checkout "$version"
37     BUILD_DIR="$srcdir/build/$version" ./bootstrap \
38       -DWARNINGS_AS_ERRORS=OFF \
39       -DREGRESS_CHECKS=OFF \
40       -DPG_PATH="/opt/pgsql-${_old_pg_version}"
42     # build shared library for $version
43     cd "$srcdir/build/$version"
45     # ensure reproducible builds (value from `lsb_release -r`)
46     # TODO: resolve https://github.com/timescale/timescaledb/issues/3480
47     sed \
48       -e "s:BUILD_OS_VERSION \".*\"$:BUILD_OS_VERSION \"rolling\":" \
49       -i src/config.h
51     if [ "$version" == "${_versions[-1]}" ]; then
52       make
53     else
54       make timescaledb timescaledb-tsl sqlfile
55     fi
56   done
59 package() {
60   cd "$_pkgname"
61   # install licenses from latest version
62   git checkout "${_versions[-1]}"
63   install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \
64     LICENSE LICENSE-APACHE tsl/LICENSE-TIMESCALE
66   # install package or past shared library
67   for version in "${_versions[@]}"; do
68     cd "$srcdir/build/$version"
69     if [ "$version" == "${_versions[-1]}" ]; then
70       make DESTDIR="$pkgdir/" install
71     else
72       install -vDm755 -t "$pkgdir/opt/pgsql-${_old_pg_version}/lib" \
73         "src/$_pkgname-$version.so" \
74         "tsl/src/$_pkgname-tsl-$version.so"
75       install -Dm644 -t "$pkgdir/opt/pgsql-${_old_pg_version}/share/extension" \
76         "sql/timescaledb--$version.sql"
77     fi
78   done