From: Anas Nashif Date: Thu, 21 Feb 2013 18:01:04 +0000 (-0800) Subject: add packaging X-Git-Tag: accepted/tizen/20130503.223838~7 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Faspell.git;a=commitdiff_plain;h=0bddc76f696ae09f40c5925f36d7b33798705ac2 add packaging --- diff --git a/packaging/aspell-epmty_file.patch b/packaging/aspell-epmty_file.patch new file mode 100644 index 0000000..feca110 --- /dev/null +++ b/packaging/aspell-epmty_file.patch @@ -0,0 +1,46 @@ +--- common/convert.cpp.orig ++++ common/convert.cpp +@@ -813,6 +813,7 @@ namespace acommon { + { + ToUniLookup lookup; + void decode(const char * in, int size, FilterCharVector & out) const { ++ if (size == 0) return; // if size == 0 then while loop cause SIGSEGV + const char * stop = in + size; // this is OK even if size == -1 + while (*in && in != stop) { + out.append(from_utf8(in, stop)); +--- Makefile.am.orig ++++ Makefile.am +@@ -29,8 +29,10 @@ lib_LTLIBRARIES = libaspell.la + + if PSPELL_COMPATIBILITY + lib_LTLIBRARIES += libpspell.la ++libpspell_la_CXXFLAGS = -fvisibility-inlines-hidden + endif + ++libaspell_la_CXXFLAGS = -fvisibility-inlines-hidden + libaspell_la_SOURCES =\ + common/cache.cpp\ + common/string.cpp\ +@@ -194,7 +196,7 @@ libaspell_la_SOURCES +=\ + else # not COMPILE_IN_FILTERS + + dynamic_optfiles += ${optfiles} +-filter_ldflags = -module -avoid-version ++filter_ldflags = -avoid-version -module -shared -export-dynamic + + ### Add name of filter library containing your filter. Name always + ### must look like lib-filter.la see development manual +--- lib5/Makefile.am.orig ++++ lib5/Makefile.am +@@ -1,9 +1,9 @@ +- ++AM_CXXFLAGS = -fvisibility-inlines-hidden + if INCREMENTED_SONAME + + lib_LTLIBRARIES = libaspell.la + libaspell_la_SOURCES = aspell-dummy.cpp +-libaspell_la_LDFLAGS = -version-info 16:0:1 ++libaspell_la_LDFLAGS = -no-undefined -version-info 16:0:1 + libaspell_la_LIBADD = ../libaspell.la + + if PSPELL_COMPATIBILITY diff --git a/packaging/aspell-quotes.patch b/packaging/aspell-quotes.patch new file mode 100644 index 0000000..7c8043b --- /dev/null +++ b/packaging/aspell-quotes.patch @@ -0,0 +1,9 @@ +--- scripts/run-with-aspell.create ++++ scripts/run-with-aspell.create +@@ -3,5 +3,5 @@ + echo "#!/bin/sh" + echo "PATH=$1:\$PATH" + echo "export PATH" +-echo "exec \$@" ++echo "exec \"\$@\"" + diff --git a/packaging/aspell-strict-aliasing.patch b/packaging/aspell-strict-aliasing.patch new file mode 100644 index 0000000..ea47998 --- /dev/null +++ b/packaging/aspell-strict-aliasing.patch @@ -0,0 +1,22 @@ +--- modules/speller/default/writable.cpp ++++ modules/speller/default/writable.cpp +@@ -672,7 +672,7 @@ + + static void repl_next(WordEntry * w) + { +- const Str * & i = (const Str * &)(w->intr[0]); ++ const Str * i = (const Str * )(w->intr[0]); + const Str * end = (const Str * )(w->intr[1]); + set_word(*w, *i); + ++i; +--- modules/speller/default/writable.cpp ++++ modules/speller/default/writable.cpp +@@ -246,7 +246,7 @@ + + static void soundslike_next(WordEntry * w) + { +- const Str * & i = (const Str * &)(w->intr[0]); ++ const Str * i = (const Str * )(w->intr[0]); + const Str * end = (const Str * )(w->intr[1]); + set_word(*w, *i); + ++i; diff --git a/packaging/aspell.spec b/packaging/aspell.spec new file mode 100644 index 0000000..dc05658 --- /dev/null +++ b/packaging/aspell.spec @@ -0,0 +1,183 @@ +# + +Name: aspell +Version: 0.60.6.1 +Release: 0 +License: LGPL-2.1+ +Summary: A Free and Open Source Spell Checker +Url: http://aspell.net/ +Group: Productivity/Text/Spell +Source0: ftp://ftp.gnu.org/gnu/aspell/%{name}-%{version}.tar.gz +Patch0: aspell-strict-aliasing.patch +Patch1: aspell-quotes.patch +Patch2: aspell-epmty_file.patch +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gettext-tools +BuildRequires: libtool +BuildRequires: ncurses-devel +Recommends: aspell-en +Suggests: aspell-ispell +Suggests: aspell-spell +Provides: pspell = %{version} +Obsoletes: pspell < %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires(post): info +Requires(preun): info + +%description +GNU Aspell is a spell checker designed to eventually replace Ispell. It +can be used as a library or as an independent spell checker. + +Its main feature is that it does a much better job of coming up with +possible suggestions than just about any other spell checker available +for the English language, including Ispell and Microsoft Word. It also +has many other technical enhancements over Ispell, such as using shared +memory for dictionaries and intelligently handling personal +dictionaries when more than one Aspell process is open at once. + +%package devel +Summary: Include Files and Libraries Mandatory for Development with aspell +Group: Development/Libraries/C and C++ +Requires: glibc-devel +Requires: libaspell = %{version} +Requires: libpspell15 = %{version} +Provides: pspell-devel = %{version} +Obsoletes: pspell-devel < %{version} +Requires(post): info +Requires(preun): info + +%description devel +This package contains all necessary include files and libraries needed +to develop applications that require aspell. + +%package ispell +Summary: GNU Aspell - Ispell compatibility +Group: Productivity/Text/Spell +Requires: %{name} = %{version} +Conflicts: ispell + +%description ispell +GNU Aspell is a spell checker designed to eventually replace Ispell. It +can be used as a library or as an independent spell checker. + +This package contains an ispell script for compatibility reasons so that +programs that expect the "ispell" command will work correctly. + +%package spell +Summary: GNU Aspell - Spell compatibility +Group: Productivity/Text/Spell +Requires: %{name} = %{version} +Provides: spell + +%description spell +GNU Aspell is a spell checker designed to eventually replace Ispell. It +can be used as a library or as an independent spell checker. + +This package contains a spell script for compatibility reasons so that programs +that expect the "spell" command will work correctly. + +%package -n libaspell +Summary: GNU Aspell Library +Group: System/Libraries + +%description -n libaspell +GNU Aspell is a spell checker designed to eventually replace Ispell. It +can be used as a library or as an independent spell checker. + +This package contains the aspell library. + +%package -n libpspell15 +Summary: GNU Aspell - Pspell Compatibility Library +Group: System/Libraries + +%description -n libpspell15 +GNU Aspell is a spell checker designed to eventually replace Ispell. It +can be used as a library or as an independent spell checker. + +This package contains the pspell compatibility library. + +%prep +%setup -q +%patch0 +%patch1 +%patch2 + +%build +autoreconf -fiv +export CXXFLAGS="%{optflags} `ncursesw6-config --cflags`" +#this is an ugly kludge , don't look :-) +export LDFLAGS="`ncursesw6-config --libs`" +%configure \ + --enable-curses="-lncursesw" \ + --disable-rpath + +make %{?_smp_mflags} + +%install +%make_install +# Links for compatibility reasons (ispell and spell) +ln -s %{_libdir}/aspell-0.60/ispell %{buildroot}%{_bindir} +ln -s %{_libdir}/aspell-0.60/spell %{buildroot}%{_bindir} +find %{buildroot} -name "*.la" -type f -print -delete +%fdupes -s %{buildroot} + +%find_lang %{name} + +%post +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} + +%preun +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} + +%post devel +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info%{ext_info} + +%preun devel +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}-dev.info%{ext_info} + +%post -n libaspell -p /sbin/ldconfig + +%postun -n libaspell -p /sbin/ldconfig + + +%files -f %{name}.lang +%defattr(-,root,root,-) +%doc COPYING README TODO +%doc manual/aspell.html/ +%{_bindir}/aspell +%{_bindir}/aspell-import +%{_bindir}/pre* +%{_bindir}/run-with-aspell +%{_bindir}/word-list-compress +%doc %{_infodir}/%{name}.info%{ext_info} +%doc %{_mandir}/man1/*.1%{ext_man} +%exclude %{_mandir}/man1/pspell-config.1%{ext_man} + +%files devel +%defattr(-,root,root,-) +%doc manual/aspell-dev.html/ +%{_bindir}/pspell-config +%{_includedir}/pspell/ +%{_includedir}/*.h +%{_libdir}/libaspell.so +%{_libdir}/libpspell.so +%doc %{_infodir}/%{name}-dev.info%{ext_info} +%doc %{_mandir}/man1/pspell-config.1%{ext_man} + +%files ispell +%defattr(-,root,root,-) +%{_bindir}/ispell + +%files spell +%defattr(-,root,root,-) +%{_bindir}/spell + +%files -n libaspell +%defattr(-,root,root,-) +%{_libdir}/aspell-0.60/ +%{_libdir}/libaspell.so.15* + +%files -n libpspell15 +%defattr(-,root,root,-) +%{_libdir}/libpspell.so.15*