]> git.pld-linux.org Git - packages/popt.git/blame - popt.spec
- added alias-argc patch: don't require sentinel in alias argv (argc should be enough)
[packages/popt.git] / popt.spec
CommitLineData
33d01927 1#
2# Conditional build:
2c296ba3 3%bcond_with dietlibc # don't build static dietlibc library
87b91092 4
c9ad0728 5Summary: C library for parsing command line parameters
1af98fe6
ER
6Summary(de.UTF-8): C-Library zum Parsen von Befehlszeilenparametern
7Summary(fr.UTF-8): Bibliothèque C pour analyser les paramètres de la ligne de commande
8Summary(pl.UTF-8): Biblioteka C do przetwarzania parametrów przekazywanych do programów w linii poleceń
9Summary(ru.UTF-8): Библиотека C для разбора параметров командной строки
10Summary(tr.UTF-8): Komut satırı parametrelerini ayrıştırımak için C arşivi
11Summary(uk.UTF-8): Бібліотека C для розбору параметрів командної стрічки
522ea202 12Name: popt
3ccc6ec7 13Version: 1.17
e130537d 14Release: 3
fc2eb38e 15License: X Consortium (MIT-like)
522ea202 16Group: Libraries
0cd319ea 17Source0: http://rpm5.org/files/popt/%{name}-%{version}.tar.gz
3ccc6ec7
ER
18# Source0-md5: 7f98c657d35981d30dd372da5335c354
19Patch0: %{name}-diet.patch
e130537d 20Patch1: %{name}-alias-argc.patch
0cd319ea 21URL: http://rpm5.org/
4b8dbc19 22BuildRequires: autoconf >= 2.57
bc47a5a0 23BuildRequires: automake >= 1.4
12a3c4ba 24%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-5}
2c296ba3 25BuildRequires: gettext-tools >= 0.11.5
73f13399 26BuildRequires: libtool >= 2:2.2
3e4de6b0 27BuildRoot: %{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
37Popt is a C library for passing command line parameters. It was
38heavily influenced by the getopt() and getopt_long() functions, but it
39allows more powerful argument expansion. It can parse arbitrary argv[]
40style arrays and automatically set variables based on command line
e2855904 41arguments. It also allows command line arguments to be aliased via
42configuration files and includes utility functions for parsing
43arbitrary strings into argv[] arrays using shell-like rules.
b81937f0 44
a7c07515 45%description -l de.UTF-8
b81937f0 46Popt ist eine C-Library zum Parsen von Befehlszeilenparametern, stark
a7c07515
JR
47beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit
48sehr viel besserer Argumenterweiterung. Es können beliebige
e2855904 49argv[]-Argument- Arrays geparst und Variablen auf der Basis von
a7c07515
JR
50Befehlszeilenargumenten automatisch gesetzt werden. Ferner können
51Befehlszeilenargumente über Konfigurationsdateien ge-aliast werden,
52und die Library enthält Utility- funktionen zum Parsen beliebiger
53Strings in argv[]-Arrays anhand von Shell-ähnlichen Regeln.
54
55%description -l fr.UTF-8
56Popt est une bibliothèque C pour analyser les paramêtres de la ligne
57de commande. Elle a été beaucoup influencée par les fonctions getopt()
e2855904 58et getopt_long() mais permet une expansion plus puissante des
59arguments. Elle peut analyser des tableaux arbitraires du style argv[]
60et configure les variables automatiquement selon les arguments de la
a7c07515 61ligne de commande. Elle permet aussi à ces arguments d'être des alias
e2855904 62via des fichiers de configuration et inclut des fonctions utilitaires
a7c07515
JR
63pour analyser des chaînes arbitraires dans les tableaux argv[] en
64utilisant des règles à la shell
65
66%description -l pl.UTF-8
67Popt jest biblioteką C służącą przetwarzaniu parametrów wywołania.
68Duży wpływ miały na nią getopt() i getopt_long(), ale ma od nich
69znacznie większe możliwości. Może przetwarzać bezpośrednio tablice
70typu argv[] i automatycznie ustawiać zmienne w oparciu i parametry
71wywołania. Pozwala także na tworzenie związków pomiędzy argumentami
72wywołania a plikami konfiguracyjnymi oraz pozwala zamieniać ciągi
73znakó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
77Popt - это библиотека C для разбора параметров командной строки. Она
78построена по образу и подобию функций getopt() и getopt_long(), но в
79отличие от последних позволяет более мощное расширение аргументов. Она
80может разбирать произвольные массивы в стиле argv[] и автоматически
81устанавливать переменные в зависимости от аргументов командной строки.
82Также она позволяет создавать алиасы через конфигурационные файлы и
83включает функции для разбора произвольных строк в массивах argv[] с
84использованием шелл-подобных правил.
85
86%description -l tr.UTF-8
87Popt, komut satırı parametrelerini ayrıştıran bir C arşividir.
88Gelişigüzel argv[] tarzı dizileri ayrıştırabilir ve otomatik olarak
89komut satırı değişkenlerine dayalı değişkenleri atayabilir.
90
91%description -l uk.UTF-8
92Popt - це бібліотека C для розбору параметрів командної стрічки. Вона
93побудована на кшталт функцій getopt() та getopt_long(), але на відміну
94від останніх дозволяє більш потужне розширення аргументів. Вона може
95розбирати довільні масиви в стилі argv[] та автоматично встановлювати
96змінні в залежності від аргументів командної стрічки. Також вона
97дозволяє створювати аліаси через конфігураційні файли та містить
98функції для розбору довільних стрічок в масивах argv[] з використанням
99шелл-подібних правил.
476e15e4 100
9036f852 101%package devel
0945613e 102Summary: Header file and documentation for popt development
1af98fe6
ER
103Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja dla popt
104Summary(ru.UTF-8): Хедеры и библиотека, необходимые для программирования с popt
105Summary(uk.UTF-8): Хедери та бібліотека, необхідні для програмування з popt
8efaedc2 106Group: Development/Libraries
ed264e3c 107Requires: %{name} = %{version}-%{release}
1a1cb7c5
AF
108
109%description devel
0945613e 110Header file and documentation for popt development.
1a1cb7c5 111
a7c07515
JR
112%description devel -l pl.UTF-8
113Pliki 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 124Summary: Static library for popt development
1af98fe6
ER
125Summary(pl.UTF-8): Biblioteka statyczna popt
126Summary(ru.UTF-8): Статические библиотеки popt
127Summary(uk.UTF-8): Статичні бібліотеки popt
8efaedc2 128Group: Development/Libraries
ed264e3c 129Requires: %{name}-devel = %{version}-%{release}
1a1cb7c5
AF
130
131%description static
9614669d 132Static library for popt development.
1a1cb7c5 133
a7c07515 134%description static -l pl.UTF-8
0945613e 135Biblioteka 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
146Summary: Static dietlibc library for popt development
147Summary(pl.UTF-8): Biblioteka statyczna dietlibc popt
148Group: Development/Libraries
149Requires: %{name}-devel = %{version}-%{release}
150
151%description dietlibc
152Static dietlibc library for popt development.
153
154%description dietlibc -l pl.UTF-8
155Biblioteka 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
187mv -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 197rm -rf $RPM_BUILD_ROOT
f0b4fcb2 198install -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
205mv -f $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib}
206ln -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
214rm -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
This page took 0.202527 seconds and 4 git commands to generate.