sqlite3: Build sqlite-analyzer and docs

This commit is contained in:
Alexey Pavlov
2019-07-12 21:53:59 +03:00
parent 6a402a1c17
commit dfb110f9a6
5 changed files with 63 additions and 104 deletions

View File

@@ -1,25 +0,0 @@
All of the code and documentation in SQLite has been dedicated to the public
domain by the authors. All code authors, and representatives of the companies
they work for, have signed affidavits dedicating their contributions to the
public domain and originals of those signed affidavits are stored in a firesafe
at the main offices of Hwaci. Anyone is free to copy, modify, publish, use,
compile, sell, or distribute the original SQLite code, either in source code
form or as a compiled binary, for any purpose, commercial or non-commercial,
and by any means.
The previous paragraph applies to the deliverable code and documentation in
SQLite - those parts of the SQLite library that you actually bundle and ship
with a larger application. Some scripts used as part of the build process (for
example the "configure" scripts generated by autoconf) might fall under other
open-source licenses. Nothing from these build scripts ever reaches the final
deliverable SQLite library, however, and so the licenses associated with those
scripts should not be a factor in assessing your rights to copy and use the
SQLite library.
All of the deliverable code in SQLite has been written from scratch. No code has
been taken from other projects or from the open internet. Every line of code can
be traced back to its original author, and all of those authors have public
domain dedications on file. So the SQLite code base is clean and is
uncontaminated with licensed code from other projects.
Source: https://www.sqlite.org/copyright.html

View File

@@ -1,57 +0,0 @@
# Maintainer: David Macek <david.macek.0@gmail.com>
_realname=sqlite-analyzer
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.16.1
pkgrel=1
pkgdesc="An analysis program SQLite database files (mingw-w64)"
url="https://www.sqlite.org/"
arch=('any')
license=(PublicDomain)
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-tcl")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-fossil")
source=("LICENSE"
"lemon.patch")
sha256sums=('0b76663a90e034f3d7f2af5bfada4cedec5ebc275361899eccc5c18e6f01ff1f'
'11f11863934816ced106693e3b89ae8b1469ee8bff85482d01e92c5c8b8ad767')
prepare() {
if [ ! -f sqlite.fossil ]; then
fossil clone https://www.sqlite.org/cgi/src sqlite.fossil
fi
if [ ! -f .fslckout ]; then
fossil open sqlite.fossil
fi
fossil update version-${pkgver}
fossil revert
patch -p0 -i "${srcdir}"/lemon.patch
}
build() {
mkdir -p "${srcdir}/build-${CARCH}"
cd "${srcdir}/build-${CARCH}"
CFLAGS+=" -fexceptions -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing"
../configure \
--prefix=${MINGW_PREFIX} \
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
--build=${MINGW_CHOST} \
--enable-threadsafe \
--enable-session \
--enable-json1 \
--enable-fts3 \
--enable-fts4 \
--enable-fts5 \
--enable-rtree \
--with-tcl=${MINGW_PREFIX}/lib
make sqlite3_analyzer.exe
}
package() {
cd ${srcdir}/build-${CARCH}
install -Dm755 .libs/sqlite3_analyzer.exe "${pkgdir}${MINGW_PREFIX}/bin/sqlite3_analyzer.exe"
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}

View File

@@ -1,14 +0,0 @@
--- Makefile.in.orig 2016-02-06 23:40:09.701335700 +0100
+++ Makefile.in 2016-02-06 23:38:20.866820100 +0100
@@ -1044,10 +1044,10 @@
$(TOP)/ext/fts5/fts5_varint.c \
$(TOP)/ext/fts5/fts5_vocab.c \
-fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon
+fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon$(BEXE)
cp $(TOP)/ext/fts5/fts5parse.y .
rm -f fts5parse.h
./lemon$(BEXE) $(OPTS) fts5parse.y
fts5parse.h: fts5parse.c

View File

@@ -6,26 +6,45 @@ _realname=sqlite3
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
_amalgamationver=3290000
_docver=${_amalgamationver}
pkgver=3.29.0
pkgrel=1
pkgrel=2
pkgdesc="A C library that implements an SQL database engine (mingw-w64)"
arch=('any')
license=(PublicDomain)
url="https://www.sqlite.org"
provides=(${MINGW_PACKAGE_PREFIX}-sqlite=${pkgver}
${MINGW_PACKAGE_PREFIX}-sqlite-analyzer=${pkgver}
${MINGW_PACKAGE_PREFIX}-sqlite-docs=${pkgver})
conflicts=(${MINGW_PACKAGE_PREFIX}-sqlite-analyzer)
replaces=(${MINGW_PACKAGE_PREFIX}-sqlite-analyzer)
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-readline")
"${MINGW_PACKAGE_PREFIX}-readline"
"${MINGW_PACKAGE_PREFIX}-tcl")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
source=("https://www.sqlite.org/2019/sqlite-autoconf-${_amalgamationver}.tar.gz"
LICENSE)
sha256sums=('8e7c1e2950b5b04c5944a981cb31fffbf9d2ddda939d536838ebc854481afd5b'
'0b76663a90e034f3d7f2af5bfada4cedec5ebc275361899eccc5c18e6f01ff1f')
source=(https://www.sqlite.org/2019/sqlite-src-${_amalgamationver}.zip
https://www.sqlite.org/2019/sqlite-doc-${_docver}.zip
LICENSE
lemon.patch)
sha256sums=('a1533d97504e969ca766da8ff393e71edd70798564813fc2620b0708944c8817'
'4fb9cc6d1f29560300692029089ca1d2feb7c397df6f6eb4c2998856d3bc2929'
'0b76663a90e034f3d7f2af5bfada4cedec5ebc275361899eccc5c18e6f01ff1f'
'8f6e8e4fdcaea30801675deb296bdd1ba00eeccfeea71bca7f5325728b521a19')
options=('!strip' 'staticlibs' '!buildflags')
prepare() {
cd sqlite-src-${_amalgamationver}
patch -p0 -i "${srcdir}"/lemon.patch
}
build() {
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
export lt_cv_deplibs_check_method='pass_all'
CFLAGS+=" -fexceptions -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_USE_MALLOC_H=1 -DSQLITE_USE_MSIZE=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing"
../sqlite-autoconf-${_amalgamationver}/configure \
../sqlite-src-${_amalgamationver}/configure \
--prefix=${MINGW_PREFIX} \
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
@@ -35,12 +54,28 @@ build() {
--enable-readline \
--enable-json1 \
--enable-fts5 \
--enable-session
--enable-session \
--with-readline-inc=${MINGW_PREFIX}/include \
--with-tcl=${MINGW_PREFIX}/lib \
TCLLIBDIR=${MINGW_PREFIX}/lib/sqlite${pkgver}
make
# build additional tools
make sqlite3_analyzer.exe
}
package() {
cd ${srcdir}/build-${MINGW_CHOST}
make DESTDIR="${pkgdir}" install
install -Dm755 .libs/sqlite3_analyzer.exe "${pkgdir}${MINGW_PREFIX}/bin/sqlite3_analyzer.exe"
mv ${pkgdir}${MINGW_PREFIX}/lib/bin/*.* ${pkgdir}${MINGW_PREFIX}/lib/sqlite${pkgver}/
rm -rf ${pkgdir}${MINGW_PREFIX}/lib/bin
# Install docs
cd ${srcdir}/sqlite-doc-${_docver}
mkdir -p ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}
cp -R * ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}

View File

@@ -0,0 +1,20 @@
--- Makefile.in.orig 2016-02-06 23:40:09.701335700 +0100
+++ Makefile.in 2016-02-06 23:38:20.866820100 +0100
@@ -55,7 +55,7 @@
# Compiler options needed for programs that use the readline() library.
#
-READLINE_FLAGS = -DHAVE_READLINE=@TARGET_HAVE_READLINE@ @TARGET_READLINE_INC@
+READLINE_FLAGS = -DHAVE_READLINE=@TARGET_HAVE_READLINE@ -I@TARGET_READLINE_INC@
READLINE_FLAGS += -DHAVE_EDITLINE=@TARGET_HAVE_EDITLINE@
# The library that programs using readline() must link against.
@@ -1178,7 +1178,7 @@
$(TOP)/ext/fts5/fts5_varint.c \
$(TOP)/ext/fts5/fts5_vocab.c \
-fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon
+fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon$(BEXE)
cp $(TOP)/ext/fts5/fts5parse.y .
rm -f fts5parse.h
./lemon$(BEXE) $(OPTS) fts5parse.y