]> git.pld-linux.org Git - packages/popt.git/blob - popt.spec
- added alias-argc patch: don't require sentinel in alias argv (argc should be enough)
[packages/popt.git] / popt.spec
1 #
2 # Conditional build:
3 %bcond_with     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:        3
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 Patch1:         %{name}-alias-argc.patch
21 URL:            http://rpm5.org/
22 BuildRequires:  autoconf >= 2.57
23 BuildRequires:  automake >= 1.4
24 %{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-5}
25 BuildRequires:  gettext-tools >= 0.11.5
26 BuildRequires:  libtool >= 2:2.2
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 # don't require very fresh rpm.macros to build
30 %define         __gettextize    gettextize --copy --force ; cp -f po/Makevars{.template,}
31
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
36 %description
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
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.
44
45 %description -l de.UTF-8
46 Popt ist eine C-Library zum Parsen von Befehlszeilenparametern, stark
47 beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit
48 sehr viel besserer Argumenterweiterung. Es können beliebige
49 argv[]-Argument- Arrays geparst und Variablen auf der Basis von
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()
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
61 ligne de commande. Elle permet aussi à ces arguments d'être des alias
62 via des fichiers de configuration et inclut des fonctions utilitaires
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
74 (shelli).
75
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 шелл-подібних правил.
100
101 %package devel
102 Summary:        Header file and documentation for popt development
103 Summary(pl.UTF-8):      Pliki nagłówkowe i dokumentacja dla popt
104 Summary(ru.UTF-8):      Хедеры и библиотека, необходимые для программирования с popt
105 Summary(uk.UTF-8):      Хедери та бібліотека, необхідні для програмування з popt
106 Group:          Development/Libraries
107 Requires:       %{name} = %{version}-%{release}
108
109 %description devel
110 Header file and documentation for popt development.
111
112 %description devel -l pl.UTF-8
113 Pliki nagłówkowe i dokumentacja dla popt.
114
115 %description devel -l ru.UTF-8
116 Этот пакет содержит библиотеку и хедеры, необходимые для разработки
117 программ, использующих popt.
118
119 %description devel -l uk.UTF-8
120 Цей пакет містить бібліотеку та хедери, необхідні для розробки
121 програм, що використовують popt.
122
123 %package static
124 Summary:        Static library for popt development
125 Summary(pl.UTF-8):      Biblioteka statyczna popt
126 Summary(ru.UTF-8):      Статические библиотеки popt
127 Summary(uk.UTF-8):      Статичні бібліотеки popt
128 Group:          Development/Libraries
129 Requires:       %{name}-devel = %{version}-%{release}
130
131 %description static
132 Static library for popt development.
133
134 %description static -l pl.UTF-8
135 Biblioteka statyczna popt.
136
137 %description static -l ru.UTF-8
138 Это отдельный пакет со статическими библиотеками, которые больше не
139 входят в popt-devel.
140
141 %description static -l uk.UTF-8
142 Це окремий пакет зі статичними бібліотеками, що більше не входять в
143 склад popt-devel.
144
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
157 %prep
158 %setup -q
159 %patch0 -p1
160 %patch1 -p1
161
162 %{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
163
164 %build
165 %{__gettextize}
166 %{__libtoolize}
167 %{__aclocal} -I m4
168 %{__autoheader}
169 %{__autoconf}
170 %{__automake} -i
171
172 %if %{with dietlibc}
173 __cc="%{__cc}"
174 %configure \
175         CC="diet ${__cc#ccache } %{rpmcflags} %{rpmldflags} -Os -static" \
176         ac_cv_func_stpcpy=yes \
177 %if "%{?configure_cache}" == "1"
178         --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
179 %endif
180         --disable-shared \
181         --disable-silent-rules \
182         --enable-static
183
184 # libpopt.la dependency on configmake.h missing
185 %{__make} configmake.h
186 %{__make} libpopt.la
187 mv -f .libs/libpopt.a diet-libpopt.a
188 %{__make} clean
189 %endif
190
191 %configure \
192         --disable-silent-rules
193
194 %{__make}
195
196 %install
197 rm -rf $RPM_BUILD_ROOT
198 install -d $RPM_BUILD_ROOT/%{_lib}
199 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
200
201 %{__make} install \
202         pkgconfigdir=%{_pkgconfigdir} \
203         DESTDIR=$RPM_BUILD_ROOT
204
205 mv -f $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib}
206 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libpopt.so.*.*.*) \
207         $RPM_BUILD_ROOT%{_libdir}/libpopt.so
208
209 %{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a}
210
211 %find_lang %{name}
212
213 %clean
214 rm -rf $RPM_BUILD_ROOT
215
216 %post   -p /sbin/ldconfig
217 %postun -p /sbin/ldconfig
218
219 %files -f %{name}.lang
220 %defattr(644,root,root,755)
221 %doc CHANGES COPYING README
222 %attr(755,root,root) /%{_lib}/libpopt.so.*.*.*
223 %attr(755,root,root) %ghost /%{_lib}/libpopt.so.0
224
225 %files devel
226 %defattr(644,root,root,755)
227 %attr(755,root,root) %{_libdir}/libpopt.so
228 %{_libdir}/libpopt.la
229 %{_includedir}/popt.h
230 %{_pkgconfigdir}/popt.pc
231 %{_mandir}/man3/popt.3*
232
233 %files static
234 %defattr(644,root,root,755)
235 %{_libdir}/libpopt.a
236
237 %if %{with dietlibc}
238 %files dietlibc
239 %defattr(644,root,root,755)
240 %{dietlibdir}/libpopt.a
241 %endif
This page took 0.100196 seconds and 3 git commands to generate.