idn/idnkit.spec
author yongsun@solaris-11
Mon, 21 Mar 2011 15:23:56 +0800
changeset 59 34b7e4969184
parent 50 ca18a6972cfd
child 60 fd8b3db7ff5f
permissions -rw-r--r--
fixed bug 7025560, the latest pkgtool/pkgbuild does not support ${VAR} to get the definitions inside spec file.

%include Solaris.inc
# Avoid gpatch error
%define _patch_options --fuzz=0
%define src_name idnkit
%define src_url http://www.nic.ad.jp/ja/idn/idnkit/download/sources

%define prefix /usr
%define sysconfdir /etc
%define version 1.0

# official/beta release:
%define release 1
%define distrel %{version}

# release candidate:
#%define release rc1
#%define distrel %{version}-%{release}

%define serial 2002051501

#%define name idnkit
%define distsrc %{src_name}-%{distrel}-src
%define sunothers_dir ${RPM_BUILD_DIR}/%{distsrc}/sunothers/%{version}

%define ld_opt     -G -z defs -z text -h libidnkit.so.1
%define ld_flags   -R/usr/lib:/usr/ccs/lib -L/usr/lib:/usr/ccs/lib -ldl -lc
%define ld_flags64 -R/usr/lib/%{_arch64}:/usr/ccs/lib/%{_arch64} -L/usr/lib/%{_arch64}:/usr/ccs/lib/%{_arch64} -ldl -lc

%define mapfile  -M %{sunothers_dir}/mapfile.libidnkit.so.1  
%define obj 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

Name:         SUNWidnl
SUNW_BaseDir: %{_basedir}
Version:      %{version}
Release:      %{release}
Copyright:    distributable
IPS_Package_Name:	library/idnkit
IPS_Component_Version:	%{ipscompverdefault}
Meta(info.classification):	%{ipsclass_sys_i18n}
Source:       %{src_url}/%{distsrc}.tar.gz
Source1:      sunothers.tar.gz
Source2:      idnconv.tar.gz
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

BuildRoot: %{_tmppath}/%{src_name}-%{version}
%include default-depend.inc
SUNW_Copyright: %{src_name}.copyright
Serial: %{serial}
Summary: Internationalized Domain Name kit (idnkit/JPNIC)
Vendor: JPNIC
Packager: Japan Network Information Center

%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

%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

%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

%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 -

if [ -f /usr/lib/libiconv.a -o -f /usr/lib/libiconv.so ]
then
if [ -f /lib/libc-2.0* ]
then
ICONV="--with-iconv=yes"
fi
fi

export CFLAGS="-xildoff -xc99=%none -KPIC -D_REENTRANT -I$RPM_SOURCE_DIR/include \
 -DIDN_RESCONF_DI=\"/etc/idn\" -DSUN_CHANGE"
export LDFLAGS="%ld_flags"
#CFLAGS="$RPM_OPT_FLAGS" 
./configure \
--prefix=%{prefix} --sysconfdir=%{sysconfdir} \
$ICONV
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

# Sun Link
cd lib
/usr/ccs/bin/ld %{ld_opt} %{mapfile} -o libidnkit.so.1 %{ld_flags} %{obj}

# Sun idnconv
cd ../idnconv
/usr/bin/xgettext -s -c "TRANSLATION_INFO:" -d SUNW_I18N_CMD idnconv.c
export CFLAGS="-xildoff -xc99=%none -I. -DTEXT_DOMAIN=\"SUNW_I18N_CMD\""
/opt/SUNWspro/bin/cc $CFLAGS -o idnconv idnconv.c -lidnkit

%ifarch amd64 sparcv9
pwd
cd ../../%{distsrc}-64

if [ -f /usr/lib/libiconv.a -o -f /usr/lib/libiconv.so ]
then
if [ -f /lib/libc-2.0* ]
then
ICONV="--with-iconv=yes"
fi
fi

export CFLAGS="-m64 -xildoff -xc99=%none -KPIC -D_REENTRANT -I$RPM_SOURCE_DIR/include \
 -DIDN_RESCONF_DI=\"/etc/idn\" -DSUN_CHANGE"
export LDFLAGS="%ld_flags64"
./configure \
--prefix=%{prefix} --sysconfdir=%{sysconfdir} \
$ICONV
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

# Sun Link
cd lib
/usr/ccs/bin/ld %{ld_opt} %{mapfile} -o libidnkit.so.1 %{ld_flags64} %{obj}
%endif

%install
#make DESTDIR=$RPM_BUILD_ROOT install
#mv $RPM_BUILD_ROOT/etc/idn.conf.sample $RPM_BUILD_ROOT/etc/idn.conf
#mv $RPM_BUILD_ROOT/etc/idnalias.conf.sample $RPM_BUILD_ROOT/etc/idnalias.conf
# Suns
pwd
/usr/sbin/install -d $RPM_BUILD_ROOT/usr/include/idn
/usr/sbin/install -d $RPM_BUILD_ROOT/usr/lib/pkgconfig
/usr/sbin/install -d $RPM_BUILD_ROOT/usr/bin
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/include/idn -m 0644 %{sunothers_dir}/api.h
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/lib -m 0755 ./lib/libidnkit.so*
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/lib/pkgconfig -m 0644 %{sunothers_dir}/idnkit.pc
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/bin -m 0555 ./idnconv/idnconv

%ifarch amd64 sparcv9
cd ../%{distsrc}-64
/usr/sbin/install -d $RPM_BUILD_ROOT/usr/lib/%{_arch64}
/usr/sbin/install -f $RPM_BUILD_ROOT/usr/lib/%{_arch64} -m 0755 ./lib/libidnkit.so*
%endif

cd $RPM_BUILD_ROOT/usr/lib
ln -s ./libidnkit.so.1 libidnkit.so
cd $RPM_BUILD_ROOT/usr/lib/%{_arch64}
ln -s ./libidnkit.so.1 libidnkit.so

# devel kit
#install -c lib/libidnkit.a $RPM_BUILD_ROOT/usr/lib
#cp -r include/idn $RPM_BUILD_ROOT/usr/include

# docs
#mkdir rpm_docs
#(cp NEWS INSTALL INSTALL.ja DISTFILES README.ja README LICENSE.txt \
#ChangeLog rpm_docs)
#cp -r patch rpm_docs

%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