]> git.pld-linux.org Git - packages/popt.git/blame - popt.spec
be friendly with ccache and diet
[packages/popt.git] / popt.spec
CommitLineData
33d01927 1#
2# Conditional build:
12a3c4ba 3%bcond_without 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
646809cd 13Version: 1.16
4f25be95 14Release: 1
fc2eb38e 15License: X Consortium (MIT-like)
522ea202 16Group: Libraries
0cd319ea 17Source0: http://rpm5.org/files/popt/%{name}-%{version}.tar.gz
646809cd 18# Source0-md5: 3743beefa3dd6247a73f8f7a32c14c33
9f564804 19Patch0: %{name}-automake_1_12.patch
12a3c4ba 20Patch1: %{name}-diet.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}
019f218d 25BuildRequires: gettext-devel >= 0.11.5
e32c43cd 26BuildRequires: libtool
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
490cb4ba 37Popt is a C library for passing command line parameters. It was heavily
e2855904 38influenced by the getopt() and getopt_long() functions, but it allows
490cb4ba 39more powerful argument expansion. It can parse arbitrary argv[] style
e2855904 40arrays and automatically set variables based on command line
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
12a3c4ba 160%patch1 -p1
522ea202 161
0cd319ea
AM
162sed -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
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
JR
176 ac_cv_func_stpcpy=yes \
177 --enable-static \
178 --disable-shared
179
180%{__make} libpopt.la
181mv -f .libs/libpopt.a diet-libpopt.a
182%{__make} clean
183%endif
184
185%configure
fc5f3d04 186
bc47a5a0 187%{__make}
b81937f0 188
189%install
522ea202 190rm -rf $RPM_BUILD_ROOT
f0b4fcb2 191install -d $RPM_BUILD_ROOT/%{_lib}
12a3c4ba 192%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
1a1cb7c5 193
0cd319ea 194%{__make} install \
646809cd 195 pkgconfigdir=%{_pkgconfigdir} \
476e15e4 196 DESTDIR=$RPM_BUILD_ROOT
522ea202 197
4b8dbc19
JB
198mv -f $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib}
199ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libpopt.so.*.*.*) \
76ffe2a6 200 $RPM_BUILD_ROOT%{_libdir}/libpopt.so
85479f4e 201
12a3c4ba
JR
202%{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a}
203
a66aa21d 204%find_lang %{name}
0e610856 205
b81937f0 206%clean
207rm -rf $RPM_BUILD_ROOT
208
57379822 209%post -p /sbin/ldconfig
210%postun -p /sbin/ldconfig
358a09d4 211
a66aa21d 212%files -f %{name}.lang
1a1cb7c5 213%defattr(644,root,root,755)
0cd319ea 214%doc CHANGES COPYING README
bc47a5a0 215%attr(755,root,root) /%{_lib}/libpopt.so.*.*.*
4b8dbc19 216%attr(755,root,root) %ghost /%{_lib}/libpopt.so.0
1a1cb7c5
AF
217
218%files devel
219%defattr(644,root,root,755)
76ffe2a6 220%attr(755,root,root) %{_libdir}/libpopt.so
d432eaf4 221%{_libdir}/libpopt.la
b934aafa 222%{_includedir}/popt.h
646809cd 223%{_pkgconfigdir}/popt.pc
4b8dbc19 224%{_mandir}/man3/popt.3*
1a1cb7c5
AF
225
226%files static
227%defattr(644,root,root,755)
76ffe2a6 228%{_libdir}/libpopt.a
12a3c4ba
JR
229
230%if %{with dietlibc}
231%files dietlibc
232%defattr(644,root,root,755)
233%{dietlibdir}/libpopt.a
33d01927 234%endif
This page took 0.10906 seconds and 4 git commands to generate.