]>
Commit | Line | Data |
---|---|---|
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 | # - alpha build fail: | |
5 | # tclsh ./tool/mksqlite3c.tcl | |
6 | # tclsh: allocatestack.c:404: allocate_stack: Assertion `size != 0' failed. | |
7 | # make: *** [sqlite3.c] Aborted | |
8 | # - enable --enable-load-extension? | |
9 | # | |
10 | # Conditional build: | |
11 | %bcond_with tests # run tests | |
12 | %bcond_with tcl # enable tcl extension | |
13 | %bcond_without doc # disable documentation building | |
14 | # | |
15 | %ifarch alpha sparc %{x8664} | |
16 | %undefine with_tests | |
17 | %endif | |
18 | ||
19 | # disabling tcl currently breaks making test target, | |
20 | # some hack in Makefile needs to be done | |
21 | %if !%{with tcl} | |
22 | %undefine with_tests | |
23 | %endif | |
24 | ||
25 | %define _ulibdir /usr/lib | |
26 | %define tclver 8.5 | |
27 | ||
28 | Summary: SQLite library | |
29 | Summary(pl.UTF-8): Biblioteka SQLite | |
30 | Name: sqlite3 | |
31 | Version: 3.6.19 | |
32 | Release: 1 | |
33 | License: LGPL | |
34 | Group: Libraries | |
35 | # Source0Download: http://www.sqlite.org/download.html | |
36 | Source0: http://www.sqlite.org/sqlite-%{version}.tar.gz | |
37 | # Source0-md5: aa03cc24a52851bb204fc1e489e195e8 | |
38 | Patch0: %{name}-sign-function.patch | |
39 | URL: http://www.sqlite.org/ | |
40 | BuildRequires: autoconf | |
41 | BuildRequires: automake | |
42 | BuildRequires: libtool | |
43 | BuildRequires: readline-devel | |
44 | %{?with_tcl:BuildRequires: tcl-devel} | |
45 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
46 | ||
47 | %description | |
48 | SQLite is a C library that implements an SQL database engine. A large | |
49 | subset of SQL92 is supported. A complete database is stored in a | |
50 | single disk file. The API is designed for convenience and ease of use. | |
51 | Applications that link against SQLite can enjoy the power and | |
52 | flexiblity of an SQL database without the administrative hassles of | |
53 | supporting a separate database server. Because it omits the | |
54 | client-server interaction overhead and writes directly to disk, SQLite | |
55 | is also faster than the big database servers for most operations. In | |
56 | addition to the C library, the SQLite distribution includes a | |
57 | command-line tool for interacting with SQLite databases and SQLite | |
58 | bindings for Tcl/Tk. | |
59 | ||
60 | %description -l pl.UTF-8 | |
61 | SQLite jest biblioteką języka C, która implementuje silnik baz danych | |
62 | SQL (obsługiwana jest większość standardu SQL92). Cała baza danych | |
63 | przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę | |
64 | bibliotekę charakteryzują się siłą i elastycznością SQLowych baz | |
65 | danych bez konieczności utrzymywania osobnego serwera baz danych. | |
66 | Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane | |
67 | bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów | |
68 | bazodanowych przy większości operacji na bazie danych. Dodatkowo | |
69 | oprócz biblioteki języka C, dostarczany jest program do zarządzania | |
70 | bazami danych. | |
71 | ||
72 | %package devel | |
73 | Summary: Header files for SQLite development | |
74 | Summary(pl.UTF-8): Pliki nagłówkowe SQLite | |
75 | Group: Development/Libraries | |
76 | Requires: %{name} = %{version}-%{release} | |
77 | ||
78 | %description devel | |
79 | SQLite is a C library that implements an SQL database engine. A large | |
80 | subset of SQL92 is supported. A complete database is stored in a | |
81 | single disk file. The API is designed for convenience and ease of use. | |
82 | Applications that link against SQLite can enjoy the power and | |
83 | flexiblity of an SQL database without the administrative hassles of | |
84 | supporting a separate database server. Because it omits the | |
85 | client-server interaction overhead and writes directly to disk, SQLite | |
86 | is also faster than the big database servers for most operations. In | |
87 | addition to the C library, the SQLite distribution includes a | |
88 | command-line tool for interacting with SQLite databases and SQLite | |
89 | bindings for Tcl/Tk. | |
90 | ||
91 | This package contains the header files needed to develop programs that | |
92 | use these SQLite. | |
93 | ||
94 | %description devel -l pl.UTF-8 | |
95 | SQLite jest biblioteką języka C, która implementuje silnik baz danych | |
96 | SQL (obsługiwana jest większość standardu SQL92). Cała baza danych | |
97 | przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę | |
98 | bibliotekę charakteryzują się siłą i elastycznością SQLowych baz | |
99 | danych bez konieczności utrzymywania osobnego serwera baz danych. | |
100 | Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane | |
101 | bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów | |
102 | bazodanowych przy większości operacji na bazie danych. Dodatkowo | |
103 | oprócz biblioteki języka C, dostarczany jest program do zarządzania | |
104 | bazami danych. | |
105 | ||
106 | Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów | |
107 | używających biblioteki SQLite. | |
108 | ||
109 | %package static | |
110 | Summary: Static libraries for SQLite development | |
111 | Summary(pl.UTF-8): Statyczne biblioteki SQLite | |
112 | Group: Development/Libraries | |
113 | Requires: %{name}-devel = %{version}-%{release} | |
114 | ||
115 | %description static | |
116 | SQLite is a C library that implements an SQL database engine. A large | |
117 | subset of SQL92 is supported. A complete database is stored in a | |
118 | single disk file. The API is designed for convenience and ease of use. | |
119 | Applications that link against SQLite can enjoy the power and | |
120 | flexiblity of an SQL database without the administrative hassles of | |
121 | supporting a separate database server. Because it omits the | |
122 | client-server interaction overhead and writes directly to disk, SQLite | |
123 | is also faster than the big database servers for most operations. In | |
124 | addition to the C library, the SQLite distribution includes a | |
125 | command-line tool for interacting with SQLite databases and SQLite | |
126 | bindings for Tcl/Tk. | |
127 | ||
128 | This package contains the static SQLite libraries. | |
129 | ||
130 | %description static -l pl.UTF-8 | |
131 | SQLite jest biblioteką języka C, która implementuje silnik baz danych | |
132 | SQL (obsługiwana jest większość standardu SQL92). Cała baza danych | |
133 | przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę | |
134 | bibliotekę charakteryzują się siłą i elastycznością SQLowych baz | |
135 | danych bez konieczności utrzymywania osobnego serwera baz danych. | |
136 | Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane | |
137 | bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów | |
138 | bazodanowych przy większości operacji na bazie danych. Dodatkowo | |
139 | oprócz biblioteki języka C, dostarczany jest program do zarządzania | |
140 | bazami danych. | |
141 | ||
142 | Pakiet zawiera statyczne biblioteki SQLite. | |
143 | ||
144 | %package -n tcl-%{name} | |
145 | Summary: sqlite3 tcl extension | |
146 | Summary(pl.UTF-8): Rozszerzenie sqlite3 dla Tcl | |
147 | Group: Development/Languages/Tcl | |
148 | ||
149 | %description -n tcl-%{name} | |
150 | sqlite3 tcl extension. | |
151 | ||
152 | %description -n tcl-%{name} -l pl.UTF-8 | |
153 | Rozszerzenie sqlite3 dla Tcl. | |
154 | ||
155 | %prep | |
156 | %setup -q -n sqlite-%{version} | |
157 | %patch0 -p1 | |
158 | ||
159 | %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile* | |
160 | ||
161 | %ifarch alpha | |
162 | # See also LP#276821 | |
163 | # wrapper script to reset stack to 8192 as if ran from make it's insanely huge!: | |
164 | # stack(kbytes) 18014398509481983 | |
165 | cat <<'EOF' > tclsh.sh | |
166 | #!/bin/sh | |
167 | ulimit -s 8192 | |
168 | exec tclsh "$@" | |
169 | EOF | |
170 | chmod +x tclsh.sh | |
171 | %endif | |
172 | ||
173 | %build | |
174 | %{__libtoolize} | |
175 | cp -f /usr/share/automake/config.sub . | |
176 | %{__aclocal} | |
177 | %{__autoconf} | |
178 | CFLAGS="%{rpmcflags} -DSQLITE_ENABLE_COLUMN_METADATA=1" | |
179 | export CFLAGS | |
180 | %configure \ | |
181 | %{?with_tcl:--with-tcl=%{_ulibdir}} \ | |
182 | %{!?with_tcl:--disable-tcl} \ | |
183 | --enable-threadsafe | |
184 | %{__make} \ | |
185 | %ifarch alpha | |
186 | TCLSH_CMD=./tclsh.sh | |
187 | %endif | |
188 | ||
189 | %if %{with doc} | |
190 | %{__make} doc | |
191 | %endif | |
192 | ||
193 | %{?with_tests:LC_ALL=C %{__make} test} | |
194 | ||
195 | %install | |
196 | rm -rf $RPM_BUILD_ROOT | |
197 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1} | |
198 | ||
199 | %{__make} install \ | |
200 | %ifarch alpha | |
201 | TCLSH_CMD=./tclsh.sh \ | |
202 | %endif | |
203 | DESTDIR=$RPM_BUILD_ROOT \ | |
204 | TCLLIBDIR=%{_libdir}/tcl%{tclver} | |
205 | ||
206 | %if %{with tcl} | |
207 | sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl | |
208 | %endif | |
209 | ||
210 | install sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
211 | ||
212 | %clean | |
213 | rm -rf $RPM_BUILD_ROOT | |
214 | ||
215 | %post -p /sbin/ldconfig | |
216 | %postun -p /sbin/ldconfig | |
217 | ||
218 | %files | |
219 | %defattr(644,root,root,755) | |
220 | %doc README | |
221 | %attr(755,root,root) %{_bindir}/sqlite3 | |
222 | %attr(755,root,root) %{_libdir}/libsqlite3.so.*.*.* | |
223 | %attr(755,root,root) %ghost %{_libdir}/libsqlite3.so.0 | |
224 | %{_mandir}/man1/sqlite3.1* | |
225 | ||
226 | %files devel | |
227 | %defattr(644,root,root,755) | |
228 | %attr(755,root,root) %{_libdir}/libsqlite3.so | |
229 | %{_libdir}/libsqlite3.la | |
230 | %{_includedir}/sqlite3.h | |
231 | %{_includedir}/sqlite3ext.h | |
232 | %{_pkgconfigdir}/sqlite3.pc | |
233 | ||
234 | %files static | |
235 | %defattr(644,root,root,755) | |
236 | %{_libdir}/libsqlite3.a | |
237 | ||
238 | %if %{with tcl} | |
239 | %files -n tcl-%{name} | |
240 | %defattr(644,root,root,755) | |
241 | %dir %{_libdir}/tcl*/sqlite3 | |
242 | %attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so | |
243 | %{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl | |
244 | %endif |