openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2019
- 1 participants
- 2390 discussions
Hello community,
here is the log from the commit of package flatpak for openSUSE:Factory checked in at 2019-11-29 15:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/flatpak (Old)
and /work/SRC/openSUSE:Factory/.flatpak.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "flatpak"
Fri Nov 29 15:57:42 2019 rev:36 rq:750957 version:1.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/flatpak/flatpak.changes 2019-10-30 14:39:07.589627405 +0100
+++ /work/SRC/openSUSE:Factory/.flatpak.new.26869/flatpak.changes 2019-11-29 16:02:02.316827045 +0100
@@ -1,0 +2,12 @@
+Mon Nov 25 16:59:29 UTC 2019 - Frederic Crozat <fcrozat(a)suse.com>
+
+- Package empty /etc/flatpak/remotes.d.
+
+-------------------------------------------------------------------
+Wed Nov 20 12:53:08 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Add pkgconfig(libsystemd) BuildRequires (boo#1157126).
+- Drop systemd_requires: strictly speaking, we do not require
+ systemd.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ flatpak.spec ++++++
--- /var/tmp/diff_new_pack.ZnRXUX/_old 2019-11-29 16:02:03.100826723 +0100
+++ /var/tmp/diff_new_pack.ZnRXUX/_new 2019-11-29 16:02:03.100826723 +0100
@@ -1,7 +1,7 @@
#
# spec file for package flatpak
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -66,6 +66,7 @@
BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsoup-2.4)
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(ostree-1) >= 2018.7
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(systemd)
@@ -79,7 +80,6 @@
# Remove after openSUSE Leap 42 is out of scope
Provides: xdg-app = %{version}
Obsoletes: xdg-app < %{version}
-%{?systemd_requires}
%description
flatpak is a system for building, distributing and running sandboxed desktop
@@ -179,6 +179,8 @@
rm -Rf %{buildroot}%{_libexecdir}/systemd/user-environment-generators/
%endif
+mkdir -p %{buildroot}%{_sysconfdir}/flatpak/remotes.d
+
%find_lang %{name}
%pre -n system-user-flatpak -f system-user-flatpak.pre
@@ -230,6 +232,7 @@
%{_mandir}/man5/flatpak-remote.5%{ext_man}
%{_datadir}/%{name}/
%config %{_sysconfdir}/profile.d/flatpak.sh
+%{_sysconfdir}/flatpak
# Own dirs so we don't have to depend on gdm for building.
%dir %{_datadir}/gdm/
%dir %{_datadir}/gdm/env.d/
1
0
Hello community,
here is the log from the commit of package python-nbsphinx-link for openSUSE:Factory checked in at 2019-11-29 15:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbsphinx-link (Old)
and /work/SRC/openSUSE:Factory/.python-nbsphinx-link.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbsphinx-link"
Fri Nov 29 15:57:42 2019 rev:2 rq:748500 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbsphinx-link/python-nbsphinx-link.changes 2019-05-22 11:11:07.702598550 +0200
+++ /work/SRC/openSUSE:Factory/.python-nbsphinx-link.new.26869/python-nbsphinx-link.changes 2019-11-29 16:01:58.216828726 +0100
@@ -1,0 +2,11 @@
+Wed Nov 13 16:40:01 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support due to python-nbsphinx dropping python2 support
+
+-------------------------------------------------------------------
+Tue Nov 12 16:50:17 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 1.3.0
+ * Added media collection feature
+
+-------------------------------------------------------------------
Old:
----
nbsphinx-link-1.2.0.tar.gz
New:
----
nbsphinx-link-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nbsphinx-link.spec ++++++
--- /var/tmp/diff_new_pack.ckmuNO/_old 2019-11-29 16:01:59.600828159 +0100
+++ /var/tmp/diff_new_pack.ckmuNO/_new 2019-11-29 16:01:59.604828157 +0100
@@ -17,8 +17,9 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-nbsphinx-link
-Version: 1.2.0
+Version: 1.3.0
Release: 0
Summary: Sphinx extension for including notebook files outside sphinx source root
License: BSD-3-Clause
++++++ nbsphinx-link-1.2.0.tar.gz -> nbsphinx-link-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/PKG-INFO new/nbsphinx-link-1.3.0/PKG-INFO
--- old/nbsphinx-link-1.2.0/PKG-INFO 2019-01-28 17:24:04.000000000 +0100
+++ new/nbsphinx-link-1.3.0/PKG-INFO 2019-10-01 16:15:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: nbsphinx-link
-Version: 1.2.0
+Version: 1.3.0
Summary: A sphinx extension for including notebook files outside sphinx source root
Home-page: https://github.com/vidartf/nbsphinx-link
Author: Vidar Tonaas Fauske
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/README.rst new/nbsphinx-link-1.3.0/README.rst
--- old/nbsphinx-link-1.2.0/README.rst 2019-01-28 15:03:06.000000000 +0100
+++ new/nbsphinx-link-1.3.0/README.rst 2019-09-27 14:50:52.000000000 +0200
@@ -24,6 +24,12 @@
"path": "relative/path/to/notebook"
}
+Optionally the "extra-media" key can be added, if your notebook includes
+any media, i.e. images. The value needs to be an array of strings,
+which are paths to the media files or directories to include. Note that
+this is not needed if the images are added as attachments to markdown
+cells.
+
Further keys might be added in the future.
Note that the documentation of this project might serve as a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/docs/source/conf.py new/nbsphinx-link-1.3.0/docs/source/conf.py
--- old/nbsphinx-link-1.2.0/docs/source/conf.py 2018-05-25 15:37:27.000000000 +0200
+++ new/nbsphinx-link-1.3.0/docs/source/conf.py 2019-09-27 13:07:23.000000000 +0200
@@ -114,11 +114,6 @@
#
# html_theme_options = {}
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/docs/source/introduction.nblink new/nbsphinx-link-1.3.0/docs/source/introduction.nblink
--- old/nbsphinx-link-1.2.0/docs/source/introduction.nblink 2018-05-23 17:44:59.000000000 +0200
+++ new/nbsphinx-link-1.3.0/docs/source/introduction.nblink 2019-09-27 13:07:23.000000000 +0200
@@ -1,3 +1,8 @@
{
- "path": "../../notebooks/introduction.ipynb"
+ "path": "../../notebooks/introduction.ipynb",
+ "extra-media": [
+ "../../notebooks/images",
+ "../../notebooks/smile.png",
+ "not_a_path"
+ ]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/nbsphinx_link/__init__.py new/nbsphinx-link-1.3.0/nbsphinx_link/__init__.py
--- old/nbsphinx-link-1.2.0/nbsphinx_link/__init__.py 2019-01-28 17:22:33.000000000 +0100
+++ new/nbsphinx-link-1.3.0/nbsphinx_link/__init__.py 2019-09-27 14:56:30.000000000 +0200
@@ -11,27 +11,155 @@
"path": "relative/path/to/notebook"
}
+
+Optionally the "extra-media" key can be added, if your notebook includes
+any media, i.e. images. The value needs to be an array of strings,
+which are paths to the media files or directories.
+
Further keys might be added in the future.
"""
-
import json
import os
+import shutil
from docutils import io, nodes, utils
from docutils.utils.error_reporting import SafeString, ErrorString
+import docutils # noqa: F401
from nbsphinx import NotebookParser, NotebookError, _ipynbversion
import nbformat
+from sphinx.util.logging import getLogger
from ._version import __version__
+def register_dependency(file_path, document):
+ """
+ Registers files as dependency, so sphinx rebuilds the docs
+ when they changed.
+
+ Parameters
+ ----------
+ file_path : str
+ [description]
+ document: docutils.nodes.document
+ Parsed document instance.
+ """
+ document.settings.record_dependencies.add(file_path)
+ document.settings.env.note_dependency(file_path)
+
+
+def copy_file(src, dest, document):
+ """
+ Copies a singe file from ``src`` to ``dest``.
+
+ Parameters
+ ----------
+ src : str
+ Path to the source file.
+ dest : str
+ Path to the destination file or directory.
+ document: docutils.nodes.document
+ Parsed document instance.
+ """
+ logger = getLogger(__name__)
+ try:
+ shutil.copy(src, dest)
+ register_dependency(src, document)
+ except (OSError) as e:
+ logger.warning(
+ "The the file {} couldn't be copied. "
+ "Error:\n {}".format(src, e)
+ )
+
+
+def copy_and_register_files(src, dest, document):
+ """
+ Copies a directory or file from the path ``src`` to ``dest``
+ and registers all files as dependency,
+ so sphinx rebuilds the docs when they changed.
+
+ Parameters
+ ----------
+ src : str
+ Path to the source directory or file
+ dest : str
+ Path to the destination directory or file
+ document: docutils.nodes.document
+ Parsed document instance.
+ """
+ if os.path.isdir(src):
+ for root, _, filenames in os.walk(src):
+ dst_root = os.path.join(dest, os.path.relpath(root, src))
+ if filenames and not os.path.exists(dst_root):
+ os.makedirs(dst_root)
+ for filename in filenames:
+ src_path = os.path.abspath(os.path.join(root, filename))
+ copy_file(src_path, dst_root, document)
+ else:
+ copy_file(src, dest, document)
+
+
+def collect_extra_media(extra_media, source_file, nb_path, document):
+ """
+ Collects extra media defined in the .nblink file, with the key
+ 'extra-media'. The extra media (i.e. images) need to be copied
+ in order for nbsphinx to properly render the notebooks, since
+ nbsphinx assumes that the files are relative to the .nblink.
+
+ Parameters
+ ----------
+ extra_media : list
+ Paths to directories and/or files with extra media.
+ source_file : str
+ Path to the .nblink file.
+ nb_path : str
+ Path to the notebook defined in the .nblink file , with the key 'path'.
+ document: docutils.nodes.document
+ Parsed document instance.
+
+ """
+ any_dirs = False
+ logger = getLogger(__name__)
+ source_dir = os.path.dirname(source_file)
+ if not isinstance(extra_media, list):
+ logger.warning(
+ 'The "extra-media", defined in {} needs to be a list of paths. '
+ 'The current value is:\n{}'.format(source_file, extra_media)
+ )
+ for extract_media_path in extra_media:
+ if os.path.isabs(extract_media_path):
+ src_path = extract_media_path
+ else:
+ extract_media_relpath = os.path.join(
+ source_dir, extract_media_path
+ )
+ src_path = os.path.normpath(
+ os.path.join(source_dir, extract_media_relpath)
+ )
+
+ dest_path = utils.relative_path(nb_path, src_path)
+ dest_path = os.path.normpath(os.path.join(source_dir, dest_path))
+ if os.path.exists(src_path):
+ any_dirs = any_dirs or os.path.isdir(src_path)
+ copy_and_register_files(src_path, dest_path, document)
+ else:
+ logger.warning(
+ 'The path "{}", defined in {} "extra-media", '
+ 'isn\'t a valid path.'.format(
+ extract_media_path, source_file
+ )
+ )
+ if any_dirs:
+ document.settings.env.note_reread()
+
+
class LinkedNotebookParser(NotebookParser):
"""A parser for .nblink files.
The parser will replace the link file with the output from
nbsphinx on the linked notebook. It will also add the linked
- file as a dependency, so that sphinx will take it into acount
+ file as a dependency, so that sphinx will take it into account
when figuring out whether it should be rebuilt.
The .nblink file is a JSON file with the following structure:
@@ -40,6 +168,10 @@
"path": "relative/path/to/notebook"
}
+ Optionally the "extra-media" key can be added, if your notebook includes
+ any media, i.e. images. The value needs to be an array of strings,
+ which are paths to the media files or directories.
+
Further keys might be added in the future.
"""
@@ -59,8 +191,12 @@
path = utils.relative_path(None, abs_path)
path = nodes.reprunicode(path)
- document.settings.record_dependencies.add(path)
- env.note_dependency(path)
+ extra_media = link.get('extra-media', None)
+ if extra_media:
+ source_file = env.doc2path(env.docname)
+ collect_extra_media(extra_media, source_file, path, document)
+
+ register_dependency(path, document)
target_root = env.config.nbsphinx_link_target_root
target = utils.relative_path(target_root, abs_path)
@@ -96,7 +232,6 @@
return super(LinkedNotebookParser, self).parse(rawtext, document)
-
def setup(app):
"""Initialize Sphinx extension."""
app.setup_extension('nbsphinx')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/nbsphinx_link/_version.py new/nbsphinx-link-1.3.0/nbsphinx_link/_version.py
--- old/nbsphinx-link-1.2.0/nbsphinx_link/_version.py 2019-01-28 17:22:53.000000000 +0100
+++ new/nbsphinx-link-1.3.0/nbsphinx_link/_version.py 2019-10-01 16:15:04.000000000 +0200
@@ -1,2 +1,2 @@
-version_info = (1, 2, 0)
+version_info = (1, 3, 0)
__version__ = ".".join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/nbsphinx_link.egg-info/PKG-INFO new/nbsphinx-link-1.3.0/nbsphinx_link.egg-info/PKG-INFO
--- old/nbsphinx-link-1.2.0/nbsphinx_link.egg-info/PKG-INFO 2019-01-28 17:24:03.000000000 +0100
+++ new/nbsphinx-link-1.3.0/nbsphinx_link.egg-info/PKG-INFO 2019-10-01 16:15:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: nbsphinx-link
-Version: 1.2.0
+Version: 1.3.0
Summary: A sphinx extension for including notebook files outside sphinx source root
Home-page: https://github.com/vidartf/nbsphinx-link
Author: Vidar Tonaas Fauske
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/nbsphinx_link.egg-info/SOURCES.txt new/nbsphinx-link-1.3.0/nbsphinx_link.egg-info/SOURCES.txt
--- old/nbsphinx-link-1.2.0/nbsphinx_link.egg-info/SOURCES.txt 2019-01-28 17:24:03.000000000 +0100
+++ new/nbsphinx-link-1.3.0/nbsphinx_link.egg-info/SOURCES.txt 2019-10-01 16:15:30.000000000 +0200
@@ -17,4 +17,7 @@
nbsphinx_link.egg-info/dependency_links.txt
nbsphinx_link.egg-info/requires.txt
nbsphinx_link.egg-info/top_level.txt
-notebooks/introduction.ipynb
\ No newline at end of file
+notebooks/introduction.ipynb
+notebooks/smile.png
+notebooks/images/smile.png
+notebooks/images/subsubdir/smile.png
\ No newline at end of file
Binary files old/nbsphinx-link-1.2.0/notebooks/images/smile.png and new/nbsphinx-link-1.3.0/notebooks/images/smile.png differ
Binary files old/nbsphinx-link-1.2.0/notebooks/images/subsubdir/smile.png and new/nbsphinx-link-1.3.0/notebooks/images/subsubdir/smile.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-link-1.2.0/notebooks/introduction.ipynb new/nbsphinx-link-1.3.0/notebooks/introduction.ipynb
--- old/nbsphinx-link-1.2.0/notebooks/introduction.ipynb 2018-05-23 19:13:55.000000000 +0200
+++ new/nbsphinx-link-1.3.0/notebooks/introduction.ipynb 2019-09-27 14:35:18.000000000 +0200
@@ -1,79 +1,103 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Introduction"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For a start, consider the documentation folder of the nbsphinx-link repository. This documentation page itself comes from a linked notebook:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "foobar\n"
- ]
- }
- ],
- "source": [
- "def foo(a):\n",
- " return 'foo' + a\n",
- "\n",
- "print(foo('bar'))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "After the installation steps (installing the package, and adding `nbsphinx_link` as an extension in the Sphinx config), you can link external notebooks by including `.nblink` files in your documentation source tree. The format of the link file is as follows:\n",
- "\n",
- "```json\n",
- "{\n",
- " \"path\": \"relative/path/to/notebook\"\n",
- "}\n",
- "```"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "It should then Just Work. For further information and examples, consider inspecting the Sphinx config file of the nbsphinx-link repository!"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Introduction"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "For a start, consider the documentation folder of the nbsphinx-link repository. This documentation page itself comes from a linked notebook:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "foobar\n"
+ ]
+ }
+ ],
+ "source": [
+ "def foo(a):\n",
+ " return 'foo' + a\n",
+ "\n",
+ "print(foo('bar'))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "After the installation steps (installing the package, and adding `nbsphinx_link` as an extension in the Sphinx config), you can link external notebooks by including `.nblink` files in your documentation source tree. The format of the link file is as follows:\n",
+ "\n",
+ "```json\n",
+ "{\n",
+ " \"path\": \"relative/path/to/notebook\"\n",
+ "}\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "It should then Just Work. For further information and examples, consider inspecting the Sphinx config file of the nbsphinx-link repository!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Image including example\n",
+ "Look at this happy smile, because the notebook made it in the docs.\n",
+ "\n",
+ "### Image path next to notebook\n",
+ "![python logo 1](smile.png)\n",
+ "\n",
+ "### Image path in subdirectory notebook\n",
+ "![python logo 2](images/smile.png)\n",
+ "\n",
+ "### Image path in sub-subdirectory notebook\n",
+ "![python logo 3](images/subsubdir/smile.png)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
Binary files old/nbsphinx-link-1.2.0/notebooks/smile.png and new/nbsphinx-link-1.3.0/notebooks/smile.png differ
1
0
Hello community,
here is the log from the commit of package python-nbsphinx for openSUSE:Factory checked in at 2019-11-29 15:57:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbsphinx (Old)
and /work/SRC/openSUSE:Factory/.python-nbsphinx.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbsphinx"
Fri Nov 29 15:57:36 2019 rev:2 rq:748489 version:0.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbsphinx/python-nbsphinx.changes 2019-05-22 11:05:40.510580552 +0200
+++ /work/SRC/openSUSE:Factory/.python-nbsphinx.new.26869/python-nbsphinx.changes 2019-11-29 16:01:50.632831837 +0100
@@ -1,0 +2,11 @@
+Wed Nov 13 19:27:48 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Latest release drops python2 support.
+
+-------------------------------------------------------------------
+Tue Nov 12 16:51:16 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 0.4.3
+ * Add option nbsphinx_requirejs_path (and nbsphinx_requirejs_options)
+
+-------------------------------------------------------------------
Old:
----
nbsphinx-0.4.2.tar.gz
New:
----
nbsphinx-0.4.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nbsphinx.spec ++++++
--- /var/tmp/diff_new_pack.87t2BK/_old 2019-11-29 16:01:51.888831322 +0100
+++ /var/tmp/diff_new_pack.87t2BK/_new 2019-11-29 16:01:51.908831314 +0100
@@ -17,8 +17,9 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-nbsphinx
-Version: 0.4.2
+Version: 0.4.3
Release: 0
Summary: Jupyter Notebook Tools for Sphinx
License: MIT
++++++ nbsphinx-0.4.2.tar.gz -> nbsphinx-0.4.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/CONTRIBUTING.rst new/nbsphinx-0.4.3/CONTRIBUTING.rst
--- old/nbsphinx-0.4.2/CONTRIBUTING.rst 2017-11-28 20:42:46.000000000 +0100
+++ new/nbsphinx-0.4.3/CONTRIBUTING.rst 2019-09-30 15:30:56.000000000 +0200
@@ -11,7 +11,7 @@
git clone https://github.com/spatialaudio/nbsphinx.git
cd nbsphinx
- python3 setup.py develop --user
+ python3 -m pip install -e . --user
This way, your installation always stays up-to-date, even if you pull new
changes from the Github repository. If you have only Python 3 installed, you
@@ -43,5 +43,5 @@
The generated files will be available in the directories ``build/sphinx/html/``
and ``build/sphinx/latex/``, respectively.
-.. _PyPI: https://pypi.python.org/pypi/nbsphinx/
-.. _Github: http://github.com/spatialaudio/nbsphinx/
+.. _PyPI: https://pypi.org/project/nbsphinx/
+.. _Github: https://github.com/spatialaudio/nbsphinx/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/NEWS.rst new/nbsphinx-0.4.3/NEWS.rst
--- old/nbsphinx-0.4.2/NEWS.rst 2019-01-15 10:48:38.000000000 +0100
+++ new/nbsphinx-0.4.3/NEWS.rst 2019-09-30 15:35:55.000000000 +0200
@@ -1,3 +1,6 @@
+Version 0.4.3 (2019-09-30):
+ * Add option ``nbsphinx_requirejs_path`` (and ``nbsphinx_requirejs_options``)
+
Version 0.4.2 (2019-01-15):
* Re-establish Python 2 compatibility (but the clock is ticking ...)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/PKG-INFO new/nbsphinx-0.4.3/PKG-INFO
--- old/nbsphinx-0.4.2/PKG-INFO 2019-01-15 10:51:01.000000000 +0100
+++ new/nbsphinx-0.4.3/PKG-INFO 2019-09-30 15:45:36.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: nbsphinx
-Version: 0.4.2
+Version: 0.4.3
Summary: Jupyter Notebook Tools for Sphinx
Home-page: UNKNOWN
Author: Matthias Geier
@@ -38,8 +38,8 @@
License:
MIT -- see the file ``LICENSE`` for details.
- .. _Sphinx: http://sphinx-doc.org/
- .. _Jupyter Notebook: http://jupyter.org/
+ .. _Sphinx: https://www.sphinx-doc.org/
+ .. _Jupyter Notebook: https://jupyter.org/
Keywords: Sphinx,Jupyter,notebook
Platform: any
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/README.rst new/nbsphinx-0.4.3/README.rst
--- old/nbsphinx-0.4.2/README.rst 2018-10-01 19:00:08.000000000 +0200
+++ new/nbsphinx-0.4.3/README.rst 2019-09-22 17:10:21.000000000 +0200
@@ -27,5 +27,5 @@
License:
MIT -- see the file ``LICENSE`` for details.
-.. _Sphinx: http://sphinx-doc.org/
-.. _Jupyter Notebook: http://jupyter.org/
+.. _Sphinx: https://www.sphinx-doc.org/
+.. _Jupyter Notebook: https://jupyter.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/a-normal-rst-file.rst new/nbsphinx-0.4.3/doc/a-normal-rst-file.rst
--- old/nbsphinx-0.4.2/doc/a-normal-rst-file.rst 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/a-normal-rst-file.rst 2019-09-22 17:10:21.000000000 +0200
@@ -11,7 +11,7 @@
Links to Sphinx source files can be created like normal `Sphinx hyperlinks`_,
just using a relative path to the local file: link_.
-.. _Sphinx hyperlinks: http://www.sphinx-doc.org/en/master/usage/
+.. _Sphinx hyperlinks: https://www.sphinx-doc.org/en/master/usage/
restructuredtext/basics.html#external-links
.. _link: subdir/a-notebook-in-a-subdir.ipynb
@@ -80,7 +80,7 @@
In addition to the way shown above, you can also create links to notebooks (and
other Sphinx source files) with
-`:ref: <http://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-…>`_.
+`:ref: <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role…>`_.
This has some disadvantages:
* It is arguably a bit more clunky.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/allow-errors-per-cell.ipynb new/nbsphinx-0.4.3/doc/allow-errors-per-cell.ipynb
--- old/nbsphinx-0.4.2/doc/allow-errors-per-cell.ipynb 1970-01-01 01:00:00.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/allow-errors-per-cell.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -0,0 +1,107 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "nbsphinx": "hidden"
+ },
+ "source": [
+ "This notebook is part of the `nbsphinx` documentation: http://nbsphinx.readthedocs.io/."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Ignoring Errors on a Per-Cell Basis\n",
+ "\n",
+ "Instead of ignoring errors for all notebooks or for some selected notebooks (see [the previous notebook](allow-errors.ipynb)), you can be more fine-grained and just allow errors on certain code cells by tagging them with the `raises-exception` tag."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "'no problem'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The following code cell has the `raises-exception` tag."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "tags": [
+ "raises-exception"
+ ]
+ },
+ "outputs": [],
+ "source": [
+ "problem"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The following code cell is executed even though the previous cell raised an exception."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "'no problem'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<div class=\"alert alert-info\">\n",
+ "\n",
+ "**Note:**\n",
+ "\n",
+ "The behavior of the `raises-exception` tag doesn't match its name.\n",
+ "While it does *allow* exceptions,\n",
+ "it does not check if an exception is actually raised!\n",
+ "\n",
+ "This will hopefully be fixed at some point,\n",
+ "see https://github.com/jupyter/nbconvert/issues/730.\n",
+ "\n",
+ "</div>"
+ ]
+ }
+ ],
+ "metadata": {
+ "celltoolbar": "Tags",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.4+"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/allow-errors.ipynb new/nbsphinx-0.4.3/doc/allow-errors.ipynb
--- old/nbsphinx-0.4.2/doc/allow-errors.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/allow-errors.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -17,7 +17,7 @@
"\n",
"Normally, if an exception is raised while executing a notebook, the Sphinx build process is stopped immediately.\n",
"\n",
- "If a notebook contains errors on purpose (or if you are too lazy to fix them right now), you have three options:\n",
+ "If a notebook contains errors on purpose (or if you are too lazy to fix them right now), you have four options:\n",
"\n",
"1. Manually execute the notebook in question and save the results, see [the pre-executed example notebook](pre-executed.ipynb).\n",
"\n",
@@ -33,7 +33,9 @@
" },\n",
" ```\n",
"\n",
- "This very notebook is an example for the last option.\n",
+ "4. Allow errors on a per-cell basis using the `raises-exception` tag, see [Ignoring Errors on a Cell-by-Cell Basis](allow-errors-per-cell.ipynb).\n",
+ "\n",
+ "This very notebook is an example for the third option.\n",
"The results of the following code cells are not stored within the notebook, therefore it is executed during the Sphinx build process.\n",
"Since the above-mentioned `allow_errors` flag is set in this notebook's metadata, all cells are executed although most of them cause an exception."
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/code-cells.ipynb new/nbsphinx-0.4.3/doc/code-cells.ipynb
--- old/nbsphinx-0.4.2/doc/code-cells.ipynb 2019-01-15 10:46:01.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/code-cells.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -181,9 +181,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Local Image Files\n",
- "\n",
- "See also [SVG support for LaTeX](markdown-cells.ipynb#SVG-support-for-LaTeX)."
+ "### Local Image Files"
]
},
{
@@ -210,6 +208,23 @@
"cell_type": "markdown",
"metadata": {},
"source": [
+ "See also [SVG support for LaTeX](markdown-cells.ipynb#SVG-support-for-LaTeX)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from IPython.display import SVG\n",
+ "SVG(filename='images/python_logo.svg')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
"### Image URLs"
]
},
@@ -237,7 +252,7 @@
"metadata": {},
"outputs": [],
"source": [
- "Image(url='http://jupyter.org/assets/nav_logo.svg')"
+ "Image(url='https://jupyter.org/assets/nav_logo.svg')"
]
},
{
@@ -325,7 +340,7 @@
"you should also have a look at the `'svg.hashsalt'` setting.\n",
"\n",
"For more details on these and other settings, have a look at\n",
- "[Default Values for Matplotlib's \"inline\" Backend](http://nbviewer.jupyter.org/github/mgeier/python-audio/blob/master…",
+ "[Default Values for Matplotlib's \"inline\" Backend](https://nbviewer.jupyter.org/github/mgeier/python-audio/blob/maste…",
"\n",
"The configuration file `ipython_kernel_config.py` can be either\n",
"in the directory where your notebook is located\n",
@@ -435,7 +450,7 @@
"source": [
"### Pandas Dataframes\n",
"\n",
- "[Pandas dataframes](http://pandas.pydata.org/pandas-docs/stable/dsintro.html#datafr…",
+ "[Pandas dataframes](https://pandas.pydata.org/pandas-docs/stable/getting_started/ds…",
"should be displayed as nicely formatted HTML tables (if you are using HTML output)."
]
},
@@ -485,7 +500,7 @@
"This is not enabled by default because of\n",
"[Pandas issue #12182](https://github.com/pandas-dev/pandas/issues/12182).\n",
"\n",
- "The generated LaTeX tables utilize the `booktabs` package, so you have to make sure that package is [loaded in the preamble](http://www.sphinx-doc.org/en/master/latex.html) with:\n",
+ "The generated LaTeX tables utilize the `booktabs` package, so you have to make sure that package is [loaded in the preamble](https://www.sphinx-doc.org/en/master/latex.html) with:\n",
"\n",
" \\usepackage{booktabs}\n",
"\n",
@@ -579,20 +594,6 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "<div class=\"alert alert-info\">\n",
- "\n",
- "**Note:**\n",
- "\n",
- "jQuery should be available, but using the readthedocs.org default theme, it's not. See [the issue on Github](https://github.com/rtfd/sphinx_rtd_theme/issues/328).\n",
- "Other Sphinx themes are not affected by this.\n",
- "\n",
- "</div>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
"### Unsupported Output Types\n",
"\n",
"If a code cell produces data with an unsupported MIME type, the Jupyter Notebook doesn't generate any output.\n",
@@ -665,7 +666,7 @@
"metadata": {},
"source": [
"ANSI also supports a set of 256 indexed colors.\n",
- "The following code showing all of them is based on http://bitmote.com/index.php?post/2012/11/19/Using-ANSI-Color-Codes-to-Colo…."
+ "The following code showing all of them is based on [http://bitmote.com/index.php?post/2012/11/19/Using-ANSI-Color-Codes-to-Colo…."
]
},
{
@@ -727,7 +728,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.1"
+ "version": "3.7.2rc1"
}
},
"nbformat": 4,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/conf.py new/nbsphinx-0.4.3/doc/conf.py
--- old/nbsphinx-0.4.2/doc/conf.py 2019-01-15 10:50:15.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/conf.py 2019-09-30 15:30:56.000000000 +0200
@@ -7,8 +7,9 @@
# Select nbsphinx and, if needed, other Sphinx extensions:
extensions = [
'nbsphinx',
- 'sphinx.ext.mathjax',
- 'sphinxcontrib.bibtex',
+ 'sphinx.ext.mathjax', # for math equation
+ 'sphinxcontrib.bibtex', # for bibliographic references
+ 'sphinxcontrib.rsvgconverter', # for SVG->PDF conversion in LaTeX output
]
# Exclude build directory and Jupyter backup files:
@@ -52,7 +53,7 @@
# This is processed by Jinja2 and inserted before each notebook
nbsphinx_prolog = r"""
-{% set docname = env.doc2path(env.docname, base='doc') %}
+{% set docname = 'doc/' + env.doc2path(env.docname, base=None) %}
.. only:: html
@@ -77,11 +78,12 @@
# This is processed by Jinja2 and inserted after each notebook
nbsphinx_epilog = r"""
+{% set docname = 'doc/' + env.doc2path(env.docname, base=None) %}
.. raw:: latex
\nbsphinxstopnotebook{\scriptsize\noindent\strut
\textcolor{gray}{\dotfill\ \sphinxcode{\sphinxupquote{\strut
- {{ env.doc2path(env.docname, base='doc') | escape_latex }}}} ends here.}}
+ {{ docname | escape_latex }}}} ends here.}}
"""
# Input prompt for code cells. "%s" is replaced by the execution count.
@@ -96,6 +98,12 @@
# '.Rmd': lambda s: jupytext.reads(s, '.Rmd'),
#}
+# Link or path to require.js, set to empty string to disable
+#nbsphinx_requirejs_path = ''
+
+# Options for loading require.js
+#nbsphinx_requirejs_options = {'async': 'async'}
+
mathjax_config = {
'TeX': {'equationNumbers': {'autoNumber': 'AMS', 'useLabelIds': True}},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/executing-notebooks.ipynb new/nbsphinx-0.4.3/doc/executing-notebooks.ipynb
--- old/nbsphinx-0.4.2/doc/executing-notebooks.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/executing-notebooks.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -30,6 +30,7 @@
"* [Pre-Executing Notebooks](pre-executed.ipynb)\n",
"* [Explicitly Dis-/Enabling Notebook Execution](never-execute.ipynb)\n",
"* [Ignoring Errors](allow-errors.ipynb)\n",
+ "* [Ignoring Errors on a Per-Cell Basis](allow-errors-per-cell.ipynb)\n",
"* [Cell Execution Timeout](timeout.ipynb)"
]
}
@@ -50,9 +51,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.5.1+"
+ "version": "3.7.4+"
}
},
"nbformat": 4,
- "nbformat_minor": 1
+ "nbformat_minor": 4
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/images/python_logo.svg new/nbsphinx-0.4.3/doc/images/python_logo.svg
--- old/nbsphinx-0.4.2/doc/images/python_logo.svg 1970-01-01 01:00:00.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/images/python_logo.svg 2019-09-30 15:30:56.000000000 +0200
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="388.84pt"
+ height="115.02pt"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.43"
+ sodipodi:docname="logo-python-generic.svg"
+ sodipodi:docbase="/home/sdeibel">
+ <metadata
+ id="metadata2193">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="543"
+ inkscape:window-width="791"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1.4340089"
+ inkscape:cx="243.02499"
+ inkscape:cy="71.887497"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:current-layer="svg2" />
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient2795">
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:0.49803922"
+ offset="0"
+ id="stop2797" />
+ <stop
+ style="stop-color:#7f7f7f;stop-opacity:0"
+ offset="1"
+ id="stop2799" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2787">
+ <stop
+ style="stop-color:#7f7f7f;stop-opacity:0.5"
+ offset="0"
+ id="stop2789" />
+ <stop
+ style="stop-color:#7f7f7f;stop-opacity:0"
+ offset="1"
+ id="stop2791" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3676">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:0.5"
+ offset="0"
+ id="stop3678" />
+ <stop
+ style="stop-color:#b3b3b3;stop-opacity:0"
+ offset="1"
+ id="stop3680" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3236">
+ <stop
+ style="stop-color:#f4f4f4;stop-opacity:1"
+ offset="0"
+ id="stop3244" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop3240" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4671">
+ <stop
+ style="stop-color:#ffd43b;stop-opacity:1"
+ offset="0"
+ id="stop4673" />
+ <stop
+ style="stop-color:#ffe873;stop-opacity:1"
+ offset="1"
+ id="stop4675" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4689">
+ <stop
+ style="stop-color:#5a9fd4;stop-opacity:1"
+ offset="0"
+ id="stop4691" />
+ <stop
+ style="stop-color:#306998;stop-opacity:1"
+ offset="1"
+ id="stop4693" />
+ </linearGradient>
+ <linearGradient
+ x1="224.23996"
+ y1="144.75717"
+ x2="-65.308502"
+ y2="144.75717"
+ id="linearGradient2987"
+ xlink:href="#linearGradient4671"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="172.94208"
+ y1="77.475983"
+ x2="26.670298"
+ y2="76.313133"
+ id="linearGradient2990"
+ xlink:href="#linearGradient4689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="172.94208"
+ y1="77.475983"
+ x2="26.670298"
+ y2="76.313133"
+ id="linearGradient2587"
+ xlink:href="#linearGradient4689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="224.23996"
+ y1="144.75717"
+ x2="-65.308502"
+ y2="144.75717"
+ id="linearGradient2589"
+ xlink:href="#linearGradient4671"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="172.94208"
+ y1="77.475983"
+ x2="26.670298"
+ y2="76.313133"
+ id="linearGradient2248"
+ xlink:href="#linearGradient4689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="224.23996"
+ y1="144.75717"
+ x2="-65.308502"
+ y2="144.75717"
+ id="linearGradient2250"
+ xlink:href="#linearGradient4671"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100.2702,99.61116)" />
+ <linearGradient
+ x1="224.23996"
+ y1="144.75717"
+ x2="-65.308502"
+ y2="144.75717"
+ id="linearGradient2255"
+ xlink:href="#linearGradient4671"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)" />
+ <linearGradient
+ x1="172.94208"
+ y1="76.176224"
+ x2="26.670298"
+ y2="76.313133"
+ id="linearGradient2258"
+ xlink:href="#linearGradient4689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)" />
+ <radialGradient
+ cx="61.518883"
+ cy="132.28575"
+ r="29.036913"
+ fx="61.518883"
+ fy="132.28575"
+ id="radialGradient2801"
+ xlink:href="#linearGradient2795"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.177966,0,108.7434)" />
+ <linearGradient
+ x1="150.96111"
+ y1="192.35176"
+ x2="112.03144"
+ y2="137.27299"
+ id="linearGradient1475"
+ xlink:href="#linearGradient4671"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)" />
+ <linearGradient
+ x1="26.648937"
+ y1="20.603781"
+ x2="135.66525"
+ y2="114.39767"
+ id="linearGradient1478"
+ xlink:href="#linearGradient4689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)" />
+ <radialGradient
+ cx="61.518883"
+ cy="132.28575"
+ r="29.036913"
+ fx="61.518883"
+ fy="132.28575"
+ id="radialGradient1480"
+ xlink:href="#linearGradient2795"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)" />
+ </defs>
+ <g
+ id="g2303">
+ <path
+ id="path46"
+ style="fill:#646464;fill-opacity:1"
+ d="M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z " />
+ <path
+ id="path48"
+ style="fill:#646464;fill-opacity:1"
+ d="M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z " />
+ <path
+ id="path50"
+ style="fill:#646464;fill-opacity:1"
+ d="M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z " />
+ <path
+ id="path52"
+ style="fill:#646464;fill-opacity:1"
+ d="M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z " />
+ <path
+ id="path54"
+ style="fill:#646464;fill-opacity:1"
+ d="M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z " />
+ <path
+ id="path56"
+ style="fill:#646464;fill-opacity:1"
+ d="M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z " />
+ <path
+ id="path1948"
+ style="fill:url(#linearGradient1478);fill-opacity:1"
+ d="M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z " />
+ <path
+ id="path1950"
+ style="fill:url(#linearGradient1475);fill-opacity:1"
+ d="M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z " />
+ <path
+ id="text3004"
+ style="font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383" />
+ <path
+ id="path1894"
+ style="opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="matrix(0.73406,0,0,0.809524,16.24958,27.00935)"
+ d="M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z" />
+ </g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/installation.ipynb new/nbsphinx-0.4.3/doc/installation.ipynb
--- old/nbsphinx-0.4.2/doc/installation.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/installation.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -23,15 +23,15 @@
"\n",
"[![Anaconda Badge](https://anaconda.org/conda-forge/nbsphinx/badges/version.svg)](https…",
"\n",
- "If you are using the `conda` package manager (e.g. with [Anaconda](https://www.anaconda.com/download/) for Linux/macOS/Windows), you can install `nbsphinx` from the [conda-forge](https://conda-forge.org/) channel:\n",
+ "If you are using the `conda` package manager (e.g. with [Anaconda](https://www.anaconda.com/distribution/) for Linux/macOS/Windows), you can install `nbsphinx` from the [conda-forge](https://conda-forge.org/) channel:\n",
"\n",
" conda install -c conda-forge nbsphinx\n",
"\n",
"If you are using Linux, there are packages available for many distributions.\n",
"\n",
- "[![Packaging status](https://repology.org/badge/vertical-allrepos/python:nbsphinx.svg)](…",
+ "[![Packaging status](https://repology.org/badge/vertical-allrepos/python:nbsphinx.svg)](…",
"\n",
- "[![PyPI version](https://badge.fury.io/py/nbsphinx.svg)](https://pypi.org/project/n…",
+ "[![PyPI version](https://badge.fury.io/py/nbsphinx.png)](https://pypi.org/project/n…",
"\n",
"On any platform, you can also install `nbsphinx` with `pip`, Python's own package manager:\n",
"\n",
@@ -62,11 +62,11 @@
"\n",
"Of course you'll need Python, because both Sphinx and `nbsphinx` are implemented in Python.\n",
"There are many ways to get Python.\n",
- "If you don't know which one is best for you, you can try [Anaconda](https://www.anaconda.com/download/).\n",
+ "If you don't know which one is best for you, you can try [Anaconda](https://www.anaconda.com/distribution/).\n",
"\n",
"### Sphinx\n",
"\n",
- "You'll need [Sphinx](http://www.sphinx-doc.org/) as well, because `nbsphinx` is just a Sphinx extension and doesn't do anything on its own.\n",
+ "You'll need [Sphinx](https://www.sphinx-doc.org/) as well, because `nbsphinx` is just a Sphinx extension and doesn't do anything on its own.\n",
"\n",
"If you use `conda`, you can get [Sphinx from the conda-forge channel](https://anaconda.org/conda-forge/sphinx):\n",
"\n",
@@ -83,11 +83,11 @@
"\n",
"### pandoc\n",
"\n",
- "The stand-alone program [pandoc](http://pandoc.org/) is used to convert Markdown content to something Sphinx can understand. You have to install this program separately, ideally with your package manager. If you are using `conda`, you can install [pandoc from the conda-forge channel](https://anaconda.org/conda-forge/pandoc):\n",
+ "The stand-alone program [pandoc](https://pandoc.org/) is used to convert Markdown content to something Sphinx can understand. You have to install this program separately, ideally with your package manager. If you are using `conda`, you can install [pandoc from the conda-forge channel](https://anaconda.org/conda-forge/pandoc):\n",
"\n",
" conda install -c conda-forge pandoc\n",
"\n",
- "If that doesn't work out for you, have a look at `pandoc`'s [installation instructions](http://pandoc.org/installing.html).\n",
+ "If that doesn't work out for you, have a look at `pandoc`'s [installation instructions](https://pandoc.org/installing.html).\n",
"\n",
"<div class=\"alert alert-info\">\n",
"\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/links.ipynb new/nbsphinx-0.4.3/doc/links.ipynb
--- old/nbsphinx-0.4.2/doc/links.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/links.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -67,6 +67,32 @@
"cell_type": "markdown",
"metadata": {},
"source": [
+ "**jupyter-book**\n",
+ "\n",
+ "Create an online book with Jupyter Notebooks and Jekyll\n",
+ "\n",
+ "https://jupyter.org/jupyter-book\n",
+ "\n",
+ "https://github.com/jupyter/jupyter-book"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**nbinteract**\n",
+ "\n",
+ "Create interactive webpages from Jupyter Notebooks\n",
+ "\n",
+ "https://www.nbinteract.com/\n",
+ "\n",
+ "https://github.com/SamLau95/nbinteract"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
"**nb_pdf_template**\n",
"\n",
"An extended `nbconvert` template for LaTeX output.\n",
@@ -145,6 +171,19 @@
"cell_type": "markdown",
"metadata": {},
"source": [
+ "**jupyter-sphinx**\n",
+ "\n",
+ "Jupyter Sphinx is a Sphinx extension that executes embedded code in a Jupyter kernel, and embeds outputs of that code in the output document. It has support for rich output such as images, Latex math and even javascript widgets.\n",
+ "\n",
+ "https://jupyter-sphinx.readthedocs.io/\n",
+ "\n",
+ "https://github.com/jupyter/jupyter-sphinx"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
"**DocOnce**\n",
"\n",
"http://hplgit.github.io/doconce/doc/web/index.html"
@@ -158,7 +197,7 @@
"\n",
"https://github.com/perrette/dimarray/blob/master/docs/scripts/nbconvert_to_…",
"\n",
- "https://gist.github.com/hadim/16e29b5848672e2e497c\n",
+ "`https://gist.github.com/hadim/16e29b5848672e2e497c` (not available anymore)\n",
"\n",
"https://sphinx-ipynb.readthedocs.io/"
]
@@ -213,9 +252,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.1"
+ "version": "3.7.3"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/markdown-cells.ipynb new/nbsphinx-0.4.3/doc/markdown-cells.ipynb
--- old/nbsphinx-0.4.2/doc/markdown-cells.ipynb 2019-01-15 10:46:01.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/markdown-cells.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -56,7 +56,7 @@
"\n",
" ERROR: Unknown interpreted text role \"raw-latex\".\n",
"\n",
- "See also the [pandoc docs](http://pandoc.org/MANUAL.html#math):\n",
+ "See also the [pandoc docs](https://pandoc.org/MANUAL.html#math):\n",
"\n",
"> Anything between two `$` characters will be treated as TeX math. The opening `$` must have a non-space character immediately to its right, while the closing `$` must have a non-space character immediately to its left, and must not be followed immediately by a digit.\n",
"\n",
@@ -91,8 +91,8 @@
"but you can install a notebook extension in order to enable equation numbering:\n",
"https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/…",
"\n",
- "Automatic Equation Numbering is enabled on http://nbviewer.jupyter.org/,\n",
- "see e.g. the latest version of this very notebook at the link http://nbviewer.jupyter.org/github/spatialaudio/nbsphinx/blob/master/doc/ma…",
+ "Automatic Equation Numbering is enabled on https://nbviewer.jupyter.org/,\n",
+ "see e.g. the latest version of this very notebook at the link https://nbviewer.jupyter.org/github/spatialaudio/nbsphinx/blob/master/doc/m…",
"\n",
"When using `nbsphinx`, you can use the following `mathjax_config` setting in your `conf.py` file\n",
"to enable automatic equation numbering in HTML output.\n",
@@ -218,8 +218,12 @@
"\n",
"Local image: ![Jupyter notebook icon](images/notebook_icon.png)\n",
"\n",
+ " ![Jupyter notebook icon](images/notebook_icon.png)\n",
+ "\n",
"Remote image: ![Python logo (remote)](https://www.python.org/static/img/python-logo-large.png)\n",
"\n",
+ " ![Python logo (remote)](https://www.python.org/static/img/python-logo-large.png)\n",
+ "\n",
"### SVG support for LaTeX\n",
"\n",
"LaTeX doesn't support SVG images, but there are Sphinx extensions that can be used for automatically converting SVG images for inclusion in LaTeX output.\n",
@@ -236,11 +240,23 @@
"\n",
"* `'sphinx.ext.imgconverter'`:\n",
" This is a built-in Sphinx extension, see\n",
- " http://www.sphinx-doc.org/en/master/usage/extensions/imgconverter.html.\n",
+ " https://www.sphinx-doc.org/en/master/usage/extensions/imgconverter.html.\n",
" \n",
" This needs the external program `convert` from *ImageMagick*.\n",
"\n",
- " The disadvantage of this extension is that SVGs are converted to bitmap images."
+ " The disadvantage of this extension is that SVGs are converted to bitmap images.\n",
+ "\n",
+ "If one of those extensions is installed, SVG images can be used even for LaTeX output:\n",
+ "\n",
+ "![Python logo](images/python_logo.svg)\n",
+ "\n",
+ " ![Python logo](images/python_logo.svg)",
+ "\n",
+ "Remote SVG images can also be used:\n",
+ "\n",
+ "![Jupyter logo](https://jupyter.org/assets/main-logo.svg)\n",
+ "\n",
+ " ![Jupyter logo](https://jupyter.org/assets/main-logo.svg)"
]
},
{
@@ -410,7 +426,7 @@
"source": [
"## Links to `*.rst` Files (and Other Sphinx Source Files)\n",
"\n",
- "Links to files whose extension is in the configuration value [source_suffix](http://www.sphinx-doc.org/en/master/config.html#confval-sour…, will be converted to links to the generated HTML/LaTeX pages. Example: [A reStructuredText file](a-normal-rst-file.rst).\n",
+ "Links to files whose extension is in the configuration value [source_suffix](https://www.sphinx-doc.org/en/master/config.html#confval-sou…, will be converted to links to the generated HTML/LaTeX pages. Example: [A reStructuredText file](a-normal-rst-file.rst).\n",
"\n",
"This was created with:\n",
"\n",
@@ -462,7 +478,7 @@
"source": [
"## Links to Domain Objects\n",
"\n",
- "Links to [Sphinx domain objects](http://www.sphinx-doc.org/en/master/usage/restructuredtext/domains… (such as a Python class or JavaScript function) are also possible. For example:\n",
+ "Links to [Sphinx domain objects](https://www.sphinx-doc.org/en/master/usage/restructuredtext/domain… (such as a Python class or JavaScript function) are also possible. For example:\n",
"[example_python_function()](a-normal-rst-file.rst#example_python_function).\n",
"\n",
"This was created with:\n",
@@ -471,7 +487,7 @@
"[example_python_function()](a-normal-rst-file.rst#example_python_function)\n",
"```\n",
"\n",
- "This is especially useful for use with the Sphinx [autodoc](http://www.sphinx-doc.org/en/master/ext/autodoc.html) extension!"
+ "This is especially useful for use with the Sphinx [autodoc](https://www.sphinx-doc.org/en/master/ext/autodoc.html) extension!"
]
}
],
@@ -491,7 +507,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.1"
+ "version": "3.7.2rc1"
}
},
"nbformat": 4,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/orphan.ipynb new/nbsphinx-0.4.3/doc/orphan.ipynb
--- old/nbsphinx-0.4.2/doc/orphan.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/orphan.ipynb 2019-09-22 17:10:21.000000000 +0200
@@ -15,7 +15,7 @@
"source": [
"# An Orphan Notebook (HTML Only)\n",
"\n",
- "This means that it doesn't appear in a [toctree](http://www.sphinx-doc.org/en/master/usage/restructuredtext/directi… (see `index.rst`), but other pages can still link to it ...\n",
+ "This means that it doesn't appear in a [toctree](https://www.sphinx-doc.org/en/master/usage/restructuredtext/direct… (see `index.rst`), but other pages can still link to it ...\n",
"\n",
"* ... from a [Markdown cell of another notebook](markdown-cells.ipynb#Links-to-Other-Notebooks) using\n",
"\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/pre-executed.ipynb new/nbsphinx-0.4.3/doc/pre-executed.ipynb
--- old/nbsphinx-0.4.2/doc/pre-executed.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/pre-executed.ipynb 2019-09-30 15:30:56.000000000 +0200
@@ -123,7 +123,7 @@
"If an exception is raised during the Sphinx build process, it is stopped (the build process, not the exception!).\n",
"If you want to show to your audience how an exception looks like, you have two choices:\n",
"\n",
- "1. Allow errors -- either generally or on a per-notebook basis -- see [Ignoring Errors](allow-errors.ipynb).\n",
+ "1. Allow errors -- either generally or on a per-notebook or per-cell basis -- see [Ignoring Errors](allow-errors.ipynb) ([per cell](allow-errors-per-cell.ipynb)).\n",
"\n",
"1. Execute the notebook beforehand and save the results, like it's done in this example notebook:"
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/prolog-and-epilog.ipynb new/nbsphinx-0.4.3/doc/prolog-and-epilog.ipynb
--- old/nbsphinx-0.4.2/doc/prolog-and-epilog.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/prolog-and-epilog.ipynb 2019-09-22 17:10:21.000000000 +0200
@@ -18,12 +18,12 @@
"When including notebooks in your Sphinx documentation, you can choose to add some generic content before and after each notebook.\n",
"This can be done with the configuration values `nbsphinx_prolog` and `nbsphinx_epilog` in the file `conf.py`.\n",
"\n",
- "The prolog and epilog strings can hold arbitrary [reST](http://sphinx-doc.org/rest.html) markup.\n",
- "Particularly, the [only](http://www.sphinx-doc.org/en/master/usage/restructuredtext/directives… and [raw](https://docutils.readthedocs.io/en/sphinx-docs/ref/rst/directives.html#raw-data-pass-through) directives can be used to have different content for HTML and LaTeX output.\n",
+ "The prolog and epilog strings can hold arbitrary [reST](https://www.sphinx-doc.org/rest.html) markup.\n",
+ "Particularly, the [only](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directive… and [raw](https://docutils.readthedocs.io/en/sphinx-docs/ref/rst/directives.html#raw-data-pass-through) directives can be used to have different content for HTML and LaTeX output.\n",
"\n",
"Those strings are also processed by the [Jinja2](http://jinja.pocoo.org/) templating engine.\n",
"This means you can run Python-like code within those strings.\n",
- "You have access to the current [Sphinx build environment](http://www.sphinx-doc.org/en/master/extdev/envapi.html) via the variable `env`.\n",
+ "You have access to the current [Sphinx build environment](https://www.sphinx-doc.org/en/master/extdev/envapi.html) via the variable `env`.\n",
"Most notably, you can get the file name of the current notebook with\n",
"\n",
" {{ env.doc2path(env.docname, base=None) }}\n",
@@ -66,7 +66,7 @@
"source": [
"## Examples\n",
"\n",
- "You can include a simple static string, using [reST](http://sphinx-doc.org/rest.html) markup if you like:\n",
+ "You can include a simple static string, using [reST](https://www.sphinx-doc.org/rest.html) markup if you like:\n",
"\n",
"```python\n",
"nbsphinx_epilog = \"\"\"\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/raw-cells.ipynb new/nbsphinx-0.4.3/doc/raw-cells.ipynb
--- old/nbsphinx-0.4.2/doc/raw-cells.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/raw-cells.ipynb 2019-09-22 17:10:21.000000000 +0200
@@ -72,7 +72,7 @@
"source": [
"\"**I'm** a *raw cell* in reST_ format.\"\n",
"\n",
- ".. _reST: http://sphinx-doc.org/rest.html"
+ ".. _reST: https://www.sphinx-doc.org/rest.html"
]
},
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/requirements.txt new/nbsphinx-0.4.3/doc/requirements.txt
--- old/nbsphinx-0.4.2/doc/requirements.txt 2019-01-15 10:46:01.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/requirements.txt 2019-09-30 15:30:56.000000000 +0200
@@ -1,7 +1,6 @@
-sphinx>=1.6
-nbconvert!=5.4
ipykernel
numpy
matplotlib
pandas
sphinxcontrib-bibtex
+sphinxcontrib-svg2pdfconverter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/subdir/toctree.ipynb new/nbsphinx-0.4.3/doc/subdir/toctree.ipynb
--- old/nbsphinx-0.4.2/doc/subdir/toctree.ipynb 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/subdir/toctree.ipynb 2019-09-22 17:10:21.000000000 +0200
@@ -15,7 +15,7 @@
"source": [
"# Using `toctree` In A Notebook\n",
"\n",
- "In Sphinx-based documentation, there is typically a file called `index.rst` which contains one or more [toctree](http://www.sphinx-doc.org/en/master/usage/restructuredtext/directi… directives.\n",
+ "In Sphinx-based documentation, there is typically a file called `index.rst` which contains one or more [toctree](https://www.sphinx-doc.org/en/master/usage/restructuredtext/direct… directives.\n",
"Those can be used to pull in further source files (which themselves can contain `toctree` directives).\n",
"\n",
"With `nbsphinx` it is possible to get a similar effect within a Jupyter notebook using the `\"nbsphinx-toctree\"` cell metadata.\n",
@@ -58,7 +58,7 @@
" \"numbered\": true\n",
" }\n",
"\n",
- "For more options, have a look a the [Sphinx documentation](http://www.sphinx-doc.org/en/master/usage/restructuredtext/d…",
+ "For more options, have a look a the [Sphinx documentation](https://www.sphinx-doc.org/en/master/usage/restructuredtext/…",
"All options can be used -- except `:glob:`, which can only be used in [rst files](../a-normal-rst-file.rst) and in [raw reST cells](../raw-cells.ipynb#reST).\n",
"\n",
"Note that in the HTML output, a `toctree` cell generates an in-line table of contents (containing links) at its position in the notebook, whereas in the LaTeX output, a new (sub-)section with the actual content is inserted at its position.\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/doc/usage.ipynb new/nbsphinx-0.4.3/doc/usage.ipynb
--- old/nbsphinx-0.4.2/doc/usage.ipynb 2018-12-28 20:32:38.000000000 +0100
+++ new/nbsphinx-0.4.3/doc/usage.ipynb 2019-09-30 15:40:06.000000000 +0200
@@ -22,7 +22,7 @@
"source": [
"## Sphinx Setup\n",
"\n",
- "In the directory with your notebook files, run this command (assuming you have [Sphinx](http://sphinx-doc.org/) installed already):\n",
+ "In the directory with your notebook files, run this command (assuming you have [Sphinx](https://www.sphinx-doc.org/) installed already):\n",
"\n",
" python3 -m sphinx.cmd.quickstart\n",
"\n",
@@ -41,8 +41,8 @@
"\n",
"For an example, see this project's [conf.py](conf.py) file.\n",
"\n",
- "Once your `conf.py` is in place, edit the file named `index.rst` and add the file names of your notebooks (without the `.ipynb` extension) to the [toctree](http://www.sphinx-doc.org/en/master/usage/restructuredtext/directi… directive.\n",
- "For an example, see this project's [index.rst](index.rst) file."
+ "Once your `conf.py` is in place, edit the file named `index.rst` and add the file names of your notebooks (without the `.ipynb` extension) to the [toctree](https://www.sphinx-doc.org/en/master/usage/restructuredtext/direct… directive.\n",
+ "For an example, see this project's `doc/index.rst` file."
]
},
{
@@ -178,15 +178,13 @@
"\n",
"1. Create the file mentioned above.\n",
"You can choose whatever name you want (it may also live in a subdirectory, e.g. `doc/environment.yml`), it just has to match whatever is specified in `readthedocs.yml`.\n",
- "The second file describes a [conda environment](https://conda.io/docs/using/envs.html) and should contain something like this:\n",
+ "The second file describes a [conda environment](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) and should contain something like this:\n",
"\n",
" channels:\n",
" - conda-forge\n",
" dependencies:\n",
" - python>=3\n",
- " - sphinx>=1.6\n",
" - pandoc\n",
- " - nbconvert!=5.4\n",
" - ipykernel\n",
" - pip:\n",
" - nbsphinx\n",
@@ -218,7 +216,7 @@
"\n",
"**Warning:**\n",
"\n",
- "If you have a very long repository name (or branch name), you might run into this quite obscure problem: ['placeholder too short'](https://github.com/rtfd/readthedocs.org/issues/1902).\n",
+ "If you have a very long repository name (or branch name), you might run into this quite obscure problem: ['placeholder too short'](https://github.com/readthedocs/readthedocs.org/issues/1902).\n",
"\n",
"</div>"
]
@@ -229,7 +227,7 @@
"source": [
"## HTML Themes\n",
"\n",
- "The `nbsphinx` extension does *not* provide its own theme, you can use any of the available themes or [create a custom one](http://www.sphinx-doc.org/en/master/theming.html#creating-themes), if you feel like it.\n",
+ "The `nbsphinx` extension does *not* provide its own theme, you can use any of the available themes or [create a custom one](https://www.sphinx-doc.org/en/master/theming.html#creating-themes), if you feel like it.\n",
"\n",
"The following (incomplete) list of themes contains up to three links for each theme:\n",
"\n",
@@ -239,49 +237,53 @@
"\n",
"### Sphinx's Built-In Themes\n",
"\n",
+ "* `agogo`:\n",
+ " [example](https://nbsphinx.readthedocs.io/en/agogo-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/agogo-theme^...agog…",
+ "\n",
"* [alabaster](https://alabaster.readthedocs.io/):\n",
" [example](https://nbsphinx.readthedocs.io/en/alabaster-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/alabaster-theme^...…",
"\n",
- "* `pyramid`:\n",
- " [example](https://nbsphinx.readthedocs.io/en/pyramid-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/pyramid-theme^...py…",
+ "* `bizstyle`:\n",
+ " [example](https://nbsphinx.readthedocs.io/en/bizstyle-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/bizstyle-theme^...b…",
"\n",
"* `classic`:\n",
" [example](https://nbsphinx.readthedocs.io/en/classic-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/classic-theme^...cl…",
"\n",
- "* `bizstyle`:\n",
- " [example](https://nbsphinx.readthedocs.io/en/bizstyle-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/bizstyle-theme^...b…",
- "\n",
"* `haiku`:\n",
" [example](https://nbsphinx.readthedocs.io/en/haiku-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/haiku-theme^...haik…",
"\n",
- "* `traditional`:\n",
- " [example](https://nbsphinx.readthedocs.io/en/traditional-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/traditional-theme^.…",
- "\n",
- "* `agogo`:\n",
- " [example](https://nbsphinx.readthedocs.io/en/agogo-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/agogo-theme^...agog…",
- "\n",
"* `nature`:\n",
" [example](https://nbsphinx.readthedocs.io/en/nature-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/nature-theme^...nat…",
"\n",
+ "* `pyramid`:\n",
+ " [example](https://nbsphinx.readthedocs.io/en/pyramid-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/pyramid-theme^...py…",
+ "\n",
"* `scrolls`:\n",
" [example](https://nbsphinx.readthedocs.io/en/scrolls-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/scrolls-theme^...sc…",
"\n",
+ "* `traditional`:\n",
+ " [example](https://nbsphinx.readthedocs.io/en/traditional-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/traditional-theme^.…",
+ "\n",
"### 3rd-Party Themes\n",
"\n",
- "* [sphinx_rtd_theme](https://github.com/rtfd/sphinx_rtd_theme):\n",
- " [example](https://nbsphinx.readthedocs.io/en/rtd-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/rtd-theme^...rtd-th…",
+ "* [basicstrap](https://pythonhosted.org/sphinxjp.themes.basicstrap/):\n",
+ " [example](https://nbsphinx.readthedocs.io/en/basicstrap-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/basicstrap-theme^..…",
"\n",
- "* [bootstrap](http://sphinx-bootstrap-theme.readthedocs.io/):\n",
+ "* [better](https://sphinx-better-theme.readthedocs.io/):\n",
+ " [example](https://nbsphinx.readthedocs.io/en/better-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/better-theme^...bet…",
+ "\n",
+ "* [bootstrap](https://sphinx-bootstrap-theme.readthedocs.io/):\n",
" [example](https://nbsphinx.readthedocs.io/en/bootstrap-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/bootstrap-theme^...…",
"\n",
@@ -289,22 +291,10 @@
" [example](https://nbsphinx.readthedocs.io/en/cloud-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/cloud-theme^...clou…",
"\n",
- "* [sphinx_py3doc_enhanced_theme](https://github.com/ionelmc/sphinx-py3doc-enha…",
- " [example](https://nbsphinx.readthedocs.io/en/py3doc-enhanced-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/py3doc-enhanced-the…",
- "\n",
- "* [basicstrap](https://pythonhosted.org/sphinxjp.themes.basicstrap/):\n",
- " [example](https://nbsphinx.readthedocs.io/en/basicstrap-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/basicstrap-theme^..…",
- "\n",
"* [dotted](https://pythonhosted.org/sphinxjp.themes.dotted/):\n",
" [example](https://nbsphinx.readthedocs.io/en/dotted-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/dotted-theme^...dot…",
"\n",
- "* [better](https://sphinx-better-theme.readthedocs.io/):\n",
- " [example](https://nbsphinx.readthedocs.io/en/better-theme/),\n",
- " [usage](https://github.com/spatialaudio/nbsphinx/compare/better-theme^...bet…",
- "\n",
"* [guzzle_sphinx_theme](https://github.com/guzzle/guzzle_sphinx_theme):\n",
" [example](https://nbsphinx.readthedocs.io/en/guzzle-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/guzzle-theme^...guz…",
@@ -317,6 +307,18 @@
" [example](https://nbsphinx.readthedocs.io/en/jupyter-theme/),\n",
" [usage](https://github.com/spatialaudio/nbsphinx/compare/jupyter-theme^...ju…",
"\n",
+ "* [sizzle_sphinx_theme](https://docs.red-dove.com/sphinx_sizzle_theme/):\n",
+ " [example](https://nbsphinx.readthedocs.io/en/sizzle-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/sizzle-theme^...siz…",
+ "\n",
+ "* [sphinx_py3doc_enhanced_theme](https://github.com/ionelmc/sphinx-py3doc-enha…",
+ " [example](https://nbsphinx.readthedocs.io/en/py3doc-enhanced-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/py3doc-enhanced-the…",
+ "\n",
+ "* [sphinx_rtd_theme](https://github.com/readthedocs/sphinx_rtd_theme):\n",
+ " [example](https://nbsphinx.readthedocs.io/en/rtd-theme/),\n",
+ " [usage](https://github.com/spatialaudio/nbsphinx/compare/rtd-theme^...rtd-th…",
+ "\n",
"If you know of another Sphinx theme that should be included here, please open an [issue on Github](https://github.com/spatialaudio/nbsphinx/issues).\n",
"An overview of many more themes can be found at https://sphinx-themes.org/."
]
@@ -348,10 +350,11 @@
"\n",
"* https://github.com/kynan/nbstripout\n",
"* https://github.com/toobaz/ipynb_output_filter\n",
- "* http://tillahoffmann.github.io/2017/04/17/versioning-jupyter-notebooks-with…",
+ "* https://tillahoffmann.github.io/2017/04/17/versioning-jupyter-notebooks-wit…",
"* http://timstaley.co.uk/posts/making-git-and-jupyter-notebooks-play-nice/\n",
- "* http://pascalbugnion.net/blog/ipython-notebooks-and-git.html\n",
- "* https://github.com/choldgraf/nbclean"
+ "* https://pascalbugnion.net/blog/ipython-notebooks-and-git.html\n",
+ "* https://github.com/choldgraf/nbclean\n",
+ "* https://jamesfolberth.org/articles/2017/08/07/git-commit-hook-for-jupyter-n…"
]
}
],
@@ -371,9 +374,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.2rc1"
+ "version": "3.7.4"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/setup.py new/nbsphinx-0.4.3/setup.py
--- old/nbsphinx-0.4.2/setup.py 2018-12-14 18:15:47.000000000 +0100
+++ new/nbsphinx-0.4.3/setup.py 2019-09-30 15:30:56.000000000 +0200
@@ -18,7 +18,7 @@
'nbconvert!=5.4',
'traitlets',
'nbformat',
- 'sphinx>=1.6',
+ 'sphinx>=1.6.3',
],
author='Matthias Geier',
author_email='Matthias.Geier(a)gmail.com',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/src/nbsphinx.egg-info/PKG-INFO new/nbsphinx-0.4.3/src/nbsphinx.egg-info/PKG-INFO
--- old/nbsphinx-0.4.2/src/nbsphinx.egg-info/PKG-INFO 2019-01-15 10:51:01.000000000 +0100
+++ new/nbsphinx-0.4.3/src/nbsphinx.egg-info/PKG-INFO 2019-09-30 15:45:36.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: nbsphinx
-Version: 0.4.2
+Version: 0.4.3
Summary: Jupyter Notebook Tools for Sphinx
Home-page: UNKNOWN
Author: Matthias Geier
@@ -38,8 +38,8 @@
License:
MIT -- see the file ``LICENSE`` for details.
- .. _Sphinx: http://sphinx-doc.org/
- .. _Jupyter Notebook: http://jupyter.org/
+ .. _Sphinx: https://www.sphinx-doc.org/
+ .. _Jupyter Notebook: https://jupyter.org/
Keywords: Sphinx,Jupyter,notebook
Platform: any
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/src/nbsphinx.egg-info/SOURCES.txt new/nbsphinx-0.4.3/src/nbsphinx.egg-info/SOURCES.txt
--- old/nbsphinx-0.4.2/src/nbsphinx.egg-info/SOURCES.txt 2019-01-15 10:51:01.000000000 +0100
+++ new/nbsphinx-0.4.3/src/nbsphinx.egg-info/SOURCES.txt 2019-09-30 15:45:36.000000000 +0200
@@ -6,6 +6,7 @@
setup.cfg
setup.py
doc/a-normal-rst-file.rst
+doc/allow-errors-per-cell.ipynb
doc/allow-errors.ipynb
doc/code-cells.ipynb
doc/conf.py
@@ -26,6 +27,7 @@
doc/usage.ipynb
doc/yet-another.ipynb
doc/images/notebook_icon.png
+doc/images/python_logo.svg
doc/images/raw_cells.png
doc/subdir/a-notebook-in-a-subdir.ipynb
doc/subdir/toctree.ipynb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/src/nbsphinx.egg-info/requires.txt new/nbsphinx-0.4.3/src/nbsphinx.egg-info/requires.txt
--- old/nbsphinx-0.4.2/src/nbsphinx.egg-info/requires.txt 2019-01-15 10:51:01.000000000 +0100
+++ new/nbsphinx-0.4.3/src/nbsphinx.egg-info/requires.txt 2019-09-30 15:45:36.000000000 +0200
@@ -2,5 +2,5 @@
jinja2
nbconvert!=5.4
nbformat
-sphinx>=1.6
+sphinx>=1.6.3
traitlets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsphinx-0.4.2/src/nbsphinx.py new/nbsphinx-0.4.3/src/nbsphinx.py
--- old/nbsphinx-0.4.2/src/nbsphinx.py 2019-01-15 10:47:27.000000000 +0100
+++ new/nbsphinx-0.4.3/src/nbsphinx.py 2019-09-30 15:37:41.000000000 +0200
@@ -20,10 +20,10 @@
"""Jupyter Notebook Tools for Sphinx.
-http://nbsphinx.readthedocs.io/
+https://nbsphinx.readthedocs.io/
"""
-__version__ = '0.4.2'
+__version__ = '0.4.3'
import copy
import json
@@ -76,7 +76,6 @@
RST_TEMPLATE = """
{% extends 'rst.tpl' %}
-
{% macro insert_empty_lines(text) %}
{%- set before, after = text | get_empty_lines %}
{%- if before %}
@@ -1563,6 +1562,16 @@
for suffix in app.config.nbsphinx_custom_formats:
app.add_source_suffix(suffix, 'jupyter_notebook')
+ if app.config.nbsphinx_requirejs_path:
+ try:
+ # TODO: Add only on pages created from notebooks?
+ app.add_js_file(
+ app.config.nbsphinx_requirejs_path,
+ **app.config.nbsphinx_requirejs_options)
+ except AttributeError:
+ # For Sphinx < 1.8 (nbsphinx_requirejs_options are ignored):
+ app.add_javascript(app.config.nbsphinx_requirejs_path)
+
def html_page_context(app, pagename, templatename, context, doctree):
"""Add CSS string to HTML pages that contain code cells."""
@@ -1645,7 +1654,7 @@
out.append(
r'\sphinxsetup{VerbatimBorderColor={named}{nbsphinx-code-border}}')
- if lines[1].startswith(r'\fvset{'): # Sphinx >= 1.6.6
+ if lines[1].startswith(r'\fvset{'): # Sphinx >= 1.6.6 and < 1.8.3
out.append(lines[1])
del lines[1]
assert 'Verbatim' in lines[1]
@@ -1768,6 +1777,16 @@
app.add_config_value('nbsphinx_input_prompt', '[%s]:', rebuild='env')
app.add_config_value('nbsphinx_output_prompt', '[%s]:', rebuild='env')
app.add_config_value('nbsphinx_custom_formats', {}, rebuild='env')
+ app.add_config_value(
+ 'nbsphinx_requirejs_path',
+ 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js',
+ rebuild='html')
+ app.add_config_value(
+ 'nbsphinx_requirejs_options',
+ {
+ 'integrity': 'sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=',
+ 'crossorigin': 'anonymous',
+ }, rebuild='html')
app.add_directive('nbinput', NbInput)
app.add_directive('nboutput', NbOutput)
1
0
Hello community,
here is the log from the commit of package librsvg for openSUSE:Factory checked in at 2019-11-29 15:57:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librsvg (Old)
and /work/SRC/openSUSE:Factory/.librsvg.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librsvg"
Fri Nov 29 15:57:35 2019 rev:97 rq:750954 version:2.46.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/librsvg/librsvg.changes 2019-11-24 00:06:26.311079209 +0100
+++ /work/SRC/openSUSE:Factory/.librsvg.new.26869/librsvg.changes 2019-11-29 16:01:48.724832620 +0100
@@ -1,0 +2,13 @@
+Mon Nov 25 10:22:54 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.46.4:
+ + Panic when reading an invalid stylesheet URL in an XML
+ processing instruction.
+ + Consider specificity when applying CSS selector matches.
+ + Provide an usage example in the librsvg crate docs.
+- Drop patches fixed upstream:
+ + 0001-croco.rs-Add-struct-definition-for-CRSimpleSel.patch
+ + 0002-Compute-the-specificity-of-CSS-selectors.patch
+ + 0003-525-Consider-specificity-when-applying-CSS-selector-.patch
+
+-------------------------------------------------------------------
Old:
----
0001-croco.rs-Add-struct-definition-for-CRSimpleSel.patch
0002-Compute-the-specificity-of-CSS-selectors.patch
0003-525-Consider-specificity-when-applying-CSS-selector-.patch
librsvg-2.46.3.tar.xz
New:
----
librsvg-2.46.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librsvg.spec ++++++
--- /var/tmp/diff_new_pack.gMX7JI/_old 2019-11-29 16:01:49.880832146 +0100
+++ /var/tmp/diff_new_pack.gMX7JI/_new 2019-11-29 16:01:49.884832144 +0100
@@ -1,7 +1,7 @@
#
# spec file for package librsvg
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define librsvg_sover 2
Name: librsvg
-Version: 2.46.3
+Version: 2.46.4
Release: 0
Summary: A Library for Rendering SVG Data
License: LGPL-2.0-or-later AND GPL-2.0-or-later AND Apache-2.0 AND MIT
@@ -28,10 +28,7 @@
URL: https://wiki.gnome.org/Projects/LibRsvg
Source0: https://download.gnome.org/sources/librsvg/2.46/%{name}-%{version}.tar.xz
Source99: baselibs.conf
-# PATCH-FIX-UPSTREAM https://gitlab.gnome.org/GNOME/librsvg/issues/525
-Patch1: 0001-croco.rs-Add-struct-definition-for-CRSimpleSel.patch
-Patch2: 0002-Compute-the-specificity-of-CSS-selectors.patch
-Patch3: 0003-525-Consider-specificity-when-applying-CSS-selector-.patch
+
BuildRequires: cargo
BuildRequires: gobject-introspection-devel
BuildRequires: pkgconfig
++++++ librsvg-2.46.3.tar.xz -> librsvg-2.46.4.tar.xz ++++++
/work/SRC/openSUSE:Factory/librsvg/librsvg-2.46.3.tar.xz /work/SRC/openSUSE:Factory/.librsvg.new.26869/librsvg-2.46.4.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package python-jupytext for openSUSE:Factory checked in at 2019-11-29 15:57:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupytext (Old)
and /work/SRC/openSUSE:Factory/.python-jupytext.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupytext"
Fri Nov 29 15:57:32 2019 rev:3 rq:748441 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupytext/python-jupytext.changes 2019-08-13 13:21:20.693417114 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupytext.new.26869/python-jupytext.changes 2019-11-29 16:01:44.628834300 +0100
@@ -1,0 +2,32 @@
+Wed Nov 13 16:40:01 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support due to python-notebook dropping python2 support
+
+-------------------------------------------------------------------
+Tue Nov 12 16:58:09 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 1.2.4
+ + Improvements
+ * The documentation includes a mention on how to set metadata filters at the command line
+ * Jupytext will not catch any error when the flag ``--warn-only`` is not set
+ + BugFixes
+ * Now the flag ``--warn-only`` catches every possible error
+ * ``.md`` and ``.markdown`` files are treated identically
+ * Fixed ``--set-kernel`` when using pipes
+ * Fixed utf-8 encoding on stdout on Python 2
+- Update to 1.2.3
+ + BugFixes
+ * Dependency on ``setuptools`` in ``pandoc.py`` made optional to fix the build of the conda package
+- Update to 1.2.2
+ + Improvements
+ * Documentation includes a section on how to use Jupytext as a Python library
+ * Mention of the server extension in the documentation
+ * Text notebooks can be tested with `jupytext --execute notebook.md`
+ * The default value of `as_version` in `jupytext.read` is `nbformat.NO_CONVERT`, as for `nbformat.read`
+ * Jupytext tests are now included in sdist
+ + BugFixes
+ * Fixed the download notebook error when `c.notebook_extensions` has a custom value
+ * Fixed the usability of the `fmt` argument in `jupytext.read`
+ * String delimiters in commented text are now ignored
+
+-------------------------------------------------------------------
Old:
----
jupytext-1.2.1.tar.gz
New:
----
jupytext-1.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupytext.spec ++++++
--- /var/tmp/diff_new_pack.dzOCcv/_old 2019-11-29 16:01:45.276834034 +0100
+++ /var/tmp/diff_new_pack.dzOCcv/_new 2019-11-29 16:01:45.276834034 +0100
@@ -16,8 +16,9 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-jupytext
-%define mainver 1.2.1
+%define mainver 1.2.4
%define labver 1.0.2
Version: %{mainver}
Release: 0
++++++ jupytext-1.2.1.tar.gz -> jupytext-1.2.4.tar.gz ++++++
++++ 28636 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gnome-music for openSUSE:Factory checked in at 2019-11-29 15:57:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-music (Old)
and /work/SRC/openSUSE:Factory/.gnome-music.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-music"
Fri Nov 29 15:57:31 2019 rev:47 rq:750952 version:3.34.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-music/gnome-music.changes 2019-10-30 14:40:12.097696097 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-music.new.26869/gnome-music.changes 2019-11-29 16:01:41.380835632 +0100
@@ -1,0 +2,15 @@
+Sun Nov 24 19:37:15 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 3.34.2:
+ + Load Album Covers on demand.
+ + Restore support for "Album Artist" tag.
+ + Disable online search by default.
+ + CoreModel misc cleanups and fixes.
+ + MPRIS misc cleanups and fixes.
+ + Bugs fixed: glgo#GNOME/gnome-music#328,
+ glgo#GNOME/gnome-music#332, glgo#GNOME/gnome-music#335,
+ glgo#GNOME/gnome-music#337, glgo#GNOME/gnome-music#312,
+ glgo#GNOME/gnome-music#338, glgo#GNOME/gnome-music#331,
+ glgo#GNOME/gnome-music#317.
+
+-------------------------------------------------------------------
Old:
----
gnome-music-3.34.1.tar.xz
New:
----
gnome-music-3.34.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-music.spec ++++++
--- /var/tmp/diff_new_pack.4Jj4zh/_old 2019-11-29 16:01:41.928835407 +0100
+++ /var/tmp/diff_new_pack.4Jj4zh/_new 2019-11-29 16:01:41.932835406 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gnome-music
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: gnome-music
-Version: 3.34.1
+Version: 3.34.2
Release: 0
Summary: Music Player for GNOME
License: SUSE-GPL-2.0-with-plugin-exception AND LGPL-2.1-or-later
++++++ gnome-music-3.34.1.tar.xz -> gnome-music-3.34.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/NEWS new/gnome-music-3.34.2/NEWS
--- old/gnome-music-3.34.1/NEWS 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/NEWS 2019-11-24 20:27:19.000000000 +0100
@@ -1,3 +1,26 @@
+Overview of changes in 3.34.2
+=============================
+
+* Load Album Covers on demand
+* Restore support for "Album Artist" tag
+* Disable online search by default
+* CoreModel misc cleanups and fixes
+* MPRIS misc cleanups and fixes
+
+Bugs fixed:
+ Fix a crash in Last.fm support (#328)
+ GNOME shell MPRIS controls are not visible (#332)
+ PlayerToolbar can become invisible (#335)
+ Issues when resizing window below apparent minimum width (#337)
+ GNOME music crashes after creating a huge amount of threads (#312)
+ GNOME Music crashes if xdg_music_dir is not set (#338)
+ group artists with a feat or an original artist under the same artist (#331)
+ Songs Not in ~/Music Show Up In Search (#317)
+
+Thanks to our contributors this release:
+ Jean Felder
+ Marinus Schraal
+
Overview of changes in 3.34.1
=============================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/data/ui/AlbumsView.ui new/gnome-music-3.34.2/data/ui/AlbumsView.ui
--- old/gnome-music-3.34.1/data/ui/AlbumsView.ui 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/data/ui/AlbumsView.ui 2019-11-24 20:27:19.000000000 +0100
@@ -3,7 +3,7 @@
<requires lib="gtk+" version="3.18"/>
<template class="AlbumsView" parent="GtkStack">
<child>
- <object class="GtkScrolledWindow" id="_all_albums">
+ <object class="GtkScrolledWindow" id="_scrolled_window">
<property name="visible">True</property>
<child>
<object class="GtkFlowBox" id="_flowbox">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/data/ui/Window.ui new/gnome-music-3.34.2/data/ui/Window.ui
--- old/gnome-music-3.34.1/data/ui/Window.ui 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/data/ui/Window.ui 2019-11-24 20:27:19.000000000 +0100
@@ -11,7 +11,7 @@
<object class="GtkOverlay" id="_overlay">
<property name="vexpand">True</property>
<property name="visible">True</property>
- <child type="overlay">
+ <child>
<object class="GtkStack" id="_stack">
<property name="can-focus">False</property>
<property name="homogeneous">False</property>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/coregrilo.py new/gnome-music-3.34.2/gnomemusic/coregrilo.py
--- old/gnome-music-3.34.1/gnomemusic/coregrilo.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/coregrilo.py 2019-11-24 20:27:19.000000000 +0100
@@ -126,6 +126,7 @@
new_state = self._tracker_wrapper.props.tracker_available
if (source.props.source_id == "grl-tracker-source"
and source.props.source_id not in self._wrappers.keys()
+ and TrackerWrapper.location_filter() is not None
and new_state == TrackerState.AVAILABLE):
new_wrapper = GrlTrackerWrapper(
source, self._coremodel, self._application, self,
@@ -139,7 +140,8 @@
elif (source.props.source_id not in self._search_wrappers.keys()
and source.props.source_id not in self._wrappers.keys()
and source.get_supported_media() & Grl.MediaType.AUDIO
- and source.supported_operations() & Grl.SupportedOps.SEARCH):
+ and source.supported_operations() & Grl.SupportedOps.SEARCH
+ and "net:internet" not in source.props.source_tags):
self._search_wrappers[source.props.source_id] = GrlSearchWrapper(
source, self._coremodel, self._coreselection, self)
print("search source", source)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/coremodel.py new/gnome-music-3.34.2/gnomemusic/coremodel.py
--- old/gnome-music-3.34.1/gnomemusic/coremodel.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/coremodel.py 2019-11-24 20:27:19.000000000 +0100
@@ -224,6 +224,15 @@
return albums_model_sort
def set_player_model(self, playlist_type, model):
+ """Set the model for PlayerPlaylist to use
+
+ This fills playlist model based on the playlist type and model
+ given. This builds a separate model to stay alive and play
+ while the user navigates other views.
+
+ :param PlaylistType playlist_type: The type of the playlist
+ :param Gio.ListStore model: The base model for the player model
+ """
if model is self._previous_playlist_model:
for song in self._playlist_model:
if song.props.state == SongWidget.State.PLAYING:
@@ -254,116 +263,114 @@
GObject.BindingFlags.BIDIRECTIONAL
| GObject.BindingFlags.SYNC_CREATE)
- with model.freeze_notify():
- played_states = [SongWidget.State.PLAYING, SongWidget.State.PLAYED]
- for song in self._playlist_model:
- if song.props.state in played_states:
- song.props.state = SongWidget.State.UNPLAYED
-
- if self._player_signal_id is not None:
- self._current_playlist_model.disconnect(self._player_signal_id)
- self._player_signal_id = None
- self._current_playlist_model = None
-
- if (playlist_type != PlayerPlaylist.Type.PLAYLIST
- and self.props.active_playlist is not None):
- self.props.active_playlist = None
-
- self._playlist_model.remove_all()
+ played_states = [SongWidget.State.PLAYING, SongWidget.State.PLAYED]
+ for song in self._playlist_model:
+ if song.props.state in played_states:
+ song.props.state = SongWidget.State.UNPLAYED
+
+ if self._player_signal_id is not None:
+ self._current_playlist_model.disconnect(self._player_signal_id)
+ self._player_signal_id = None
+ self._current_playlist_model = None
+
+ if (playlist_type != PlayerPlaylist.Type.PLAYLIST
+ and self.props.active_playlist is not None):
+ self.props.active_playlist = None
+
+ songs_added = []
+
+ if playlist_type == PlayerPlaylist.Type.ALBUM:
+ proxy_model = Gio.ListStore.new(Gio.ListModel)
+
+ for disc in model:
+ proxy_model.append(disc.props.model)
+
+ self._flatten_model = Gfm.FlattenListModel.new(
+ CoreSong, proxy_model)
+ self._current_playlist_model = self._flatten_model
+
+ for model_song in self._flatten_model:
+ song = CoreSong(
+ model_song.props.media, self._coreselection,
+ self.props.grilo)
+
+ songs_added.append(song)
+ song.bind_property(
+ "state", model_song, "state",
+ GObject.BindingFlags.SYNC_CREATE)
+ model_song.bind_property(
+ "validation", song, "validation",
+ GObject.BindingFlags.BIDIRECTIONAL
+ | GObject.BindingFlags.SYNC_CREATE)
- if playlist_type == PlayerPlaylist.Type.ALBUM:
- proxy_model = Gio.ListStore.new(Gio.ListModel)
+ elif playlist_type == PlayerPlaylist.Type.ARTIST:
+ proxy_model = Gio.ListStore.new(Gio.ListModel)
- for disc in model:
+ for artist_album in model:
+ for disc in artist_album.model:
proxy_model.append(disc.props.model)
- self._flatten_model = Gfm.FlattenListModel.new(
- CoreSong, proxy_model)
- self._current_playlist_model = self._flatten_model
-
- for model_song in self._flatten_model:
- song = CoreSong(
- model_song.props.media, self._coreselection,
- self.props.grilo)
-
- self._playlist_model.append(song)
- song.bind_property(
- "state", model_song, "state",
- GObject.BindingFlags.SYNC_CREATE)
- model_song.bind_property(
- "validation", song, "validation",
- GObject.BindingFlags.BIDIRECTIONAL
- | GObject.BindingFlags.SYNC_CREATE)
-
- self.emit("playlist-loaded", playlist_type)
- elif playlist_type == PlayerPlaylist.Type.ARTIST:
- proxy_model = Gio.ListStore.new(Gio.ListModel)
-
- for artist_album in model:
- for disc in artist_album.model:
- proxy_model.append(disc.props.model)
-
- self._flatten_model = Gfm.FlattenListModel.new(
- CoreSong, proxy_model)
- self._current_playlist_model = self._flatten_model
-
- for model_song in self._flatten_model:
- song = CoreSong(
- model_song.props.media, self._coreselection,
- self.props.grilo)
-
- self._playlist_model.append(song)
- song.bind_property(
- "state", model_song, "state",
- GObject.BindingFlags.SYNC_CREATE)
- model_song.bind_property(
- "validation", song, "validation",
- GObject.BindingFlags.BIDIRECTIONAL
- | GObject.BindingFlags.SYNC_CREATE)
-
- self.emit("playlist-loaded", playlist_type)
- elif playlist_type == PlayerPlaylist.Type.SONGS:
- self._current_playlist_model = self._songliststore.props.model
+ self._flatten_model = Gfm.FlattenListModel.new(
+ CoreSong, proxy_model)
+ self._current_playlist_model = self._flatten_model
+
+ for model_song in self._flatten_model:
+ song = CoreSong(
+ model_song.props.media, self._coreselection,
+ self.props.grilo)
+
+ songs_added.append(song)
+ song.bind_property(
+ "state", model_song, "state",
+ GObject.BindingFlags.SYNC_CREATE)
+ model_song.bind_property(
+ "validation", song, "validation",
+ GObject.BindingFlags.BIDIRECTIONAL
+ | GObject.BindingFlags.SYNC_CREATE)
- for song in self._songliststore.props.model:
- self._playlist_model.append(song)
+ elif playlist_type == PlayerPlaylist.Type.SONGS:
+ self._current_playlist_model = self._songliststore.props.model
- if song.props.state == SongWidget.State.PLAYING:
- song.props.state = SongWidget.State.PLAYED
+ for song in self._songliststore.props.model:
+ songs_added.append(song)
- self.emit("playlist-loaded", playlist_type)
- elif playlist_type == PlayerPlaylist.Type.SEARCH_RESULT:
- self._current_playlist_model = self._song_search_flatten
-
- for song in self._song_search_flatten:
- self._playlist_model.append(song)
+ if song.props.state == SongWidget.State.PLAYING:
+ song.props.state = SongWidget.State.PLAYED
- self.emit("playlist-loaded", playlist_type)
- elif playlist_type == PlayerPlaylist.Type.PLAYLIST:
- self._current_playlist_model = model
+ elif playlist_type == PlayerPlaylist.Type.SEARCH_RESULT:
+ self._current_playlist_model = self._song_search_flatten
- for model_song in model:
- song = CoreSong(
- model_song.props.media, self._coreselection,
- self.props.grilo)
+ for song in self._song_search_flatten:
+ songs_added.append(song)
- self._playlist_model.append(song)
+ elif playlist_type == PlayerPlaylist.Type.PLAYLIST:
+ self._current_playlist_model = model
- song.bind_property(
- "state", model_song, "state",
- GObject.BindingFlags.SYNC_CREATE)
- model_song.bind_property(
- "validation", song, "validation",
- GObject.BindingFlags.BIDIRECTIONAL
- | GObject.BindingFlags.SYNC_CREATE)
+ for model_song in model:
+ song = CoreSong(
+ model_song.props.media, self._coreselection,
+ self.props.grilo)
+
+ songs_added.append(song)
+
+ song.bind_property(
+ "state", model_song, "state",
+ GObject.BindingFlags.SYNC_CREATE)
+ model_song.bind_property(
+ "validation", song, "validation",
+ GObject.BindingFlags.BIDIRECTIONAL
+ | GObject.BindingFlags.SYNC_CREATE)
- self.emit("playlist-loaded", playlist_type)
+ self._playlist_model.splice(
+ 0, self._playlist_model.get_n_items(), songs_added)
if self._current_playlist_model is not None:
self._player_signal_id = self._current_playlist_model.connect(
"items-changed", _on_items_changed)
self._previous_playlist_model = model
+ self.emit("playlist-loaded", playlist_type)
+
def stage_playlist_deletion(self, playlist):
"""Prepares playlist deletion.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/mpris.py new/gnome-music-3.34.2/gnomemusic/mpris.py
--- old/gnome-music-3.34.1/gnomemusic/mpris.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/mpris.py 2019-11-24 20:27:19.000000000 +0100
@@ -293,6 +293,7 @@
self._coremodel = app.props.coremodel
self._player_model = self._coremodel.props.playlist_sort
+ self._player_model_changed_id = None
self._coremodel.connect(
"playlist-loaded", self._on_player_playlist_changed)
@@ -325,12 +326,12 @@
@log
def _get_loop_status(self):
- if self._player.props.repeat_mode == RepeatMode.NONE:
- return 'None'
+ if self._player.props.repeat_mode == RepeatMode.ALL:
+ return "Playlist"
elif self._player.props.repeat_mode == RepeatMode.SONG:
return 'Track'
else:
- return 'Playlist'
+ return "None"
@log
def _get_metadata(self, coresong=None, index=None):
@@ -460,7 +461,8 @@
# current song has changed
if (not previous_path_list
or previous_path_list[0] != self._path_list[0]
- or previous_path_list[-1] != self._path_list[-1]):
+ or previous_path_list[-1] != self._path_list[-1]
+ or len(previous_path_list) != len(self._path_list)):
current_song_path = self._get_song_dbus_path()
self._track_list_replaced(self._path_list, current_song_path)
@@ -515,6 +517,18 @@
if self._previous_can_play is True:
return
+ if self._player_model_changed_id is None:
+ self._player_model_changed_id = self._player_model.connect_after(
+ "items-changed", self._on_player_model_changed)
+
+ self._on_player_model_changed(self._player_model, 0, 0, 0)
+
+ def _on_player_model_changed(self, model, pos, removed, added):
+ # Do no update the properties if the model has completely changed.
+ # These changes will be applied once a new song starts playing.
+ if added == model.get_n_items():
+ return
+
self._update_songs_list()
properties = {}
@@ -531,8 +545,8 @@
self._previous_can_go_previous = has_previous
if self._previous_can_play is not True:
- properties["CanPause"] = GLib.Variant("b", has_previous)
- properties["CanPlay"] = GLib.Variant("b", has_previous)
+ properties["CanPause"] = GLib.Variant("b", True)
+ properties["CanPlay"] = GLib.Variant("b", True)
self._previous_can_play = True
self._properties_changed(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/scrobbler.py new/gnome-music-3.34.2/gnomemusic/scrobbler.py
--- old/gnome-music-3.34.1/gnomemusic/scrobbler.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/scrobbler.py 2019-11-24 20:27:19.000000000 +0100
@@ -128,7 +128,12 @@
@GObject.Property
def session_key(self):
"""Retrieve the Last.fm session key"""
- return self._authentication.call_get_access_token_sync(None)[0]
+ try:
+ return self._authentication.call_get_access_token_sync(None)[0]
+ except GLib.Error as e:
+ logger.warning(
+ "Error: Unable to retrieve last.fm session key", e.message)
+ return None
class LastFmScrobbler(GObject.GObject):
@@ -160,6 +165,10 @@
"""Internal method called by self.scrobble"""
api_key = self._goa_lastfm.client_id
sk = self._goa_lastfm.session_key
+ if sk is None:
+ logger.warning(
+ "Error: Unable to perform last.fm api call", request_type_key)
+ return
secret = self._goa_lastfm.secret
artist = utils.get_artist_name(media)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/trackerwrapper.py new/gnome-music-3.34.2/gnomemusic/trackerwrapper.py
--- old/gnome-music-3.34.1/gnomemusic/trackerwrapper.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/trackerwrapper.py 2019-11-24 20:27:19.000000000 +0100
@@ -107,7 +107,7 @@
assert music_dir is not None
except (TypeError, AssertionError):
logger.warning("XDG Music dir is not set")
- return
+ return None
music_dir = Tracker.sparql_escape_string(
GLib.filename_to_uri(music_dir))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/views/albumsview.py new/gnome-music-3.34.2/gnomemusic/views/albumsview.py
--- old/gnome-music-3.34.1/gnomemusic/views/albumsview.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/views/albumsview.py 2019-11-24 20:27:19.000000000 +0100
@@ -22,8 +22,10 @@
# code, but you are not obligated to do so. If you do not wish to do so,
# delete this exception statement from your version.
+import math
+
from gettext import gettext as _
-from gi.repository import GObject, Gtk
+from gi.repository import GLib, GObject, Gtk
from gnomemusic.widgets.headerbar import HeaderBar
from gnomemusic.widgets.albumcover import AlbumCover
@@ -43,7 +45,7 @@
selected_items_count = GObject.Property(type=int, default=0, minimum=0)
selection_mode = GObject.Property(type=bool, default=False)
- _all_albums = Gtk.Template.Child()
+ _scrolled_window = Gtk.Template.Child()
_flowbox = Gtk.Template.Child()
def __repr__(self):
@@ -62,6 +64,9 @@
self._window = application.props.window
self._headerbar = self._window._headerbar
+ self._adjustment_timeout_id = None
+ self._viewport = self._scrolled_window.get_child()
+ self._widget_counter = 1
model = self._window._app.props.coremodel.props.albums_sort
self._flowbox.bind_model(model, self._create_widget)
@@ -83,8 +88,64 @@
self.connect(
"notify::search-mode-active", self._on_search_mode_changed)
+ self._scrolled_window.props.vadjustment.connect(
+ "value-changed", self._on_vadjustment_changed)
+ self._scrolled_window.props.vadjustment.connect(
+ "changed", self._on_vadjustment_changed)
+
self.show_all()
+ def _on_vadjustment_changed(self, adjustment):
+ if self._adjustment_timeout_id is not None:
+ GLib.source_remove(self._adjustment_timeout_id)
+ self._adjustment_timeout_id = None
+
+ self._adjustment_timeout_id = GLib.timeout_add(
+ 200, self._retrieve_covers, adjustment.props.value,
+ priority=GLib.PRIORITY_LOW)
+
+ def _retrieve_covers(self, old_adjustment):
+ adjustment = self._scrolled_window.props.vadjustment.props.value
+
+ if old_adjustment != adjustment:
+ return GLib.SOURCE_CONTINUE
+
+ first_cover = self._flowbox.get_child_at_index(0)
+ if first_cover is None:
+ return GLib.SOURCE_REMOVE
+
+ cover_size, _ = first_cover.get_allocated_size()
+ if cover_size.width == 0 or cover_size.height == 0:
+ return GLib.SOURCE_REMOVE
+
+ viewport_size, _ = self._viewport.get_allocated_size()
+
+ h_space = self._flowbox.get_column_spacing()
+ v_space = self._flowbox.get_row_spacing()
+ nr_cols = (
+ (viewport_size.width + h_space) // (cover_size.width + h_space))
+
+ top_left_cover = self._flowbox.get_child_at_index(
+ nr_cols * (adjustment // (cover_size.height + v_space)))
+
+ covers_col = math.ceil(viewport_size.width / cover_size.width)
+ covers_row = math.ceil(viewport_size.height / cover_size.height)
+
+ children = self._flowbox.get_children()
+ retrieve_list = []
+ for i, albumcover in enumerate(children):
+ if top_left_cover == albumcover:
+ retrieve_covers = covers_row * covers_col
+ retrieve_list = children[i:i + retrieve_covers]
+ break
+
+ for albumcover in retrieve_list:
+ albumcover.retrieve()
+
+ self._adjustment_timeout_id = None
+
+ return GLib.SOURCE_REMOVE
+
def _on_selection_mode_changed(self, widget, data=None):
if not self.props.selection_mode:
self.unselect_all()
@@ -110,11 +171,16 @@
"selected", corealbum, "selected",
GObject.BindingFlags.BIDIRECTIONAL)
+ GLib.timeout_add(
+ self._widget_counter * 250, album_widget.retrieve,
+ priority=GLib.PRIORITY_LOW)
+ self._widget_counter = self._widget_counter + 1
+
return album_widget
def _back_button_clicked(self, widget, data=None):
self._headerbar.state = HeaderBar.State.MAIN
- self.props.visible_child = self._all_albums
+ self.props.visible_child = self._scrolled_window
def _on_child_activated(self, widget, child, user_data=None):
corealbum = child.props.corealbum
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/views/emptyview.py new/gnome-music-3.34.2/gnomemusic/views/emptyview.py
--- old/gnome-music-3.34.1/gnomemusic/views/emptyview.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/views/emptyview.py 2019-11-24 20:27:19.000000000 +0100
@@ -70,6 +70,7 @@
assert music_folder is not None
except (TypeError, AssertionError):
print("XDG Music dir is not set")
+ self._content_text = ""
return
music_folder = Tracker.sparql_escape_string(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/views/searchview.py new/gnome-music-3.34.2/gnomemusic/views/searchview.py
--- old/gnome-music-3.34.1/gnomemusic/views/searchview.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/views/searchview.py 2019-11-24 20:27:19.000000000 +0100
@@ -160,6 +160,7 @@
def _create_album_widget(self, corealbum):
album_widget = AlbumCover(corealbum)
+ album_widget.retrieve()
self.bind_property(
"selection-mode", album_widget, "selection-mode",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/gnomemusic/widgets/albumcover.py new/gnome-music-3.34.2/gnomemusic/widgets/albumcover.py
--- old/gnome-music-3.34.1/gnomemusic/widgets/albumcover.py 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/gnomemusic/widgets/albumcover.py 2019-11-24 20:27:19.000000000 +0100
@@ -24,7 +24,7 @@
import gi
gi.require_version('Grl', '0.3')
-from gi.repository import Gdk, GLib, GObject, Gtk
+from gi.repository import Gdk, GObject, Gtk
from gnomemusic import log
from gnomemusic.albumartcache import Art
@@ -68,6 +68,7 @@
AlbumCover._nr_albums += 1
self._corealbum = corealbum
+ self._retrieved = False
self._tooltip = TwoLineTip()
@@ -96,16 +97,20 @@
self.show()
- # FIXME: To work around slow updating of the albumsview,
- # load album covers with a fixed delay. This results in a
- # quick first show with a placeholder cover and then a
- # reasonably responsive view while loading the actual
- # covers.
self._update_cover_id = self._cover_stack.connect(
"updated", self._on_cover_stack_updated)
- GLib.timeout_add(
- 50 * self._nr_albums, self._cover_stack.update, self._corealbum,
- priority=GLib.PRIORITY_LOW)
+
+ def retrieve(self):
+ """Start retrieving the actual album cover
+
+ Cover retrieval is an expensive operation, so use this call to
+ start the retrieval process when needed.
+ """
+ if self._retrieved:
+ return
+
+ self._retrieved = True
+ self._cover_stack.update(self._corealbum)
@GObject.Property(type=CoreAlbum, flags=GObject.ParamFlags.READABLE)
def corealbum(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-music-3.34.1/meson.build new/gnome-music-3.34.2/meson.build
--- old/gnome-music-3.34.1/meson.build 2019-10-25 17:59:21.000000000 +0200
+++ new/gnome-music-3.34.2/meson.build 2019-11-24 20:27:19.000000000 +0100
@@ -1,5 +1,5 @@
project('gnome-music',
- version: '3.34.1',
+ version: '3.34.2',
meson_version: '>= 0.46.0'
)
1
0
Hello community,
here is the log from the commit of package python-jupyter-require for openSUSE:Factory checked in at 2019-11-29 15:57:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-require (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-require.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-require"
Fri Nov 29 15:57:28 2019 rev:4 rq:748400 version:0.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter-require/python-jupyter-require.changes 2019-07-30 12:38:40.694939914 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter-require.new.26869/python-jupyter-require.changes 2019-11-29 16:01:33.776838751 +0100
@@ -1,0 +2,6 @@
+Tue Nov 12 17:05:25 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 0.4.2
+ * Fix immature execution finish
+
+-------------------------------------------------------------------
Old:
----
jupyter_require-0.3.0-py2.py3-none-any.whl
New:
----
jupyter_require-0.4.2-py2.py3-none-any.whl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-require.spec ++++++
--- /var/tmp/diff_new_pack.2GgvpN/_old 2019-11-29 16:01:36.480837642 +0100
+++ /var/tmp/diff_new_pack.2GgvpN/_new 2019-11-29 16:01:36.484837640 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-jupyter-require
-Version: 0.3.0
+Version: 0.4.2
Release: 0
License: MIT
Summary: Jupyter nbextension for loading non-python dependencies in Jupyter notebooks
1
0
Hello community,
here is the log from the commit of package harfbuzz for openSUSE:Factory checked in at 2019-11-29 15:57:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/harfbuzz (Old)
and /work/SRC/openSUSE:Factory/.harfbuzz.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "harfbuzz"
Fri Nov 29 15:57:28 2019 rev:72 rq:750951 version:2.6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/harfbuzz/harfbuzz.changes 2019-11-17 19:21:46.306901239 +0100
+++ /work/SRC/openSUSE:Factory/.harfbuzz.new.26869/harfbuzz.changes 2019-11-29 16:01:19.904844441 +0100
@@ -1,0 +2,6 @@
+Sun Nov 24 17:43:36 UTC 2019 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- update to 2.6.4:
+ + small bug fixes and build fixes
+
+-------------------------------------------------------------------
Old:
----
harfbuzz-2.6.3.tar.xz
harfbuzz-2.6.3.tar.xz.sha256.asc
New:
----
harfbuzz-2.6.4.tar.xz
harfbuzz-2.6.4.tar.xz.sha256.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ harfbuzz.spec ++++++
--- /var/tmp/diff_new_pack.tPGdRr/_old 2019-11-29 16:01:20.704844113 +0100
+++ /var/tmp/diff_new_pack.tPGdRr/_new 2019-11-29 16:01:20.704844113 +0100
@@ -17,7 +17,7 @@
Name: harfbuzz
-Version: 2.6.3
+Version: 2.6.4
Release: 0
Summary: An OpenType text shaping engine
License: MIT
++++++ harfbuzz-2.6.3.tar.xz -> harfbuzz-2.6.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/ChangeLog new/harfbuzz-2.6.4/ChangeLog
--- old/harfbuzz-2.6.3/ChangeLog 2019-10-28 22:47:23.000000000 +0100
+++ new/harfbuzz-2.6.4/ChangeLog 2019-10-29 20:50:01.000000000 +0100
@@ -1,3 +1,130 @@
+commit 3a74ee528255cc027d84b204a87b5c25e47bff79
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Tue Oct 29 12:27:03 2019 -0700
+
+ 2.6.4
+
+ NEWS | 7 +++++++
+ configure.ac | 2 +-
+ src/hb-version.h | 4 ++--
+ 3 files changed, 10 insertions(+), 3 deletions(-)
+
+commit 3958f6fb2378d83dd5107d62a8464187c93707b0
+Author: Ebrahim Byagowi <ebrahim(a)gnu.org>
+Date: Tue Oct 29 22:36:50 2019 +0330
+
+ Add in_range in hb_bytes_t to merge range_checker_t with it
+
+ src/hb-array.hh | 9 +++++++++
+ src/hb-ot-glyf-table.hh | 28 ++++++++++++--------------
+ src/hb-ot-var-gvar-table.hh | 49 +++++++++++++++------------------------------
+ 3 files changed, 38 insertions(+), 48 deletions(-)
+
+commit 7915c5d6fa3efac99df08a54d4437eca0b780033
+Author: Ebrahim Byagowi <ebrahim(a)gnu.org>
+Date: Tue Oct 29 22:55:34 2019 +0330
+
+ [ci] Check the recipt introduce in 7152ac3
+
+ .circleci/config.yml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit aa3831e295540083350c640d4a630f53e70d822f
+Author: Ebrahim Byagowi <ebrahim(a)gnu.org>
+Date: Tue Oct 29 21:37:07 2019 +0330
+
+ [glyf] Use contour_bounds_t::empty to simplify get_extents logic
+
+ src/hb-ot-glyf-table.hh | 20 ++++++--------------
+ 1 file changed, 6 insertions(+), 14 deletions(-)
+
+commit d59ae5836d1349b885db980cbb741da33caebfde
+Author: Ebrahim Byagowi <ebrahim(a)gnu.org>
+Date: Tue Oct 29 21:30:04 2019 +0330
+
+ [glyf] Refactor contour_bounds_t use to make its fields protected
+
+ src/hb-ot-glyf-table.hh | 47 ++++++++++++++++++++++++++---------------------
+ 1 file changed, 26 insertions(+), 21 deletions(-)
+
+commit 773ee8041e8905bfb06c1a71d2b4fc99110b3dc6
+Merge: 47b4074d 0efbda7a
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Tue Oct 29 10:58:56 2019 -0700
+
+ Merge pull request #2038 from ebraminio/glyf-contour
+
+ Remove contour_point_t so we won't need to zero its unused var
+
+commit 0efbda7a40742cbdf30d5a85061ffb6a0a55bcc0
+Author: Ebrahim Byagowi <ebrahim(a)gnu.org>
+Date: Tue Oct 29 21:03:26 2019 +0330
+
+ Remove contour_point_t so we won't need to zero its unused var
+
+ src/hb-ot-glyf-table.hh | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+commit 47b4074d5f98d71d2983470602eff9b93f102af4
+Merge: dd8a8460 dd288840
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Tue Oct 29 03:16:34 2019 -0700
+
+ Merge pull request #2034 from khaledhosny/cmap-notdef
+
+ [cmap] Check GID before adding ranges in format 4 & 12
+
+commit dd8a8460377ca54207877ea9da96931175dbb15f
+Author: jfkthame <jfkthame(a)gmail.com>
+Date: Tue Oct 29 09:20:41 2019 +0000
+
+ Use proper y-scale factor for height value
+
+ src/hb-ot-cff1-table.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7152ac3fcfe8a599aa0d20f8d02ef38c69111231
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Mon Oct 28 17:12:55 2019 -0700
+
+ Fix build
+
+ $ make CPPFLAGS="-DHB_TINY -DHB_NO_OT_FONT" libharfbuzz-subset.la
+
+ src/hb-subset-plan.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit dd288840d6f87acd13b99b71408dcdb35a2be9cb
+Author: Khaled Hosny <khaledhosny(a)eglug.org>
+Date: Tue Oct 29 01:45:49 2019 +0200
+
+ [cmap] Check GID before adding ranges in format 4 & 12
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/2031
+
+ src/hb-ot-cmap-table.hh | 32 ++++++++++++++++++++++++--------
+ test/api/fonts/cmunrm.otf | Bin 0 -> 330492 bytes
+ test/api/test-collect-unicodes.c | 22 ++++++++++++++++++++++
+ 3 files changed, 46 insertions(+), 8 deletions(-)
+
+commit fd71c045b46380281ba8a7e351fac7248938c74c
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Mon Oct 28 17:06:53 2019 -0700
+
+ Hopefully fix up previous commit and bots
+
+ src/hb.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e832dc4c642f604d2cbb8e6b2f0b8d37151936f1
+Author: Behdad Esfahbod <behdad(a)behdad.org>
+Date: Mon Oct 28 17:02:40 2019 -0700
+
+ [config] Make HB_NO_ERRNO work with systems defining errno as a macro
+
+ src/hb.hh | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
commit ce11df1b5b8e49712bef249de19bc4768f3a691c
Author: Behdad Esfahbod <behdad(a)behdad.org>
Date: Mon Oct 28 14:45:31 2019 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/NEWS new/harfbuzz-2.6.4/NEWS
--- old/harfbuzz-2.6.3/NEWS 2019-10-28 22:46:59.000000000 +0100
+++ new/harfbuzz-2.6.4/NEWS 2019-10-29 20:49:28.000000000 +0100
@@ -1,3 +1,10 @@
+Overview of changes leading to 2.6.4
+Monday, October 29, 2019
+====================================
+- Small bug fix.
+- Build fixes.
+
+
Overview of changes leading to 2.6.3
Monday, October 28, 2019
====================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/configure new/harfbuzz-2.6.4/configure
--- old/harfbuzz-2.6.3/configure 2019-10-28 22:47:05.000000000 +0100
+++ new/harfbuzz-2.6.4/configure 2019-10-29 20:49:49.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HarfBuzz 2.6.3.
+# Generated by GNU Autoconf 2.69 for HarfBuzz 2.6.4.
#
# Report bugs to <https://github.com/harfbuzz/harfbuzz/issues/new>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='HarfBuzz'
PACKAGE_TARNAME='harfbuzz'
-PACKAGE_VERSION='2.6.3'
-PACKAGE_STRING='HarfBuzz 2.6.3'
+PACKAGE_VERSION='2.6.4'
+PACKAGE_STRING='HarfBuzz 2.6.4'
PACKAGE_BUGREPORT='https://github.com/harfbuzz/harfbuzz/issues/new'
PACKAGE_URL='http://harfbuzz.org/'
@@ -1485,7 +1485,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HarfBuzz 2.6.3 to adapt to many kinds of systems.
+\`configure' configures HarfBuzz 2.6.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1555,7 +1555,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HarfBuzz 2.6.3:";;
+ short | recursive ) echo "Configuration of HarfBuzz 2.6.4:";;
esac
cat <<\_ACEOF
@@ -1739,7 +1739,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HarfBuzz configure 2.6.3
+HarfBuzz configure 2.6.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2557,7 +2557,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HarfBuzz $as_me 2.6.3, which was
+It was created by HarfBuzz $as_me 2.6.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3426,7 +3426,7 @@
# Define the identity of the package.
PACKAGE='harfbuzz'
- VERSION='2.6.3'
+ VERSION='2.6.4'
# Some tools Automake needs.
@@ -19316,8 +19316,8 @@
HB_VERSION_MAJOR=2
HB_VERSION_MINOR=6
-HB_VERSION_MICRO=3
-HB_VERSION=2.6.3
+HB_VERSION_MICRO=4
+HB_VERSION=2.6.4
@@ -19328,7 +19328,7 @@
-HB_LIBTOOL_VERSION_INFO=20600:3:20600
+HB_LIBTOOL_VERSION_INFO=20600:4:20600
@@ -22621,7 +22621,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HarfBuzz $as_me 2.6.3, which was
+This file was extended by HarfBuzz $as_me 2.6.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22688,7 +22688,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HarfBuzz config.status 2.6.3
+HarfBuzz config.status 2.6.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/configure.ac new/harfbuzz-2.6.4/configure.ac
--- old/harfbuzz-2.6.3/configure.ac 2019-10-28 22:46:59.000000000 +0100
+++ new/harfbuzz-2.6.4/configure.ac 2019-10-29 20:49:28.000000000 +0100
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [2.6.3],
+ [2.6.4],
[https://github.com/harfbuzz/harfbuzz/issues/new]
[harfbuzz],
[http://harfbuzz.org/]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/harfbuzz-docs.xml new/harfbuzz-2.6.4/docs/harfbuzz-docs.xml
--- old/harfbuzz-2.6.3/docs/harfbuzz-docs.xml 2019-08-14 06:25:46.000000000 +0200
+++ new/harfbuzz-2.6.4/docs/harfbuzz-docs.xml 2019-08-14 07:10:53.000000000 +0200
@@ -130,8 +130,8 @@
<xi:include href="xml/tree_index.sgml"/>
</chapter-->
- <index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
<index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
+ <index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
<index id="api-index-2-6-0" role="2.6.0"><title>Index of new symbols in 2.6.0</title><xi:include href="xml/api-index-2.6.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-2-5-0" role="2.5.0"><title>Index of new symbols in 2.5.0</title><xi:include href="xml/api-index-2.5.0.xml"><xi:fallback /></xi:include></index>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/harfbuzz-sections.txt new/harfbuzz-2.6.4/docs/harfbuzz-sections.txt
--- old/harfbuzz-2.6.3/docs/harfbuzz-sections.txt 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/harfbuzz-sections.txt 2019-10-29 20:50:32.000000000 +0100
@@ -612,14 +612,14 @@
<SECTION>
<FILE>hb-ot-meta</FILE>
-hb_ot_meta_t
+hb_ot_meta_tag_t
hb_ot_meta_get_entry_tags
hb_ot_meta_reference_entry
</SECTION>
<SECTION>
<FILE>hb-ot-metrics</FILE>
-hb_ot_metrics_t
+hb_ot_metrics_tag_t
hb_ot_metrics_get_position
hb_ot_metrics_get_variation
hb_ot_metrics_get_x_variation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/api-index-full.html new/harfbuzz-2.6.4/docs/html/api-index-full.html
--- old/harfbuzz-2.6.3/docs/html/api-index-full.html 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/api-index-full.html 2019-10-29 20:50:32.000000000 +0100
@@ -6,8 +6,8 @@
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
-<link rel="next" href="api-index-2-6-0.html" title="Index of new symbols in 2.6.0">
+<link rel="prev" href="harfbuzz-hb-uniscribe.html" title="hb-uniscribe">
+<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -46,8 +46,8 @@
<a class="shortcut" href="#idxV">V</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-2-6-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="harfbuzz-hb-uniscribe.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h2 class="title">
@@ -1799,6 +1799,10 @@
</dt>
<dd></dd>
<dt>
+hb_ot_meta_tag_t, enum in hb-ot-meta
+</dt>
+<dd></dd>
+<dt>
hb_ot_metrics_get_position, function in hb-ot-metrics
</dt>
<dd></dd>
@@ -1815,6 +1819,10 @@
</dt>
<dd></dd>
<dt>
+hb_ot_metrics_tag_t, enum in hb-ot-metrics
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf16" title="hb_ot_name_get_utf16 ()">hb_ot_name_get_utf16</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
</dt>
<dd></dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/harfbuzz-hb-uniscribe.html new/harfbuzz-2.6.4/docs/html/harfbuzz-hb-uniscribe.html
--- old/harfbuzz-2.6.3/docs/html/harfbuzz-hb-uniscribe.html 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/harfbuzz-hb-uniscribe.html 2019-10-29 20:50:32.000000000 +0100
@@ -7,7 +7,7 @@
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch14.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-icu.html" title="hb-icu">
-<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
+<link rel="next" href="api-index-full.html" title="API Index">
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -20,7 +20,7 @@
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="harfbuzz-hb-icu.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="harfbuzz-hb-uniscribe"></a><div class="titlepage"></div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/harfbuzz-hb-version.html new/harfbuzz-2.6.4/docs/html/harfbuzz-hb-version.html
--- old/harfbuzz-2.6.3/docs/html/harfbuzz-hb-version.html 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/harfbuzz-hb-version.html 2019-10-29 20:50:32.000000000 +0100
@@ -184,7 +184,7 @@
<hr>
<div class="refsect2">
<a name="HB-VERSION-MICRO:CAPS"></a><h3>HB_VERSION_MICRO</h3>
-<pre class="programlisting">#define HB_VERSION_MICRO 3
+<pre class="programlisting">#define HB_VERSION_MICRO 4
</pre>
</div>
<hr>
@@ -196,7 +196,7 @@
<hr>
<div class="refsect2">
<a name="HB-VERSION-STRING:CAPS"></a><h3>HB_VERSION_STRING</h3>
-<pre class="programlisting">#define HB_VERSION_STRING "2.6.3"
+<pre class="programlisting">#define HB_VERSION_STRING "2.6.4"
</pre>
</div>
</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/harfbuzz.devhelp2 new/harfbuzz-2.6.4/docs/html/harfbuzz.devhelp2
--- old/harfbuzz-2.6.3/docs/html/harfbuzz.devhelp2 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/harfbuzz.devhelp2 2019-10-29 20:50:32.000000000 +0100
@@ -116,8 +116,8 @@
<sub name="hb-icu" link="harfbuzz-hb-icu.html"/>
<sub name="hb-uniscribe" link="harfbuzz-hb-uniscribe.html"/>
</sub>
- <sub name="Index of deprecated API" link="deprecated-api-index.html"/>
<sub name="API Index" link="api-index-full.html"/>
+ <sub name="Index of deprecated API" link="deprecated-api-index.html"/>
<sub name="Index of new symbols in 2.6.0" link="api-index-2-6-0.html"/>
<sub name="Index of new symbols in 2.5.0" link="api-index-2-5-0.html"/>
<sub name="Index of new symbols in 2.4.0" link="api-index-2-4-0.html"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/pt02.html new/harfbuzz-2.6.4/docs/html/pt02.html
--- old/harfbuzz-2.6.3/docs/html/pt02.html 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/pt02.html 2019-10-29 20:50:32.000000000 +0100
@@ -24,7 +24,7 @@
<div><h1 class="title">
<a name="id-1.3"></a>Part II. Reference manual</h1></div>
<div><p class="releaseinfo">
- This document is for HarfBuzz 2.6.3
+ This document is for HarfBuzz 2.6.4
.
</p></div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/html/shaping-opentype-features.html new/harfbuzz-2.6.4/docs/html/shaping-opentype-features.html
--- old/harfbuzz-2.6.3/docs/html/shaping-opentype-features.html 2019-10-28 22:47:49.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/html/shaping-opentype-features.html 2019-10-29 20:50:32.000000000 +0100
@@ -40,7 +40,8 @@
Other features are more generic and can apply to several (or
any) script, and shaping engines are expected to implement
them. By default, HarfBuzz activates several of these features
- on every text run. They include <code class="literal">ccmp</code>,
+ on every text run. They include <code class="literal">abvm</code>,
+ <code class="literal">blwm</code>, <code class="literal">ccmp</code>,
<code class="literal">locl</code>, <code class="literal">mark</code>,
<code class="literal">mkmk</code>, and <code class="literal">rlig</code>.
</p>
@@ -48,8 +49,9 @@
In addition, if the text direction is horizontal, HarfBuzz
also applies the <code class="literal">calt</code>,
<code class="literal">clig</code>, <code class="literal">curs</code>,
- <code class="literal">kern</code>, <code class="literal">liga</code>,
- <code class="literal">rclt</code>, and <code class="literal">frac</code> features.
+ <code class="literal">dist</code>, <code class="literal">kern</code>,
+ <code class="literal">liga</code>, <code class="literal">rclt</code>,
+ and <code class="literal">frac</code> features.
</p>
<p>
If the text direction is vertical, HarfBuzz applies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/usermanual-opentype-features.xml new/harfbuzz-2.6.4/docs/usermanual-opentype-features.xml
--- old/harfbuzz-2.6.3/docs/usermanual-opentype-features.xml 2019-05-25 17:15:45.000000000 +0200
+++ new/harfbuzz-2.6.4/docs/usermanual-opentype-features.xml 2019-08-23 20:54:39.000000000 +0200
@@ -139,7 +139,8 @@
Other features are more generic and can apply to several (or
any) script, and shaping engines are expected to implement
them. By default, HarfBuzz activates several of these features
- on every text run. They include <literal>ccmp</literal>,
+ on every text run. They include <literal>abvm</literal>,
+ <literal>blwm</literal>, <literal>ccmp</literal>,
<literal>locl</literal>, <literal>mark</literal>,
<literal>mkmk</literal>, and <literal>rlig</literal>.
</para>
@@ -147,8 +148,9 @@
In addition, if the text direction is horizontal, HarfBuzz
also applies the <literal>calt</literal>,
<literal>clig</literal>, <literal>curs</literal>,
- <literal>kern</literal>, <literal>liga</literal>,
- <literal>rclt</literal>, and <literal>frac</literal> features.
+ <literal>dist</literal>, <literal>kern</literal>,
+ <literal>liga</literal>, <literal>rclt</literal>,
+ and <literal>frac</literal> features.
</para>
<para>
If the text direction is vertical, HarfBuzz applies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/docs/version.xml new/harfbuzz-2.6.4/docs/version.xml
--- old/harfbuzz-2.6.3/docs/version.xml 2019-10-28 22:47:16.000000000 +0100
+++ new/harfbuzz-2.6.4/docs/version.xml 2019-10-29 20:49:53.000000000 +0100
@@ -1 +1 @@
-2.6.3
+2.6.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-array.hh new/harfbuzz-2.6.4/src/hb-array.hh
--- old/harfbuzz-2.6.3/src/hb-array.hh 2019-10-22 22:38:05.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb-array.hh 2019-10-29 20:49:28.000000000 +0100
@@ -196,6 +196,15 @@
const T *as () const
{ return length < hb_null_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); }
+ template <typename T,
+ unsigned P = sizeof (Type),
+ hb_enable_if (P == 1)>
+ bool in_range (const T *p, unsigned int size = T::static_size) const
+ {
+ return ((const char *) p) >= arrayZ
+ && ((const char *) p + size) <= arrayZ + length;
+ }
+
/* Only call if you allocated the underlying array using malloc() or similar. */
void free ()
{ ::free ((void *) arrayZ); arrayZ = nullptr; length = 0; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-ot-cff1-table.cc new/harfbuzz-2.6.4/src/hb-ot-cff1-table.cc
--- old/harfbuzz-2.6.3/src/hb-ot-cff1-table.cc 2019-10-09 05:03:11.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb-ot-cff1-table.cc 2019-10-29 11:16:47.000000000 +0100
@@ -336,7 +336,7 @@
else
{
extents->y_bearing = font->em_scalef_y (bounds.max.y.to_real ());
- extents->height = font->em_scalef_x (bounds.min.y.to_real () - bounds.max.y.to_real ());
+ extents->height = font->em_scalef_y (bounds.min.y.to_real () - bounds.max.y.to_real ());
}
return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-ot-cmap-table.hh new/harfbuzz-2.6.4/src/hb-ot-cmap-table.hh
--- old/harfbuzz-2.6.3/src/hb-ot-cmap-table.hh 2019-10-28 21:46:56.000000000 +0100
+++ new/harfbuzz-2.6.4/src/hb-ot-cmap-table.hh 2019-10-29 11:16:47.000000000 +0100
@@ -342,14 +342,22 @@
count--; /* Skip sentinel segment. */
for (unsigned int i = 0; i < count; i++)
{
+ hb_codepoint_t start = this->startCount[i];
+ hb_codepoint_t end = this->endCount[i];
unsigned int rangeOffset = this->idRangeOffset[i];
if (rangeOffset == 0)
- out->add_range (this->startCount[i], this->endCount[i]);
+ {
+ for (hb_codepoint_t codepoint = start; codepoint <= end; codepoint++)
+ {
+ hb_codepoint_t gid = (codepoint + this->idDelta[i]) & 0xFFFFu;
+ if (unlikely (!gid))
+ continue;
+ out->add (codepoint);
+ }
+ }
else
{
- for (hb_codepoint_t codepoint = this->startCount[i];
- codepoint <= this->endCount[i];
- codepoint++)
+ for (hb_codepoint_t codepoint = start; codepoint <= end; codepoint++)
{
unsigned int index = rangeOffset / 2 + (codepoint - this->startCount[i]) + i - this->segCount;
if (unlikely (index >= this->glyphIdArrayLength))
@@ -522,10 +530,18 @@
void collect_unicodes (hb_set_t *out) const
{
- for (unsigned int i = 0; i < this->groups.len; i++) {
- out->add_range (this->groups[i].startCharCode,
- hb_min ((hb_codepoint_t) this->groups[i].endCharCode,
- (hb_codepoint_t) HB_UNICODE_MAX));
+ for (unsigned int i = 0; i < this->groups.len; i++)
+ {
+ hb_codepoint_t start = this->groups[i].startCharCode;
+ hb_codepoint_t end = hb_min ((hb_codepoint_t) this->groups[i].endCharCode,
+ (hb_codepoint_t) HB_UNICODE_MAX);
+ for (hb_codepoint_t codepoint = start; codepoint <= end; codepoint++)
+ {
+ hb_codepoint_t gid = T::group_get_glyph (this->groups[i], codepoint);
+ if (unlikely (!gid))
+ continue;
+ out->add (codepoint);
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-ot-glyf-table.hh new/harfbuzz-2.6.4/src/hb-ot-glyf-table.hh
--- old/harfbuzz-2.6.3/src/hb-ot-glyf-table.hh 2019-10-15 23:57:38.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb-ot-glyf-table.hh 2019-10-29 20:49:28.000000000 +0100
@@ -360,9 +360,9 @@
{
typedef const CompositeGlyphChain *__item_t__;
composite_iter_t (hb_bytes_t glyph_, __item_t__ current_) :
- glyph (glyph_), current (current_), checker (range_checker_t (glyph.arrayZ, glyph.length))
+ glyph (glyph_), current (current_)
{ if (!in_range (current)) current = nullptr; }
- composite_iter_t () : glyph (hb_bytes_t ()), current (nullptr), checker (range_checker_t (nullptr, 0)) {}
+ composite_iter_t () : glyph (hb_bytes_t ()), current (nullptr) {}
const CompositeGlyphChain &__item__ () const { return *current; }
bool __more__ () const { return current; }
@@ -380,14 +380,13 @@
bool in_range (const CompositeGlyphChain *composite) const
{
- return checker.in_range (composite, CompositeGlyphChain::min_size)
- && checker.in_range (composite, composite->get_size ());
+ return glyph.in_range (composite, CompositeGlyphChain::min_size)
+ && glyph.in_range (composite, composite->get_size ());
}
private:
hb_bytes_t glyph;
__item_t__ current;
- range_checker_t checker;
};
struct Glyph
@@ -537,7 +536,7 @@
template <typename T>
static bool read_points (const HBUINT8 *&p /* IN/OUT */,
contour_point_vector_t &points_ /* IN/OUT */,
- const range_checker_t &checker)
+ const hb_bytes_t &bytes)
{
T coord_setter;
float v = 0;
@@ -546,7 +545,7 @@
uint8_t flag = points_[i].flag;
if (coord_setter.is_short (flag))
{
- if (unlikely (!checker.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
if (coord_setter.is_same (flag))
v += *p++;
else
@@ -556,7 +555,7 @@
{
if (!coord_setter.is_same (flag))
{
- if (unlikely (!checker.in_range ((const HBUINT16 *) p))) return false;
+ if (unlikely (!bytes.in_range ((const HBUINT16 *) p))) return false;
v += *(const HBINT16 *) p;
p += HBINT16::static_size;
}
@@ -571,9 +570,8 @@
const bool phantom_only=false) const
{
const HBUINT16 *endPtsOfContours = &StructAfter<HBUINT16> (header);
- range_checker_t checker (bytes.arrayZ, bytes.length);
int num_contours = header.numberOfContours;
- if (unlikely (!checker.in_range (&endPtsOfContours[num_contours + 1]))) return false;
+ if (unlikely (!bytes.in_range (&endPtsOfContours[num_contours + 1]))) return false;
unsigned int num_points = endPtsOfContours[num_contours - 1] + 1;
points_.resize (num_points + PHANTOM_COUNT);
@@ -593,12 +591,12 @@
/* Read flags */
for (unsigned int i = 0; i < num_points; i++)
{
- if (unlikely (!checker.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
uint8_t flag = *p++;
points_[i].flag = flag;
if (flag & FLAG_REPEAT)
{
- if (unlikely (!checker.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
unsigned int repeat_count = *p++;
while ((repeat_count-- > 0) && (++i < num_points))
points_[i].flag = flag;
@@ -606,8 +604,8 @@
}
/* Read x & y coordinates */
- return (read_points<x_setter_t> (p, points_, checker) &&
- read_points<y_setter_t> (p, points_, checker));
+ return (read_points<x_setter_t> (p, points_, bytes) &&
+ read_points<y_setter_t> (p, points_, bytes));
}
};
@@ -808,20 +806,36 @@
struct contour_bounds_t
{
- contour_bounds_t () { min.x = min.y = FLT_MAX; max.x = max.y = -FLT_MAX; }
+ contour_bounds_t () { min_x = min_y = FLT_MAX; max_x = max_y = -FLT_MAX; }
void add (const contour_point_t &p)
{
- min.x = hb_min (min.x, p.x);
- min.y = hb_min (min.y, p.y);
- max.x = hb_max (max.x, p.x);
- max.y = hb_max (max.y, p.y);
+ min_x = hb_min (min_x, p.x);
+ min_y = hb_min (min_y, p.y);
+ max_x = hb_max (max_x, p.x);
+ max_y = hb_max (max_y, p.y);
}
- bool empty () const { return (min.x >= max.x) || (min.y >= max.y); }
+ bool empty () const { return (min_x >= max_x) || (min_y >= max_y); }
- contour_point_t min;
- contour_point_t max;
+ void get_extents (hb_font_t *font, hb_glyph_extents_t *extents)
+ {
+ if (unlikely (empty ()))
+ {
+ extents->width = 0;
+ extents->x_bearing = 0;
+ extents->height = 0;
+ extents->y_bearing = 0;
+ return;
+ }
+ extents->x_bearing = font->em_scalef_x (min_x);
+ extents->width = font->em_scalef_x (max_x - min_x);
+ extents->y_bearing = font->em_scalef_y (max_y);
+ extents->height = font->em_scalef_y (min_y - max_y);
+ }
+
+ protected:
+ float min_x, min_y, max_x, max_y;
};
#ifndef HB_NO_VAR
@@ -919,27 +933,7 @@
contour_bounds_t bounds;
for (unsigned int i = 0; i + PHANTOM_COUNT < all_points.length; i++)
bounds.add (all_points[i]);
-
- if (bounds.min.x > bounds.max.x)
- {
- extents->width = 0;
- extents->x_bearing = 0;
- }
- else
- {
- extents->x_bearing = font->em_scalef_x (bounds.min.x);
- extents->width = font->em_scalef_x (bounds.max.x - bounds.min.x);
- }
- if (bounds.min.y > bounds.max.y)
- {
- extents->height = 0;
- extents->y_bearing = 0;
- }
- else
- {
- extents->y_bearing = font->em_scalef_y (bounds.max.y);
- extents->height = font->em_scalef_y (bounds.min.y - bounds.max.y);
- }
+ bounds.get_extents (font, extents);
}
if (phantoms)
for (unsigned int i = 0; i < PHANTOM_COUNT; i++)
@@ -953,7 +947,7 @@
bool get_extents_var (hb_font_t *font, hb_codepoint_t gid,
hb_glyph_extents_t *extents) const
- { return get_var_extents_and_phantoms (font, gid, extents); }
+ { return get_var_extents_and_phantoms (font, gid, extents); }
#endif
public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-ot-var-gvar-table.hh new/harfbuzz-2.6.4/src/hb-ot-var-gvar-table.hh
--- old/harfbuzz-2.6.3/src/hb-ot-var-gvar-table.hh 2019-10-15 23:57:38.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb-ot-var-gvar-table.hh 2019-10-29 20:49:28.000000000 +0100
@@ -78,23 +78,6 @@
}
};
-struct range_checker_t
-{
- range_checker_t (const void *data_, unsigned int length_)
- : data ((const char *) data_), length (length_) {}
-
- template <typename T>
- bool in_range (const T *p, unsigned int size = T::static_size) const
- {
- return ((const char *) p) >= data
- && ((const char *) p + size) <= data + length;
- }
-
- protected:
- const char *data;
- const unsigned int length;
-};
-
struct Tuple : UnsizedArrayOf<F2DOT14> {};
struct TuppleIndex : HBUINT16
@@ -233,10 +216,10 @@
{
if (var_data->has_shared_point_numbers ())
{
- range_checker_t checker (var_data, length);
+ hb_bytes_t bytes ((const char *) var_data, length);
const HBUINT8 *base = &(var_data+var_data->data);
const HBUINT8 *p = base;
- if (!unpack_points (p, shared_indices, checker)) return false;
+ if (!unpack_points (p, shared_indices, bytes)) return false;
data_offset = p - base;
}
return true;
@@ -292,7 +275,7 @@
static bool unpack_points (const HBUINT8 *&p /* IN/OUT */,
hb_vector_t<unsigned int> &points /* OUT */,
- const range_checker_t &check)
+ const hb_bytes_t &bytes)
{
enum packed_point_flag_t
{
@@ -300,12 +283,12 @@
POINT_RUN_COUNT_MASK = 0x7F
};
- if (unlikely (!check.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
uint16_t count = *p++;
if (count & POINTS_ARE_WORDS)
{
- if (unlikely (!check.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
count = ((count & POINT_RUN_COUNT_MASK) << 8) | *p++;
}
points.resize (count);
@@ -314,7 +297,7 @@
uint16_t i = 0;
while (i < count)
{
- if (unlikely (!check.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
uint16_t j;
uint8_t control = *p++;
uint16_t run_count = (control & POINT_RUN_COUNT_MASK) + 1;
@@ -322,7 +305,7 @@
{
for (j = 0; j < run_count && i < count; j++, i++)
{
- if (unlikely (!check.in_range ((const HBUINT16 *) p)))
+ if (unlikely (!bytes.in_range ((const HBUINT16 *) p)))
return false;
n += *(const HBUINT16 *)p;
points[i] = n;
@@ -333,7 +316,7 @@
{
for (j = 0; j < run_count && i < count; j++, i++)
{
- if (unlikely (!check.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
n += *p++;
points[i] = n;
}
@@ -345,7 +328,7 @@
static bool unpack_deltas (const HBUINT8 *&p /* IN/OUT */,
hb_vector_t<int> &deltas /* IN/OUT */,
- const range_checker_t &check)
+ const hb_bytes_t &bytes)
{
enum packed_delta_flag_t
{
@@ -358,7 +341,7 @@
unsigned int count = deltas.length;
while (i < count)
{
- if (unlikely (!check.in_range (p))) return false;
+ if (unlikely (!bytes.in_range (p))) return false;
uint8_t control = *p++;
unsigned int run_count = (control & DELTA_RUN_COUNT_MASK) + 1;
unsigned int j;
@@ -368,7 +351,7 @@
else if (control & DELTAS_ARE_WORDS)
for (j = 0; j < run_count && i < count; j++, i++)
{
- if (unlikely (!check.in_range ((const HBUINT16 *) p)))
+ if (unlikely (!bytes.in_range ((const HBUINT16 *) p)))
return false;
deltas[i] = *(const HBINT16 *) p;
p += HBUINT16::static_size;
@@ -376,7 +359,7 @@
else
for (j = 0; j < run_count && i < count; j++, i++)
{
- if (unlikely (!check.in_range (p)))
+ if (unlikely (!bytes.in_range (p)))
return false;
deltas[i] = *(const HBINT8 *) p++;
}
@@ -611,10 +594,10 @@
if (unlikely (!iterator.in_range (p, length)))
return false;
- range_checker_t checker (p, length);
+ hb_bytes_t bytes ((const char *) p, length);
hb_vector_t<unsigned int> private_indices;
if (iterator.current_tuple->has_private_points () &&
- !GlyphVarData::unpack_points (p, private_indices, checker))
+ !GlyphVarData::unpack_points (p, private_indices, bytes))
return false;
const hb_array_t<unsigned int> &indices = private_indices.length ? private_indices : shared_indices;
@@ -622,11 +605,11 @@
unsigned int num_deltas = apply_to_all ? points.length : indices.length;
hb_vector_t<int> x_deltas;
x_deltas.resize (num_deltas);
- if (!GlyphVarData::unpack_deltas (p, x_deltas, checker))
+ if (!GlyphVarData::unpack_deltas (p, x_deltas, bytes))
return false;
hb_vector_t<int> y_deltas;
y_deltas.resize (num_deltas);
- if (!GlyphVarData::unpack_deltas (p, y_deltas, checker))
+ if (!GlyphVarData::unpack_deltas (p, y_deltas, bytes))
return false;
for (unsigned int i = 0; i < deltas.length; i++)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-subset-plan.cc new/harfbuzz-2.6.4/src/hb-subset-plan.cc
--- old/harfbuzz-2.6.3/src/hb-subset-plan.cc 2019-10-09 05:03:11.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb-subset-plan.cc 2019-10-29 01:12:37.000000000 +0100
@@ -71,7 +71,10 @@
const hb_set_t *unicodes,
hb_set_t *glyphset)
{
- face->table.cmap->table->closure_glyphs (unicodes, glyphset);
+ OT::cmap::accelerator_t cmap;
+ cmap.init (face);
+ cmap.table->closure_glyphs (unicodes, glyphset);
+ cmap.fini ();
}
static inline void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb-version.h new/harfbuzz-2.6.4/src/hb-version.h
--- old/harfbuzz-2.6.3/src/hb-version.h 2019-10-28 22:46:59.000000000 +0100
+++ new/harfbuzz-2.6.4/src/hb-version.h 2019-10-29 20:49:28.000000000 +0100
@@ -38,9 +38,9 @@
#define HB_VERSION_MAJOR 2
#define HB_VERSION_MINOR 6
-#define HB_VERSION_MICRO 3
+#define HB_VERSION_MICRO 4
-#define HB_VERSION_STRING "2.6.3"
+#define HB_VERSION_STRING "2.6.4"
#define HB_VERSION_ATLEAST(major,minor,micro) \
((major)*10000+(minor)*100+(micro) <= \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/src/hb.hh new/harfbuzz-2.6.4/src/hb.hh
--- old/harfbuzz-2.6.3/src/hb.hh 2019-09-30 19:40:11.000000000 +0200
+++ new/harfbuzz-2.6.4/src/hb.hh 2019-10-29 20:17:51.000000000 +0100
@@ -370,10 +370,12 @@
#define getenv(Name) nullptr
#endif
-#ifdef HB_NO_ERRNO
-static int errno = 0; /* Use something better? */
+#ifndef HB_NO_ERRNO
+# include <errno.h>
#else
-#include <errno.h>
+static int HB_UNUSED _hb_errno = 0;
+# undef errno
+# define errno _hb_errno
#endif
#if defined(HAVE_ATEXIT) && !defined(HB_USE_ATEXIT)
Binary files old/harfbuzz-2.6.3/test/api/fonts/cmunrm.otf and new/harfbuzz-2.6.4/test/api/fonts/cmunrm.otf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/harfbuzz-2.6.3/test/api/test-collect-unicodes.c new/harfbuzz-2.6.4/test/api/test-collect-unicodes.c
--- old/harfbuzz-2.6.3/test/api/test-collect-unicodes.c 2019-05-06 21:14:20.000000000 +0200
+++ new/harfbuzz-2.6.4/test/api/test-collect-unicodes.c 2019-10-29 11:16:47.000000000 +0100
@@ -50,6 +50,27 @@
}
static void
+test_collect_unicodes_format12_notdef (void)
+{
+ hb_face_t *face = hb_test_open_font_file ("fonts/cmunrm.otf");
+ hb_set_t *codepoints = hb_set_create();
+ hb_codepoint_t cp;
+
+ hb_face_collect_unicodes (face, codepoints);
+
+ cp = HB_SET_VALUE_INVALID;
+ g_assert (hb_set_next (codepoints, &cp));
+ g_assert_cmpuint (0x20, ==, cp);
+ g_assert (hb_set_next (codepoints, &cp));
+ g_assert_cmpuint (0x21, ==, cp);
+ g_assert (hb_set_next (codepoints, &cp));
+ g_assert_cmpuint (0x22, ==, cp);
+
+ hb_set_destroy (codepoints);
+ hb_face_destroy (face);
+}
+
+static void
test_collect_unicodes_format12 (void)
{
hb_face_t *face = hb_test_open_font_file ("fonts/Roboto-Regular.abc.format12.ttf");
@@ -101,6 +122,7 @@
hb_test_add (test_collect_unicodes);
hb_test_add (test_collect_unicodes_format4);
hb_test_add (test_collect_unicodes_format12);
+ hb_test_add (test_collect_unicodes_format12_notdef);
return hb_test_run();
}
1
0
Hello community,
here is the log from the commit of package python-jupyter-server for openSUSE:Factory checked in at 2019-11-29 15:57:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-server (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-server.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-server"
Fri Nov 29 15:57:23 2019 rev:6 rq:748398 version:0.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter-server/python-jupyter-server.changes 2019-08-13 13:21:05.309421162 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter-server.new.26869/python-jupyter-server.changes 2019-11-29 16:01:12.092847646 +0100
@@ -1,0 +2,7 @@
+Tue Nov 12 17:38:51 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support due to python-notebook dropping python2 support
+- jupyter_client renamed to jupyter-client
+- jupyter_core renamed to jupyter-core
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-server.spec ++++++
--- /var/tmp/diff_new_pack.Vu8F5N/_old 2019-11-29 16:01:14.668846589 +0100
+++ /var/tmp/diff_new_pack.Vu8F5N/_new 2019-11-29 16:01:14.672846588 +0100
@@ -16,6 +16,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-jupyter-server
Version: 0.1.1
Release: 0
@@ -33,8 +34,8 @@
BuildRequires: %{python_module coverage}
BuildRequires: %{python_module ipykernel}
BuildRequires: %{python_module ipython_genutils}
-BuildRequires: %{python_module jupyter_client >= 5.2.0}
-BuildRequires: %{python_module jupyter_core >= 4.4.0}
+BuildRequires: %{python_module jupyter-client >= 5.2.0}
+BuildRequires: %{python_module jupyter-core >= 4.4.0}
BuildRequires: %{python_module nbconvert}
BuildRequires: %{python_module nbformat}
BuildRequires: %{python_module nbval}
@@ -56,8 +57,8 @@
Requires: python-Send2Trash
Requires: python-ipykernel
Requires: python-ipython_genutils
-Requires: python-jupyter_client >= 5.2.0
-Requires: python-jupyter_core >= 4.4.0
+Requires: python-jupyter-client >= 5.2.0
+Requires: python-jupyter-core >= 4.4.0
Requires: python-nbconvert
Requires: python-nbformat
Requires: python-prometheus_client
@@ -84,8 +85,8 @@
%package -n jupyter-jupyter-server
Summary: The Jupyter Server
Requires: jupyter-ipykernel
-Requires: jupyter-jupyter_client >= 5.2.0
-Requires: jupyter-jupyter_core >= 4.4.0
+Requires: jupyter-jupyter-client >= 5.2.0
+Requires: jupyter-jupyter-core >= 4.4.0
Requires: jupyter-nbconvert
Requires: jupyter-nbformat
Requires: python3-jupyter-server = %{version}
1
0
Hello community,
here is the log from the commit of package gnome-boxes for openSUSE:Factory checked in at 2019-11-29 15:57:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-boxes (Old)
and /work/SRC/openSUSE:Factory/.gnome-boxes.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-boxes"
Fri Nov 29 15:57:23 2019 rev:66 rq:750950 version:3.34.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-boxes/gnome-boxes.changes 2019-11-15 22:30:50.700111030 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-boxes.new.26869/gnome-boxes.changes 2019-11-29 16:00:54.544854844 +0100
@@ -1,0 +2,10 @@
+Sat Nov 23 18:32:53 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 3.34.2:
+ + Fallback to host's time when RTC is not available in guest.
+ + Add 'Development' and 'Emulator' categories in desktop file.
+ + Recommend latest RHEL/Fedora/Ubuntu.
+ + Fix build with Vala master.
+- Drop gnome-boxes-fix-build-vala.patch: Fixed upstream.
+
+-------------------------------------------------------------------
Old:
----
gnome-boxes-3.34.1.tar.xz
gnome-boxes-fix-build-vala.patch
New:
----
gnome-boxes-3.34.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-boxes.spec ++++++
--- /var/tmp/diff_new_pack.ldxPoY/_old 2019-11-29 16:00:59.068852988 +0100
+++ /var/tmp/diff_new_pack.ldxPoY/_new 2019-11-29 16:00:59.076852985 +0100
@@ -1,7 +1,7 @@
#
# spec file for package gnome-boxes
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
# Copyright (c) 2011 Dominique Leuenberger, Amsterdam, The Netherlands.
#
# All modifications and additions to the file contributed by third parties
@@ -22,15 +22,13 @@
%define govf_sover 0.1
%define gfrdp_sover 0.1
Name: gnome-boxes
-Version: 3.34.1
+Version: 3.34.2
Release: 0
Summary: A GNOME 3 application to access remote or virtual systems
License: LGPL-2.0-or-later
Group: System/GUI/GNOME
URL: https://wiki.gnome.org/Design/Apps/Boxes
Source0: https://download.gnome.org/sources/gnome-boxes/3.34/%{name}-%{version}.tar.…
-# PATCH-FIX-UPSTREAM gnome-boxes-fix-build-vala.patch -- Fix build with new vala
-Patch0: gnome-boxes-fix-build-vala.patch
BuildRequires: fdupes
BuildRequires: meson >= 0.47.0
@@ -173,7 +171,7 @@
%install
%meson_install
-%suse_update_desktop_file org.gnome.Boxes %{name} Emulator
+%suse_update_desktop_file -r org.gnome.Boxes %{name} GNOME GTK System Emulator
%find_lang %{name} %{?no_lang_C}
%fdupes %{buildroot}%{_datadir}
++++++ gnome-boxes-3.34.1.tar.xz -> gnome-boxes-3.34.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/NEWS new/gnome-boxes-3.34.2/NEWS
--- old/gnome-boxes-3.34.1/NEWS 2019-10-07 15:57:37.689123200 +0200
+++ new/gnome-boxes-3.34.2/NEWS 2019-11-23 17:13:42.000000000 +0100
@@ -1,3 +1,21 @@
+3.34.2 - Nov 23, 2019
+=====================
+
+Changes since 3.34.1
+
+ - Fallback to host's time when RTC is not available in guest
+ - Add 'Development' and 'Emulator' categories in desktop file
+ - Recommend latest RHEL/Fedora/Ubuntu
+ - Fix build with Vala master
+ - Various CI fixes
+
+All contributors to this release:
+
+Dor Askayo <dor.askayo(a)gmail.com>
+Felipe Borges <felipeborges(a)gnome.org>
+Gaurav Agrawal <agrawalgaurav1999(a)gmail.com>
+Michael Catanzaro <mcatanzaro(a)gnome.org>
+
3.34.1 - Oct 07, 2019
=====================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/data/org.gnome.Boxes.appdata.xml.in new/gnome-boxes-3.34.2/data/org.gnome.Boxes.appdata.xml.in
--- old/gnome-boxes-3.34.1/data/org.gnome.Boxes.appdata.xml.in 2019-10-07 15:57:37.711123200 +0200
+++ new/gnome-boxes-3.34.2/data/org.gnome.Boxes.appdata.xml.in 2019-11-23 17:13:42.000000000 +0100
@@ -39,9 +39,9 @@
</screenshot>
</screenshots>
<releases>
- <release version="3.34.1" date="2019-10-07">
+ <release version="3.34.2" date="2019-11-23">
<description>
- <p>Boxes 3.34.1 is the latest stable version of GNOME Boxes, and it
+ <p>Boxes 3.34.2 is the latest stable version of GNOME Boxes, and it
contains all the features and bugfixes introduced since our 3.32 release.
</p>
<ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/data/org.gnome.Boxes.desktop.in new/gnome-boxes-3.34.2/data/org.gnome.Boxes.desktop.in
--- old/gnome-boxes-3.34.1/data/org.gnome.Boxes.desktop.in 2019-10-07 15:57:37.711123200 +0200
+++ new/gnome-boxes-3.34.2/data/org.gnome.Boxes.desktop.in 2019-11-23 17:13:42.000000000 +0100
@@ -10,6 +10,6 @@
Terminal=false
Type=Application
StartupNotify=true
-Categories=GNOME;GTK;System;
+Categories=GNOME;GTK;System;Development;Emulator;
MimeType=application/x-cd-image;x-scheme-handler/vnc;x-scheme-handler/rdp;
DBusActivatable=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/data/recommended-downloads.xml new/gnome-boxes-3.34.2/data/recommended-downloads.xml
--- old/gnome-boxes-3.34.1/data/recommended-downloads.xml 2019-10-07 15:57:37.713123000 +0200
+++ new/gnome-boxes-3.34.2/data/recommended-downloads.xml 2019-11-23 17:13:42.000000000 +0100
@@ -9,10 +9,10 @@
available.
-->
<list>
- <os_id>http://redhat.com/rhel/8.0</os_id>
- <os_id>http://fedoraproject.org/fedora/30</os_id>
- <os_id>http://fedoraproject.org/silverblue/30</os_id>
- <os_id>http://ubuntu.com/ubuntu/19.04</os_id>
+ <os_id>http://redhat.com/rhel/8.1</os_id>
+ <os_id>http://fedoraproject.org/fedora/31</os_id>
+ <os_id>http://fedoraproject.org/silverblue/31</os_id>
+ <os_id>http://ubuntu.com/ubuntu/19.10</os_id>
<os_id>http://opensuse.org/opensuse/15.1</os_id>
<os_id>http://debian.org/debian/10</os_id>
<os_id>http://endlessos.com/eos/3.6</os_id>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/meson.build new/gnome-boxes-3.34.2/meson.build
--- old/gnome-boxes-3.34.1/meson.build 2019-10-07 15:57:37.731123200 +0200
+++ new/gnome-boxes-3.34.2/meson.build 2019-11-23 17:13:42.000000000 +0100
@@ -1,6 +1,6 @@
project ('gnome-boxes',
['vala', 'c'],
- version: '3.34.1',
+ version: '3.34.2',
license: 'LGPLv2+',
meson_version: '>= 0.46.0',
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/src/app-window.vala new/gnome-boxes-3.34.2/src/app-window.vala
--- old/gnome-boxes-3.34.1/src/app-window.vala 2019-10-07 15:57:37.772123000 +0200
+++ new/gnome-boxes-3.34.2/src/app-window.vala 2019-11-23 17:13:42.000000000 +0100
@@ -438,7 +438,7 @@
return true;
} else if (event.keyval == Gdk.Key.A &&
- (event.state & default_modifiers) == Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK) {
+ (event.state & default_modifiers) == (Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK)) {
foreach_view ((view) => { view.unselect_all (); });
return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-boxes-3.34.1/src/libvirt-machine.vala new/gnome-boxes-3.34.2/src/libvirt-machine.vala
--- old/gnome-boxes-3.34.1/src/libvirt-machine.vala 2019-10-07 15:57:37.777123000 +0200
+++ new/gnome-boxes-3.34.2/src/libvirt-machine.vala 2019-11-23 17:13:42.000000000 +0100
@@ -649,7 +649,13 @@
try {
yield domain.set_time_async (null, 0, null);
} catch (GLib.Error error) {
- debug ("Failed to update clock on %s: %s", name, error.message);
+ debug ("Failed to update clock using RTC on %s: %s", name, error.message);
+
+ try {
+ yield domain.set_time_async (new DateTime.now_utc (), 0, null);
+ } catch (GLib.Error error) {
+ debug ("Failed to update clock using host time on %s: %s", name, error.message);
+ }
}
}
}
1
0