rpms/skf/F-12 skf.spec,NONE,1.1

Mamoru Tasaka mtasaka at fedoraproject.org
Fri Mar 26 03:33:31 UTC 2010


Author: mtasaka

Update of /cvs/extras/rpms/skf/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv7178/F-12

Added Files:
	skf.spec 
Log Message:
cvs add spec file


--- NEW FILE skf.spec ---
%global	rubyabi	1.8
%global	ruby_sitearch	%(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")

%{!?python_sitearch:	%global	python_sitearch	%(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

%global	repoid		45838

%global	mainver	1.97.0
%global	betaver	a

%global	fedoraver	2

Name:		skf
Version:	%{mainver}
Release:	%{?betaver:0.}%{fedoraver}%{?betaver:.%betaver}%{?dist}
Summary:	Utility binary files in Simple Kanji Filter

Group:		Applications/Text
License:	BSD and MIT and UCD
URL:		http://sourceforge.jp/projects/skf/
Source0:	http://dl.sourceforge.jp/skf/%{repoid}/skf_%{mainver}%{?betaver}.tar.gz

# common BR
BuildRequires:	gettext
# BR for extenstions
BuildRequires:	swig
BuildRequires:	ruby
BuildRequires:	ruby-devel
BuildRequires:	ruby(abi) = %{rubyabi}
BuildRequires:	perl(ExtUtils::Embed)
BuildRequires:	python2-devel

Requires:	%{name}-common = %{version}-%{release}

%package	common
Summary:	Common files for Simple Kanji Filter - i18n kanji converter
Group:		Applications/Text

%package	ruby
Summary:	Ruby extension module for %{name}
Group:		Development/Languages
Requires:	%{name}-common = %{version}-%{release}
Requires:	ruby(abi) = %{rubyabi}
Provides:	ruby(skf) = %{version}-%{release}

%package	python
Summary:	Python extension module for %{name}
Group:		Development/Languages
Requires:	%{name}-common = %{version}-%{release}

%package	perl
Summary:	Perl extension module for %{name}
Group:		Development/Languages
Requires:	%{name}-common = %{version}-%{release}
Requires:	perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

%description
This package contains utility binary files in skf.

%description	common
skf is an i18n-capable kanji filter. skf is designed for
reading documents in various languages and codes using kanji
or unicode capable display devices. Like other kanji filters,
skf provides basic Japanese kanji code conversion features, 
include to/from JIS, EUC, Shift-JIS, UCS2, KEIS83 and UTF-7/8,
but also support various international codesets include Korian
and Chinese standard codesets.

Unlike nkf, skf does not provide additional fancy features
like broken jis recovery, but it has support for ISO-8859's,
European domestic sets, JIS X-0212/X-0213 code conversion, 
IBM gaiji support and can add other code supports easily.

This package contains files commonly used by other skf related
packages.

%description	ruby
This package contains Ruby extension module for skf.

%description	python
This package contains Python extension module for skf.

%description	perl
This package contains Perl extension module for skf.

%prep
%setup -q -c -T -a 0
ln -sf %{name}-* main

pushd main

## configure option, etc
# change optflags, don't strip
sed -i.flags -e 's|-Wno-format-security||' configure

## directory change
# change the directory where tables are to be installed
sed -i.table -e "s|^lskfdir=.*$|lskfdir='%{_libdir}/%{name}'|" configure

## documents
# EUC-JP related
sed -i.eucjp -e '/JOMANDIR/d' Makefile.in
iconv -f EUC-JP -t UTF-8 -o CHANGES_ja.txt{.utf-8,}
touch -r CHANGES_ja.txt{,.utf-8}
mv CHANGES_ja.txt{.utf-8,}

popd # from main

# Okay, duplicate main directory
for ext in \
	ruby perl python
do
	mkdir -p $ext
	cp -pr main/* $ext
done

# change optflags
# add -fno-strict-aliasing
%global	optflags_old	%optflags
%global	optflags	%optflags_old -fno-strict-aliasing

%build
# Parallel make all unsafe

OPTS=""
OPTS="$OPTS --enable-debug"
OPTS="$OPTS --disable-strip"
OPTS="$OPTS --with-ruby_sitearch_dir=%{ruby_sitearch}"
OPTS="$OPTS --with-python_sitearch_dir=%{python_sitearch}"

# A. main
pushd main
%configure $OPTS
make -j1
popd

# B. extensions
for ext in \
	ruby perl python
do
	pushd $ext
	%configure $OPTS
	unset CFLAGS
	make -j1 ${ext}ext
	popd
done

# tweak find-debuginfo.sh
%global	__debug_install_post_old	%__debug_install_post
%global	__debug_install_post		\
	\
	%__debug_install_post_old \
	pushd %{buildroot}%{_prefix}/src/debug/%{?buildsubdir} \
	for ext in \\\
		ruby python perl \
	do \
		cd $ext \
		for file in * \
		do \
			if test -f ../main/$file \
			then \
				status=$(cmp --quiet $file ../main/$file && echo $? || echo $?) \
				if test $status = 0 ; then \
					ln -sf ../main/$file $file \
				fi \
			fi \
		done \
		cd .. \
	done \
	popd \
	%{nil}

%install
rm -rf %{buildroot}

OPTS=""
OPTS="${OPTS} DESTDIR=%{buildroot}"
OPTS="${OPTS} INSTALL='install -p'"
OPTS="${OPTS} INSTALL_DATA='install -p -m 0644'"

OPTS="$OPTS JMANDIR=%{_mandir}/ja/man1"

# A. main
eval make -C main ${OPTS} install locale_install

# Kill documents, will install with %%doc
rm -rf %{buildroot}%{_defaultdocdir}

# B. extentions
for ext in ruby python
do
	eval make -C $ext ${OPTS} ${ext}ext_install
done
## perl
pushd perl
mkdir -p %{buildroot}%{perl_vendorarch}/auto/Skf
install -cpm 0644 Skf.pm %{buildroot}%{perl_vendorarch}
install -cpm 0755 skf.so %{buildroot}%{perl_vendorarch}/auto/Skf/Skf.so
popd

## Cleanup
chmod 0644 %{buildroot}%{python_sitearch}/skf.py

%find_lang %{name}

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_bindir}/skf

%{_mandir}/man1/skf.1*
%lang(ja)	%{_mandir}/ja/man1/skf.1*

%files	common	-f %{name}.lang
%defattr(-,root,root,-)
%lang(ja)	%doc	main/CHANGES_ja.txt
%doc	main/README.txt
%doc	main/copyright
%lang(ja)	%doc	main/doc/

%{_libdir}/%{name}/

%files	ruby
%defattr(-,root,root,-)
%{ruby_sitearch}/skf.so

%files	python
%defattr(-,root,root,-)
%{python_sitearch}/_skf.so
%{python_sitearch}/skf.py*

%files	perl
%defattr(-,root,root,-)
%{perl_vendorarch}/Skf.pm
%{perl_vendorarch}/auto/Skf/

%changelog
* Thu Mar 25 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1.97.0-0.2.a
- Remove useless sed line
- Move man pages to "main" package

* Sat Mar 20 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1.97.0-0.1.a
- 1.97.0a
- Initial packaging



More information about the scm-commits mailing list