## ## libsql.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2025 OpenPKG Project ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: libsql Summary: Lightweight Embedded SQL Database URL: http://libsql.org/ Vendor: D. Richard Hipp et al. Packager: OpenPKG Project Distribution: OpenPKG Community Class: EVAL Group: Database License: MIT Version: 0.2.1 Release: 20230710 # package options %option with_debug no %option with_readline no %option with_threads no %option with_fts3 no %option with_fts4 no %option with_fts5 yes %option with_json yes %option with_math yes %option with_rtree yes %option with_dlopen no # list of sources Source0: https://github.com/libsql/libsql/archive/refs/tags/libsql-%{version}.tar.gz Patch0: libsql.patch # build information BuildPreReq: OpenPKG, openpkg >= 20160101, make, gawk, tcl PreReq: OpenPKG, openpkg >= 20160101 %if "%{with_readline}" == "yes" BuildPreReq: readline, pkgconfig PreReq: readline %endif Conflicts: sqlite %description libSQL is a fork of SQLite, a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files on disk. %track prog libsql = { version = %{version} url = https://github.com/libsql/libsql/releases regex = tree/libsql-(\d+\.\d+\.\d+) } %prep %setup -q -n libsql-libsql-%{version} %patch -p0 %build # configure SQLite CC="%{l_cc}" CFLAGS="%{l_cflags -O}" CPPFLAGS="-I. %{l_cppflags}" LDFLAGS="-L. %{l_ldflags}" LIBS="-lm" export CC export CPPFLAGS export CFLAGS export LDFLAGS export LIBS GREP="grep" \ ./configure \ --prefix=%{l_prefix} \ %if "%{with_threads}" == "yes" --enable-threadsafe \ %else --disable-threadsafe \ %endif %if "%{with_readline}" == "yes" --disable-editline \ --enable-readline \ --with-readline-lib="`%{l_prefix}/bin/pkg-config --libs readline`" \ --with-readline-inc="`%{l_prefix}/bin/pkg-config --cflags readline`" \ %else --disable-editline \ --disable-readline \ %endif %if "%{with_debug}" == "yes" --enable-debug \ %else --disable-debug \ %endif %if "%{with_dlopen}" == "yes" --enable-load-extension \ %else --disable-load-extension \ %endif %if "%{with_fts3}" == "yes" --enable-fts3 \ %endif %if "%{with_fts4}" == "yes" --enable-fts4 \ %endif %if "%{with_fts5}" == "yes" --enable-fts5 \ %endif %if "%{with_json}" == "yes" --enable-json \ %endif %if "%{with_math}" == "yes" --enable-math \ %endif %if "%{with_rtree}" == "yes" --enable-rtree \ %endif --disable-tcl \ --disable-amalgamation \ --disable-shared # build SQLite %{l_make} %{l_mflags -O} %install # create installation hierarchy %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/lib \ $RPM_BUILD_ROOT%{l_prefix}/include \ $RPM_BUILD_ROOT%{l_prefix}/man/man1 # install SQLite %{l_make} %{l_mflags} install \ prefix=$RPM_BUILD_ROOT%{l_prefix} %{l_shtool} install -c -m 644 \ sqlite3.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/sqlite3.1 # strip down installation files strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true # provide convenient symlinks ln $RPM_BUILD_ROOT%{l_prefix}/bin/sqlite3 \ $RPM_BUILD_ROOT%{l_prefix}/bin/sqlite ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/sqlite3.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/sqlite.1 # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} %files -f files %clean