3 %bcond_with dietlibc # don't build 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://rpm5.org/files/popt/%{name}-%{version}.tar.gz
18 # Source0-md5: 7f98c657d35981d30dd372da5335c354
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 # don't require very fresh rpm.macros to build
29 %define __gettextize gettextize --copy --force ; cp -f po/Makevars{.template,}
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}
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.
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.
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
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
75 %description -l ru.UTF-8
76 Popt - это библиотека C для разбора параметров командной строки. Она
77 построена по образу и подобию функций getopt() и getopt_long(), но в
78 отличие от последних позволяет более мощное расширение аргументов. Она
79 может разбирать произвольные массивы в стиле argv[] и автоматически
80 устанавливать переменные в зависимости от аргументов командной строки.
81 Также она позволяет создавать алиасы через конфигурационные файлы и
82 включает функции для разбора произвольных строк в массивах argv[] с
83 использованием шелл-подобных правил.
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.
90 %description -l uk.UTF-8
91 Popt - це бібліотека C для розбору параметрів командної стрічки. Вона
92 побудована на кшталт функцій getopt() та getopt_long(), але на відміну
93 від останніх дозволяє більш потужне розширення аргументів. Вона може
94 розбирати довільні масиви в стилі argv[] та автоматично встановлювати
95 змінні в залежності від аргументів командної стрічки. Також вона
96 дозволяє створювати аліаси через конфігураційні файли та містить
97 функції для розбору довільних стрічок в масивах argv[] з використанням
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}
109 Header file and documentation for popt development.
111 %description devel -l pl.UTF-8
112 Pliki nagłówkowe i dokumentacja dla popt.
114 %description devel -l ru.UTF-8
115 Этот пакет содержит библиотеку и хедеры, необходимые для разработки
116 программ, использующих popt.
118 %description devel -l uk.UTF-8
119 Цей пакет містить бібліотеку та хедери, необхідні для розробки
120 програм, що використовують popt.
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}
131 Static library for popt development.
133 %description static -l pl.UTF-8
134 Biblioteka statyczna popt.
136 %description static -l ru.UTF-8
137 Это отдельный пакет со статическими библиотеками, которые больше не
140 %description static -l uk.UTF-8
141 Це окремий пакет зі статичними бібліотеками, що більше не входять в
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}
150 %description dietlibc
151 Static dietlibc library for popt development.
153 %description dietlibc -l pl.UTF-8
154 Biblioteka statyczna dietlibc popt.
160 %{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
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 \
179 --disable-silent-rules \
182 # libpopt.la dependency on configmake.h missing
183 %{__make} configmake.h
185 mv -f .libs/libpopt.a diet-libpopt.a
190 --disable-silent-rules
195 rm -rf $RPM_BUILD_ROOT
196 install -d $RPM_BUILD_ROOT/%{_lib}
197 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
200 pkgconfigdir=%{_pkgconfigdir} \
201 DESTDIR=$RPM_BUILD_ROOT
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
207 %{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a}
212 rm -rf $RPM_BUILD_ROOT
214 %post -p /sbin/ldconfig
215 %postun -p /sbin/ldconfig
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
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*
232 %defattr(644,root,root,755)
237 %defattr(644,root,root,755)
238 %{dietlibdir}/libpopt.a