]> git.pld-linux.org Git - packages/sqlite3.git/blame - sqlite3.spec
up to 3.34.1
[packages/sqlite3.git] / sqlite3.spec
CommitLineData
c743401f 1# TODO:
f1015391
JR
2# - some tests fail with tcl8.5, it's tcl fault,
3# if someone REALLY cares (s)he can look into it
a1eaf1bc 4# - sqlite binary is linked statically with sqlite library
17b8c9f1 5#
6# Conditional build:
d12e8042 7%bcond_with tests # run tests
0d754db8 8%bcond_with readline # readline (GPL) instead of libedit
dd55e3fd 9%bcond_without tcl # Tcl extension
d12e8042
JB
10%bcond_without doc # disable documentation building
11%bcond_without unlock_notify # disable unlock notify API
60f66380 12%bcond_without load_extension # enable load extension API
cd683928 13%bcond_with icu # ICU tokenizer support
f38b1e08 14%bcond_without json1 # json1 extension
5df4522e 15
017ee24e 16%ifarch %{x8664}
f1015391
JR
17%undefine with_tests
18%endif
19
20# disabling tcl currently breaks making test target,
21# some hack in Makefile needs to be done
5df4522e 22%if %{without tcl}
f1015391
JR
23%undefine with_tests
24%endif
25
bd752bde 26# sqlite3 version with zero padded without any dots (3 08 10 01 is 3.8.10.1)
ea9e16e8 27# but trailing 00 means no 4rd part (3 11 01 00 is 3.11.1)
23fb7c7f 28%define vnum 3340100
9a9b0472 29%define ver %{lua:vn=rpm.expand("%vnum");v="";for i in string.gmatch(string.format("%08d", vn), "..") do v=v.."."..i:gsub("^0", "");end;v=v:gsub("^.",""):gsub("\.0$","");print(v)}
2742ec36 30
a8925d97 31%define tclver 8.6
943b1d56
ER
32Summary: SQLite3 library
33Summary(pl.UTF-8): Biblioteka SQLite3
22ef5ab8 34Name: sqlite3
ca3d7890 35Version: %{ver}
e7803f5c 36Release: 1
dd55e3fd 37License: Public Domain
17b8c9f1 38Group: Libraries
65cfa56f 39# Source0Download: http://www.sqlite.org/download.html
23fb7c7f
JP
40Source0: https://www.sqlite.org/2021/sqlite-src-%{vnum}.zip
41# Source0-md5: ec0538175e7c05d2fb2539022c7b97b6
a3d8a32d 42Patch0: %{name}-sign-function.patch
298b71bf 43# https://github.com/CanonicalLtd/dqlite/issues/91
2652c235 44URL: https://www.sqlite.org/
dd55e3fd 45BuildRequires: autoconf >= 2.50
17b8c9f1 46BuildRequires: automake
0d754db8 47%{!?with_readline:BuildRequires: libedit-devel}
17b8c9f1 48BuildRequires: libtool
0d754db8 49%{?with_readline:BuildRequires: readline-devel}
9e8479e5 50BuildRequires: rpmbuild(macros) >= 1.527
6ca4ac16 51%{?with_load_extension:BuildRequires: sed >= 4.0}
0e44e992 52BuildRequires: tcl
a8925d97 53%{?with_tcl:BuildRequires: tcl-devel >= %{tclver}}
086e11d9 54BuildRequires: unzip
a1eaf1bc 55Requires: %{name}-libs = %{version}-%{release}
3b448fcb
JB
56%{?with_icu:Provides: %{name}(icu) = %{version}}
57%{?with_load_extension:Provides: %{name}(load_extension) = %{version}}
58%{?with_unlock_notify:Provides: %{name}(unlock_notify) = %{version}}
17b8c9f1 59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
9ff1c54d
ER
61%define _ulibdir /usr/lib
62
17b8c9f1 63%description
64SQLite is a C library that implements an SQL database engine. A large
65subset of SQL92 is supported. A complete database is stored in a
66single disk file. The API is designed for convenience and ease of use.
67Applications that link against SQLite can enjoy the power and
68flexiblity of an SQL database without the administrative hassles of
69supporting a separate database server. Because it omits the
70client-server interaction overhead and writes directly to disk, SQLite
71is also faster than the big database servers for most operations. In
72addition to the C library, the SQLite distribution includes a
73command-line tool for interacting with SQLite databases and SQLite
74bindings for Tcl/Tk.
75
b7c0e1f2
JR
76%description -l pl.UTF-8
77SQLite jest biblioteką języka C, która implementuje silnik baz danych
78SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
79przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
80bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
81danych bez konieczności utrzymywania osobnego serwera baz danych.
82Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
83bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
84bazodanowych przy większości operacji na bazie danych. Dodatkowo
85oprócz biblioteki języka C, dostarczany jest program do zarządzania
17b8c9f1 86bazami danych.
87
a1eaf1bc
ER
88%package libs
89Summary: Shared library for the sqlite3 embeddable SQL database engine
3b448fcb 90Summary(pl.UTF-8): Biblioteka współdzielona osadzalnego silnika baz danych SQL sqlite3
a1eaf1bc 91Group: Libraries
3b448fcb
JB
92%{?with_icu:Provides: %{name}-libs(icu) = %{version}}
93%{?with_load_extension:Provides: %{name}-libs(load_extension) = %{version}}
94%{?with_unlock_notify:Provides: %{name}-libs(unlock_notify) = %{version}}
95Conflicts: sqlite3 < 3.23.1-2
a1eaf1bc
ER
96
97%description libs
3b448fcb
JB
98This package contains the SQLite 3 shared library.
99
100%description libs -l pl.UTF-8
101Ten pakiet zawiera bibliotekę współdzieloną SQLite 3.
a1eaf1bc 102
17b8c9f1 103%package devel
104Summary: Header files for SQLite development
e882a99f 105Summary(pl.UTF-8): Pliki nagłówkowe SQLite
17b8c9f1 106Group: Development/Libraries
a1eaf1bc 107Requires: %{name}-libs = %{version}-%{release}
d70f95dc 108%if %{with unlock_notify}
3b448fcb 109Provides: %{name}-devel(unlock_notify) = %{version}
d70f95dc 110%endif
111%if %{with load_extension}
3b448fcb 112Provides: %{name}-devel(load_extension) = %{version}
d70f95dc 113%endif
e0fdf246 114%if %{with icu}
3b448fcb 115Provides: %{name}-devel(icu) = %{version}
e0fdf246 116%endif
17b8c9f1 117
118%description devel
119SQLite is a C library that implements an SQL database engine. A large
120subset of SQL92 is supported. A complete database is stored in a
121single disk file. The API is designed for convenience and ease of use.
122Applications that link against SQLite can enjoy the power and
123flexiblity of an SQL database without the administrative hassles of
124supporting a separate database server. Because it omits the
125client-server interaction overhead and writes directly to disk, SQLite
126is also faster than the big database servers for most operations. In
127addition to the C library, the SQLite distribution includes a
128command-line tool for interacting with SQLite databases and SQLite
129bindings for Tcl/Tk.
130
131This package contains the header files needed to develop programs that
132use these SQLite.
133
b7c0e1f2
JR
134%description devel -l pl.UTF-8
135SQLite jest biblioteką języka C, która implementuje silnik baz danych
136SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
137przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
138bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
139danych bez konieczności utrzymywania osobnego serwera baz danych.
140Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
141bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
142bazodanowych przy większości operacji na bazie danych. Dodatkowo
143oprócz biblioteki języka C, dostarczany jest program do zarządzania
17b8c9f1 144bazami danych.
145
b7c0e1f2
JR
146Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów
147używających biblioteki SQLite.
17b8c9f1 148
149%package static
150Summary: Static libraries for SQLite development
e882a99f 151Summary(pl.UTF-8): Statyczne biblioteki SQLite
17b8c9f1 152Group: Development/Libraries
153Requires: %{name}-devel = %{version}-%{release}
d70f95dc 154%if %{with unclock_notify}
d70f95dc 155Provides: %{name}-static(unlock_notify)
156%endif
157%if %{with load_extension}
d70f95dc 158Provides: %{name}-static(load_extension)
159%endif
17b8c9f1 160
161%description static
162SQLite is a C library that implements an SQL database engine. A large
163subset of SQL92 is supported. A complete database is stored in a
164single disk file. The API is designed for convenience and ease of use.
165Applications that link against SQLite can enjoy the power and
166flexiblity of an SQL database without the administrative hassles of
167supporting a separate database server. Because it omits the
168client-server interaction overhead and writes directly to disk, SQLite
169is also faster than the big database servers for most operations. In
170addition to the C library, the SQLite distribution includes a
171command-line tool for interacting with SQLite databases and SQLite
172bindings for Tcl/Tk.
173
174This package contains the static SQLite libraries.
175
b7c0e1f2
JR
176%description static -l pl.UTF-8
177SQLite jest biblioteką języka C, która implementuje silnik baz danych
178SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
179przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
180bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
181danych bez konieczności utrzymywania osobnego serwera baz danych.
182Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
183bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
184bazodanowych przy większości operacji na bazie danych. Dodatkowo
185oprócz biblioteki języka C, dostarczany jest program do zarządzania
17b8c9f1 186bazami danych.
187
188Pakiet zawiera statyczne biblioteki SQLite.
189
c743401f 190%package -n tcl-%{name}
8e66772b 191Summary: sqlite3 tcl extension
e882a99f 192Summary(pl.UTF-8): Rozszerzenie sqlite3 dla Tcl
8e66772b 193Group: Development/Languages/Tcl
c743401f
AM
194
195%description -n tcl-%{name}
196sqlite3 tcl extension.
197
b7c0e1f2 198%description -n tcl-%{name} -l pl.UTF-8
c743401f
AM
199Rozszerzenie sqlite3 dla Tcl.
200
17b8c9f1 201%prep
65430f84 202%setup -q -n sqlite-src-%{vnum}
30682d5a 203%patch0 -p1
1cd2f537 204
fc29cfbe 205%{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in
faed6cf7 206
9a9b0472 207if [ "$(cat VERSION)" != "%{version}" ]; then
78ed83ff
AM
208 echo "Tarball content doesn't match version %{version}." >&2
209 exit 1
210fi
211
17b8c9f1 212%build
213%{__libtoolize}
17b8c9f1 214%{__aclocal}
16787c3a 215%{__autoconf} --force
fc29cfbe
ER
216append-cppflags() {
217 CPPFLAGS="$CPPFLAGS $*"
218}
219append-libs() {
220 LIBS="$LIBS $*"
221}
222export CPPFLAGS="%{rpmcflags}"
223export LIBS
87af9815
MB
224%if %{with tcl}
225export TCLLIBDIR="%{tcl_sitearch}/sqlite3"
226%endif
e0fdf246 227
fc29cfbe
ER
228append-cppflags -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_SECURE_DELETE
229
7342856f
AG
230# Support for optional ORDER BY and LIMIT clause on UPDATE and DELETE statements
231append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
232
fc29cfbe
ER
233# Support column metadata functions.
234# http://sqlite.org/c3ref/column_database_name.html
235# http://sqlite.org/c3ref/table_column_metadata.html
236append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
237
238# Support Full-Text Search versions 3 and 4.
239# http://sqlite.org/fts3.html
240#append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61
2cf6a747 241append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS
61a0da0a 242append-cppflags -DSQLITE_ENABLE_FTS3_TOKENIZER
fc29cfbe
ER
243
244# Support R*Trees.
245# http://sqlite.org/rtree.html
246append-cppflags -DSQLITE_ENABLE_RTREE
247
7342856f
AG
248# Support Geopoly module (new as of 3.25.0)
249# https://www.sqlite.org/geopoly.html
250append-cppflags -DSQLITE_ENABLE_GEOPOLY
251
fc29cfbe
ER
252# Support soundex() function.
253# http://sqlite.org/lang_corefunc.html#soundex
254#append-cppflags -DSQLITE_SOUNDEX
255
806c4314
JR
256# Support dbstat virtual table.
257# https://www.sqlite.org/dbstat.html
258append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
259
7342856f
AG
260# Support for session extension (record changes to a changeset).
261# https://www.sqlite.org/sessionintro.html
262append-cppflags -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK
263
fc29cfbe
ER
264%if %{with unlock_notify}
265# Support unlock notification.
266# http://sqlite.org/unlock_notify.html
267append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
268%endif
269
270%if %{with icu}
271append-cppflags -DSQLITE_ENABLE_ICU
272append-libs "-licui18n -licuuc"
273%endif
274
275%if %{with load_extension}
276append-libs "-ldl"
277%endif
278
17b8c9f1 279%configure \
0d754db8 280 %{?with_readline:--disable-editline} \
e0fdf246 281 %{!?with_tcl:--disable-tcl}%{?with_tcl:--with-tcl=%{_ulibdir}} \
60f66380 282 %{__enable_disable load_extension load-extension} \
f38b1e08 283 %{__enable_disable json1} \
4522125d
MB
284 --enable-threadsafe \
285 --enable-fts5
60f66380 286
5df4522e 287%{__make}
1a6aae8d 288
e16bc4b1 289%if %{with doc}
17b8c9f1 290%{__make} doc
1a6aae8d 291%endif
17b8c9f1 292
3e5df83c 293%{?with_tests:LC_ALL=C %{__make} test}
17b8c9f1 294
295%install
296rm -rf $RPM_BUILD_ROOT
1c91d9d5 297install -d $RPM_BUILD_ROOT{/%{_lib},%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1}
0d754db8 298
17b8c9f1 299%{__make} install \
dd55e3fd 300 DESTDIR=$RPM_BUILD_ROOT
ec30f86a 301
0d754db8 302%{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
dd55e3fd 303%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so
1c91d9d5
JR
304ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib}; echo lib*.so.*.*) \
305 $RPM_BUILD_ROOT%{_libdir}/libsqlite3.so
306
e0fdf246 307cp -p sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1
17b8c9f1 308
309%clean
310rm -rf $RPM_BUILD_ROOT
311
a1eaf1bc
ER
312%post libs -p /sbin/ldconfig
313%postun libs -p /sbin/ldconfig
314
315%files libs
316%defattr(644,root,root,755)
317%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
318%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
17b8c9f1 319
320%files
321%defattr(644,root,root,755)
a8925d97 322%doc README.md
17b8c9f1 323%attr(755,root,root) %{_bindir}/sqlite3
c743401f 324%{_mandir}/man1/sqlite3.1*
17b8c9f1 325
326%files devel
327%defattr(644,root,root,755)
7e92c022
JB
328%attr(755,root,root) %{_libdir}/libsqlite3.so
329%{_libdir}/libsqlite3.la
17b8c9f1 330%{_includedir}/sqlite3.h
ef88c71c 331%{_includedir}/sqlite3ext.h
7e92c022 332%{_pkgconfigdir}/sqlite3.pc
17b8c9f1 333
334%files static
335%defattr(644,root,root,755)
7e92c022 336%{_libdir}/libsqlite3.a
c743401f 337
1a6aae8d 338%if %{with tcl}
c743401f
AM
339%files -n tcl-%{name}
340%defattr(644,root,root,755)
80deaf18 341%dir %{_libdir}/tcl*/sqlite3
7e92c022
JB
342%attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so
343%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl
1a6aae8d 344%endif
This page took 0.160067 seconds and 4 git commands to generate.