3 %bcond_with dietlibc # static dietlibc library
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 для розбору параметрів командної стрічки
15 License: X Consortium (MIT-like)
17 Source0: http://ftp.rpm.org/popt/releases/popt-1.x/%{name}-%{version}.tar.gz
18 # Source0-md5: eaa2135fddb6eb03f2c87ee1823e5a78
19 Patch0: %{name}-diet.patch
21 BuildRequires: autoconf >= 2.57
22 BuildRequires: automake >= 1.4
23 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-5}
24 BuildRequires: gettext-tools >= 0.11.5
25 BuildRequires: libtool >= 2:2.2
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 # for some reason known only to rpm there must be "\\|" not "\|" here
29 %define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
30 %define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
33 Popt is a C library for passing command line parameters. It was
34 heavily influenced by the getopt() and getopt_long() functions, but it
35 allows more powerful argument expansion. It can parse arbitrary argv[]
36 style arrays and automatically set variables based on command line
37 arguments. It also allows command line arguments to be aliased via
38 configuration files and includes utility functions for parsing
39 arbitrary strings into argv[] arrays using shell-like rules.
41 %description -l de.UTF-8
42 Popt ist eine C-Library zum Parsen von Befehlszeilenparametern, stark
43 beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit
44 sehr viel besserer Argumenterweiterung. Es können beliebige
45 argv[]-Argument- Arrays geparst und Variablen auf der Basis von
46 Befehlszeilenargumenten automatisch gesetzt werden. Ferner können
47 Befehlszeilenargumente über Konfigurationsdateien ge-aliast werden,
48 und die Library enthält Utility- funktionen zum Parsen beliebiger
49 Strings in argv[]-Arrays anhand von Shell-ähnlichen Regeln.
51 %description -l fr.UTF-8
52 Popt est une bibliothèque C pour analyser les paramêtres de la ligne
53 de commande. Elle a été beaucoup influencée par les fonctions getopt()
54 et getopt_long() mais permet une expansion plus puissante des
55 arguments. Elle peut analyser des tableaux arbitraires du style argv[]
56 et configure les variables automatiquement selon les arguments de la
57 ligne de commande. Elle permet aussi à ces arguments d'être des alias
58 via des fichiers de configuration et inclut des fonctions utilitaires
59 pour analyser des chaînes arbitraires dans les tableaux argv[] en
60 utilisant des règles à la shell
62 %description -l pl.UTF-8
63 Popt jest biblioteką C służącą przetwarzaniu parametrów wywołania.
64 Duży wpływ miały na nią getopt() i getopt_long(), ale ma od nich
65 znacznie większe możliwości. Może przetwarzać bezpośrednio tablice
66 typu argv[] i automatycznie ustawiać zmienne w oparciu i parametry
67 wywołania. Pozwala także na tworzenie związków pomiędzy argumentami
68 wywołania a plikami konfiguracyjnymi oraz pozwala zamieniać ciągi
69 znaków na tablice typu argv[] z wykorzystaniem zasad znanych z powłok
72 %description -l ru.UTF-8
73 Popt - это библиотека C для разбора параметров командной строки. Она
74 построена по образу и подобию функций getopt() и getopt_long(), но в
75 отличие от последних позволяет более мощное расширение аргументов. Она
76 может разбирать произвольные массивы в стиле argv[] и автоматически
77 устанавливать переменные в зависимости от аргументов командной строки.
78 Также она позволяет создавать алиасы через конфигурационные файлы и
79 включает функции для разбора произвольных строк в массивах argv[] с
80 использованием шелл-подобных правил.
82 %description -l tr.UTF-8
83 Popt, komut satırı parametrelerini ayrıştıran bir C arşividir.
84 Gelişigüzel argv[] tarzı dizileri ayrıştırabilir ve otomatik olarak
85 komut satırı değişkenlerine dayalı değişkenleri atayabilir.
87 %description -l uk.UTF-8
88 Popt - це бібліотека C для розбору параметрів командної стрічки. Вона
89 побудована на кшталт функцій getopt() та getopt_long(), але на відміну
90 від останніх дозволяє більш потужне розширення аргументів. Вона може
91 розбирати довільні масиви в стилі argv[] та автоматично встановлювати
92 змінні в залежності від аргументів командної стрічки. Також вона
93 дозволяє створювати аліаси через конфігураційні файли та містить
94 функції для розбору довільних стрічок в масивах argv[] з використанням
98 Summary: Header file and documentation for popt development
99 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja dla popt
100 Summary(ru.UTF-8): Хедеры и библиотека, необходимые для программирования с popt
101 Summary(uk.UTF-8): Хедери та бібліотека, необхідні для програмування з popt
102 Group: Development/Libraries
103 Requires: %{name} = %{version}-%{release}
106 Header file and documentation for popt development.
108 %description devel -l pl.UTF-8
109 Pliki nagłówkowe i dokumentacja dla popt.
111 %description devel -l ru.UTF-8
112 Этот пакет содержит библиотеку и хедеры, необходимые для разработки
113 программ, использующих popt.
115 %description devel -l uk.UTF-8
116 Цей пакет містить бібліотеку та хедери, необхідні для розробки
117 програм, що використовують popt.
120 Summary: Static library for popt development
121 Summary(pl.UTF-8): Biblioteka statyczna popt
122 Summary(ru.UTF-8): Статические библиотеки popt
123 Summary(uk.UTF-8): Статичні бібліотеки popt
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{version}-%{release}
128 Static library for popt development.
130 %description static -l pl.UTF-8
131 Biblioteka statyczna popt.
133 %description static -l ru.UTF-8
134 Это отдельный пакет со статическими библиотеками, которые больше не
137 %description static -l uk.UTF-8
138 Це окремий пакет зі статичними бібліотеками, що більше не входять в
142 Summary: Static dietlibc library for popt development
143 Summary(pl.UTF-8): Biblioteka statyczna dietlibc popt
144 Group: Development/Libraries
145 Requires: %{name}-devel = %{version}-%{release}
147 %description dietlibc
148 Static dietlibc library for popt development.
150 %description dietlibc -l pl.UTF-8
151 Biblioteka statyczna dietlibc popt.
157 %{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
170 CC="diet ${__cc#ccache } %{rpmcflags} %{rpmldflags} -Os -static" \
171 ac_cv_func_stpcpy=yes \
172 %if "%{?configure_cache}" == "1"
173 --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
176 --disable-silent-rules \
179 # libpopt.la dependency on configmake.h missing
180 %{__make} configmake.h
182 %{__mv} .libs/libpopt.a diet-libpopt.a
187 --disable-silent-rules
192 rm -rf $RPM_BUILD_ROOT
193 install -d $RPM_BUILD_ROOT/%{_lib}
194 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
197 pkgconfigdir=%{_pkgconfigdir} \
198 DESTDIR=$RPM_BUILD_ROOT
200 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib}
201 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libpopt.so.*.*.*) \
202 $RPM_BUILD_ROOT%{_libdir}/libpopt.so
204 %{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a}
209 rm -rf $RPM_BUILD_ROOT
211 %post -p /sbin/ldconfig
212 %postun -p /sbin/ldconfig
214 %files -f %{name}.lang
215 %defattr(644,root,root,755)
217 %attr(755,root,root) /%{_lib}/libpopt.so.*.*.*
218 %attr(755,root,root) %ghost /%{_lib}/libpopt.so.0
221 %defattr(644,root,root,755)
222 %attr(755,root,root) %{_libdir}/libpopt.so
223 %{_libdir}/libpopt.la
224 %{_includedir}/popt.h
225 %{_pkgconfigdir}/popt.pc
226 %{_mandir}/man3/popt.3*
229 %defattr(644,root,root,755)
234 %defattr(644,root,root,755)
235 %{dietlibdir}/libpopt.a