libidn/libidn.spec
2019-11-06 19:38:53 +08:00

147 lines
3.5 KiB
RPMSpec

%bcond_with java
Name: libidn
Version: 1.35
Release: 7
Summary: GNU IDN Library - Libidn
License: LGPLv2+ and GPLv3+ and GFDL
URL: http://www.gnu.org/software/libidn/
Source0: http://ftp.gnu.org/gnu/libidn/libidn-%{version}.tar.gz
#patch from RedHat add --disable-emacs
Patch0: libidn-1.33-Allow-disabling-Emacs-support.patch
Patch6000: 0002-Check-codepoint-validity-in-punycode_decode-and-puny.patch
#patch from RedHat fix memory leak
Patch6001: 0003-Fix-unlikely-memory-leak-in-idna_to_unicode_4z4z.patch
Patch6002: 0004-Fix-build-failure-in-csharp.patch
BuildRequires: autoconf autoconf-archive automake libtool texinfo
BuildRequires: gcc gettext gettext-devel pkgconfig help2man emacs
Provides: bundled(gnulib)
Obsoletes: emacs-libidn < 1.30-4
Provides: emacs-libidn < 1.30-4
Requires: emacs-filesystem >= %{_emacs_version}
%description
GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA 2003 specifications.
Libidn's purpose is to encode and decode internationalized domain names.
%package devel
Summary: Development files for the libidn library
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
%description devel
This package includes header files and libraries necessary for
developing programs which use the GNU libidn library.
%if %{with java}
%package java
Summary: Java port of the GNU Libidn library
BuildRequires: java-devel javapackages-local
BuildRequires: mvn(com.google.code.findbugs:annotations)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(junit:junit)
BuildArch: noarch
%description java
This package contains the native Java port of the library.
%package javadoc
Summary: Javadoc for %{name}-java
BuildArch: noarch
%description javadoc
This package contains javadoc for %{name}-java.
%endif
%package_help
%prep
%autosetup -n %{name}-%{version} -p1
autoreconf -vif
touch src/idn_cmd.c src/idn_cmd.h
%build
%configure --disable-csharp --enable-emacs \
%if %{with java}
--enable-java
%else
--disable-java
%endif
%make_build
%install
%make_install
rm -rf %{buildroot}%{_datadir}/info/dir
rm -rf %{buildroot}%{_libdir}/*.la \
%{buildroot}%{_datadir}/info/*.png
%if %{with java}
rm -rf doc/java/*
%javadoc -source 1.6 -d doc/java $(find java/src/main/java -name "*.java")
rm -rf $RPM_BUILD_ROOT%{_javadir}/libidn*.jar
%mvn_artifact java/pom.xml java/libidn-%{version}.jar
%mvn_file org.gnu.inet:libidn libidn
%mvn_install -J doc/java
%endif
%find_lang %{name}
%ldconfig_scriptlets
%files -f %{name}.lang
%license COPYING*
%doc AUTHORS NEWS FAQ THANKS README
%{_bindir}/idn
%{_libdir}/libidn.so.12*
%{_datadir}/emacs/site-lisp/*.el
%files devel
%{_libdir}/libidn.so
%{_libdir}/*.a
%{_includedir}/*.h
%{_libdir}/pkgconfig/*.pc
%if %{with java}
%files java -f .mfiles
%license COPYING* java/LICENSE-2.0.txt
%files javadoc -f .mfiles-javadoc
%license COPYING* java/LICENSE-2.0.txt
%endif
%files help
%{_mandir}/man1/idn.1*
%{_mandir}/man3/*
%{_infodir}/%{name}.info.gz
%changelog
* Thu Oct 17 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.35-7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add bcondwith java
* Thu Oct 17 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.35-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add libidn_enables_java
* Mon Sep 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.35-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: Fix build failure in csharp
* Mon Sep 2 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.35-1
- Package init