anthy-unicode/anthy-unicode.spec
Takao Fujiwara f73ccdfb76 Fix some compiler warnings
- src-main/context.c: Fix warning[-Waddress]
  &ce->str will always evaluate as 'true'
- mkworddic/mkdic.c: Fix warning[-Wformat-overflow=]
  '%s' directive argument is null
2024-07-15 14:57:21 +09:00

193 lines
5.3 KiB
RPMSpec

%global pkg anthy-unicode
%bcond_without autoreconf
%if (0%{?fedora} > 35 || 0%{?rhel} > 7)
%bcond_with xemacs
%else
%bcond_without xemacs
%endif
# emacs.i686 has not been available since emacs-29.4-7.fc40
%ifarch i686
%bcond_with emacs
%else
%bcond_without emacs
%endif
Name: anthy-unicode
Version: 1.0.0.20240502
Release: %autorelease
# The entire source code is LGPLv2+ and dictionaries is GPLv2. the corpus data is under Public Domain.
License: LGPL-2.0-or-later AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain
URL: https://github.com/fujiwarat/anthy-unicode/wiki
%if %{with emacs}
BuildRequires: emacs
%endif
BuildRequires: gcc
BuildRequires: git
%if %{with xemacs}
BuildRequires: xemacs
# overlay.el is required by anthy-unicode.el and anthy-unicode-isearch.el
BuildRequires: xemacs-packages-extra
%endif
%if %{with autoreconf}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: make
%endif
Source0: https://github.com/fujiwarat/anthy-unicode/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/fujiwarat/anthy-unicode/releases/download/%{version}/%{name}-%{version}.tar.gz.sum
Source2: %{name}-init.el
# Upstreamed patches
#Patch0: %%{name}-HEAD.patch
Patch0: %{name}-HEAD.patch
Summary: Japanese character set input library for Unicode
%description
Anthy Unicode is another Anthy project and provides the library to input
Japanese on the applications, such as X applications and emacs. and the
user dictionaries and the users information which is used for the conversion,
is stored into their own home directory. So Anthy Unicode is secure than
other conversion server.
%if %{with emacs}
%package -n emacs-%{pkg}
Summary: Emacs files for %{pkg}
Requires: %{name} = %{version}-%{release}
Requires: emacs-filesystem >= %{_emacs_version}
BuildArch: noarch
%description -n emacs-%{pkg}
This package contains the byte compiled elips packages to run %{pkg}
with GNU Emacs.
%endif
%if %{with xemacs}
%package -n xemacs-%{pkg}
Summary: XEmacs files for %{pkg}
Requires: %{name} = %{version}-%{release}
Requires: xemacs-filesystem >= %{_xemacs_version}
BuildArch: noarch
%description -n xemacs-%{pkg}
This package contains the elips packages to run %{pkg} with GNU XEmacs.
%endif
%package devel
Summary: Header files and library for developing programs which uses Anthy Unicode
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description devel
The anthy-devel package contains the development files which is needed to build
the programs which uses Anthy Unicode.
%prep
SAVED_SUM=$(grep sha512sum %SOURCE1 | awk '{print $2}')
MY_SUM=$(sha512sum %SOURCE0 | awk '{print $1}')
if test x"$SAVED_SUM" != x"$MY_SUM" ; then
abort
fi
%autosetup -S git
%build
%if %{with autoreconf}
autoreconf -f -i -v
%endif
%configure --disable-static
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
# remove unnecessary files
rm $RPM_BUILD_ROOT%{_libdir}/lib*.la
%if %{with emacs}
## for emacs-anthy
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_emacs_sitestartdir}
%endif
%if %{with xemacs}
## for xemacs-anthy
mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
# FIXME lisp build
pushd $RPM_BUILD_DIR/%{name}-%{version}/src-util
make clean
#make EMACS=xemacs lispdir="%%{_xemacs_sitelispdir}/%%{pkg}"
# The latest /usr/share/automake-*/am/lisp.am calls -L option for
# $(EMACS) --batch but -L is not supported by xemacs.
# Copy elisp-comp script here from old automake
xemacs --batch --eval '(setq load-path (cons nil load-path))' -f batch-byte-compile *.el
make
make install-lispLISP DESTDIR=$RPM_BUILD_ROOT EMACS=xemacs lispdir="%{_xemacs_sitelispdir}/%{pkg}" INSTALL="install -p"
popd
%endif
%check
sed -e "s|@datadir@|$PWD|" -e "s|@PACKAGE@|mkanthydic|" \
anthy-unicode.conf.in > test.conf
_TEST_ENV="LD_LIBRARY_PATH=$PWD/src-main/.libs:$PWD/src-worddic/.libs"
_TEST_ENV="$_TEST_ENV CONFFILE=$PWD/test.conf"
cd test
env $_TEST_ENV ./anthy --all
env $_TEST_ENV ./checklib
cd ../src-util
env $_TEST_ENV ./anthy-dic-tool-unicode --load dic-tool-input
diff $HOME/.config/anthy/private_words_default dic-tool-result
env $_TEST_ENV ./anthy-dic-tool-unicode --dump
mkdir -p $HOME/.anthy
mv $HOME/.config/anthy/private_words_default $HOME/.anthy
env $_TEST_ENV ./anthy-dic-tool-unicode --migrate
diff $HOME/.config/anthy/private_words_default dic-tool-result
cd ..
%ldconfig_scriptlets
%files
%doc AUTHORS ChangeLog DIARY NEWS README
%license COPYING
%{_bindir}/*
# If new keywords are added in conf files, "noreplace" flag needs to be deleted
%config(noreplace) %{_sysconfdir}/*.conf
%{_libdir}/lib*.so.*
%{_datadir}/%{pkg}/
%if %{with emacs}
%files -n emacs-%{pkg}
%doc doc/ELISP
%{_emacs_sitelispdir}/%{pkg}/*.el
%{_emacs_sitelispdir}/%{pkg}/*.elc
%{_emacs_sitestartdir}/*.el
%dir %{_emacs_sitelispdir}/%{pkg}
%endif
%if %{with xemacs}
%files -n xemacs-%{pkg}
%doc doc/ELISP
%{_xemacs_sitelispdir}/%{pkg}/*.el
%if %{with xemacs}
%{_xemacs_sitelispdir}/%{pkg}/*.elc
%endif
%{_xemacs_sitestartdir}/*.el
%dir %{_xemacs_sitelispdir}/%{pkg}
%endif
%files devel
%doc doc/DICLIB doc/DICUTIL doc/GLOSSARY doc/GRAMMAR doc/GUIDE.english doc/ILIB doc/LEARNING doc/LIB doc/MISC doc/POS doc/SPLITTER doc/TESTING doc/protocol.txt
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%changelog
%autochangelog