]> git.pld-linux.org Git - packages/popt.git/blobdiff - popt.spec
- added alias-argc patch: don't require sentinel in alias argv (argc should be enough)
[packages/popt.git] / popt.spec
index 5b9a2c35841de3f5c5f3b2d288749b4ad687a4d1..7c8fa9b3d220eb69648be2f844ea210fb3519d05 100644 (file)
--- a/popt.spec
+++ b/popt.spec
-%define snap 20030515
+#
+# Conditional build:
+%bcond_with    dietlibc        # don't build static dietlibc library
+
 Summary:       C library for parsing command line parameters
-Summary(de):   C-Library zum Parsen von Befehlszeilenparametern
-Summary(fr):   Bibliothèque C pour analyser les paramètres de la ligne de commande
-Summary(pl):   Biblioteka C do przetwarzania parametrów przekazywanych do programów w linii poleceñ
-Summary(ru):   âÉÂÌÉÏÔÅËÁ C ÄÌÑ ÒÁÚÂÏÒÁ ÐÁÒÁÍÅÔÒÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ
-Summary(tr):   Komut satýrý parametrelerini ayrýþtýrýmak için C arþivi
-Summary(uk):   â¦Â̦ÏÔÅËÁ C ÄÌÑ ÒÏÚÂÏÒÕ ÐÁÒÁÍÅÔҦנËÏÍÁÎÄÎϧ ÓÔÒ¦ÞËÉ
+Summary(de.UTF-8):     C-Library zum Parsen von Befehlszeilenparametern
+Summary(fr.UTF-8):     Bibliothèque C pour analyser les paramètres de la ligne de commande
+Summary(pl.UTF-8):     Biblioteka C do przetwarzania parametrów przekazywanych do programów w linii poleceń
+Summary(ru.UTF-8):     Библиотека C для разбора параметров командной строки
+Summary(tr.UTF-8):     Komut satırı parametrelerini ayrıştırımak için C arşivi
+Summary(uk.UTF-8):     Бібліотека C для розбору параметрів командної стрічки
 Name:          popt
-Version:       1.9
-Release:       0.%{snap}.4
-License:       LGPL
+Version:       1.17
+Release:       3
+License:       X Consortium (MIT-like)
 Group:         Libraries
-#Source0:      ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/%{name}-%{version}.%{snap}.tar.gz
-Source0:       %{name}-%{version}.%{snap}.tar.gz
-# Source0-md5: bd43546659a4b6b1b462f62ace22a0d7
-Patch0:                %{name}-values.patch
-Patch1:                %{name}-gettext0.11.patch
-Patch2:                %{name}-pl.po.patch
-Patch3:                %{name}-zh_CN.patch
-Patch4:                %{name}-libdir64.patch
-BuildRequires: autoconf >= 2.50
-BuildRequires: automake
-BuildRequires: gettext-devel >= 0.11.5
-BuildRequires: libtool
+Source0:       http://rpm5.org/files/popt/%{name}-%{version}.tar.gz
+# Source0-md5: 7f98c657d35981d30dd372da5335c354
+Patch0:                %{name}-diet.patch
+Patch1:                %{name}-alias-argc.patch
+URL:           http://rpm5.org/
+BuildRequires: autoconf >= 2.57
+BuildRequires: automake >= 1.4
+%{?with_dietlibc:BuildRequires:        dietlibc-static >= 2:0.31-5}
+BuildRequires: gettext-tools >= 0.11.5
+BuildRequires: libtool >= 2:2.2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # don't require very fresh rpm.macros to build
-%define         __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
+%define                __gettextize    gettextize --copy --force ; cp -f po/Makevars{.template,}
+
+# for some reason known only to rpm there must be "\\|" not "\|" here
+%define                dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
+%define                dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
 
 %description
-Popt is a C library for passing command line parameters. It was heavily
-influenced by the getopt() and getopt_long() functions, but it allows
-more powerful argument expansion. It can parse arbitrary argv[] style
-arrays and automatically set variables based on command line
+Popt is a C library for passing command line parameters. It was
+heavily influenced by the getopt() and getopt_long() functions, but it
+allows more powerful argument expansion. It can parse arbitrary argv[]
+style arrays and automatically set variables based on command line
 arguments. It also allows command line arguments to be aliased via
 configuration files and includes utility functions for parsing
 arbitrary strings into argv[] arrays using shell-like rules.
 
-%description -l de
+%description -l de.UTF-8
 Popt ist eine C-Library zum Parsen von Befehlszeilenparametern, stark
-beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit
-sehr viel besserer Argumenterweiterung. Es können beliebige
+beeinflußt von den getopt() und getopt_long()-Funktionen, aber mit
+sehr viel besserer Argumenterweiterung. Es können beliebige
 argv[]-Argument- Arrays geparst und Variablen auf der Basis von
-Befehlszeilenargumenten automatisch gesetzt werden. Ferner können
-Befehlszeilenargumente über Konfigurationsdateien ge-aliast werden,
-und die Library enthält Utility- funktionen zum Parsen beliebiger
-Strings in argv[]-Arrays anhand von Shell-ähnlichen Regeln.
-
-%description -l fr
-Popt est une bibliothèque C pour analyser les paramêtres de la ligne
-de commande. Elle a été beaucoup influencée par les fonctions getopt()
+Befehlszeilenargumenten automatisch gesetzt werden. Ferner können
+Befehlszeilenargumente über Konfigurationsdateien ge-aliast werden,
+und die Library enthält Utility- funktionen zum Parsen beliebiger
+Strings in argv[]-Arrays anhand von Shell-ähnlichen Regeln.
+
+%description -l fr.UTF-8
+Popt est une bibliothèque C pour analyser les paramêtres de la ligne
+de commande. Elle a été beaucoup influencée par les fonctions getopt()
 et getopt_long() mais permet une expansion plus puissante des
 arguments. Elle peut analyser des tableaux arbitraires du style argv[]
 et configure les variables automatiquement selon les arguments de la
-ligne de commande. Elle permet aussi à ces arguments d'être des alias
+ligne de commande. Elle permet aussi à ces arguments d'être des alias
 via des fichiers de configuration et inclut des fonctions utilitaires
-pour analyser des chaînes arbitraires dans les tableaux argv[] en
-utilisant des règles à la shell
-
-%description -l pl
-Popt jest bibliotek± C s³u¿±c± przetwarzaniu parametrów wywo³ania.
-Du¿y wp³yw mia³y na ni± getopt() i getopt_long(), ale ma od nich
-znacznie wiêksze mo¿liwo¶ci. Mo¿e przetwarzaæ bezpo¶rednio tablice
-typu argv[] i automatycznie ustawiaæ zmienne w oparciu i parametry
-wywo³ania. Pozwala tak¿e na tworzenie zwi±zków pomiêdzy argumentami
-wywo³ania a plikami konfiguracyjnymi oraz pozwala zamieniaæ ci±gi
-znaków na tablice typu argv[] z wykorzystaniem zasad znanych z pow³ok
+pour analyser des chaînes arbitraires dans les tableaux argv[] en
+utilisant des règles à la shell
+
+%description -l pl.UTF-8
+Popt jest biblioteką C służącą przetwarzaniu parametrów wywołania.
+Duży wpływ miały na nią getopt() i getopt_long(), ale ma od nich
+znacznie większe możliwości. Może przetwarzać bezpośrednio tablice
+typu argv[] i automatycznie ustawiać zmienne w oparciu i parametry
+wywołania. Pozwala także na tworzenie związków pomiędzy argumentami
+wywołania a plikami konfiguracyjnymi oraz pozwala zamieniać ciągi
+znaków na tablice typu argv[] z wykorzystaniem zasad znanych z powłok
 (shelli).
 
-%description -l ru
-Popt - ÜÔÏ ÂÉÂÌÉÏÔÅËÁ C ÄÌÑ ÒÁÚÂÏÒÁ ÐÁÒÁÍÅÔÒÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. ïÎÁ
ÏÓÔÒÏÅÎÁ ÐÏ ÏÂÒÁÚÕ É ÐÏÄÏÂÉÀ ÆÕÎËÃÉÊ getopt() É getopt_long(), ÎÏ ×
-ÏÔÌÉÞÉÅ ÏÔ ÐÏÓÌÅÄÎÉÈ ÐÏÚ×ÏÌÑÅÔ ÂÏÌÅÅ ÍÏÝÎÏÅ ÒÁÓÛÉÒÅÎÉÅ ÁÒÇÕÍÅÎÔÏ×. ïÎÁ
-ÍÏÖÅÔ ÒÁÚÂÉÒÁÔØ ÐÒÏÉÚ×ÏÌØÎÙÅ ÍÁÓÓÉ×Ù × ÓÔÉÌÅ argv[] É Á×ÔÏÍÁÔÉÞÅÓËÉ
-ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÐÅÒÅÍÅÎÎÙÅ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÁÒÇÕÍÅÎÔÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.
-ôÁËÖÅ ÏÎÁ ÐÏÚ×ÏÌÑÅÔ ÓÏÚÄÁ×ÁÔØ ÁÌÉÁÓÙ ÞÅÒÅÚ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ É
-×ËÌÀÞÁÅÔ ÆÕÎËÃÉÉ ÄÌÑ ÒÁÚÂÏÒÁ ÐÒÏÉÚ×ÏÌØÎÙÈ ÓÔÒÏË × ÍÁÓÓÉ×ÁÈ argv[] Ó
-ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÛÅÌÌ-ÐÏÄÏÂÎÙÈ ÐÒÁ×ÉÌ.
-
-%description -l tr
-Popt, komut satýrý parametrelerini ayrýþtýran bir C arþividir.
-Geliþigüzel argv[] tarzý dizileri ayrýþtýrabilir ve otomatik olarak
-komut satýrý deðiþkenlerine dayalý deðiþkenleri atayabilir.
-
-%description -l uk
-Popt - ÃŠ¦Â̦ÏÔÅËÁ C ÄÌÑ ÒÏÚÂÏÒÕ ÐÁÒÁÍÅÔҦנËÏÍÁÎÄÎϧ ÓÔÒ¦ÞËÉ. ÷ÏÎÁ
ÏÂÕÄÏ×ÁÎÁ ÎÁ ËÛÔÁÌÔ ÆÕÎËæʠgetopt() ÔÁ getopt_long(), ÁÌÅ ÎÁ ×¦ÄͦÎÕ
-צĠÏÓÔÁÎΦȠÄÏÚ×ÏÌѤ Â¦ÌØÛ ÐÏÔÕÖÎÅ ÒÏÚÛÉÒÅÎÎÑ ÁÒÇÕÍÅÎÔ¦×. ÷ÏÎÁ ÍÏÖÅ
-ÒÏÚÂÉÒÁÔÉ ÄÏצÌØΦ ÍÁÓÉ×É × ÓÔÉ̦ argv[] ÔÁ Á×ÔÏÍÁÔÉÞÎÏ ×ÓÔÁÎÏ×ÌÀ×ÁÔÉ
-ÚͦÎΦ × ÚÁÌÅÖÎÏÓÔ¦ ×¦Ä ÁÒÇÕÍÅÎԦנËÏÍÁÎÄÎϧ ÓÔÒ¦ÞËÉ. ôÁËÏÖ ×ÏÎÁ
-ÄÏÚ×ÏÌѤ ÓÔ×ÏÒÀ×ÁÔÉ Á̦ÁÓÉ ÞÅÒÅÚ ËÏÎƦÇÕÒÁæÊΦ ÆÁÊÌÉ ÔÁ Í¦ÓÔÉÔØ
-ÆÕÎË槠ÄÌÑ ÒÏÚÂÏÒÕ ÄÏצÌØÎÉÈ ÓÔÒ¦ÞÏË × ÍÁÓÉ×ÁÈ argv[] Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ
-ÛÅÌÌ-ÐÏĦÂÎÉÈ ÐÒÁ×ÉÌ.
+%description -l ru.UTF-8
+Popt - это библиотека C для разбора параметров командной строки. Она
¿Ð¾Ñ\81Ñ\82Ñ\80оена Ð¿Ð¾ Ð¾Ð±Ñ\80азÑ\83 Ð¸ Ð¿Ð¾Ð´Ð¾Ð±Ð¸Ñ\8e Ñ\84Ñ\83нкÑ\86ий getopt() Ð¸ getopt_long(), Ð½Ð¾ Ð²
+отличие от последних позволяет более мощное расширение аргументов. Она
+может разбирать произвольные массивы в стиле argv[] и автоматически
+устанавливать переменные в зависимости от аргументов командной строки.
+Также она позволяет создавать алиасы через конфигурационные файлы и
+включает функции для разбора произвольных строк в массивах argv[] с
+использованием шелл-подобных правил.
+
+%description -l tr.UTF-8
+Popt, komut satırı parametrelerini ayrıştıran bir C arşividir.
+Gelişigüzel argv[] tarzı dizileri ayrıştırabilir ve otomatik olarak
+komut satırı değişkenlerine dayalı değişkenleri atayabilir.
+
+%description -l uk.UTF-8
+Popt - це бібліотека C для розбору параметрів командної стрічки. Вона
¿Ð¾Ð±Ñ\83дована Ð½Ð° ÐºÑ\88Ñ\82алÑ\82 Ñ\84Ñ\83нкÑ\86Ñ\96й getopt() Ñ\82а getopt_long(), Ð°Ð»Ðµ Ð½Ð° Ð²Ñ\96дмÑ\96нÑ\83
+від останніх дозволяє більш потужне розширення аргументів. Вона може
+розбирати довільні масиви в стилі argv[] та автоматично встановлювати
+змінні в залежності від аргументів командної стрічки. Також вона
+дозволяє створювати аліаси через конфігураційні файли та містить
+функції для розбору довільних стрічок в масивах argv[] з використанням
+шелл-подібних правил.
 
 %package devel
 Summary:       Header file and documentation for popt development
-Summary(pl):   Pliki nag³ówkowe i dokumentacja dla popt
-Summary(ru):   èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÁ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó popt
-Summary(uk):   èÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÁ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú popt
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja dla popt
+Summary(ru.UTF-8):     Хедеры и библиотека, необходимые для программирования с popt
+Summary(uk.UTF-8):     Хедери та бібліотека, необхідні для програмування з popt
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 
 %description devel
 Header file and documentation for popt development.
 
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja dla popt.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja dla popt.
 
-%description devel -l ru
-üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÂÉÂÌÉÏÔÅËÕ É ÈÅÄÅÒÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ
ÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ popt.
+%description devel -l ru.UTF-8
+Этот пакет содержит библиотеку и хедеры, необходимые для разработки
¿Ñ\80огÑ\80амм, Ð¸Ñ\81полÑ\8cзÑ\83Ñ\8eÑ\89иÑ\85 popt.
 
-%description devel -l uk
-ãÅÊ ÐÁËÅԠͦÓÔÉÔؠ¦Â̦ÏÔÅËÕ ÔÁ ÈÅÄÅÒÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ
ÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ popt.
+%description devel -l uk.UTF-8
+Цей пакет містить бібліотеку та хедери, необхідні для розробки
¿Ñ\80огÑ\80ам, Ñ\89о Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8c popt.
 
 %package static
 Summary:       Static library for popt development
-Summary(pl):   Biblioteka statyczna popt
-Summary(ru):   óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ popt
-Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ popt
+Summary(pl.UTF-8):     Biblioteka statyczna popt
+Summary(ru.UTF-8):     Статические библиотеки popt
+Summary(uk.UTF-8):     Статичні бібліотеки popt
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static library for popt development.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Biblioteka statyczna popt.
 
-%description static -l ru
-üÔÏ ÏÔÄÅÌØÎÙÊ ÐÁËÅÔ ÓÏ ÓÔÁÔÉÞÅÓËÉÍÉ ÂÉÂÌÉÏÔÅËÁÍÉ, ËÏÔÏÒÙÅ ÂÏÌØÛÅ ÎÅ
-×ÈÏÄÑÔ × popt-devel.
+%description static -l ru.UTF-8
+Это отдельный пакет со статическими библиотеками, которые больше не
+входят в popt-devel.
+
+%description static -l uk.UTF-8
+Це окремий пакет зі статичними бібліотеками, що більше не входять в
+склад popt-devel.
+
+%package dietlibc
+Summary:       Static dietlibc library for popt development
+Summary(pl.UTF-8):     Biblioteka statyczna dietlibc popt
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description dietlibc
+Static dietlibc library for popt development.
 
-%description static -l uk
-ãÅ ÏËÒÅÍÉÊ ÐÁËÅÔ Ú¦ ÓÔÁÔÉÞÎÉÍɠ¦Â̦ÏÔÅËÁÍÉ, ÝϠ¦ÌØÛÅ ÎÅ ×ÈÏÄÑÔØ ×
-ÓËÌÁÄ popt-devel.
+%description dietlibc -l pl.UTF-8
+Biblioteka statyczna dietlibc popt.
 
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
-mv -f po/{zh_CN.GB2312,zh_CN}.po
-mv -f po/{no,nb}.po
+%{__sed} -i -e 's#po/Makefile.in intl/Makefile##g' configure.ac
 
 %build
 %{__gettextize}
-autoupdate
 %{__libtoolize}
+%{__aclocal} -I m4
 %{__autoheader}
-%{__aclocal}
 %{__autoconf}
 %{__automake} -i
+
+%if %{with dietlibc}
+__cc="%{__cc}"
+%configure \
+       CC="diet ${__cc#ccache } %{rpmcflags} %{rpmldflags} -Os -static" \
+       ac_cv_func_stpcpy=yes \
+%if "%{?configure_cache}" == "1"
+       --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
+%endif
+       --disable-shared \
+       --disable-silent-rules \
+       --enable-static
+
+# libpopt.la dependency on configmake.h missing
+%{__make} configmake.h
+%{__make} libpopt.la
+mv -f .libs/libpopt.a diet-libpopt.a
+%{__make} clean
+%endif
+
 %configure \
-       --enable-shared
+       --disable-silent-rules
 
-# no reason to link tests statically - omit -all-static
-%{__make} \
-       test1_LDFLAGS="" \
-       test2_LDFLAGS="" \
-       test3_LDFLAGS=""
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/%{_lib}
+%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
 
 %{__make} install \
+       pkgconfigdir=%{_pkgconfigdir} \
        DESTDIR=$RPM_BUILD_ROOT
 
-mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib}
-rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.so
-ln -sf /%{_lib}/`(cd $RPM_BUILD_ROOT/%{_lib}; echo *)` \
+mv -f $RPM_BUILD_ROOT%{_libdir}/libpopt.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libpopt.so.*.*.*) \
        $RPM_BUILD_ROOT%{_libdir}/libpopt.so
 
+%{?with_dietlibc:install diet-libpopt.a $RPM_BUILD_ROOT%{dietlibdir}/libpopt.a}
+
 %find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post   -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/*
+%doc CHANGES COPYING README
+%attr(755,root,root) /%{_lib}/libpopt.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libpopt.so.0
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpopt.so
 %{_libdir}/libpopt.la
-%{_mandir}/man3/*
 %{_includedir}/popt.h
+%{_pkgconfigdir}/popt.pc
+%{_mandir}/man3/popt.3*
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libpopt.a
+
+%if %{with dietlibc}
+%files dietlibc
+%defattr(644,root,root,755)
+%{dietlibdir}/libpopt.a
+%endif
This page took 0.279172 seconds and 4 git commands to generate.