# - prepare package with web-files and java from contrib
#
# Conditional build:
-%bcond_with java # build Java implementation
+%if "%{pld_release}" == "ac"
+%bcond_with dotnet # don't build C# binding
+%bcond_with java # don't build Java implementation
+%else
+%bcond_without dotnet # don't build C# binding
+%bcond_without java # don't build Java implementation
+%endif
+%bcond_without python # don't build python interface
#
+%ifnarch %{ix86} %{x8664} alpha arm hppa ppc s390 s390x sparc sparcv9 sparc64
+%undefine with_dotnet
+%endif
+%ifarch i386
+%undefine with_dotnet
+%endif
Summary: Internationalized string processing library
-Summary(pl): Biblioteka do przetwarzania umiêdzynarodowionych ³añcuchów
+Summary(pl.UTF-8): Biblioteka do przetwarzania umiędzynarodowionych łańcuchów
Name: libidn
-Version: 0.5.12
-Release: 2
-License: LGPL v2.1
+Version: 1.28
+Release: 1
+License: GPL v2+ or LGPL v3+ (library), GPL v3+ (utilities)
Group: Libraries
-Source0: http://josefsson.org/libidn/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 0a75ffdec5b739e744bb14cb8d4b4ba3
+Source0: http://ftp.gnu.org/gnu/libidn/%{name}-%{version}.tar.gz
+# Source0-md5: 43a6f14b16559e10a492acc65c4b0acc
Patch0: %{name}-info.patch
Patch1: %{name}-python.patch
URL: http://www.gnu.org/software/libidn/
-BuildRequires: autoconf >= 2.59
-BuildRequires: automake >= 1:1.9
-BuildRequires: gettext-devel >= 0.14.1
+BuildRequires: autoconf >= 2.61
+BuildRequires: automake >= 1:1.10
+%{?with_java:BuildRequires: gcc-java}
+BuildRequires: gettext-devel >= 0.18.1
+%{?with_java:BuildRequires: gjdoc}
+BuildRequires: gtk-doc >= 1.1
+BuildRequires: help2man
%{?with_java:BuildRequires: jdk}
BuildRequires: libtool >= 2:1.5
+%{?with_dotnet:BuildRequires: mono}
+%{?with_dotnet:BuildRequires: mono-csharp}
BuildRequires: perl-base
-BuildRequires: python-devel >= 1:2.3
+BuildRequires: pkgconfig
+%{?with_python:BuildRequires: python-devel >= 1:2.3}
+BuildRequires: rpm >= 4.4.9-56
+%{?with_python:BuildRequires: rpm-pythonprov}
+BuildRequires: rpmbuild(macros) >= 1.384
BuildRequires: texinfo >= 4.7
Requires(post,postun): /sbin/ldconfig
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
specifications defined by the IETF Internationalized Domain Names
(IDN) working group, used for internationalized domain names.
-%description -l pl
+%description -l pl.UTF-8
GNU Libidn to implementacja specyfikacji Stringprep, Punycode i IDNA
-zdefiniowanych przez grupê robocz± IETF Internationalized Domain Names
-(IDN), zajmuj±c± siê umiêdzynarodowionymi nazwami domen.
+zdefiniowanych przez grupę roboczą IETF Internationalized Domain Names
+(IDN), zajmującą się umiędzynarodowionymi nazwami domen.
%package devel
Summary: Header files for libidn library
-Summary(pl): Pliki nag³ówkowe biblioteki libidn
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libidn
+License: LGPL v2.1+
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Header files for libidn library.
-%description devel -l pl
-Pliki nag³ówkowe biblioteki libidn.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libidn.
%package static
Summary: Static libidn library
-Summary(pl): Statyczna biblioteka libidn
+Summary(pl.UTF-8): Statyczna biblioteka libidn
+License: LGPL v2.1+
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
Static libidn library.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna biblioteka libidn.
+%package -n dotnet-libidn
+Summary: C# binding for libidn
+Summary(pl.UTF-8): Wiązanie C# dla libidn
+License: LGPL v2.1+
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description -n dotnet-libidn
+C# binding for libidn.
+
+%description -n dotnet-libidn -l pl.UTF-8
+Wiązanie C# dla libidn.
+
%package -n emacs-libidn-pkg
Summary: IDN support files for emacs
-Summary(pl): Obs³uga IDN dla emacsa
+Summary(pl.UTF-8): Obsługa IDN dla emacsa
+License: GPL v3+
Group: Applications/Editors/Emacs
Requires: %{name} = %{version}-%{release}
%description -n emacs-libidn-pkg
IDN support files for emacs.
-%description -n emacs-libidn-pkg -l pl
-Obs³uga IDN dla emacsa.
+%description -n emacs-libidn-pkg -l pl.UTF-8
+Obsługa IDN dla emacsa.
%package -n java-libidn
Summary: Java implementation of libidn
-Summary(pl): Implementacja libidn w Javie
+Summary(pl.UTF-8): Implementacja libidn w Javie
+License: LGPL v2.1+
Group: Libraries
Requires: jre
Java implementation of libidn (internationalized domain names
library).
-%description -n java-libidn -l pl
-Implementacja libidn (biblioteki umiêdzynarodowionych nazw domen) w
+%description -n java-libidn -l pl.UTF-8
+Implementacja libidn (biblioteki umiędzynarodowionych nazw domen) w
Javie.
%package -n python-idn
Summary: Python interface to libidn
-Summary(pl): Pythonowy interfejs do libidn
+Summary(pl.UTF-8): Pythonowy interfejs do libidn
+License: LGPL v2.1+
Group: Libraries/Python
Requires: %{name} = %{version}-%{release}
%pyrequires_eq python-libs
%description -n python-idn
Python interface to libidn (internationalized domain names library).
-%description -n python-idn -l pl
-Pythonowy interfejs do libidn (biblioteki umiêdzynarodowionych nazw
+%description -n python-idn -l pl.UTF-8
+Pythonowy interfejs do libidn (biblioteki umiędzynarodowionych nazw
domen).
%prep
%patch0 -p1
%patch1 -p1
+%{__rm} po/stamp-po
+
+# avoid different builds having different timestamps
+# see http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2008-August/020363.html
+d='$Date: 2012-05-24 11:40:06 $'
+d=${d#?Date: }; d=${d%%%% *}; d=$(date -d "$d" '+%d %B %Y')
+%{__sed} -i -e "s,@value{UPDATED},$d,g" doc/libidn.texi
+
+# remove it when "linking libtool libraries using a non-POSIX archiver ..." warning is gone
+# (after libidn or libtool change)
+%{__sed} -i -e '/AM_INIT_AUTOMAKE/s/-Werror//' configure.ac
+
%build
%{__gettextize}
%{__libtoolize}
-%{__aclocal} -I m4 -I gl/m4
+%{__aclocal} -I m4 -I gl/m4 -I lib/gl/m4
%{__autoconf}
%{__autoheader}
%{__automake}
+JAR=%{_bindir}/fastjar \
%configure \
+ --disable-silent-rules \
+ %{?with_dotnet:--enable-csharp=mono}%{!?with_dotnet:--disable-csharp} \
%{?with_java:--enable-java} \
--with-lispdir=%{_emacs_lispdir}
%{__make}
+%if %{with python}
%{__make} -C contrib/idn-python \
- INCLUDE="/usr/include/python2.4 -I/usr/include/python2.3 %{rpmcflags} -I../../lib -L../../lib/.libs"
+ INCLUDE="%{py_incdir} %{rpmcflags} -I../../lib -L../../lib/.libs"
+mv contrib/idn-python/idn.so python-idn.so
+%endif
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install -D contrib/idn-python/idn.so $RPM_BUILD_ROOT%{py_sitedir}/idn.so
+%if %{with python}
+install -D python-idn.so $RPM_BUILD_ROOT%{py_sitedir}/idn.so
+%endif
%find_lang %{name}
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+
%clean
rm -rf $RPM_BUILD_ROOT
%doc AUTHORS ChangeLog FAQ NEWS README* THANKS TODO doc/libidn.html contrib
%attr(755,root,root) %{_bindir}/idn
%attr(755,root,root) %{_libdir}/libidn.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libidn.so.11
%{_mandir}/man1/idn.1*
%{_infodir}/libidn.info*
+%{_infodir}/libidn-*.png
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libidn.so
%{_libdir}/libidn.la
-%{_includedir}/*.h
+%{_includedir}/idn-*.h
+%{_includedir}/idna.h
+%{_includedir}/pr29.h
+%{_includedir}/punycode.h
+%{_includedir}/stringprep.h
+%{_includedir}/tld.h
%{_pkgconfigdir}/libidn.pc
-%{_mandir}/man3/*
+%{_mandir}/man3/idn_*.3*
+%{_mandir}/man3/idna_*.3*
+%{_mandir}/man3/pr29_*.3*
+%{_mandir}/man3/punycode_*.3*
+%{_mandir}/man3/stringprep*.3*
+%{_mandir}/man3/tld_*.3*
%files static
%defattr(644,root,root,755)
%{_libdir}/libidn.a
+%if %{with dotnet}
+%files -n dotnet-libidn
+%defattr(644,root,root,755)
+# why not in gac? does it work here?
+%{_libdir}/Libidn.dll
+%endif
+
%files -n emacs-libidn-pkg
%defattr(644,root,root,755)
%{_emacs_lispdir}/*.el
%if %{with java}
%files -n java-libidn
%defattr(644,root,root,755)
-%{_datadir}/java/libidn*.jar
+%{_javadir}/libidn*.jar
%endif
+%if %{with python}
%files -n python-idn
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/idn.so
+%endif