2 # - some tests fail with tcl8.5, it's tcl fault,
3 # if someone REALLY cares (s)he can look into it
6 %bcond_with tests # run tests
7 %bcond_without tcl # Tcl extension
8 %bcond_without doc # disable documentation building
9 %bcond_without unlock_notify # disable unlock notify API
10 %bcond_without load_extension # enable load extension API
11 %bcond_with icu # ICU tokenizer support
13 %ifarch alpha sparc %{x8664}
17 # disabling tcl currently breaks making test target,
18 # some hack in Makefile needs to be done
23 %define version_year 2015
24 %define version_num %(echo %{version} | awk -F. '{printf("%d%02d%02d%02d", $1, $2, $3, $4)}')
25 %define _ulibdir /usr/lib
28 Summary: SQLite library
29 Summary(pl.UTF-8): Biblioteka SQLite
33 License: Public Domain
35 # Source0Download: http://www.sqlite.org/download.html
36 Source0: http://www.sqlite.org/%{version_year}/sqlite-src-%{version_num}.zip
37 # Source0-md5: 7aed8084e18c2677c71345cbd8ca0b76
38 Patch0: %{name}-sign-function.patch
39 URL: http://www.sqlite.org/
40 %{?with_load_extension:Provides: %{name}(load_extension)}
41 %{?with_unlock_notify:Provides: %{name}(unlock_notify)}
42 %{?with_icu:Provides: %{name}(icu)}
43 BuildRequires: autoconf >= 2.50
44 BuildRequires: automake
45 BuildRequires: libtool
46 BuildRequires: readline-devel
47 %{?with_load_extension:BuildRequires: sed >= 4.0}
49 %{?with_tcl:BuildRequires: tcl-devel >= %{tclver}}
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 SQLite is a C library that implements an SQL database engine. A large
55 subset of SQL92 is supported. A complete database is stored in a
56 single disk file. The API is designed for convenience and ease of use.
57 Applications that link against SQLite can enjoy the power and
58 flexiblity of an SQL database without the administrative hassles of
59 supporting a separate database server. Because it omits the
60 client-server interaction overhead and writes directly to disk, SQLite
61 is also faster than the big database servers for most operations. In
62 addition to the C library, the SQLite distribution includes a
63 command-line tool for interacting with SQLite databases and SQLite
66 %description -l pl.UTF-8
67 SQLite jest biblioteką języka C, która implementuje silnik baz danych
68 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
69 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
70 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
71 danych bez konieczności utrzymywania osobnego serwera baz danych.
72 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
73 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
74 bazodanowych przy większości operacji na bazie danych. Dodatkowo
75 oprócz biblioteki języka C, dostarczany jest program do zarządzania
79 Summary: Header files for SQLite development
80 Summary(pl.UTF-8): Pliki nagłówkowe SQLite
81 Group: Development/Libraries
82 Requires: %{name} = %{version}-%{release}
83 %if %{with unlock_notify}
84 Provides: %{name}-devel(unlock_notify)
86 %if %{with load_extension}
87 Provides: %{name}-devel(load_extension)
90 Provides: %{name}-devel(icu)
94 SQLite is a C library that implements an SQL database engine. A large
95 subset of SQL92 is supported. A complete database is stored in a
96 single disk file. The API is designed for convenience and ease of use.
97 Applications that link against SQLite can enjoy the power and
98 flexiblity of an SQL database without the administrative hassles of
99 supporting a separate database server. Because it omits the
100 client-server interaction overhead and writes directly to disk, SQLite
101 is also faster than the big database servers for most operations. In
102 addition to the C library, the SQLite distribution includes a
103 command-line tool for interacting with SQLite databases and SQLite
106 This package contains the header files needed to develop programs that
109 %description devel -l pl.UTF-8
110 SQLite jest biblioteką języka C, która implementuje silnik baz danych
111 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
112 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
113 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
114 danych bez konieczności utrzymywania osobnego serwera baz danych.
115 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
116 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
117 bazodanowych przy większości operacji na bazie danych. Dodatkowo
118 oprócz biblioteki języka C, dostarczany jest program do zarządzania
121 Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów
122 używających biblioteki SQLite.
125 Summary: Static libraries for SQLite development
126 Summary(pl.UTF-8): Statyczne biblioteki SQLite
127 Group: Development/Libraries
128 Requires: %{name}-devel = %{version}-%{release}
129 %if %{with unclock_notify}
130 Provides: %{name}-static(unlock_notify)
132 %if %{with load_extension}
133 Provides: %{name}-static(load_extension)
137 SQLite is a C library that implements an SQL database engine. A large
138 subset of SQL92 is supported. A complete database is stored in a
139 single disk file. The API is designed for convenience and ease of use.
140 Applications that link against SQLite can enjoy the power and
141 flexiblity of an SQL database without the administrative hassles of
142 supporting a separate database server. Because it omits the
143 client-server interaction overhead and writes directly to disk, SQLite
144 is also faster than the big database servers for most operations. In
145 addition to the C library, the SQLite distribution includes a
146 command-line tool for interacting with SQLite databases and SQLite
149 This package contains the static SQLite libraries.
151 %description static -l pl.UTF-8
152 SQLite jest biblioteką języka C, która implementuje silnik baz danych
153 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
154 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
155 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
156 danych bez konieczności utrzymywania osobnego serwera baz danych.
157 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
158 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
159 bazodanowych przy większości operacji na bazie danych. Dodatkowo
160 oprócz biblioteki języka C, dostarczany jest program do zarządzania
163 Pakiet zawiera statyczne biblioteki SQLite.
165 %package -n tcl-%{name}
166 Summary: sqlite3 tcl extension
167 Summary(pl.UTF-8): Rozszerzenie sqlite3 dla Tcl
168 Group: Development/Languages/Tcl
170 %description -n tcl-%{name}
171 sqlite3 tcl extension.
173 %description -n tcl-%{name} -l pl.UTF-8
174 Rozszerzenie sqlite3 dla Tcl.
177 %setup -q -n sqlite-src-%{version_num}
180 %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in
182 if [ "$(cat VERSION)" != "%{version}" ]; then
183 echo "Tarball content doesn't match version %{version}." >&2
189 cp -f /usr/share/automake/config.sub .
193 CPPFLAGS="$CPPFLAGS $*"
198 export CPPFLAGS="%{rpmcflags}"
201 export TCLLIBDIR="%{tcl_sitearch}/sqlite3"
204 append-cppflags -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_SECURE_DELETE
206 # Support column metadata functions.
207 # http://sqlite.org/c3ref/column_database_name.html
208 # http://sqlite.org/c3ref/table_column_metadata.html
209 append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
211 # Support Full-Text Search versions 3 and 4.
212 # http://sqlite.org/fts3.html
213 #append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61
214 append-cppflags -DSQLITE_ENABLE_FTS3
217 # http://sqlite.org/rtree.html
218 append-cppflags -DSQLITE_ENABLE_RTREE
220 # Support soundex() function.
221 # http://sqlite.org/lang_corefunc.html#soundex
222 #append-cppflags -DSQLITE_SOUNDEX
224 %if %{with unlock_notify}
225 # Support unlock notification.
226 # http://sqlite.org/unlock_notify.html
227 append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
231 append-cppflags -DSQLITE_ENABLE_ICU
232 append-libs "-licui18n -licuuc"
235 %if %{with load_extension}
240 %{!?with_tcl:--disable-tcl}%{?with_tcl:--with-tcl=%{_ulibdir}} \
241 %{__enable_disable load_extension load-extension} \
250 %{?with_tests:LC_ALL=C %{__make} test}
253 rm -rf $RPM_BUILD_ROOT
254 install -d $RPM_BUILD_ROOT{/%{_lib},%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1}
256 DESTDIR=$RPM_BUILD_ROOT
258 mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
259 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so
260 ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib}; echo lib*.so.*.*) \
261 $RPM_BUILD_ROOT%{_libdir}/libsqlite3.so
263 cp -p sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1
266 rm -rf $RPM_BUILD_ROOT
268 %post -p /sbin/ldconfig
269 %postun -p /sbin/ldconfig
272 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_bindir}/sqlite3
275 %attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
276 %attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
277 %{_mandir}/man1/sqlite3.1*
280 %defattr(644,root,root,755)
281 %attr(755,root,root) %{_libdir}/libsqlite3.so
282 %{_libdir}/libsqlite3.la
283 %{_includedir}/sqlite3.h
284 %{_includedir}/sqlite3ext.h
285 %{_pkgconfigdir}/sqlite3.pc
288 %defattr(644,root,root,755)
289 %{_libdir}/libsqlite3.a
292 %files -n tcl-%{name}
293 %defattr(644,root,root,755)
294 %dir %{_libdir}/tcl*/sqlite3
295 %attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so
296 %{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl