# # spec file for package python-Jinja2 # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define oldpython python Name: python-Jinja2 Version: 2.10 Release: 3.1 Summary: A fast and easy to use template engine written in pure Python License: BSD-3-Clause Group: Development/Languages/Python Url: http://jinja.pocoo.org/ Source: https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-%{version}.tar.gz BuildRequires: %{python_module MarkupSafe} BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros %ifpython2 Provides: %{oldpython}-jinja2 = %{version} Obsoletes: %{oldpython}-jinja2 < %{version} %endif Requires: python-Babel >= 0.8 Requires: python-MarkupSafe >= 0.23 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %python_subpackages %description Jinja2 is a template engine written in pure Python. It provides a Django inspired non-XML syntax but supports inline expressions and an optional sandboxed environment. Here a small example of a Jinja template: {% extends 'base.html' %} {% block title %}Memberlist{% endblock %} {% block content %} {% endblock %} %package -n python-Jinja2-vim Summary: Jinja2 syntax files for Vim License: BSD-3-Clause Group: Productivity/Text/Editors Requires: %{name} = %{version} %if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24 Recommends: vim %endif %description -n python-Jinja2-vim Vim syntax highlighting scheme for Jinja2 templates. %package -n python-Jinja2-emacs Summary: Jinja2 syntax files for Emacs License: GPL-2.0-or-later Group: Productivity/Text/Editors Requires: %{name} = %{version} %if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24 Recommends: emacs %endif %description -n python-Jinja2-emacs Emacs syntax highlighting scheme for Jinja2 templates. %prep %setup -q -n Jinja2-%{version} %build %python_build sed -i 's/\r$//' LICENSE # Fix wrong EOL encoding %install %python_install install -Dm644 ext/Vim/jinja.vim %{buildroot}%{_datadir}/vim/site/syntax/jinja.vim # Install VIM syntax file install -Dm644 ext/jinja.el %{buildroot}%{_datadir}/emacs/site-lisp/jinja.el # Install Emacs syntax file %if 0%{?suse_version} %fdupes %{buildroot}%{_prefix} %endif %files %{python_files} %defattr(-,root,root,-) %doc AUTHORS README.rst CHANGES.rst LICENSE artwork examples %{python_sitelib}/jinja2 %{python_sitelib}/Jinja2-%{version}-py%{python_version}.egg-info %files -n python-Jinja2-vim %defattr(-,root,root,-) %dir %{_datadir}/vim %dir %{_datadir}/vim/site %dir %{_datadir}/vim/site/syntax %{_datadir}/vim/site/syntax/jinja.vim %files -n python-Jinja2-emacs %defattr(-,root,root,-) %{_datadir}/emacs/site-lisp/jinja.el %changelog * Tue Mar 6 2018 aplanas@suse.com - Allows Recommends and Suggest in Fedora * Tue Feb 27 2018 aplanas@suse.com - Recommends only for SUSE * Thu Nov 9 2017 arun@gmx.de - specfile: * CHANGES -> CHANGES.rst * added README.rst to %%doc section - update to version 2.10: * Added a new extension node called "OverlayScope" which can be used to create an unoptimized scope that will look up all variables from a derived context. * Added an "in" test that works like the in operator. This can be used in combination with "reject" and "select". * Added "previtem" and "nextitem" to loop contexts, providing access to the previous/next item in the loop. If such an item does not exist, the value is undefined. * Added "changed(*values)" to loop contexts, providing an easy way of checking whether a value has changed since the last iteration (or rather since the last call of the method) * Added a "namespace" function that creates a special object which allows attribute assignment using the "set" tag. This can be used to carry data across scopes, e.g. from a loop body to code that comes after the loop. * Added a "trimmed" modifier to "{%% trans %%}" to strip linebreaks and surrounding whitespace. Also added a new policy to enable this for all "trans" blocks. * The "random" filter is no longer incorrectly constant folded and will produce a new random choice each time the template is rendered. (`#478`_) * Added a "unique" filter. (`#469`_) * Added "min" and "max" filters. (`#475`_) * Added tests for all comparison operators: "eq", "ne", "lt", "le", "gt", "ge". (`#665`_) * "import" statement cannot end with a trailing comma. (`#617`_, `#618`_) * "indent" filter will not indent blank lines by default. (`#685`_) * Add "reverse" argument for "dictsort" filter. (`#692`_) * Add a "NativeEnvironment" that renders templates to native Python types instead of strings. (`#708`_) * Added filter support to the block "set" tag. (`#489`_) * "tojson" filter marks output as safe to match documented behavior. (`#718`_) * Resolved a bug where getting debug locals for tracebacks could modify template context. * Fixed a bug where having many "{%% elif ... %%}" blocks resulted in a "too many levels of indentation" error. These blocks now compile to native "elif ..:" instead of "else: if ..:" (`#759`_) * Tue Apr 4 2017 jmatejek@suse.com - update for singlespec - update to 2.9.6 * fixed custom context behavior in fast resolve mode * Wed Mar 22 2017 dmueller@suse.com - fix requires * Wed Mar 15 2017 michael@stroeder.com - Update to 2.9.5 (see the changes in /usr/share/doc/packages/python-Jinja2/CHANGES) - updated source URL * Thu Nov 19 2015 aplanas@suse.com - Update to 2.8 - Added `target` parameter to urlize function. - Added support for `followsymlinks` to the file system loader. - The truncate filter now counts the length. - Added equalto filter that helps with select filters. - Changed cache keys to use absolute file names if available instead of load names. - Fixed loop length calculation for some iterators. - Changed how Jinja2 enforces strings to be native strings in Python 2 to work when people break their default encoding. - Added :func:`make_logging_undefined` which returns an undefined object that logs failures into a logger. - If unmarshalling of cached data fails the template will be reloaded now. - Implemented a block ``set`` tag. - Default cache size was incrased to 400 from a low 50. - Fixed ``is number`` test to accept long integers in all Python versions. - Changed ``is number`` to accept Decimal as a number. - Added a check for default arguments followed by non-default arguments. This change makes ``{%% macro m(x, y=1, z) %%}...{%% endmacro %%}`` a syntax error. The previous behavior for this code was broken anyway (resulting in the default value being applied to `y`). - Add ability to use custom subclasses of ``jinja2.compiler.CodeGenerator`` and ``jinja2.runtime.Context`` by adding two new attributes to the environment (`code_generator_class` and `context_class`) (pull request ``#404``). - added support for context/environment/evalctx decorator functions on the finalize callback of the environment. - escape query strings for urlencode properly. Previously slashes were not escaped in that place. - Add 'base' parameter to 'int' filter. - Tests are removed from the package (not distributed in the tar.gz) * Wed Jul 22 2015 jengelh@inai.de - Use %%python_version over %%py_ver: better portability to RHEL * Fri Aug 15 2014 mcihar@suse.cz - run testsuite during build * Fri Aug 15 2014 mcihar@suse.cz - adjust dependency to use up to date package name for python-MarkupSafe * Tue Jul 15 2014 toddrme2178@gmail.com - Update to 2.7.3 (bnc#858239, CVE-2014-0012) - Security issue: Corrected the security fix for the cache folder. This fix was provided by RedHat. * Thu May 8 2014 hpj@urpla.net - fix package build (file selection missing) * Sat Apr 26 2014 dmueller@suse.com - avoid rebuildcycle with vim * Mon Jan 13 2014 dmueller@suse.com - update to 2.7.2: - Prefix loader was not forwarding the locals properly to inner loaders. This is now fixed. - Security issue: Changed the default folder for the filesystem cache to be user specific and read and write protected on UNIX systems. See `Debian bug 734747`_ for more information. * Thu Oct 24 2013 speilicke@suse.com - Require python-setuptools instead of distribute (upstreams merged) * Mon Sep 2 2013 speilicke@suse.com - Avoid "Recommends:" on old rpm distros * Tue Aug 13 2013 dmueller@suse.com - update to 2.7.1: - Fixed a bug with ``call_filter`` not working properly on environment and context filters. - Fixed lack of Python 3 support for bytecode caches. - Reverted support for defining blocks in included templates as this broke existing templates for users. - Fixed some warnings with hashing of undefineds and nodes if Python is run with warnings for Python 3. - Added support for properly hashing undefined objects. - Fixed a bug with the title filter not working on already uppercase strings. * Thu Jul 11 2013 dmueller@suse.com - update to 2.7: - Choice and prefix loaders now dispatch source and template lookup separately in order to work in combination with module loaders as advertised. - Fixed filesizeformat. - Added a non-silent option for babel extraction. - Added `urlencode` filter that automatically quotes values for URL safe usage with utf-8 as only supported encoding. If applications want to change this encoding they can override the filter. - Added `keep-trailing-newline` configuration to environments and templates to optionally preserve the final trailing newline. - Accessing `last` on the loop context no longer causes the iterator to be consumed into a list. - Python requirement changed: 2.6, 2.7 or >= 3.3 are required now, supported by same source code, using the "six" compatibility library. - Allow `contextfunction` and other decorators to be applied to `__call__`. - Added support for changing from newline to different signs in the `wordwrap` filter. - Added support for ignoring memcache errors silently. - Added support for keeping the trailing newline in templates. - Added finer grained support for stripping whitespace on the left side of blocks. - Added `map`, `select`, `reject`, `selectattr` and `rejectattr` filters. - Added support for `loop.depth` to figure out how deep inside a recursive loop the code is. - Disabled py_compile for pypy and python 3. * Mon Apr 30 2012 toddrme2178@gmail.com - Fix building python 3 package on openSUSE 11.4 x86_64 * Thu Apr 26 2012 toddrme2178@gmail.com - Add 2to3 buildrequires to allow for proper conversion of python 3 version * Mon Apr 23 2012 toddrme2178@gmail.com - Add python 3 package - Simplify vim plugin packaging - Add suggests for vim and emacs in their respective packages - Removed test for obsolete openSUSE version * Thu Feb 23 2012 saschpe@suse.de - Simplified macro usage * Thu Sep 22 2011 saschpe@suse.de - Split of 'vim' and 'emacs' sub-packages that contain syntax highlighting support for both editors * Thu Sep 22 2011 saschpe@suse.de - Set license to BSD-3-Clause (SPDX style) - Require python-distribute instead of python-setuptools * Tue Sep 20 2011 saschpe@suse.de - Update to version 2.6: * internal attributes now raise an internal attribute error now instead of returning an undefined. This fixes problems when passing undefined objects to Python semantics expecting APIs. * traceback support now works properly for PyPy. (Tested with 1.4) * implemented operator intercepting for sandboxed environments. This allows application developers to disable builtin operators for better security. (For instance limit the mathematical operators to actual integers instead of longs) * groupby filter now supports dotted notation for grouping by attributes of attributes. * scoped blocks not properly treat toplevel assignments and imports. Previously an import suddenly "disappeared" in a scoped block. * automatically detect newer Python interpreter versions before loading code from bytecode caches to prevent segfaults on invalid opcodes. The segfault in earlier Jinja2 versions here was not a Jinja2 bug but a limitation in the underlying Python interpreter. If you notice Jinja2 segfaulting in earlier versions after an upgrade of the Python interpreter you don't have to upgrade, it's enough to flush the bytecode cache. This just no longer makes this necessary, Jinja2 will automatically detect these cases now. * the sum filter can now sum up values by attribute. This is a backwards incompatible change. The argument to the filter previously was the optional starting index which defaultes to zero. This now became the second argument to the function because it's rarely used. * like sum, sort now also makes it possible to order items by attribute. * like sum and sort, join now also is able to join attributes of objects as string. * the internal eval context now has a reference to the environment. * added a mapping test to see if an object is a dict or an object with a similar interface. * Wed Jul 20 2011 saschpe@gmx.de - Renamed to python-Jinja2 - Fix wrong EOL encodings * Thu Apr 7 2011 saschpe@suse.de - Do not require python-setuptools, buildrequires is sufficient - Removed authors from description - Changed license to BSD3c * Sun Dec 12 2010 saschpe@gmx.de - rpmlint issues cleanup * fdupes, tar.bz2 tarball, ... - package docs again (lost with last revision) * Sat Dec 11 2010 saschpe@gmx.de - re-generated spec file with py2pack * now builds for Fedora and Mandriva * Thu Sep 17 2009 alexandre@exatati.com.br - Update to 2.2.1; - Fixed changes file name. * Mon Jun 8 2009 poeml@suse.de - initial package (2.1.1)