From: Jakub Bogusz Date: Fri, 9 Aug 2019 20:06:49 +0000 (+0200) Subject: - added build patch (C++ conversion fix) X-Git-Tag: auto/th/presage-0.9.1-1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=5d9ab1b891d2350edb73f3f40ef6921ca41be81e;p=packages%2Fpresage.git - added build patch (C++ conversion fix) - added cmuclmtk patch (adjust for cmuclmtk 0.7) - split into subpackages --- diff --git a/presage-build.patch b/presage-build.patch new file mode 100644 index 0000000..6c60ebc --- /dev/null +++ b/presage-build.patch @@ -0,0 +1,137 @@ +--- presage-0.9.1/src/lib/core/charsets.h.orig 2012-05-25 10:50:55.000000000 +0200 ++++ presage-0.9.1/src/lib/core/charsets.h 2019-07-30 21:48:41.135064799 +0200 +@@ -106,70 +106,70 @@ + '8', + '9', + +- Agrave , +- Aacute , +- Acirc , +- Atilde , +- Auml , +- Aring , +- AElig , +- Ccedil , +- Egrave , +- Eacute , +- Ecirc , +- Euml , +- Igrave , +- Iacute , +- Icirc , +- Iuml , +- ETH , +- Ntilde , +- Ograve , +- Oacute , +- Ocirc , +- Otilde , +- Ouml , +- times , +- Oslash , +- Ugrave , +- Uacute , +- Ucirc , +- Uuml , +- Yacute , +- THORN , +- szlig , +- agrave , +- aacute , +- acirc , +- atilde , +- auml , +- aring , +- aelig , +- ccedil , +- egrave , +- eacute , +- ecirc , +- euml , +- igrave , +- iacute , +- icirc , +- iuml , +- eth , +- ntilde , +- ograve , +- oacute , +- ocirc , +- otilde , +- ouml , +- divide , +- oslash , +- ugrave , +- uacute , +- ucirc , +- uuml , +- yacute , +- thorn , +- yuml , ++ (char)Agrave , ++ (char)Aacute , ++ (char)Acirc , ++ (char)Atilde , ++ (char)Auml , ++ (char)Aring , ++ (char)AElig , ++ (char)Ccedil , ++ (char)Egrave , ++ (char)Eacute , ++ (char)Ecirc , ++ (char)Euml , ++ (char)Igrave , ++ (char)Iacute , ++ (char)Icirc , ++ (char)Iuml , ++ (char)ETH , ++ (char)Ntilde , ++ (char)Ograve , ++ (char)Oacute , ++ (char)Ocirc , ++ (char)Otilde , ++ (char)Ouml , ++ (char)times , ++ (char)Oslash , ++ (char)Ugrave , ++ (char)Uacute , ++ (char)Ucirc , ++ (char)Uuml , ++ (char)Yacute , ++ (char)THORN , ++ (char)szlig , ++ (char)agrave , ++ (char)aacute , ++ (char)acirc , ++ (char)atilde , ++ (char)auml , ++ (char)aring , ++ (char)aelig , ++ (char)ccedil , ++ (char)egrave , ++ (char)eacute , ++ (char)ecirc , ++ (char)euml , ++ (char)igrave , ++ (char)iacute , ++ (char)icirc , ++ (char)iuml , ++ (char)eth , ++ (char)ntilde , ++ (char)ograve , ++ (char)oacute , ++ (char)ocirc , ++ (char)otilde , ++ (char)ouml , ++ (char)divide , ++ (char)oslash , ++ (char)ugrave , ++ (char)uacute , ++ (char)ucirc , ++ (char)uuml , ++ (char)yacute , ++ (char)thorn , ++ (char)yuml , + + '\0' }; + diff --git a/presage-cmuclmtk.patch b/presage-cmuclmtk.patch new file mode 100644 index 0000000..b865cce --- /dev/null +++ b/presage-cmuclmtk.patch @@ -0,0 +1,20 @@ +--- presage-0.9.1/resources/arpa/Makefile.am.orig 2014-01-29 15:07:16.000000000 +0100 ++++ presage-0.9.1/resources/arpa/Makefile.am 2019-08-07 15:55:51.328533079 +0200 +@@ -33,7 +33,7 @@ + $(TEXT2WFREQ) < $< | $(WFREQ2VOCAB) -top 20000 > $@ + + arpa_en.idngram: ../the_picture_of_dorian_gray.txt arpa_en.vocab +- $(TEXT2IDNGRAM) -n 3 -vocab arpa_en.vocab -temp . < $< > $@ ++ $(TEXT2IDNGRAM) -n 3 -vocab arpa_en.vocab -idngram $@ < $< + + arpa_en.arpa: arpa_en.idngram arpa_en.vocab + $(IDNGRAM2LM) -idngram arpa_en.idngram -vocab arpa_en.vocab -arpa arpa_en.arpa +@@ -42,7 +42,7 @@ + $(TEXT2WFREQ) < $< | $(WFREQ2VOCAB) -top 20000 > $@ + + arpa_it.idngram: ../the_picture_of_dorian_gray.txt arpa_it.vocab +- $(TEXT2IDNGRAM) -n 3 -vocab arpa_it.vocab -temp . < $< > $@ ++ $(TEXT2IDNGRAM) -n 3 -vocab arpa_it.vocab -idngram $@ < $< + + arpa_it.arpa: arpa_it.idngram arpa_it.vocab + $(IDNGRAM2LM) -idngram arpa_it.idngram -vocab arpa_it.vocab -arpa arpa_it.arpa diff --git a/presage-link.patch b/presage-link.patch index 2fdfdf7..0099686 100644 --- a/presage-link.patch +++ b/presage-link.patch @@ -5,7 +5,7 @@ -I$(srcdir)/scintilla/src \ -I$(srcdir)/scintilla/lexlib -libscintilla_la_LIBADD = $(GNOME_LIBS) $(GTHREAD_LIBS) -+libscintilla_la_LIBADD = $(GNOME_LIBS) $(GTHREAD_LIBS) -lm ++libscintilla_la_LIBADD = $(GNOME_LIBS) $(GTHREAD_LIBS) $(GMODULE_LIBS) -lm # Distribute files from here. EXTRA_DIST = scintilla/License.txt scintilla/version.txt diff --git a/presage.spec b/presage.spec index eaa9454..d30f68c 100644 --- a/presage.spec +++ b/presage.spec @@ -1,24 +1,26 @@ # # Conditional build: -%bcond_without apidocs # do not build and package API docs +%bcond_without apidocs # API documentation %bcond_without ngram # ARPA ngram language model -%bcond_without static_libs # don't build static libraries +%bcond_without static_libs # static library # Summary: Presage - the intelligent predictive text entry system Summary(pl.UTF-8): Presage - inteligentny, przewidujący system wprowadzania tekstu Name: presage Version: 0.9.1 -Release: 0.1 +Release: 1 License: GPL v2+ Group: Libraries Source0: http://downloads.sourceforge.net/presage/%{name}-%{version}.tar.gz # Source0-md5: 9667be297912fa0d432e748526d8dd9e Patch0: %{name}-link.patch Patch1: %{name}-configure.patch +Patch2: %{name}-build.patch +Patch3: %{name}-cmuclmtk.patch URL: http://presage.sourceforge.net/ BuildRequires: autoconf >= 2.50 BuildRequires: automake >= 1:1.9 -%{?with_ngram:BuildRequires: cmuclmtk} +%{?with_ngram:BuildRequires: cmuclmtk >= 0.7} BuildRequires: cppunit-devel >= 1.9.6 %{?with_apidocs:BuildRequires: doxygen} BuildRequires: graphviz @@ -29,11 +31,10 @@ BuildRequires: libstdc++-devel BuildRequires: libtool >= 2:2 BuildRequires: ncurses-devel BuildRequires: pkgconfig -BuildRequires: python-dbus BuildRequires: python-devel >= 2.0 -BuildRequires: python-pyatspi -BuildRequires: python-pygtk-gtk >= 2:2 -BuildRequires: python-wx +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.714 +BuildRequires: sed >= 4.0 BuildRequires: sqlite3-devel >= 3 BuildRequires: swig-python >= 2.0 BuildRequires: tinyxml-devel @@ -111,9 +112,91 @@ API documentation for Presage library. %description apidocs -l pl.UTF-8 Dokumentacja API biblioteki Presage. +%package dbus +Summary: Presage DBus service +Summary(pl.UTF-8): Usługa DBus presage +Group: Applications +Requires: %{name} = %{version}-%{release} +Requires: python-dbus +Requires: python-presage = %{version}-%{release} +Requires: python-pygobject >= 2:2 + +%description dbus +Presage is an intelligent predictive text entry system. This package +contains the presage D-Bus service. + +%description dbus +Presage to inteligentny, przewidujący system wprowadzania tekstu. Ten +pakiet zawiera usługę D-Bus presage. + +%package gtk +Summary: GTK+ presage applications +Summary(pl.UTF-8): Aplikacje presage oparte na GTK+ +Group: X11/Applications +Requires: %{name} = %{version}-%{release} + +%description gtk +GTK+ presage applications: +- gpresagemate: user input predictions using XEvIE extension +- gprompter: intelligent predictive GTK+ text editor + +%description gtk -l pl.UTF-8 +Aplikacje presage oparte na GTK+: +- gpresagemate - przewidywanie wejścia użytkownika z wykorzystaniem + rozszerzenia XEvIE +- gprompter - inteligenty, przewidujący edytor tekstu oparty na GTK+ + +%package -n python-presage +Summary: Python binding for presage +Summary(pl.UTF-8): Wiązanie Pythona do presage +Group: Libraries/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python-presage +Python binding for presage, the intelligent predictive text entry +system. + +%description -n python-presage -l pl.UTF-8 +Wiązanie Pythona do presage - inteligentnego, przewidującego systemu +wprowadzania tekstu. + +%package -n python-pypresagemate +Summary: Python presagemate widget +Summary(pl.UTF-8): Widget presagemate dla Pythona +Group: Libraries/Python +Requires: python-Xlib +Requires: python-presage = %{version}-%{release} +Requires: python-pyatspi +Requires: python-pygtk-gtk >= 2:2 +Requires: python-pygtk-pango >= 2:2 + +%description -n python-pypresagemate +Python presagemate widget. + +%description -n python-pypresagemate -l pl.UTF-8 +Widget presagemate dla Pythona. + +%package -n python-pyprompter +Summary: pyprompter - intelligent predictive wxPython text editor +Summary(pl.UTF-8): pyprompter - inteligentny, przewidujący edytor tekstu wykorzystujący bibliotekę wxPython +Group: Libraries/Python +Requires: python-wxPython + +%description -n python-pyprompter +pyprompter is an intelligent predictive wxPython text editor. + +%description -n python-pyprompter -l pl.UTF-8 +pyprompter to inteligentny, przewidujący edytor tekstu wykorzystujący +bibliotekę wxPython. + %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' apps/dbus/{presage_dbus_python_demo,presage_dbus_service,presage_dbus_service.py} %build %{__libtoolize} @@ -132,8 +215,16 @@ rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} %py_postclean +# not used +%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/presage.{svg,xpm} +# packaged as %doc +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}/html +%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/{getting_started,python_binding}.txt + %clean rm -rf $RPM_BUILD_ROOT @@ -143,22 +234,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog FAQ NEWS README THANKS TODO doc/getting_started.txt -%attr(755,root,root) %{_libdir}/libpresage.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpresage.so.1 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/presage.xml - -%attr(755,root,root) %{_bindir}/gpresagemate - -%attr(755,root,root) %{_bindir}/gprompter - -# dbus service, R: python-dbus -%attr(755,root,root) %{_bindir}/presage_dbus_python_demo -%attr(755,root,root) %{_bindir}/presage_dbus_service -%{py_sitescriptdir}/presage_dbus_service.py[co] -%{_datadir}/dbus-1/services/org.gnome.presage.service -%{_mandir}/man1/presage_dbus_python_demo.1* -%{_mandir}/man1/presage_dbus_service.1* - %attr(755,root,root) %{_bindir}/presage_demo %attr(755,root,root) %{_bindir}/presage_demo_text %attr(755,root,root) %{_bindir}/presage_python_demo @@ -166,41 +242,24 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/text2ngram %dir %{_datadir}/%{name} %{_datadir}/%{name}/abbreviations_*.txt -%{_datadir}/%{name}/database_*.db %if %{with ngram} -%{_datadir}/%{name}/vocab* +%{_datadir}/%{name}/arpa_en.arpa +%{_datadir}/%{name}/arpa_en.vocab +%{_datadir}/%{name}/arpa_it.arpa +%{_datadir}/%{name}/arpa_it.vocab %endif -# FIXME: location -%doc %{_datadir}/%{name}/html -%{_desktopdir}/gprompter.desktop -%{_iconsdir}/hicolor/scalable/apps/gprompter.svg -%{_pixmapsdir}/gprompter.png -%{_pixmapsdir}/gprompter.xpm -%{_mandir}/man1/gprompter.1* +%{_datadir}/%{name}/database_*.db +%{_datadir}/%{name}/presage.png %{_mandir}/man1/presage_demo.1* %{_mandir}/man1/presage_demo_text.1* %{_mandir}/man1/presage_python_demo.1* %{_mandir}/man1/presage_simulator.1* %{_mandir}/man1/text2ngram.1* -%attr(755,root,root) %{py_sitedir}/_presage.so -%attr(755,root,root) %{py_sitedir}/presage.py[co] -%{py_sitedir}/python_presage-%{version}-py*.egg-info - -# pyprompter, R: python-wxPython -# FIXME: *.pyo -%attr(755,root,root) %{_bindir}/pyprompter -%{py_sitedir}/prompter -%{py_sitedir}/pyprompter-%{version}-py*.egg-info -%{_desktopdir}/pyprompter.desktop -%{_iconsdir}/hicolor/scalable/apps/pyprompter.svg -%{_pixmapsdir}/pyprompter.png -%{_pixmapsdir}/pyprompter.xpm -%{_mandir}/man1/pyprompter.1* - -# pypresagemate, R: python-pyatspi, python-pygtk-gtk, python-pygtk-pango, python-Xlib -%attr(755,root,root) %{_bindir}/pypresagemate -%{py_sitescriptdir}/presagemate +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libpresage.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpresage.so.1 %files devel %defattr(644,root,root,755) @@ -217,12 +276,48 @@ rm -rf $RPM_BUILD_ROOT %if %{with apidocs} %files apidocs %defattr(644,root,root,755) -%doc doc/html/* +%doc doc/html/*.{css,html,js,png} %endif -#%doc doc/python_binding.txt +%files dbus +%defattr(644,root,root,755) +# dbus service, R: python-dbus +%attr(755,root,root) %{_bindir}/presage_dbus_python_demo +%attr(755,root,root) %{_bindir}/presage_dbus_service +%{py_sitescriptdir}/presage_dbus_service.py[co] +%{_datadir}/dbus-1/services/org.gnome.presage.service +%{_mandir}/man1/presage_dbus_python_demo.1* +%{_mandir}/man1/presage_dbus_service.1* + +%files gtk +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/gpresagemate +%attr(755,root,root) %{_bindir}/gprompter +%{_desktopdir}/gprompter.desktop +%{_iconsdir}/hicolor/scalable/apps/gprompter.svg +%{_pixmapsdir}/gprompter.png +%{_pixmapsdir}/gprompter.xpm +%{_mandir}/man1/gprompter.1* + +%files -n python-presage +%defattr(644,root,root,755) +%doc doc/python_binding.txt +%attr(755,root,root) %{py_sitedir}/_presage.so +%{py_sitedir}/presage.py[co] +%{py_sitedir}/python_presage-%{version}-py*.egg-info -# TODO: -#%{_datadir}/presage/presage.png -#%{_datadir}/presage/presage.svg -#%{_datadir}/presage/presage.xpm +%files -n python-pypresagemate +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/pypresagemate +%{py_sitescriptdir}/presagemate + +%files -n python-pyprompter +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/pyprompter +%{py_sitedir}/prompter +%{py_sitedir}/pyprompter-%{version}-py*.egg-info +%{_desktopdir}/pyprompter.desktop +%{_iconsdir}/hicolor/scalable/apps/pyprompter.svg +%{_pixmapsdir}/pyprompter.png +%{_pixmapsdir}/pyprompter.xpm +%{_mandir}/man1/pyprompter.1*