# Forked from Alpine: downgrade because of breakage in 3.35 (#1008)

pkgname=sqlite
# NOTE: pkgver needs to correspond with sqlite-tcl
pkgver=9999
_pkgver=3.34.1
pkgrel=0
pkgdesc="C library that implements an SQL database engine"
url="https://www.sqlite.org/"
arch="all"
license="Public-Domain"
makedepends="readline-dev"
subpackages="$pkgname-static $pkgname-doc $pkgname-dev $pkgname-libs"

# compute _ver
_a=${_pkgver%%.*}
_b=${_pkgver#$_a.}
_b=${_b%%.*}
_c=${_pkgver#$_a.$_b.}
_c=${_c%%.*}
case $_pkgver in
	*.*.*.*)_d=${_pkgver##*.};;
	*.*.*)	_d=0;;
esac
[ $_b -lt 10 ] && _b=0$_b
[ $_c -lt 10 ] && _c=0$_c
[ $_d -lt 10 ] && _d=0$_d
_ver=${_a}${_b}${_c}$_d

# these variables depend on _ver being set
builddir="$srcdir/$pkgname-autoconf-$_ver"
source="https://www.sqlite.org/2021/sqlite-autoconf-$_ver.tar.gz
	license.txt
	"

# secfixes:
#   3.32.1-r0:
#     - CVE-2020-13434
#     - CVE-2020-13435
#   3.30.1-r3:
#     - CVE-2020-11655
#   3.30.1-r1:
#     - CVE-2019-19242
#     - CVE-2019-19244
#   3.28.0-r0:
#     - CVE-2019-5018
#     - CVE-2019-8457

# additional CFLAGS to set
_amalgamation="-DSQLITE_ENABLE_FTS4 \
	-DSQLITE_ENABLE_FTS3_PARENTHESIS \
	-DSQLITE_ENABLE_FTS3 \
	-DSQLITE_ENABLE_FTS5 \
	-DSQLITE_ENABLE_COLUMN_METADATA \
	-DSQLITE_SECURE_DELETE \
	-DSQLITE_ENABLE_UNLOCK_NOTIFY \
	-DSQLITE_ENABLE_RTREE \
	-DSQLITE_ENABLE_GEOPOLY \
	-DSQLITE_USE_URI \
	-DSQLITE_ENABLE_DBSTAT_VTAB \
	-DSQLITE_MAX_VARIABLE_NUMBER=250000 \
	-DSQLITE_ENABLE_JSON1"

prepare() {
	if [ -f "$startdir"/../sqlite-tcl/APKBUILD ]; then
		(
		_sqlitever=$_pkgver
		. "$startdir"/../sqlite-tcl/APKBUILD
		if [ "$_sqlitever" != "$_pkgver" ]; then
			warning "sqlite-tcl version mismatch ($_sqlitever != $_pkgver)"
		fi
		)
	fi

	default_prepare
}

build() {
	export CFLAGS="$CFLAGS $_amalgamation"
	./configure \
		--build="$CBUILD" \
		--host="$CHOST" \
		--prefix=/usr \
		--enable-threadsafe \
		--enable-readline \
		--enable-static \
		--enable-dynamic-extensions \
		--enable-fts3

	# rpath removal
	sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
	sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

	make
}

check() {
	make check
}

package() {
	make DESTDIR="$pkgdir" install

	install -Dm0644 sqlite3.1 \
		"$pkgdir"/usr/share/man/man1/sqlite3.1
	install -Dm644 "$srcdir"/license.txt \
		"$pkgdir"/usr/share/licenses/$pkgname/license.txt
}

libs() {
	replaces="sqlite"
	pkgdesc="Sqlite3 library"

	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
}

static() {
	pkgdesc="Sqlite3 static library"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/lib*.a "$subpkgdir"/usr/lib/
}

sha512sums="adaa306ebacfbeeea6efe71aa964b1dee4a05ade794c55c7afad8693ed291354e9daa2449226c4dc50fbfa5919dfc9a17dea946f01171ff63d472af78cbed987  sqlite-autoconf-3340100.tar.gz
5bde14bec5bf18cc686b8b90a8b2324c8c6600bca1ae56431a795bb34b8b5ae85527143f3b5f0c845c776bce60eaa537624104cefc3a47b3820d43083f40c6e9  license.txt"
