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