%include Solaris.inc
# Avoid gpatch error
%define _patch_options --fuzz=0
%define src_name idnkit
Name: SUNWidnl
SUNW_BaseDir: %{_basedir}
Version: 1.0
Release: 1
Copyright: distributable
IPS_Package_Name: library/idnkit
IPS_Component_Version: %{ipscompverdefault}
Meta(info.classification): %{ipsclass_sys_i18n}
%define distsrc %{src_name}-%{version}-src
Source: http://www.nic.ad.jp/ja/idn/idnkit/download/sources/%{distsrc}.tar.gz
Source1: sunothers.tar.gz
Source2: idnconv.tar.gz
%define sunothers_dir ${RPM_BUILD_DIR}/%{distsrc}/sunothers/%{version}
Patch1: include_idn_assert.h.patch
Patch2: include_idn_logmacro.h.patch
Patch3: include_idn_res.h.patch
Patch4: lib_aliaslist.c.patch
Patch5: lib_api.c.patch
Patch6: lib_checker.c.patch
Patch7: lib_converter.c.patch
Patch8: lib_delimitermap.c.patch
Patch9: lib_filechecker.c.patch
Patch10: lib_filemapper.c.patch
Patch11: lib_mapper.c.patch
Patch12: lib_mapselector.c.patch
Patch13: lib_nameprep.c.patch
Patch14: lib_normalizer.c.patch
Patch15: lib_punycode.c.patch
Patch16: lib_res.c.patch
Patch17: lib_resconf.c.patch
Patch18: lib_strhash.c.patch
Patch19: lib_ucs4.c.patch
Patch20: lib_ucsmap.c.patch
Patch21: lib_ucsset.c.patch
Patch22: lib_unicode.c.patch
Patch23: lib_unormalize.c.patch
Patch24: lib_utf8.c.patch
Patch25: lib_util.c.patch
#FIX build failure with Parfait
Patch26: lib_converter.c.2.patch
#Solaris type library versions
Patch27: ltconfig.patch
BuildRoot: %{_tmppath}/%{src_name}-%{version}
%include default-depend.inc
SUNW_Copyright: %{src_name}.copyright
Serial: 2002051501
Summary: Internationalized Domain Name kit (idnkit/JPNIC)
Vendor: JPNIC
Packager: Japan Network Information Center
Meta(pkg.description): "idnkit is a kit for handling Internationalized Domain Name."
%package -n SUNWidnd
Summary: Internationalized Domain Name Support Developer Files
SUNW_BaseDir: %{_basedir}
IPS_Package_Name: library/idnkit/header-idnkit
%include default-depend.inc
Requires: SUNWidnl
Meta(pkg.description): "Contains header files for idnkit"
%package -n SUNWidnu
Summary: Internationalized Domain Name Support Utilities
Version: 1.7
SUNW_BaseDir: %{_basedir}
IPS_Package_Name: network/dns/idnconv
%include default-depend.inc
SUNW_Copyright: idnu.copyright
Requires: SUNWidnl
Meta(pkg.description): "Contains utilities for idnkit"
%prep
%setup -n %{distsrc}
#Sun patches
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%ifarch amd64 sparcv9
cd ..
rm -rf %{distsrc}-64
cp -rp %{distsrc} %{distsrc}-64
%endif
%build
/usr/bin/gzip -dc %SOURCE1 | /usr/bin/tar xf -
/usr/bin/cp -f %{sunothers_dir}/config.h ./include
/usr/bin/gzip -dc %SOURCE2 | /usr/bin/tar xf -
export CFLAGS="-xildoff -xc99=%none -KPIC -D_REENTRANT -DSUN_CHANGE -DTEXT_DOMAIN=\"SUNW_I18N_CMD\""
export LDFLAGS="%_ldflags"
export LD=${LD:-/usr/bin/ld}
#parfait is using different extension
if [ "`basename $CC`" == "parfait-cc" ]; then
objs="aliaslist.o.bc api.o.bc checker.o.bc converter.o.bc delimitermap.o.bc filechecker.o.bc filemapper.o.bc localencoding.o.bc mapper.o.bc mapselector.o.bc nameprep.o.bc normalizer.o.bc punycode.o.bc res.o.bc resconf.o.bc result.o.bc strhash.o.bc ucs4.o.bc ucsmap.o.bc ucsset.o.bc unicode.o.bc unormalize.o.bc util.o.bc"
else
objs="aliaslist.o api.o checker.o converter.o delimitermap.o filechecker.o filemapper.o localencoding.o mapper.o mapselector.o nameprep.o normalizer.o punycode.o res.o resconf.o result.o strhash.o ucs4.o ucsmap.o ucsset.o unicode.o unormalize.o util.o"
fi
./configure \
--prefix=%{_prefix} --sysconfdir=%{_sysconfdir} \
--with-iconv=no
gmake RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
#we only want a handful of symbols in the library
cd lib
rm -f .libs/libidnkit.so*
$LD -G -h libidnkit.so.1 -o .libs/libidnkit.so.1 -z defs -z text -ldl -lc -M ../sunothers/1.0/mapfile.libidnkit.so.1 $objs
ln -s libidnkit.so.1 .libs/libidnkit.so
# Sun idnconv
cd ../idnconv
/usr/bin/xgettext -s -c "TRANSLATION_INFO:" -d SUNW_I18N_CMD idnconv.c
$CC $CFLAGS -I. -I../include -o idnconv idnconv.c -lidnkit
%ifarch amd64 sparcv9
pwd
cd ../../%{distsrc}-64
/usr/bin/gzip -dc %SOURCE1 | /usr/bin/tar xf -
/usr/bin/cp -f %{sunothers_dir}/config.h ./include
export CFLAGS="-m64 $CFLAGS"
export LDFLAGS="%_ldflags -m64"
./configure \
--prefix=%{_prefix} --libdir=/usr/lib/%{_arch64} --sysconfdir=%{_sysconfdir} \
--with-iconv=no
gmake RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
#we only want a handful of symbols in the library
cd lib
rm -f .libs/libidnkit.so*
$LD -64 -G -h libidnkit.so.1 -o .libs/libidnkit.so.1 -z defs -z text -ldl -lc -M ../sunothers/1.0/mapfile.libidnkit.so.1 $objs
ln -s libidnkit.so.1 .libs/libidnkit.so
%endif
%install
rm -fr $RPM_BUILD_ROOT
%ifarch amd64 sparcv9
cd ../%{distsrc}-64
gmake install DESTDIR=$RPM_BUILD_ROOT
cd ../%{distsrc}
%endif
gmake install DESTDIR=$RPM_BUILD_ROOT
#remove extra files
find ${RPM_BUILD_ROOT} -name "*.a" -exec rm -rf {} \; -print
find ${RPM_BUILD_ROOT} -name "*.la" -exec rm -rf {} \; -print
#not sure why we're not shipping these, but ...
find ${RPM_BUILD_ROOT} -name "*.h" -exec rm -rf {} \; -print
rm -rf $RPM_BUILD_ROOT/etc
rm -rf $RPM_BUILD_ROOT/usr/man
rm -rf $RPM_BUILD_ROOT/usr/share
rm -rf $RPM_BUILD_ROOT/usr/lib/libidnkitlite.*
rm -rf $RPM_BUILD_ROOT/usr/lib/%{_arch64}/libidnkitlite.*
/usr/sbin/install -d $RPM_BUILD_ROOT/usr/lib/pkgconfig
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/lib/pkgconfig -m 0644 %{sunothers_dir}/idnkit.pc
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/include/idn -m 0644 %{sunothers_dir}/api.h
%clean
rm -fr $RPM_BUILD_ROOT
%files
%defattr(-, root, bin)
%{_libdir}/libidnkit.so*
%ifarch amd64 sparcv9
%{_libdir}/%{_arch64}/libidnkit.so*
%endif
%files -n SUNWidnd
%defattr(-, root, bin)
%dir %attr (0644, root, bin) /usr/include/idn/api.h
%dir %attr (0755, root, other) %{_libdir}/pkgconfig
%dir %attr (0644, root, other) %{_libdir}/pkgconfig/idnkit.pc
%files -n SUNWidnu
%defattr(-, root, bin)
%dir %attr (0555, root, bin) /usr/bin/idnconv
%changelog
* Web May 15 2002 Motoyuki Kasahara <[email protected]>
- 1.0beta2, experimental.
* Mon May 28 2001 MANABE Takashi <[email protected]>
- include runmdn, libmdnresolv
* Mon Apr 4 2001 Motoyuki Kasahara <[email protected]>
- 2.1 release
* Mon Apr 4 2001 Motoyuki Kasahara <[email protected]>
- 2.0.1 release
* Mon Apr 2 2001 MANABE Takashi <[email protected]>
- 2.0 release
* Fri Mar 3 2001 MANABE Takashi <[email protected]>
- 1.3 release
* Mon Dec 6 2000 MANABE Takashi <[email protected]>
- add brace/lace functions to libmdnresolv(mdnkit-1.2-runmdn.patch)
- include /var/dnsproxy
- change files section for compressed man pages
* Mon Nov 27 2000 Makoto Ishisone <[email protected]>
- 1.2 release
* Thu Nov 2 2000 MANABE Takashi <[email protected]>
- 1.1 release
* Fri Oct 27 2000 MANABE Takashi <[email protected]>
- dnsproxy.patch1
- move libmdnresolv.{la,so} from mdnkit-devel to mdnkit package
* Wed Oct 18 2000 MANABE Takashi <[email protected]>
- 1.0 release