diff --git a/grantlee-5.2.0.tar.gz b/grantlee-5.2.0.tar.gz new file mode 100644 index 0000000..5fa3daa Binary files /dev/null and b/grantlee-5.2.0.tar.gz differ diff --git a/grantlee-qt5.spec b/grantlee-qt5.spec new file mode 100644 index 0000000..250b859 --- /dev/null +++ b/grantlee-qt5.spec @@ -0,0 +1,148 @@ + +%define apidocs 1 + +%global __cmake_in_source_build 1 + +Name: grantlee-qt5 +Summary: Qt5 string template engine based on the Django template system +Version: 5.2.0 +Release: 1 + +License: LGPLv2+ +URL: https://github.com/steveire/grantlee +Source0: http://downloads.grantlee.org/grantlee-%{version}%{?pre:-%{pre}}.tar.gz + +%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) +Source1: macros.grantlee5 +%global grantlee5_plugins 5.2 +%global grantlee5_plugindir %{_libdir}/grantlee/%{grantlee5_plugins}/ +Provides: %{name}(%{grantlee5_plugins}) = %{version}-%{release} + +## upstreamable patches +# Install headers into a versioned directory to be parallel-installable +# based on: +# https://github.com/steveire/grantlee/pull/1 +#Patch1: grantlee-5.2.0-install_headers_into_versioned_directory.patch + +BuildRequires: cmake >= 2.8.12 +BuildRequires: gcc-c++ +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtdeclarative-devel +BuildRequires: cmake(Qt5LinguistTools) +BuildRequires: unbound +%if 0%{?apidocs} +BuildRequires: doxygen +BuildRequires: graphviz +%endif +## for %%check +BuildRequires: xorg-x11-server-Xvfb + +%description +Grantlee is a plug-in based String Template system written +using the Qt framework. The goals of the project are to make it easier for +application developers to separate the structure of documents from the +data they contain, opening the door for theming. + +The syntax is intended to follow the syntax of the Django template system, +and the design of Django is reused in Grantlee. + +Part of the design of both is that application developers can extend +the syntax by implementing their own tags and filters. For details of +how to do that, see the API documentation. + +For template authors, different applications using Grantlee will present +the same interface and core syntax for creating new themes. For details of +how to write templates, see the documentation. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +# without versioning patch above, conflicts with older kde4 grantlee-devel +# no biggie, only one pkg in distro depends on kde4 grantlee -- rex +Conflicts: grantlee-devel +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package apidocs +Summary: Grantlee API documentation +Requires: kde-filesystem +BuildArch: noarch +%description apidocs +This package includes the Grantlee API documentation in HTML +format for easy browsing. + + +%prep +%autosetup -n grantlee-%{version} -p1 + +%build +mkdir %{_target_platform} +pushd %{_target_platform} +%{cmake} .. \ + -DCMAKE_BUILD_TYPE=release +popd + +%make_build -C %{_target_platform} + +%if 0%{?apidocs} +make docs -C %{_target_platform} +%endif + + +%install +make install/fast -C %{_target_platform} DESTDIR=%{buildroot} + +%if 0%{?apidocs} +mkdir -p %{buildroot}%{_docdir}/HTML/en/Grantlee5/ +cp -prf %{_target_platform}/apidox/* %{buildroot}%{_docdir}/HTML/en/Grantlee5/ +%endif + +# rpm macros +install -p -m644 -D %{SOURCE1} \ + %{buildroot}%{rpm_macros_dir}/macros.grantlee5 +sed -i \ + -e "s|@@NAME@@|%{name}|g" \ + -e "s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \ + -e "s|@@VERSION@@|%{version}|g" \ + -e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \ + -e "s|@@GRANTLEE5_PLUGINS@@|%{grantlee5_plugins}|g" \ + -e "s|@@GRANTLEE5_PLUGINDIR@@|%{grantlee5_plugindir}|g" \ + %{buildroot}%{rpm_macros_dir}/macros.grantlee5 + + +%check +export CTEST_OUTPUT_ON_FAILURE=1 +xvfb-run -a make test -C %{_target_platform} ||: + + +%ldconfig_scriptlets + +%files +%license COPYING.LIB +%doc AUTHORS CHANGELOG README.md +%{_libdir}/libGrantlee_Templates.so.5* +%{_libdir}/libGrantlee_TextDocument.so.5* +%dir %{_libdir}/grantlee/ +%{grantlee5_plugindir}/ + +%files devel +%{_includedir}/grantlee/ +%{_includedir}/grantlee_templates.h +%{_includedir}/grantlee_textdocument.h +%{_libdir}/libGrantlee_Templates.so +%{_libdir}/libGrantlee_TextDocument.so +%{_libdir}/cmake/Grantlee5/ +%{rpm_macros_dir}/macros.grantlee5 + +%if 0%{?apidocs} +%files apidocs +%{_docdir}/HTML/en/Grantlee5/ +%endif + + +%changelog +* Fri Feb 18 2022 tanyulong - 5.2.0-1 +- init for openEuler + + diff --git a/macros.grantlee5 b/macros.grantlee5 new file mode 100644 index 0000000..1bf87d1 --- /dev/null +++ b/macros.grantlee5 @@ -0,0 +1,12 @@ +%grantlee5 @@NAME@@ +%grantlee5_epoch @@EPOCH@@ +%grantlee5_version @@VERSION@@ +%grantlee5_evr @@EVR@@ + +%grantlee5_plugins @@GRANTLEE5_PLUGINS@@ +%grantlee5_plugindir @@GRANTLEE5_PLUGINDIR@@ + +%grantlee5_requires \ +Requires: %{grantlee5}(%{grantlee5_plugins}) \ +%{nil} +