idn/idnkit.spec
author jenda
Mon, 14 Nov 2011 18:12:00 +0100
changeset 87 2a9fa2fe31e4
parent 81 032e65211d65
permissions -rw-r--r--
Added tag s11-fcs for changeset da5274f11060

%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