]> git.pld-linux.org Git - packages/sqlite3.git/blob - sqlite3.spec
enable FTS3_TOKENIZER; needed for clementine 1.3
[packages/sqlite3.git] / sqlite3.spec
1 # TODO:
2 # - some tests fail with tcl8.5, it's tcl fault,
3 #       if someone REALLY cares (s)he can look into it
4 #
5 # Conditional build:
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
12
13 %ifarch alpha sparc %{x8664}
14 %undefine       with_tests
15 %endif
16
17 # disabling tcl currently breaks making test target,
18 # some hack in Makefile needs to be done
19 %if %{without tcl}
20 %undefine       with_tests
21 %endif
22
23 # sqlite3 version with zero padded without any dots (3 08 10 01 is 3.8.10.1)
24 # but trailing 00 means no 4rd part (3 11 01 00 is 3.11.1)
25 %define         vnum    3140000
26 %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)}
27
28 %define         tclver          8.6
29 Summary:        SQLite3 library
30 Summary(pl.UTF-8):      Biblioteka SQLite3
31 Name:           sqlite3
32 Version:        %{ver}
33 Release:        2
34 License:        Public Domain
35 Group:          Libraries
36 # Source0Download: http://www.sqlite.org/download.html
37 Source0:        http://www.sqlite.org/2016/sqlite-src-%{vnum}.zip
38 # Source0-md5:  947f1a0ad4b820d8406bcaf3da63d4bc
39 Patch0:         %{name}-sign-function.patch
40 URL:            http://www.sqlite.org/
41 %{?with_load_extension:Provides:        %{name}(load_extension)}
42 %{?with_unlock_notify:Provides: %{name}(unlock_notify)}
43 %{?with_icu:Provides:   %{name}(icu)}
44 BuildRequires:  autoconf >= 2.50
45 BuildRequires:  automake
46 BuildRequires:  libtool
47 BuildRequires:  readline-devel
48 %{?with_load_extension:BuildRequires:   sed >= 4.0}
49 BuildRequires:  tcl
50 %{?with_tcl:BuildRequires:      tcl-devel >= %{tclver}}
51 BuildRequires:  unzip
52 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53
54 %define         _ulibdir        /usr/lib
55
56 %description
57 SQLite is a C library that implements an SQL database engine. A large
58 subset of SQL92 is supported. A complete database is stored in a
59 single disk file. The API is designed for convenience and ease of use.
60 Applications that link against SQLite can enjoy the power and
61 flexiblity of an SQL database without the administrative hassles of
62 supporting a separate database server. Because it omits the
63 client-server interaction overhead and writes directly to disk, SQLite
64 is also faster than the big database servers for most operations. In
65 addition to the C library, the SQLite distribution includes a
66 command-line tool for interacting with SQLite databases and SQLite
67 bindings for Tcl/Tk.
68
69 %description -l pl.UTF-8
70 SQLite jest biblioteką języka C, która implementuje silnik baz danych
71 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
72 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
73 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
74 danych bez konieczności utrzymywania osobnego serwera baz danych.
75 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
76 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
77 bazodanowych przy większości operacji na bazie danych. Dodatkowo
78 oprócz biblioteki języka C, dostarczany jest program do zarządzania
79 bazami danych.
80
81 %package devel
82 Summary:        Header files for SQLite development
83 Summary(pl.UTF-8):      Pliki nagłówkowe SQLite
84 Group:          Development/Libraries
85 Requires:       %{name} = %{version}-%{release}
86 %if %{with unlock_notify}
87 Provides:       %{name}-devel(unlock_notify)
88 %endif
89 %if %{with load_extension}
90 Provides:       %{name}-devel(load_extension)
91 %endif
92 %if %{with icu}
93 Provides:       %{name}-devel(icu)
94 %endif
95
96 %description devel
97 SQLite is a C library that implements an SQL database engine. A large
98 subset of SQL92 is supported. A complete database is stored in a
99 single disk file. The API is designed for convenience and ease of use.
100 Applications that link against SQLite can enjoy the power and
101 flexiblity of an SQL database without the administrative hassles of
102 supporting a separate database server. Because it omits the
103 client-server interaction overhead and writes directly to disk, SQLite
104 is also faster than the big database servers for most operations. In
105 addition to the C library, the SQLite distribution includes a
106 command-line tool for interacting with SQLite databases and SQLite
107 bindings for Tcl/Tk.
108
109 This package contains the header files needed to develop programs that
110 use these SQLite.
111
112 %description devel -l pl.UTF-8
113 SQLite jest biblioteką języka C, która implementuje silnik baz danych
114 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
115 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
116 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
117 danych bez konieczności utrzymywania osobnego serwera baz danych.
118 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
119 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
120 bazodanowych przy większości operacji na bazie danych. Dodatkowo
121 oprócz biblioteki języka C, dostarczany jest program do zarządzania
122 bazami danych.
123
124 Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów
125 używających biblioteki SQLite.
126
127 %package static
128 Summary:        Static libraries for SQLite development
129 Summary(pl.UTF-8):      Statyczne biblioteki SQLite
130 Group:          Development/Libraries
131 Requires:       %{name}-devel = %{version}-%{release}
132 %if %{with unclock_notify}
133 Provides:       %{name}-static(unlock_notify)
134 %endif
135 %if %{with load_extension}
136 Provides:       %{name}-static(load_extension)
137 %endif
138
139 %description static
140 SQLite is a C library that implements an SQL database engine. A large
141 subset of SQL92 is supported. A complete database is stored in a
142 single disk file. The API is designed for convenience and ease of use.
143 Applications that link against SQLite can enjoy the power and
144 flexiblity of an SQL database without the administrative hassles of
145 supporting a separate database server. Because it omits the
146 client-server interaction overhead and writes directly to disk, SQLite
147 is also faster than the big database servers for most operations. In
148 addition to the C library, the SQLite distribution includes a
149 command-line tool for interacting with SQLite databases and SQLite
150 bindings for Tcl/Tk.
151
152 This package contains the static SQLite libraries.
153
154 %description static -l pl.UTF-8
155 SQLite jest biblioteką języka C, która implementuje silnik baz danych
156 SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
157 przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
158 bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
159 danych bez konieczności utrzymywania osobnego serwera baz danych.
160 Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
161 bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
162 bazodanowych przy większości operacji na bazie danych. Dodatkowo
163 oprócz biblioteki języka C, dostarczany jest program do zarządzania
164 bazami danych.
165
166 Pakiet zawiera statyczne biblioteki SQLite.
167
168 %package -n tcl-%{name}
169 Summary:        sqlite3 tcl extension
170 Summary(pl.UTF-8):      Rozszerzenie sqlite3 dla Tcl
171 Group:          Development/Languages/Tcl
172
173 %description -n tcl-%{name}
174 sqlite3 tcl extension.
175
176 %description -n tcl-%{name} -l pl.UTF-8
177 Rozszerzenie sqlite3 dla Tcl.
178
179 %prep
180 %setup -q -n sqlite-src-%{vnum}
181 %patch0 -p1
182
183 %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in
184
185 if [ "$(cat VERSION)" != "%{version}" ]; then
186         echo "Tarball content doesn't match version %{version}." >&2
187         exit 1
188 fi
189
190 %build
191 %{__libtoolize}
192 cp -f /usr/share/automake/config.sub .
193 %{__aclocal}
194 %{__autoconf} --force
195 append-cppflags() {
196         CPPFLAGS="$CPPFLAGS $*"
197 }
198 append-libs() {
199         LIBS="$LIBS $*"
200 }
201 export CPPFLAGS="%{rpmcflags}"
202 export LIBS
203 %if %{with tcl}
204 export TCLLIBDIR="%{tcl_sitearch}/sqlite3"
205 %endif
206
207 append-cppflags -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_SECURE_DELETE
208
209 # Support column metadata functions.
210 # http://sqlite.org/c3ref/column_database_name.html
211 # http://sqlite.org/c3ref/table_column_metadata.html
212 append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
213
214 # Support Full-Text Search versions 3 and 4.
215 # http://sqlite.org/fts3.html
216 #append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61
217 append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS
218 append-cppflags -DSQLITE_ENABLE_FTS3_TOKENIZER
219
220 # Support R*Trees.
221 # http://sqlite.org/rtree.html
222 append-cppflags -DSQLITE_ENABLE_RTREE
223
224 # Support soundex() function.
225 # http://sqlite.org/lang_corefunc.html#soundex
226 #append-cppflags -DSQLITE_SOUNDEX
227
228 # Support dbstat virtual table.
229 # https://www.sqlite.org/dbstat.html
230 append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
231
232 %if %{with unlock_notify}
233 # Support unlock notification.
234 # http://sqlite.org/unlock_notify.html
235 append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
236 %endif
237
238 %if %{with icu}
239 append-cppflags -DSQLITE_ENABLE_ICU
240 append-libs "-licui18n -licuuc"
241 %endif
242
243 %if %{with load_extension}
244 append-libs "-ldl"
245 %endif
246
247 %configure \
248         %{!?with_tcl:--disable-tcl}%{?with_tcl:--with-tcl=%{_ulibdir}} \
249         %{__enable_disable load_extension load-extension} \
250         --enable-threadsafe
251
252 %{__make}
253
254 %if %{with doc}
255 %{__make} doc
256 %endif
257
258 %{?with_tests:LC_ALL=C %{__make} test}
259
260 %install
261 rm -rf $RPM_BUILD_ROOT
262 install -d $RPM_BUILD_ROOT{/%{_lib},%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1}
263 %{__make} install \
264         DESTDIR=$RPM_BUILD_ROOT
265
266 mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
267 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so
268 ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib}; echo lib*.so.*.*) \
269         $RPM_BUILD_ROOT%{_libdir}/libsqlite3.so
270
271 cp -p sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1
272
273 %clean
274 rm -rf $RPM_BUILD_ROOT
275
276 %post   -p /sbin/ldconfig
277 %postun -p /sbin/ldconfig
278
279 %files
280 %defattr(644,root,root,755)
281 %doc README.md
282 %attr(755,root,root) %{_bindir}/sqlite3
283 %attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
284 %attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
285 %{_mandir}/man1/sqlite3.1*
286
287 %files devel
288 %defattr(644,root,root,755)
289 %attr(755,root,root) %{_libdir}/libsqlite3.so
290 %{_libdir}/libsqlite3.la
291 %{_includedir}/sqlite3.h
292 %{_includedir}/sqlite3ext.h
293 %{_pkgconfigdir}/sqlite3.pc
294
295 %files static
296 %defattr(644,root,root,755)
297 %{_libdir}/libsqlite3.a
298
299 %if %{with tcl}
300 %files -n tcl-%{name}
301 %defattr(644,root,root,755)
302 %dir %{_libdir}/tcl*/sqlite3
303 %attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so
304 %{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl
305 %endif
This page took 0.112226 seconds and 4 git commands to generate.