]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without dietlibc # don't build static dietlibc library | |
4 | ||
5 | Summary: C library for parsing command line parameters | |
6 | Summary(de.UTF-8): C-Library zum Parsen von Befehlszeilenparametern | |
7 | Summary(fr.UTF-8): Bibliothèque C pour analyser les paramètres de la ligne de commande | |
8 | Summary(pl.UTF-8): Biblioteka C do przetwarzania parametrów przekazywanych do programów w linii poleceń | |
9 | Summary(ru.UTF-8): Библиотека C для разбора параметров командной строки | |
10 | Summary(tr.UTF-8): Komut satırı parametrelerini ayrıştırımak için C arşivi | |
11 | Summary(uk.UTF-8): Бібліотека C для розбору параметрів командної стрічки | |
12 | Name: popt | |
13 | Version: 1.17 | |
14 | Release: 1 | |
15 | License: X Consortium (MIT-like) | |
16 | Group: Libraries | |
17 | Source0: http://rpm5.org/files/popt/%{name}-%{version}.tar.gz | |
18 | # Source0-md5: 7f98c657d35981d30dd372da5335c354 | |
19 | Patch0: %{name}-diet.patch | |
20 | URL: http://rpm5.org/ | |
21 | BuildRequires: autoconf >= 2.57 | |
22 | BuildRequires: automake >= 1.4 | |
23 | %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-5} | |
24 | BuildRequires: gettext-devel >= 0.11.5 | |
25 | BuildRequires: libtool >= 2:2.2 | |
26 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
27 | ||
28 | # don't require very fresh rpm.macros to build | |
29 | %define __gettextize gettextize --copy --force ; cp -f po/Makevars{.template,} | |
30 | ||
31 | # for some reason known only to rpm there must be "\\|" not "\|" here | |
32 | %define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/') | |
33 | %define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch} | |
34 | ||
35 | %description | |
36 | Popt is a C library for passing command line parameters. It was | |
37 | heavily influenced by the getopt() and getopt_long() functions, but it | |
38 | allows more powerful argument expansion. It can parse arbitrary argv[] | |
39 | style arrays and automatically set variables based on command line | |
40 | arguments. It also allows command line arguments to be aliased via | |
41 | configuration files and includes utility functions for parsing | |
42 | arbitrary strings into argv[] arrays using shell-like rules. | |
43 | ||
44 | %description -l de.UTF-8 | |
45 | Popt ist eine C-Library zum Parsen von Befehlszeilenparametern, stark | |
46 | beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit | |
47 | sehr viel besserer Argumenterweiterung. Es können beliebige | |
48 | argv[]-Argument- Arrays geparst und Variablen auf der Basis von | |
49 | Befehlszeilenargumenten automatisch gesetzt werden. Ferner können | |
50 | Befehlszeilenargumente über Konfigurationsdateien ge-aliast werden, | |
51 | und die Library enthält Utility- funktionen zum Parsen beliebiger | |
52 | Strings in argv[]-Arrays anhand von Shell-ähnlichen Regeln. | |
53 | ||
54 | %description -l fr.UTF-8 | |
55 | Popt est une bibliothèque C pour analyser les paramêtres de la ligne | |
56 | de commande. Elle a été beaucoup influencée par les fonctions getopt() | |
57 | et getopt_long() mais permet une expansion plus puissante des | |
58 | arguments. Elle peut analyser des tableaux arbitraires du style argv[] | |
59 | et configure les variables automatiquement selon les arguments de la | |
60 | ligne de commande. Elle permet aussi à ces arguments d'être des alias | |
61 | via des fichiers de configuration et inclut des fonctions utilitaires | |
62 | pour analyser des chaînes arbitraires dans les tableaux argv[] en | |
63 | utilisant des règles à la shell | |
64 | ||
65 | %description -l pl.UTF-8 | |
66 | Popt jest biblioteką C służącą przetwarzaniu parametrów wywołania. | |
67 | Duży wpływ miały na nią getopt() i getopt_long(), ale ma od nich | |
68 | znacznie większe możliwości. Może przetwarzać bezpośrednio tablice | |
69 | typu argv[] i automatycznie ustawiać zmienne w oparciu i parametry | |
70 | wywołania. Pozwala także na tworzenie związków pomiędzy argumentami | |
71 | wywołania a plikami konfiguracyjnymi oraz pozwala zamieniać ciągi | |
72 | znaków na tablice typu argv[] z wykorzystaniem zasad znanych z powłok | |
73 | (shelli). | |
74 | ||
75 | %description -l ru.UTF-8 | |
76 | Popt - это библиотека C для разбора параметров командной строки. Она | |
77 | построена по образу и подобию функций getopt() и getopt_long(), но в | |
78 | отличие от последних позволяет более мощное расширение аргументов. Она | |
79 | может разбирать произвольные массивы в стиле argv[] и автоматически | |
80 | устанавливать переменные в зависимости от аргументов командной строки. | |
81 | Также она позволяет создавать алиасы через конфигурационные файлы и | |
82 | включает функции для разбора произвольных строк в массивах argv[] с | |
83 | использованием шелл-подобных правил. | |
84 | ||
85 | %description -l tr.UTF-8 | |
86 | Popt, komut satırı parametrelerini ayrıştıran bir C arşividir. | |
87 | Gelişigüzel argv[] tarzı dizileri ayrıştırabilir ve otomatik olarak | |
88 | komut satırı değişkenlerine dayalı değişkenleri atayabilir. | |
89 | ||
90 | %description -l uk.UTF-8 | |
91 | Popt - це бібліотека C для розбору параметрів командної стрічки. Вона | |
92 | побудована на кшталт функцій getopt() та getopt_long(), але на відміну | |
93 | від останніх дозволяє більш потужне розширення аргументів. Вона може | |
94 | розбирати довільні масиви в стилі argv[] та автоматично встановлювати | |
95 | змінні в залежності від аргументів командної стрічки. Також вона | |
96 | дозволяє створювати аліаси через конфігураційні файли та містить | |
97 | функції для розбору довільних стрічок в масивах argv[] з використанням | |
98 | шелл-подібних правил. | |
99 | ||
100 | %package devel | |
101 | Summary: Header file and documentation for popt development | |
102 | Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja dla popt | |
103 | Summary(ru.UTF-8): Хедеры и библиотека, необходимые для программирования с popt | |
104 | Summary(uk.UTF-8): Хедери та бібліотека, необхідні для програмування з popt | |
105 | Group: Development/Libraries | |
106 | Requires: %{name} = %{version}-%{release} | |
107 | ||
108 | %description devel | |
109 | Header file and documentation for popt development. | |
110 | ||
111 | %description devel -l pl.UTF-8 | |
112 | Pliki nagłówkowe i dokumentacja dla popt. | |
113 | ||
114 | %description devel -l ru.UTF-8 | |
115 | Этот пакет содержит библиотеку и хедеры, необходимые для разработки | |
116 | программ, использующих popt. | |
117 | ||
118 | %description devel -l uk.UTF-8 | |
119 | Цей пакет містить бібліотеку та хедери, необхідні для розробки | |
120 | програм, що використовують popt. | |
121 | ||
122 | %package static | |
123 | Summary: Static library for popt development | |
124 | Summary(pl.UTF-8): Biblioteka statyczna popt | |
125 | Summary(ru.UTF-8): Статические библиотеки popt | |
126 | Summary(uk.UTF-8): Статичні бібліотеки popt | |
127 | Group: Development/Libraries | |
128 | Requires: %{name}-devel = %{version}-%{release} | |
129 | ||
130 | %description static | |
131 | Static library for popt development. | |
132 | ||
133 | %description static -l pl.UTF-8 | |
134 | Biblioteka statyczna popt. | |
135 | ||
136 | %description static -l ru.UTF-8 | |
137 | Это отдельный пакет со статическими библиотеками, которые больше не | |
138 | входят в popt-devel. | |
139 | ||
140 | %description static -l uk.UTF-8 | |
141 | Це окремий пакет зі статичними бібліотеками, що більше не входять в | |
142 | склад popt-devel. | |
143 | ||
144 | %package dietlibc | |
145 | Summary: Static dietlibc library for popt development | |
146 | Summary(pl.UTF-8): Biblioteka statyczna dietlibc popt | |
147 | Group: Development/Libraries | |
148 | Requires: %{name}-devel = %{version}-%{release} | |
149 | ||
150 | %description dietlibc | |
151 | Static dietlibc library for popt development. | |
152 | ||
153 | %description dietlibc -l pl.UTF-8 | |
154 | Biblioteka statyczna dietlibc popt. | |
155 | ||
156 | %prep | |
157 | %setup -q | |
158 | %patch0 -p1 | |
159 | ||
160 | %{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac | |
161 | ||
162 | %build | |
163 | %{__gettextize} | |
164 | %{__libtoolize} | |
165 | %{__aclocal} -I m4 | |
166 | %{__autoheader} | |
167 | %{__autoconf} | |
168 | %{__automake} -i | |
169 | ||
170 | %if %{with dietlibc} | |
171 | __cc="%{__cc}" | |
172 | %configure \ | |
173 | CC="diet ${__cc#ccache } %{rpmcflags} %{rpmldflags} -Os -static" \ | |
174 | ac_cv_func_stpcpy=yes \ | |
175 | %if "%{?configure_cache}" == "1" | |
176 | --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \ | |
177 | %endif | |
178 | --disable-shared \ | |
179 | --disable-silent-rules \ | |
180 | --enable-static | |
181 | ||
182 | # libpopt.la dependency on configmake.h missing | |
183 | %{__make} configmake.h | |
184 | %{__make} libpopt.la | |
185 | mv -f .libs/libpopt.a diet-libpopt.a | |
186 | %{__make} clean | |
187 | %endif | |
188 | ||
189 | %configure \ | |
190 | --disable-silent-rules | |
191 | ||
192 | %{__make} | |
193 | ||
194 | %install | |
195 | rm -rf $RPM_BUILD_ROOT | |
196 | install -d $RPM_BUILD_ROOT/%{_lib} | |
197 | %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}} | |
198 | ||
199 | %{__make} install \ | |
200 | pkgconfigdir=%{_pkgconfigdir} \ | |
201 | DESTDIR=$RPM_BUILD_ROOT | |
202 | ||
203 | mv -f $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib} | |
204 | ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libpopt.so.*.*.*) \ | |
205 | $RPM_BUILD_ROOT%{_libdir}/libpopt.so | |
206 | ||
207 | %{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a} | |
208 | ||
209 | %find_lang %{name} | |
210 | ||
211 | %clean | |
212 | rm -rf $RPM_BUILD_ROOT | |
213 | ||
214 | %post -p /sbin/ldconfig | |
215 | %postun -p /sbin/ldconfig | |
216 | ||
217 | %files -f %{name}.lang | |
218 | %defattr(644,root,root,755) | |
219 | %doc CHANGES COPYING README | |
220 | %attr(755,root,root) /%{_lib}/libpopt.so.*.*.* | |
221 | %attr(755,root,root) %ghost /%{_lib}/libpopt.so.0 | |
222 | ||
223 | %files devel | |
224 | %defattr(644,root,root,755) | |
225 | %attr(755,root,root) %{_libdir}/libpopt.so | |
226 | %{_libdir}/libpopt.la | |
227 | %{_includedir}/popt.h | |
228 | %{_pkgconfigdir}/popt.pc | |
229 | %{_mandir}/man3/popt.3* | |
230 | ||
231 | %files static | |
232 | %defattr(644,root,root,755) | |
233 | %{_libdir}/libpopt.a | |
234 | ||
235 | %if %{with dietlibc} | |
236 | %files dietlibc | |
237 | %defattr(644,root,root,755) | |
238 | %{dietlibdir}/libpopt.a | |
239 | %endif |