openSUSE Commits
Threads by month
- ----- 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
April 2020
- 1 participants
- 3810 discussions
Hello community,
here is the log from the commit of package cvise for openSUSE:Factory checked in at 2020-04-29 20:53:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cvise (Old)
and /work/SRC/openSUSE:Factory/.cvise.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cvise"
Wed Apr 29 20:53:58 2020 rev:3 rq:798964 version:1.0.0+git.20200429.99a7004
Changes:
--------
--- /work/SRC/openSUSE:Factory/cvise/cvise.changes 2020-04-27 23:38:04.963488645 +0200
+++ /work/SRC/openSUSE:Factory/.cvise.new.2738/cvise.changes 2020-04-29 20:54:51.481338125 +0200
@@ -1,0 +2,14 @@
+Wed Apr 29 14:15:24 UTC 2020 - mliska(a)suse.cz
+
+- Update to version 1.0.0+git.20200429.99a7004:
+ * Refactor script_path and programs in cvise.py.
+ * Finish usage of GNUInstallDirs (#16).
+ * Rapidly improve Pass statistics:
+ * Update wording in COPYING.
+ * Run tests with ${PYTHON_EXECUTABLE} -m pytest.
+ * Respect -DCLANG_FORMAT cmake variable (#15).
+ * Use GNUInstallDirs for configurable install locations
+ * Add ctest for the project (#14).
+ * Remove one more documentation reference of delta.
+
+-------------------------------------------------------------------
Old:
----
cvise-1.0.0+git.20200426.be575d6.tar.xz
New:
----
cvise-1.0.0+git.20200429.99a7004.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cvise.spec ++++++
--- /var/tmp/diff_new_pack.tCnRDj/_old 2020-04-29 20:54:52.153339664 +0200
+++ /var/tmp/diff_new_pack.tCnRDj/_new 2020-04-29 20:54:52.153339664 +0200
@@ -17,7 +17,7 @@
Name: cvise
-Version: 1.0.0+git.20200426.be575d6
+Version: 1.0.0+git.20200429.99a7004
Release: 0
Summary: Super-parallel Python port of the C-Reduce
License: BSD-3-Clause
@@ -27,7 +27,6 @@
BuildRequires: astyle
BuildRequires: clang9-devel
BuildRequires: cmake
-BuildRequires: delta
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: indent
@@ -39,7 +38,6 @@
BuildRequires: unifdef
Requires: astyle
Requires: clang9
-Requires: delta
Requires: indent
Requires: llvm9
Requires: python3-Pebble
@@ -63,7 +61,7 @@
%build
%define __builder ninja
-%cmake
+%cmake -DCMAKE_INSTALL_LIBEXECDIR=%_libexecdir
%cmake_build
%check
@@ -76,9 +74,12 @@
%files
%license COPYING
%{_bindir}/cvise
-%{_bindir}/clang_delta
-%{_bindir}/clex
-%{_bindir}/strlex
+%dir %{_libexecdir}/cvise
+%{_libexecdir}/cvise/clex
+%{_libexecdir}/cvise/clang_delta
+%{_libexecdir}/cvise/clex
+%{_libexecdir}/cvise/strlex
+%{_libexecdir}/cvise/topformflat
%{_datadir}/cvise
%changelog
++++++ cvise-1.0.0+git.20200426.be575d6.tar.xz -> cvise-1.0.0+git.20200429.99a7004.tar.xz ++++++
++++ 2834 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package knot for openSUSE:Factory checked in at 2020-04-29 20:53:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/knot (Old)
and /work/SRC/openSUSE:Factory/.knot.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "knot"
Wed Apr 29 20:53:51 2020 rev:33 rq:798442 version:1.6.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/knot/knot.changes 2019-12-30 12:35:25.731823769 +0100
+++ /work/SRC/openSUSE:Factory/.knot.new.2738/knot.changes 2020-04-29 20:54:50.461335789 +0200
@@ -1,0 +2,5 @@
+Tue Apr 21 03:59:16 UTC 2020 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- BuildRequire Sphinx with Python 3 due to Python 2 removal.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ knot.spec ++++++
--- /var/tmp/diff_new_pack.cNrzSc/_old 2020-04-29 20:54:51.241337575 +0200
+++ /var/tmp/diff_new_pack.cNrzSc/_new 2020-04-29 20:54:51.245337584 +0200
@@ -1,7 +1,7 @@
#
# spec file for package knot
#
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -66,7 +66,7 @@
%endif
%if 0%{?suse_version} > 1140 && ( 0%{?suse_version} != 1315 || ( 0%{?suse_version} == 1315 && 0%{?is_opensuse} ))
BuildRequires: makeinfo
-BuildRequires: python-Sphinx
+BuildRequires: python3-Sphinx
%endif
%if %{with dnstap}
BuildRequires: libfstrm-devel
1
0
Hello community,
here is the log from the commit of package python-python-vlc for openSUSE:Factory checked in at 2020-04-29 20:53:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-vlc (Old)
and /work/SRC/openSUSE:Factory/.python-python-vlc.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-vlc"
Wed Apr 29 20:53:45 2020 rev:7 rq:798932 version:3.0.9113
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-vlc/python-python-vlc.changes 2019-08-05 10:42:18.219292471 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-vlc.new.2738/python-python-vlc.changes 2020-04-29 20:54:49.521333636 +0200
@@ -1,0 +2,5 @@
+Wed Apr 29 13:34:40 UTC 2020 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 3.0.9113 (no changelog supplied)
+
+-------------------------------------------------------------------
Old:
----
python-vlc-3.0.7110.tar.gz
New:
----
python-vlc-3.0.9113.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-vlc.spec ++++++
--- /var/tmp/diff_new_pack.zdXX2A/_old 2020-04-29 20:54:50.173335129 +0200
+++ /var/tmp/diff_new_pack.zdXX2A/_new 2020-04-29 20:54:50.177335139 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-vlc
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,8 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-vlc
-Version: 3.0.7110
+Version: 3.0.9113
Release: 0
Summary: VLC bindings for python
License: LGPL-2.0-or-later
@@ -42,8 +41,7 @@
(see http://wiki.videolan.org/LibVLC) of the VLC video player.
%prep
-%setup -q -n python-vlc-%{version}
-%patch0 -p1
+%autosetup -p1 -n python-vlc-%{version}
sed -i -e '1{\,^#! %{_bindir}/python,d}' vlc.py
%build
++++++ python-vlc-3.0.7110.tar.gz -> python-vlc-3.0.9113.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/PKG-INFO new/python-vlc-3.0.9113/PKG-INFO
--- old/python-vlc-3.0.7110/PKG-INFO 2019-08-03 20:19:10.000000000 +0200
+++ new/python-vlc-3.0.9113/PKG-INFO 2020-04-29 13:16:27.890426000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-vlc
-Version: 3.0.7110
+Version: 3.0.9113
Summary: VLC bindings for python.
Home-page: http://wiki.videolan.org/PythonBinding
Author: Olivier Aubert
@@ -14,7 +14,7 @@
player. Note that it relies on an already present install of VLC.
It has been automatically generated from the include files of
- vlc 3.0.7, using generator 1.10.
+ vlc 3.0.9, using generator 1.13.
Keywords: vlc,video
Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/cocoavlc.py new/python-vlc-3.0.9113/examples/cocoavlc.py
--- old/python-vlc-3.0.7110/examples/cocoavlc.py 2019-02-24 16:16:27.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/cocoavlc.py 2019-11-01 00:25:50.000000000 +0100
@@ -67,14 +67,14 @@
from urllib.parse import unquote as mrl_unquote # Python 3+
__all__ = ('AppVLC',)
-__version__ = '19.01.31'
+__version__ = '19.08.26'
_Adjust = vlc.VideoAdjustOption # Enum
# <http://Wiki.VideoLan.org/Documentation:Modules/adjust>
_Adjust3 = {_Adjust.Brightness: (0, 1, 2),
_Adjust.Contrast: (0, 1, 2),
_Adjust.Gamma: (0.01, 1, 10),
- _Adjust.Hue: (0, 0, 360),
+ _Adjust.Hue: (-180, 0, 180),
_Adjust.Saturation: (0, 1, 3)}
_Argv0 = os.path.splitext(os.path.basename(__file__))[0]
_macOS = platform.mac_ver()[0:3:2] # PYCHOK false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/glsurface.py new/python-vlc-3.0.9113/examples/glsurface.py
--- old/python-vlc-3.0.7110/examples/glsurface.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/glsurface.py 2020-03-03 16:36:14.000000000 +0100
@@ -0,0 +1,145 @@
+#! /usr/bin/env python3
+
+#
+# GlSurface example code for VLC Python bindings
+# Copyright (C) 2020 Daniël van Adrichem <daniel5gh(a)spiet.nl>
+
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+#
+
+"""VLC GlSurface example
+"""
+
+import time
+import ctypes
+from threading import Lock
+
+import numpy as np
+from OpenGL.GL import (GL_TEXTURE_2D, glTexSubImage2D, glTexImage2D,
+ GL_BGR, GL_RGB,
+ GL_UNSIGNED_BYTE)
+import vlc
+
+class Surface(object):
+ """A lockable image buffer
+ """
+ def __init__(self, w, h):
+ self._width = w
+ self._height = h
+
+ # size in bytes when RV32 *4 or RV24 * 3
+ self._row_size = self._width * 3
+ self._buf_size = self._height * self._row_size
+ # allocate buffer
+ self._buf1 = np.zeros(self._buf_size, dtype=np.ubyte)
+ # get pointer to buffer
+ self._buf_p = self._buf1.ctypes.data_as(ctypes.c_void_p)
+ self._lock = Lock()
+
+ def update_gl(self):
+ # with self._lock:
+ glTexSubImage2D(GL_TEXTURE_2D,
+ 0, 0, 0,
+ self._width,
+ self._height,
+ GL_BGR,
+ GL_UNSIGNED_BYTE,
+ self._buf1)
+
+ def create_texture_gl(self):
+ glTexImage2D(GL_TEXTURE_2D,
+ 0,
+ GL_RGB,
+ self._width, # width
+ self._height, # height
+ 0,
+ GL_BGR,
+ GL_UNSIGNED_BYTE,
+ None)
+
+ @property
+ def width(self):
+ return self._width
+
+ @property
+ def height(self):
+ return self._height
+
+ @property
+ def row_size(self):
+ return self._row_size
+
+ @property
+ def buf(self):
+ return self._buf1
+
+ @property
+ def buf_pointer(self):
+ return self._buf_p
+
+ def lock(self):
+ self._lock.acquire()
+
+ def unlock(self):
+ self._lock.release()
+
+ def __enter__(self, *args):
+ return self._lock.__enter__(*args)
+
+ def __exit__(self, *args):
+ return self._lock.__exit__(*args)
+
+ def get_libvlc_lock_callback(self):
+ @vlc.VideoLockCb
+ def _cb(opaque, planes):
+ self._lock.acquire()
+ planes[0] = self._buf_p
+
+ return _cb
+
+ def get_libvlc_unlock_callback(self):
+ @vlc.VideoUnlockCb
+ def _cb(opaque, picta, planes):
+ self._lock.release()
+
+ return _cb
+
+if __name__ == '__main__':
+ import sys
+ player = vlc.MediaPlayer(sys.argv[1])
+ # play and stop so video_get_size gets a correct value
+ # setting all callbacks to None prevents a window being created on play
+ player.video_set_callbacks(None, None, None, None)
+ # play and stop so video_get_size gets a correct value
+ player.play()
+ time.sleep(1)
+ player.stop()
+ w, h = player.video_get_size()
+ surface = Surface(w, h)
+ # need to keep a reference to the CFUNCTYPEs or else it will get GCed
+ _lock_cb = surface.get_libvlc_lock_callback()
+ _unlock_cb = surface.get_libvlc_unlock_callback()
+ player.video_set_callbacks(_lock_cb, _unlock_cb, None, None)
+ player.video_set_format(
+ "RV24",
+ surface.width,
+ surface.height,
+ surface.row_size)
+ # this starts populating the surface's buf with pixels, from another thread
+ player.play()
+ # in main thread, where gl context is current:
+ # FIXME: add some code to embed the surface + a mainloop
+ # v.surface.update_gl()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/glsurface.py~ new/python-vlc-3.0.9113/examples/glsurface.py~
--- old/python-vlc-3.0.7110/examples/glsurface.py~ 1970-01-01 01:00:00.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/glsurface.py~ 2020-03-03 16:30:47.000000000 +0100
@@ -0,0 +1,130 @@
+import logging
+import time
+import ctypes
+from threading import Lock
+
+import numpy as np
+from OpenGL.GL import (
+ GL_TEXTURE_2D, glTexSubImage2D, glTexImage2D,
+ GL_BGRA, GL_RGBA, GL_BGR, GL_RGB,
+ GL_UNSIGNED_BYTE)
+import vlc
+
+# patched ctypes func definitions because ones provided in vlc.py are incorrect
+_CorrectVideoLockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p))
+_CorrectVideoUnlockCb = ctypes.CFUNCTYPE(
+ ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p))
+
+
+class Surface(object):
+ """A lockable image buffer
+ """
+ def __init__(self, w, h):
+ self._width = w
+ self._height = h
+
+ # size in bytes when RV32 *4 or RV24 * 3
+ self._row_size = self._width * 3
+ self._buf_size = self._height * self._row_size
+ # allocate buffer
+ self._buf1 = np.zeros(self._buf_size, dtype=np.ubyte)
+ # get pointer to buffer
+ self._buf_p = self._buf1.ctypes.data_as(ctypes.c_void_p)
+ self._lock = Lock()
+ _log.debug(self.buf_pointer)
+ _log.debug(self.buf)
+
+ def update_gl(self):
+ # with self._lock:
+ glTexSubImage2D(GL_TEXTURE_2D,
+ 0, 0, 0,
+ self._width,
+ self._height,
+ GL_BGR,
+ GL_UNSIGNED_BYTE,
+ self._buf1)
+
+ def create_texture_gl(self):
+ glTexImage2D(GL_TEXTURE_2D,
+ 0,
+ GL_RGB,
+ self._width, # width
+ self._height, # height
+ 0,
+ GL_BGR,
+ GL_UNSIGNED_BYTE,
+ None)
+
+ @property
+ def width(self):
+ return self._width
+
+ @property
+ def height(self):
+ return self._height
+
+ @property
+ def row_size(self):
+ return self._row_size
+
+ @property
+ def buf(self):
+ return self._buf1
+
+ @property
+ def buf_pointer(self):
+ return self._buf_p
+
+ def lock(self):
+ self._lock.acquire()
+
+ def unlock(self):
+ self._lock.release()
+
+ def __enter__(self, *args):
+ return self._lock.__enter__(*args)
+
+ def __exit__(self, *args):
+ return self._lock.__exit__(*args)
+
+ def get_libvlc_lock_callback(self):
+ @_CorrectVideoLockCb
+ def _cb(opaque, planes):
+ self._lock.acquire()
+ planes[0] = self._buf_p
+
+ return _cb
+
+ def get_libvlc_unlock_callback(self):
+ @_CorrectVideoUnlockCb
+ def _cb(opaque, picta, planes):
+ self._lock.release()
+
+ return _cb
+
+# I use this surface with something like:
+"""
+self.player = vlc.MediaPlayer(url)
+# play and stop so video_get_size gets a correct value
+# setting all callbacks to None prevents a window being created on play
+self.player.video_set_callbacks(None, None, None, None)
+# play and stop so video_get_size gets a correct value
+self.player.play()
+time.sleep(1)
+self.player.stop()
+w, h = self.player.video_get_size()
+self.surface = Surface(w, h)
+# need to keep a reference to the CFUNCTYPEs or else it will get GCed
+self._lock_cb = self.surface.get_libvlc_lock_callback()
+self._unlock_cb = self.surface.get_libvlc_unlock_callback()
+self.player.video_set_callbacks(self._lock_cb, self._unlock_cb, None, None)
+self.player.video_set_format(
+ "RV24",
+ self.surface.width,
+ self.surface.height,
+ self.surface.row_size)
+# this starts populating the surface's buf with pixels, from another thread
+self.player.play()
+# in main thread, where gl context is current:
+self.v.surface.update_gl()
+"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/gtkvlc.py new/python-vlc-3.0.9113/examples/gtkvlc.py
--- old/python-vlc-3.0.7110/examples/gtkvlc.py 2017-04-10 12:16:43.000000000 +0200
+++ new/python-vlc-3.0.9113/examples/gtkvlc.py 2019-11-01 00:21:02.000000000 +0100
@@ -40,6 +40,7 @@
Gdk.threads_init ()
import sys
+import ctypes
import vlc
from gettext import gettext as _
@@ -51,6 +52,16 @@
else:
instance = vlc.Instance()
+
+def get_window_pointer(window):
+ """ Use the window.__gpointer__ PyCapsule to get the C void* pointer to the window
+ """
+ # get the c gpointer of the gdk window
+ ctypes.pythonapi.PyCapsule_GetPointer.restype = ctypes.c_void_p
+ ctypes.pythonapi.PyCapsule_GetPointer.argtypes = [ctypes.py_object]
+ return ctypes.pythonapi.PyCapsule_GetPointer(window.__gpointer__, None)
+
+
class VLCWidget(Gtk.DrawingArea):
"""Simple VLC widget.
@@ -64,7 +75,16 @@
self.player = instance.media_player_new()
def handle_embed(*args):
if sys.platform == 'win32':
- self.player.set_hwnd(self.get_window().get_handle())
+ # get the win32 handle
+ gdkdll = ctypes.CDLL('libgdk-3-0.dll')
+ handle = gdkdll.gdk_win32_window_get_handle(get_window_pointer(self.get_window()))
+ self.player.set_hwnd(handle)
+ elif sys.platform == 'darwin':
+ # get the nsview pointer. NB need to manually specify function signature
+ gdkdll = ctypes.CDLL('libgdk-3.0.dll')
+ get_nsview = gdkdll.gdk_quaerz_window_get_nsview
+ get_nsview.restype, get_nsview.argtypes = [ctypes.c_void_p], ctypes.c_void_p
+ self.player.set_nsobject(get_nsview(get_window_pointer(self.get_window())))
else:
self.player.set_xwindow(self.get_window().get_xid())
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/pyobjcvlc.py new/python-vlc-3.0.9113/examples/pyobjcvlc.py
--- old/python-vlc-3.0.7110/examples/pyobjcvlc.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/pyobjcvlc.py 2019-10-27 20:13:08.000000000 +0100
@@ -0,0 +1,424 @@
+
+# -*- coding: utf-8 -*-
+
+# License at the end of this file. This module is equivalent to
+# PyCocoa/test/simple_VLCplayer.py but based on PyObjC instead
+# of PyCocoa <https://PyPI.org/project/PyCocoa>. Until macOS
+# release Catalina, macOS' Python includes PyObjC.
+
+# See also a more comprehensive VLC player example cocoavlc.py
+# <https://GitHub.com/oaubert/python-vlc/tree/master/examples>
+
+# This VLC player has only been tested with VLC 2.2.8 and 3.0.8,
+# and a compatible vlc.py <https://PyPI.org/project/Python-VLC>
+# binding using Python 2.7.10 with macOS' PyObjC 2.5.1 and Python
+# 3.7.4 with PyObjC 5.2b1 on macOS 10.13.6 High Sierra or 10.14.6
+# Mojave, all in 64-bit only. This player has not been tested
+# on iOS, nor with PyPy and Intel(R) Python.
+
+from os.path import basename # PYCHOK expected
+from platform import architecture, mac_ver # PYCHOK false
+import sys
+
+_argv0 = basename(__file__)
+if not sys.platform.startswith('darwin'):
+ raise ImportError('%s only supported on %s' % (_argv0, 'macOS'))
+
+class _ImportError(ImportError): # PYCHOK expected
+ def __init__(self, package, PyPI):
+ PyPI = '<https://PyPI.org/project/%s>' % (PyPI,)
+ t = 'no module %s, see %s' % (package, PyPI)
+ ImportError.__init__(self, t)
+
+try: # PYCHOK expected
+ from objc import __version__ as __PyObjC__
+except ImportError:
+ raise _ImportError('objc', 'PyObjC')
+
+# the imports listed explicitly to help PyChecker
+from Cocoa import NSAlternateKeyMask, NSApplication, \
+ NSBackingStoreBuffered, NSBundle, \
+ NSCommandKeyMask, NSControlKeyMask, \
+ NSMakeRect, NSMenu, NSMenuItem, \
+ NSObject, \
+ NSScreen, NSShiftKeyMask, NSSize, \
+ NSView, NSWindow
+try:
+ from Cocoa import NSWindowStyleMaskClosable, NSWindowStyleMaskMiniaturizable, \
+ NSWindowStyleMaskResizable, NSWindowStyleMaskTitled
+except ImportError: # previously, NSWindowStyleMaskXxx was named NSXxxWindowMask
+ from Cocoa import NSClosableWindowMask as NSWindowStyleMaskClosable, \
+ NSMiniaturizableWindowMask as NSWindowStyleMaskMiniaturizable, \
+ NSResizableWindowMask as NSWindowStyleMaskResizable, \
+ NSTitledWindowMask as NSWindowStyleMaskTitled
+
+NSStr = bytes if sys.version_info.major < 3 else str
+NSWindowStyleMaskUsual = NSWindowStyleMaskClosable | NSWindowStyleMaskMiniaturizable \
+ | NSWindowStyleMaskResizable | NSWindowStyleMaskTitled
+
+__all__ = ('simpleVLCplay',)
+__version__ = '19.09.27'
+
+
+try: # all imports listed explicitly to help PyChecker
+ from math import gcd # Python 3+
+except ImportError:
+ try:
+ from fractions import gcd # Python 2-
+ except ImportError:
+
+ def gcd(a, b):
+ a, b = abs(a), abs(b)
+ if a < b:
+ a, b = b, a
+ while b:
+ a, b = b, (a % b)
+ return a
+
+
+def mspf(fps):
+ '''Convert frames per second to frame length in millisecs.
+ '''
+ return 1000.0 / (fps or 25)
+
+
+def nsBundleRename(title, match='Python'):
+ '''Change the bundle title if the current title matches.
+
+ @param title: New bundle title (C{str}).
+ @keyword match: Optional, previous title to match (C{str}).
+
+ @return: The previous bundle title (C{str}) or None.
+
+ @note: Used to mimick C{NSApplication.setTitle_(ns_title)},
+ the application name shown in the menu bar.
+ '''
+ # <https://Developer.Apple.com/documentation/
+ # foundation/nsbundle/1495012-bundlewithpath>
+ # ns = NSBundle.bundleWithPath_(os.path.abspath(match))
+ p, ns = None, NSBundle.mainBundle()
+ if ns:
+ ns = ns.localizedInfoDictionary() or ns.infoDictionary()
+ if ns:
+ k = NSStr('CFBundleName')
+ p = ns.objectForKey_(k) or None
+ if title and match in (p, '', None): # can't be empty
+ ns.setObject_forKey_(NSStr(title), k)
+ return p
+
+
+def printf(fmt, *args, **kwds): # argv0='', nl=0, nt=0
+ '''Formatted print I{fmt % args} with optional keywords.
+
+ @param fmt: Print-like format (C{str}).
+ @param args: Optional arguments to include (I{all positional}).
+ @keyword argv0: Optional prefix (C{str}).
+ @keyword nl: Number of leading blank lines (C{int}).
+ @keyword nt: Number of trailing blank lines (C{int}).
+ '''
+ a = kwds.get('argv0', _argv0)
+ t = (fmt % args) if args else fmt
+ nl = '\n' * kwds.get('nl', 0)
+ nt = '\n' * kwds.get('nt', 0)
+ print(''.join((nl, a, ' ', t, nt)))
+
+
+def terminating(app, timeout):
+ '''Terminate C{app} after C{timeout} seconds.
+
+ @param app: The application (C{NSApplication} instance).
+ @patam timeout: Time in seconds (C{float}).
+ '''
+ try:
+ secs = float(timeout)
+ except (TypeError, ValueError):
+ secs = 0
+
+ if secs > 0:
+ from threading import Thread
+
+ def _t():
+ from time import sleep
+
+ sleep(secs + 0.5)
+ app.terminate_()
+
+ Thread(target=_t).start()
+
+
+class _NSDelegate(NSObject):
+ '''(INTERNAL) Delegate for NSApplication and NSWindow,
+ handling PyObjC events, notifications and callbacks.
+ '''
+ app = None # NSApplication
+ NSItem = None # NSMenuItem
+ player = None # vlc.MediaPlayer
+ ratio = 2 # aspect_ratio calls
+ title = '' # top-level menu title
+ video = None # video file name
+ window = None # main NSWindow
+
+ def applicationDidFinishLaunching_(self, notification):
+
+ # the VLC player needs an NSView object
+ self.window, view = _Window2(title=self.video or self.title)
+ # set the window's delegate to the app's to
+ # make method .windowWillClose_ work, see
+ # <https://Gist.GitHub.com/kaloprominat/6105220>
+ self.window.setDelegate_(self)
+ # pass viewable to VLC player, see PyObjC Generated types ...
+ # <https://PyObjC.ReadTheDocs.io/en/latest/core/type-wrapper.html>
+ self.player.set_nsobject(view.__c_void_p__())
+
+ menu = NSMenu.alloc().init() # create main menu
+ menu.addItem_(_MenuItem('Full ' + 'Screen', 'enterFullScreenMode:', 'f', ctrl=True)) # Ctrl-Cmd-F, Esc to exit
+ menu.addItem_(_MenuItem('Info', 'info:', 'i'))
+
+ menu.addItem_(_MenuItemSeparator())
+ self.NSitem = _MenuItem('Pause', 'toggle:', 'p', ctrl=True) # Ctrl-Cmd-P
+ menu.addItem_(self.NSitem)
+ menu.addItem_(_MenuItem('Rewind', 'rewind:', 'r', ctrl=True)) # Ctrl-Cmd-R
+
+ menu.addItem_(_MenuItemSeparator())
+ menu.addItem_(_MenuItem('Hide ' + self.title, 'hide:', 'h')) # Cmd-H, implied
+ menu.addItem_(_MenuItem('Hide Others', 'hideOtherApplications:', 'h', alt=True)) # Alt-Cmd-H
+ menu.addItem_(_MenuItem('Show All', 'unhideAllApplications:')) # no key
+
+ menu.addItem_(_MenuItemSeparator())
+ menu.addItem_(_MenuItem('Quit ' + self.title, 'terminate:', 'q')) # Cmd-Q
+
+ subMenu = NSMenuItem.alloc().init()
+ subMenu.setSubmenu_(menu)
+
+ menuBar = NSMenu.alloc().init()
+ menuBar.addItem_(subMenu)
+ self.app.setMainMenu_(menuBar)
+
+ self.player.play()
+ # adjust the contents' aspect ratio
+ self.windowDidResize_(None)
+
+ def info_(self, notification):
+ try:
+ p = self.player
+ if p.is_playing():
+ p.pause()
+ m = p.get_media()
+ v = sys.modules[p.__class__.__module__] # import vlc
+ b = v.bytes_to_str
+
+ printf(__version__, nl=1)
+ # print Python, vlc, libVLC, media info
+ printf('PyObjC %s', __PyObjC__, nl=1)
+ printf('Python %s %s', sys.version.split()[0], architecture()[0])
+ printf('macOS %s', ' '.join(mac_ver()[0:3:2]), nt=1)
+
+ printf('vlc.py %s (%#x)', v.__version__, v.hex_version())
+ printf('built: %s', v.build_date)
+
+ printf('libVLC %s (%#x)', b(v.libvlc_get_version()), v.libvlc_hex_version())
+ printf('libVLC %s', b(v.libvlc_get_compiler()), nt=1)
+
+ printf('media: %s', b(m.get_mrl()))
+ printf('state: %s', p.get_state())
+
+ printf('track/count: %s/%s', p.video_get_track(), p.video_get_track_count())
+ printf('time/duration: %s/%s ms', p.get_time(), m.get_duration())
+ printf('position/length: %.2f%%/%s ms', p.get_position() * 100.0, p.get_length())
+ f = p.get_fps()
+ printf('fps: %.3f (%.3f ms)', f, mspf(f))
+ printf('rate: %s', p.get_rate())
+
+ w, h = p.video_get_size(0)
+ printf('video size: %sx%s', w, h)
+ r = gcd(w, h) or ''
+ if r and w and h:
+ r = ' (%s:%s)' % (w // r, h // r)
+ printf('aspect ratio: %s%s', p.video_get_aspect_ratio(), r)
+
+ printf('scale: %.3f', p.video_get_scale())
+ o = p.get_nsobject() # for macOS only
+ printf('nsobject: %r (%#x)', o, o, nt=1)
+ except Exception as x:
+ printf('%r', x, nl=1, nt=1)
+
+ def rewind_(self, notification):
+ self.player.set_position(0.0)
+ # can't re-play once at the end
+ # self.player.play()
+
+ def toggle_(self, notification):
+ # toggle between Pause and Play
+ if self.player.is_playing():
+ # note, .pause() pauses and un-pauses the video,
+ # .stop() stops the video and blanks the window
+ self.player.pause()
+ t = 'Play'
+ else:
+ self.player.play()
+ t = 'Pause'
+ self.NSitem.setTitle_(NSStr(t))
+
+ def windowDidResize_(self, notification):
+ if self.window and self.ratio:
+ # get and maintain the aspect ratio
+ # (the first player.video_get_size()
+ # call returns (0, 0), subsequent
+ # calls return (w, h) correctly)
+ w, h = self.player.video_get_size(0)
+ r = gcd(w, h)
+ if r and w and h:
+ r = NSSize(w // r , h // r)
+ self.window.setContentAspectRatio_(r)
+ self.ratio -= 1
+
+ def windowWillClose_(self, notification):
+ self.app.terminate_(self)
+
+
+def _MenuItem(label, action=None, key='', alt=False, cmd=True, ctrl=False, shift=False):
+ '''New NS menu item with action and optional shortcut key.
+ '''
+ # <http://Developer.Apple.com/documentation/appkit/nsmenuitem/1514858-initwith…>
+ ns = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
+ NSStr(label), NSStr(action), NSStr(key))
+ if key:
+ mask = 0
+ if alt:
+ mask |= NSAlternateKeyMask
+ if cmd:
+ mask |= NSCommandKeyMask
+ if ctrl:
+ mask |= NSControlKeyMask
+ if shift:
+ mask |= NSShiftKeyMask # NSAlphaShiftKeyMask
+ if mask:
+ ns.setKeyEquivalentModifierMask_(mask)
+ return ns
+
+
+def _MenuItemSeparator():
+ '''A menu separator item.
+ '''
+ return NSMenuItem.separatorItem()
+
+
+def _Window2(title=_argv0, fraction=0.5):
+ '''Create the main NS window and the drawable NS view.
+ '''
+ frame = NSScreen.mainScreen().frame()
+ if 0.1 < fraction < 1.0:
+ # use the lower left quarter of the screen size as frame
+ w = int(frame.size.width * fraction + 0.5)
+ h = int(frame.size.height * w / frame.size.width)
+ frame = NSMakeRect(frame.origin.x + 10, frame.origin.y + 10, w, h)
+
+ window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_(
+ frame,
+ NSWindowStyleMaskUsual,
+ NSBackingStoreBuffered,
+ False) # or 0
+ window.setTitle_(NSStr(title))
+
+ # create the drawable_nsobject NSView for vlc.py, see vlc.MediaPlayer.set_nsobject()
+ # for an alternate NSView object with protocol VLCOpenGLVideoViewEmbedding
+ # <http://StackOverflow.com/questions/11562587/create-nsview-directly-from-code>
+ # <http://GitHub.com/ariabuckles/pyobjc-framework-Cocoa/blob/master/Examples/A…>
+ view = NSView.alloc().initWithFrame_(frame)
+ window.setContentView_(view)
+ # force the video/window aspect ratio, adjusted
+ # above when the window is/has been resized
+ window.setContentAspectRatio_(frame.size)
+
+ window.makeKeyAndOrderFront_(None)
+ return window, view
+
+
+def simpleVLCplay(player, title=_argv0, video='', timeout=None):
+ '''Create a minimal NS application, drawable window and basic menu
+ for the given VLC player (with media) and start the player.
+
+ @note: This function never returns, but the VLC player and
+ other Python thread(s) do run.
+ '''
+ if not player:
+ raise ValueError('%s invalid: %r' % ('player', player))
+
+ app = NSApplication.sharedApplication()
+ nsBundleRename(NSStr(title)) # top-level menu title
+
+ dlg = _NSDelegate.alloc().init()
+ dlg.app = app
+ dlg.player = player
+ dlg.title = title or _argv0
+ dlg.video = video or basename(player.get_media().get_mrl())
+ app.setDelegate_(dlg)
+
+ terminating(app, timeout)
+ app.run() # never returns
+
+
+if __name__ == '__main__':
+
+ try:
+ import vlc
+ except ImportError:
+ raise _ImportError('vlc', 'Python-VLC')
+
+ _argv0 = _name = basename(sys.argv[0])
+ _timeout = None
+
+ args = sys.argv[1:]
+ while args and args[0].startswith('-'):
+ o = args.pop(0)
+ t = o.lower()
+ if t in ('-h', '--help'):
+ printf('usage: [-h|--help] [-name "%s"] [-timeout <secs>] %s',
+ _name, '<video_file_name>')
+ sys.exit(0)
+ elif args and len(t) > 1 and '-name'.startswith(t):
+ _name = args.pop(0)
+ elif args and len(t) > 1 and '-timeout'.startswith(t):
+ _timeout = args.pop(0)
+ elif t in ('-v', '--version'):
+ print('%s: %s (%s %s)' % (basename(__file__), __version__,
+ 'PyObjC', __PyObjC__))
+ try:
+ vlc.print_version()
+ vlc.print_python()
+ except AttributeError:
+ pass
+ sys.exit(0)
+ else:
+ printf('invalid option: %s', o)
+ sys.exit(1)
+
+ if not args:
+ printf('missing %s', '<video_file_name>')
+ sys.exit(1)
+
+ # create a VLC player and play the video
+ p = vlc.MediaPlayer(args.pop(0))
+ simpleVLCplay(p, title=_name, timeout=_timeout) # never returns
+
+# MIT License <http://OpenSource.org/licenses/MIT>
+#
+# Copyright (C) 2017-2020 -- mrJean1 at Gmail -- All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/pyqt5vlc.py new/python-vlc-3.0.9113/examples/pyqt5vlc.py
--- old/python-vlc-3.0.7110/examples/pyqt5vlc.py 2019-01-30 23:28:49.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/pyqt5vlc.py 2020-04-29 13:11:50.000000000 +0200
@@ -1,3 +1,21 @@
+#
+# PyQt5 example for VLC Python bindings
+# Copyright (C) 2009-2010 the VideoLAN team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+#
"""
A simple example for VLC python bindings using PyQt5.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/video_sync/README.md new/python-vlc-3.0.9113/examples/video_sync/README.md
--- old/python-vlc-3.0.7110/examples/video_sync/README.md 2019-01-30 23:28:49.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/video_sync/README.md 2020-04-29 13:11:50.000000000 +0200
@@ -1,6 +1,6 @@
## Video Synchronization with python-vlc
-<img src="figure.png" width="500" align="right">
+<img src="figure.png" width="600" align="center">
Each video player is launched as a separate process. `main.py` is the entry point into the program. It creates the "main" video player with all of its respective controls. The main video player is started alongside a multithreaded server that "broadcasts" signals (e.g. play, pause, stop, and etc.) and the current time of the video player, to all client/slave videos. Specifically, this is accomplished by putting the current time or the signal of the main video player into a `queue` (FIFO). The multithreaded server gets the value from the queue and sends the value to each connected client.
@@ -8,4 +8,4 @@
In order to facilitate interprocess communication, UNIX domain sockets are used to send and receive data. For the time being, Windows users have to use TCP/IP sockets.
-Note: for the sake of clarity, the figure on the right only shows the case of 3 client/slave videos.
+Note: for the sake of clarity, the figure only shows the case of 3 client/slave videos.
Binary files old/python-vlc-3.0.7110/examples/video_sync/figure.png and new/python-vlc-3.0.9113/examples/video_sync/figure.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/examples/video_sync/network.py new/python-vlc-3.0.9113/examples/video_sync/network.py
--- old/python-vlc-3.0.7110/examples/video_sync/network.py 2019-01-30 23:28:49.000000000 +0100
+++ new/python-vlc-3.0.9113/examples/video_sync/network.py 2020-04-29 13:11:50.000000000 +0200
@@ -27,8 +27,9 @@
import os
import platform
import socket
-import threading
import sys
+import struct
+import threading
import logging
from concurrent import futures
@@ -104,11 +105,13 @@
def data_sender(self):
while True:
- data = "{},".format(self.data_queue.get())
+ data = self.data_queue.get()
+ data = str(data).encode()
+ msg = struct.pack(">I", len(data)) + data
with futures.ThreadPoolExecutor(max_workers=5) as ex:
for client in self.clients:
- ex.submit(self.sendall, client, data.encode())
+ ex.submit(self.sendall, client, msg)
def sendall(self, client, data):
"""Wraps socket module's `sendall` function"""
@@ -153,22 +156,42 @@
thread.daemon = True
thread.start()
+ def recv_all(self, size):
+ """Helper function to recv `size` number of bytes, or return False"""
+ data = bytearray()
+
+ while (len(data) < size):
+ packet = self.sock.recv(size - len(data))
+ if not packet:
+ return False
+
+ data.extend(packet)
+
+ return data
+
+ def recv_msg(self):
+ """Receive the message size, n, and receive n bytes into a buffer"""
+ raw_msg_size = self.recv_all(4)
+ if not raw_msg_size:
+ return False
+
+ msg_size = struct.unpack(">I", raw_msg_size)[0]
+ return self.recv_all(msg_size)
+
def data_receiver(self):
"""Handles receiving, parsing, and queueing data"""
logger.info("New data receiver thread started.")
try:
while True:
- data = self.sock.recv(4096)
- if data:
- data = data.decode()
-
- for char in data.split(','):
- if char:
- if char == 'd':
- self.data_queue.queue.clear()
- else:
- self.data_queue.put(char)
+ raw_data = self.recv_msg()
+ if raw_data:
+ data = raw_data.decode()
+ if 'd' in set(data):
+ self.data_queue.queue.clear()
+ continue
+ else:
+ self.data_queue.put(data)
except:
logger.exception("Closing socket: %s", self.sock)
self.sock.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/python_vlc.egg-info/PKG-INFO new/python-vlc-3.0.9113/python_vlc.egg-info/PKG-INFO
--- old/python-vlc-3.0.7110/python_vlc.egg-info/PKG-INFO 2019-08-03 20:19:10.000000000 +0200
+++ new/python-vlc-3.0.9113/python_vlc.egg-info/PKG-INFO 2020-04-29 13:16:27.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-vlc
-Version: 3.0.7110
+Version: 3.0.9113
Summary: VLC bindings for python.
Home-page: http://wiki.videolan.org/PythonBinding
Author: Olivier Aubert
@@ -14,7 +14,7 @@
player. Note that it relies on an already present install of VLC.
It has been automatically generated from the include files of
- vlc 3.0.7, using generator 1.10.
+ vlc 3.0.9, using generator 1.13.
Keywords: vlc,video
Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/python_vlc.egg-info/SOURCES.txt new/python-vlc-3.0.9113/python_vlc.egg-info/SOURCES.txt
--- old/python-vlc-3.0.7110/python_vlc.egg-info/SOURCES.txt 2019-08-03 20:19:10.000000000 +0200
+++ new/python-vlc-3.0.9113/python_vlc.egg-info/SOURCES.txt 2020-04-29 13:16:27.000000000 +0200
@@ -5,8 +5,11 @@
setup.py
vlc.py
examples/cocoavlc.py
+examples/glsurface.py
+examples/glsurface.py~
examples/gtk2vlc.py
examples/gtkvlc.py
+examples/pyobjcvlc.py
examples/pyqt5vlc.py
examples/qtvlc.py
examples/tkvlc.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/setup.py new/python-vlc-3.0.9113/setup.py
--- old/python-vlc-3.0.7110/setup.py 2019-08-03 20:18:29.000000000 +0200
+++ new/python-vlc-3.0.9113/setup.py 2020-04-29 13:14:12.000000000 +0200
@@ -4,7 +4,7 @@
from setuptools import setup
setup(name='python-vlc',
- version = '3.0.7110',
+ version = '3.0.9113',
author='Olivier Aubert',
author_email='contact(a)olivieraubert.net',
maintainer='Olivier Aubert',
@@ -35,5 +35,5 @@
player. Note that it relies on an already present install of VLC.
It has been automatically generated from the include files of
- vlc 3.0.7, using generator 1.10.
+ vlc 3.0.9, using generator 1.13.
""")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-vlc-3.0.7110/vlc.py new/python-vlc-3.0.9113/vlc.py
--- old/python-vlc-3.0.7110/vlc.py 2019-08-03 20:13:06.000000000 +0200
+++ new/python-vlc-3.0.9113/vlc.py 2020-04-29 13:13:52.000000000 +0200
@@ -52,10 +52,10 @@
import logging
logger = logging.getLogger(__name__)
-__version__ = "3.0.7110"
-__libvlc_version__ = "3.0.7"
-__generator_version__ = "1.10"
-build_date = "Sat Aug 3 20:13:06 2019 3.0.7"
+__version__ = "3.0.9113"
+__libvlc_version__ = "3.0.9"
+__generator_version__ = "1.13"
+build_date = "Wed Apr 29 13:13:52 2020 3.0.9"
# The libvlc doc states that filenames are expected to be in UTF8, do
# not rely on sys.getfilesystemencoding() which will be confused,
@@ -157,6 +157,9 @@
plugin_path = os.path.dirname(p)
break
if plugin_path is not None: # try loading
+ # PyInstaller Windows fix
+ if 'PyInstallerCDLL' in ctypes.CDLL.__name__:
+ ctypes.windll.kernel32.SetDllDirectoryW(None)
p = os.getcwd()
os.chdir(plugin_path)
# if chdir failed, this will raise an exception
@@ -258,6 +261,15 @@
_default_instance = Instance()
return _default_instance
+def try_fspath(path):
+ """Try calling os.fspath
+ os.fspath is only available from py3.6
+ """
+ try:
+ return os.fspath(path)
+ except (AttributeError, TypeError):
+ return path
+
_Cfunctions = {} # from LibVLC __version__
_Globals = globals() # sys.modules[__name__].__dict__
@@ -1346,6 +1358,31 @@
('MaxFrameAverageLightLevel', ctypes.c_uint16),
]
+class VideoSetupDeviceCfg(_Cstruct):
+ _fields_ = [
+ ('hardware_decoding', ctypes.c_bool),
+ ]
+
+class VideoSetupDeviceInfo(_Cstruct):
+ # FIXME: this is normally a union for D3D11/D3D9. We only define
+ # the mapping for d3d11 here
+ _fields_ = [
+ ('device_context', ctypes.c_void_p),
+ ]
+
+class VideoRenderCfg(_Cstruct):
+ _fields_ = [
+ ('width', ctypes.c_uint),
+ ('height', ctypes.c_uint),
+ ('bitdepth', ctypes.c_uint),
+ ('full_range', ctypes.c_bool),
+ # FIXME: should be references to enums
+ ('colorspace', ctypes.c_uint),
+ ('primaries', ctypes.c_uint),
+ ('transfer', ctypes.c_uint),
+ ('device', ctypes.c_void_p),
+ ]
+
# Generated callback definitions #
class Callback(ctypes.c_void_p):
"""Callback function notification.
@@ -1530,7 +1567,7 @@
@param fmt: printf() format string (as defined by ISO C11).
@param args: variable argument list for the format @note Log message handlers B{must} be thread-safe. @warning The message context pointer, the format string parameters and the variable arguments are only valid until the callback returns.
'''
- MediaOpenCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_uint64))
+ MediaOpenCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_int), ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_uint64))
MediaOpenCb.__doc__ = '''Callback prototype to open a custom bitstream input media.
The same media item can be opened multiple times. Each time, this callback
is invoked. It should allocate and initialize any instance-specific
@@ -1539,14 +1576,14 @@
@param opaque: private pointer as passed to L{libvlc_media_new_callbacks}().
@return: datap storage space for a private data pointer, sizep byte length of the bitstream or UINT64_MAX if unknown.
'''
- MediaReadCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_size_t)
+ MediaReadCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_ssize_t), ctypes.c_void_p, ctypes.POINTER(ctypes.c_char), ctypes.c_size_t)
MediaReadCb.__doc__ = '''Callback prototype to read data from a custom bitstream input media.
@param opaque: private pointer as set by the @ref libvlc_media_open_cb callback.
@param buf: start address of the buffer to read data into.
@param len: bytes length of the buffer.
@return: strictly positive number of bytes read, 0 on end-of-stream, or -1 on non-recoverable error @note If no data is immediately available, then the callback should sleep. @warning The application is responsible for avoiding deadlock situations. In particular, the callback should return an error if playback is stopped; if it does not return, then L{libvlc_media_player_stop}() will never return.
'''
- MediaSeekCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint64)
+ MediaSeekCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_int), ctypes.c_void_p, ctypes.c_uint64)
MediaSeekCb.__doc__ = '''Callback prototype to seek a custom bitstream input media.
@param opaque: private pointer as set by the @ref libvlc_media_open_cb callback.
@param offset: absolute byte offset to seek to.
@@ -1556,7 +1593,7 @@
MediaCloseCb.__doc__ = '''Callback prototype to close a custom bitstream input media.
@param opaque: private pointer as set by the @ref libvlc_media_open_cb callback.
'''
- VideoLockCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_void_p), ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p))
+ VideoLockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p))
VideoLockCb.__doc__ = '''Callback prototype to allocate and lock a picture buffer.
Whenever a new video frame needs to be decoded, the lock callback is
invoked. Depending on the video chroma, one or three pixel planes of
@@ -1584,7 +1621,7 @@
@param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN].
@param picture: private pointer returned from the @ref libvlc_video_lock_cb callback [IN].
'''
- VideoFormatCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
+ VideoFormatCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
VideoFormatCb.__doc__ = '''Callback prototype to configure picture buffers format.
This callback gets the format of the video as output by the video decoder
and the chain of video filters (if any). It can opt to change any parameter
@@ -1654,7 +1691,7 @@
@param volume: software volume (1. = nominal, 0. = mute).
@param mute: muted flag.
'''
- AudioSetupCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
+ AudioSetupCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
AudioSetupCb.__doc__ = '''Callback prototype to setup the audio playback.
This is called when the media player needs to create a new audio output.
@param opaque: pointer to the data pointer passed to L{libvlc_audio_set_callbacks}() [IN/OUT].
@@ -1871,7 +1908,7 @@
def media_player_new(self, uri=None):
"""Create a new MediaPlayer instance.
- @param uri: an optional URI to play in the player.
+ @param uri: an optional URI to play in the player as a str, bytes or PathLike object.
"""
p = libvlc_media_player_new(self)
if uri:
@@ -1903,8 +1940,10 @@
Alternatively, options can be added to the media using the
Media.add_options method (with the same limitation).
+ @param mrl: A str, bytes or PathLike object
@param options: optional media option=value strings
"""
+ mrl = try_fspath(mrl)
if ':' in mrl and mrl.index(':') > 1:
# Assume it is a URL
m = libvlc_media_new_location(self, str_to_bytes(mrl))
@@ -1916,9 +1955,18 @@
m._instance = self
return m
+ def media_new_path(self, path):
+ """Create a media for a certain file path.
+ See L{media_release}.
+ @param path: A str, byte, or PathLike object representing a local filesystem path.
+ @return: the newly created media or None on error.
+ """
+ path = try_fspath(path)
+ return libvlc_media_new_path(self, str_to_bytes(path))
+
def media_list_new(self, mrls=None):
"""Create a new MediaList instance.
- @param mrls: optional list of MRL strings
+ @param mrls: optional list of MRL strings, bytes, or PathLike objects.
"""
l = libvlc_media_list_new(self)
# We should take the lock, but since we did not leak the
@@ -2313,15 +2361,6 @@
return libvlc_media_new_location(self, str_to_bytes(psz_mrl))
- def media_new_path(self, path):
- '''Create a media for a certain file path.
- See L{media_release}.
- @param path: local filesystem path.
- @return: the newly created media or None on error.
- '''
- return libvlc_media_new_path(self, str_to_bytes(path))
-
-
def media_new_fd(self, fd):
'''Create a media for an already open file descriptor.
The file descriptor shall be open for reading (or reading and writing).
@@ -3013,6 +3052,7 @@
@param mrl: a media instance or a MRL.
@return: 0 on success, -1 if the media list is read-only.
"""
+ mrl = try_fspath(mrl)
if isinstance(mrl, basestring):
mrl = (self.get_instance() or get_default_instance()).media_new(mrl)
return libvlc_media_list_add_media(self, mrl)
@@ -5833,7 +5873,7 @@
'''
f = _Cfunctions.get('libvlc_media_slaves_add', None) or \
_Cfunction('libvlc_media_slaves_add', ((1,), (1,), (1,), (1,),), None,
- ctypes.c_int, Media, MediaSlaveType, ctypes.c_int, ctypes.c_char_p)
+ ctypes.c_int, Media, MediaSlaveType, ctypes.c_uint, ctypes.c_char_p)
return f(p_md, i_type, i_priority, psz_uri)
def libvlc_media_slaves_clear(p_md):
@@ -5859,7 +5899,7 @@
'''
f = _Cfunctions.get('libvlc_media_slaves_get', None) or \
_Cfunction('libvlc_media_slaves_get', ((1,), (1,),), None,
- ctypes.c_int, Media, ctypes.POINTER(ctypes.POINTER(MediaSlave)))
+ ctypes.c_uint, Media, ctypes.POINTER(ctypes.POINTER(MediaSlave)))
return f(p_md, ppp_slaves)
def libvlc_media_slaves_release(pp_slaves, i_count):
@@ -5870,7 +5910,7 @@
'''
f = _Cfunctions.get('libvlc_media_slaves_release', None) or \
_Cfunction('libvlc_media_slaves_release', ((1,), (1,),), None,
- None, ctypes.POINTER(MediaSlave), ctypes.c_int)
+ None, ctypes.POINTER(MediaSlave), ctypes.c_uint)
return f(pp_slaves, i_count)
def libvlc_renderer_item_hold(p_item):
@@ -7207,7 +7247,7 @@
'''
f = _Cfunctions.get('libvlc_media_player_set_video_title_display', None) or \
_Cfunction('libvlc_media_player_set_video_title_display', ((1,), (1,), (1,),), None,
- None, MediaPlayer, Position, ctypes.c_int)
+ None, MediaPlayer, Position, ctypes.c_uint)
return f(p_mi, position, timeout)
def libvlc_media_player_add_slave(p_mi, i_type, psz_uri, b_select):
@@ -7616,7 +7656,7 @@
'''
f = _Cfunctions.get('libvlc_video_take_snapshot', None) or \
_Cfunction('libvlc_video_take_snapshot', ((1,), (1,), (1,), (1,), (1,),), None,
- ctypes.c_int, MediaPlayer, ctypes.c_uint, ctypes.c_char_p, ctypes.c_int, ctypes.c_int)
+ ctypes.c_int, MediaPlayer, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint)
return f(p_mi, num, psz_filepath, i_width, i_height)
def libvlc_video_set_deinterlace(p_mi, psz_mode):
1
0
Hello community,
here is the log from the commit of package python-nilearn for openSUSE:Factory checked in at 2020-04-29 20:53:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nilearn (Old)
and /work/SRC/openSUSE:Factory/.python-nilearn.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nilearn"
Wed Apr 29 20:53:40 2020 rev:4 rq:798921 version:0.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nilearn/python-nilearn.changes 2020-01-31 23:57:55.655671391 +0100
+++ /work/SRC/openSUSE:Factory/.python-nilearn.new.2738/python-nilearn.changes 2020-04-29 20:54:48.353330960 +0200
@@ -1,0 +2,5 @@
+Wed Apr 29 12:53:13 UTC 2020 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Use xdist to speedup the tests to take less than 30 mins
+
+-------------------------------------------------------------------
Old:
----
nilearn-0.6.1.tar.gz
New:
----
nilearn-0.6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nilearn.spec ++++++
--- /var/tmp/diff_new_pack.APbcTp/_old 2020-04-29 20:54:49.093332655 +0200
+++ /var/tmp/diff_new_pack.APbcTp/_new 2020-04-29 20:54:49.097332664 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-nilearn
-Version: 0.6.1
+Version: 0.6.2
Release: 0
Summary: Statistical learning tool for neuroimaging
License: BSD-3-Clause
@@ -29,22 +29,23 @@
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-joblib >= 0.11
+Requires: python-matplotlib >= 2.0
+Requires: python-nibabel >= 2.0.2
+Requires: python-numpy >= 0.11
+Requires: python-scikit-learn >= 0.19
+Requires: python-scipy >= 0.19
+BuildArch: noarch
# SECTION test requirements
-BuildRequires: %{python_module joblib}
+BuildRequires: %{python_module joblib >= 0.11}
BuildRequires: %{python_module matplotlib >= 2.0}
BuildRequires: %{python_module nibabel >= 2.0.2}
-BuildRequires: %{python_module nose}
+BuildRequires: %{python_module numpy >= 0.11}
+BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scikit-learn >= 0.19}
BuildRequires: %{python_module scipy >= 0.19}
# /SECTION
-Requires: python-joblib
-Requires: python-matplotlib >= 2.0
-Requires: python-nibabel >= 2.0.2
-Requires: python-scikit-learn >= 0.19
-Requires: python-scipy >= 0.19
-BuildArch: noarch
-
%python_subpackages
%description
@@ -63,7 +64,9 @@
%check
# Disable tests that require a network connection
-%pytest -v -k 'not test_fetch_ and not test_get_batch and not test_scroll_server_results and not test_simple_download and not test_fill_html_template and not test_temp_file_removing and not test_view_img_on_surf and not test_view_surf and not test_resample_img_segmentation_fault'
+# Disable tests requiring to be executed without xdist (serialization issue): test_tikhonov_regularization_vs_graph_net or test_connectivity_measure_outputs or test_canica_square_img or test_with_globbing_patterns_with_single_subject or test_dict_learning
+# Disable tests failing with new numpy (conversions to float fail): test_plot_surf_stat_map test_plot_surf_roi
+%pytest -n auto -k 'not (test_fetch_ or test_get_batch or test_scroll_server_results or test_simple_download or test_fill_html_template or test_temp_file_removing or test_view_img_on_surf or test_view_surf or test_resample_img_segmentation_fault or test_tikhonov_regularization_vs_graph_net or test_connectivity_measure_outputs or test_canica_square_img or test_with_globbing_patterns_with_single_subject or test_dict_learning or test_plot_surf_stat_map or test_plot_surf_roi)'
%files %{python_files}
%doc AUTHORS.rst README.rst
++++++ nilearn-0.6.1.tar.gz -> nilearn-0.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/PKG-INFO new/nilearn-0.6.2/PKG-INFO
--- old/nilearn-0.6.1/PKG-INFO 2020-01-22 13:52:21.000000000 +0100
+++ new/nilearn-0.6.2/PKG-INFO 2020-02-25 12:03:00.000000000 +0100
@@ -1,13 +1,13 @@
Metadata-Version: 1.2
Name: nilearn
-Version: 0.6.1
+Version: 0.6.2
Summary: Statistical learning for neuroimaging in Python
Home-page: http://nilearn.github.io
Maintainer: Gael Varoquaux
Maintainer-email: gael.varoquaux(a)normalesup.org
License: new BSD
Download-URL: http://nilearn.github.io
-Description: .. -*- mode: rst -*-
+Description: .. -*- mode: rst -*-
.. image:: https://travis-ci.org/nilearn/nilearn.svg?branch=master
:target: https://travis-ci.org/nilearn/nilearn
@@ -76,7 +76,7 @@
===========
Detailed instructions on how to contribute are available at
- http://nilearn.github.io/contributing.html
+ http://nilearn.github.io/development.html
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/README.rst new/nilearn-0.6.2/README.rst
--- old/nilearn-0.6.1/README.rst 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/README.rst 2020-01-22 17:35:01.000000000 +0100
@@ -1,4 +1,4 @@
-.. -*- mode: rst -*-
+ .. -*- mode: rst -*-
.. image:: https://travis-ci.org/nilearn/nilearn.svg?branch=master
:target: https://travis-ci.org/nilearn/nilearn
@@ -67,4 +67,4 @@
===========
Detailed instructions on how to contribute are available at
-http://nilearn.github.io/contributing.html
+http://nilearn.github.io/development.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/datasets/description/seitzman_2018.rst new/nilearn-0.6.2/nilearn/datasets/description/seitzman_2018.rst
--- old/nilearn-0.6.1/nilearn/datasets/description/seitzman_2018.rst 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/datasets/description/seitzman_2018.rst 2020-02-24 20:26:10.000000000 +0100
@@ -10,7 +10,7 @@
cerebellum. We validate these ROIs in three datasets via several anatomical and functional criteria, including known
anatomical divisions and functions, as well as agreement with existing literature.
Further, we demonstrate that combining these ROIs with established cortical ROIs recapitulates and extends
-previously described functional network organization." (Seitzman et. al, 2018)
+previously described functional network organization." (Seitzman et. al, 2018, 2020)
@@ -29,7 +29,10 @@
ROI coordinates downloaded from:
https://wustl.box.com/s/twpyb1pflj6vrlxgh3rohyqanxbdpelw
-
-Seitzman, B. A., Gratton, C., Marek, S., Raut, R. V., Dosenbach, N. U., Schlaggar, B. L., et al. (2018).
+Paper:
+Seitzman, B. A., Gratton, C., Marek, S., Raut, R. V., Dosenbach, N. U. F., Schlaggar, B. L., et al. (2020).
A set of functionally-defined brain regions with improved representation of the subcortex and cerebellum.
-bioRxiv, 450452. http://doi.org/10.1101/450452
\ No newline at end of file
+NeuroImage, 206, 116290. http://doi.org/10.1016/j.neuroimage.2019.116290
+
+Preprint:
+Seitzman et al. (2018). http://doi.org/10.1101/450452
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/datasets/func.py new/nilearn-0.6.2/nilearn/datasets/func.py
--- old/nilearn-0.6.1/nilearn/datasets/func.py 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/datasets/func.py 2020-02-24 20:26:10.000000000 +0100
@@ -250,6 +250,9 @@
verbose=1):
"""Download and loads the NYU resting-state test-retest dataset.
+ NOTE: This function is deprecated and will be removed in the 0.8.x
+ release, due to lack of preprocessing.
+
Parameters
----------
n_subjects: int, optional
@@ -325,6 +328,10 @@
F.X. Castellanos, M.P. Milham
"""
+ warnings.warn("fetch_nyu_rest has been deprecated and will "
+ "be removed in the 0.8.x release.",
+ VisibleDeprecationWarning, stacklevel=2)
+
fa1 = 'http://www.nitrc.org/frs/download.php/1071/NYU_TRT_session1a.tar.gz'
fb1 = 'http://www.nitrc.org/frs/download.php/1072/NYU_TRT_session1b.tar.gz'
fa2 = 'http://www.nitrc.org/frs/download.php/1073/NYU_TRT_session2a.tar.gz'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/datasets/tests/test_func.py new/nilearn-0.6.2/nilearn/datasets/tests/test_func.py
--- old/nilearn-0.6.1/nilearn/datasets/tests/test_func.py 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/datasets/tests/test_func.py 2020-02-24 20:26:10.000000000 +0100
@@ -134,7 +134,9 @@
def test_fetch_nyu_rest(tmp_path, request_mocker):
# First session, all subjects
- nyu = func.fetch_nyu_rest(data_dir=str(tmp_path), verbose=0)
+ with pytest.warns(np.VisibleDeprecationWarning,
+ match='fetch_nyu_rest has been deprecated'):
+ nyu = func.fetch_nyu_rest(data_dir=str(tmp_path), verbose=0)
assert len(tst.mock_url_request.urls) == 2
assert len(nyu.func) == 25
assert len(nyu.anat_anon) == 25
@@ -143,8 +145,11 @@
# All sessions, 12 subjects
tst.mock_url_request.reset()
- nyu = func.fetch_nyu_rest(data_dir=str(tmp_path), sessions=[1, 2, 3],
- n_subjects=12, verbose=0)
+ with pytest.warns(np.VisibleDeprecationWarning,
+ match='fetch_nyu_rest has been deprecated'):
+ nyu = func.fetch_nyu_rest(data_dir=str(tmp_path),
+ sessions=[1, 2, 3],
+ n_subjects=12, verbose=0)
# Session 1 has already been downloaded
assert len(tst.mock_url_request.urls) == 2
assert len(nyu.func) == 36
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/plotting/__init__.py new/nilearn-0.6.2/nilearn/plotting/__init__.py
--- old/nilearn-0.6.1/nilearn/plotting/__init__.py 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/plotting/__init__.py 2020-02-24 20:26:10.000000000 +0100
@@ -25,10 +25,14 @@
# that the version is greater that the minimum required one
_import_module_with_version_check('matplotlib',
OPTIONAL_MATPLOTLIB_MIN_VERSION)
+ current_backend = matplotlib.get_backend().lower()
+
+ if 'inline' in current_backend or 'nbagg' in current_backend:
+ return
# Set the backend to a non-interactive one for unices without X
if (os.name == 'posix' and 'DISPLAY' not in os.environ
and not (sys.platform == 'darwin'
- and matplotlib.get_backend() == 'MacOSX')
+ and 'macosx' in current_backend)
):
matplotlib.use('Agg')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/surface/surface.py new/nilearn-0.6.2/nilearn/surface/surface.py
--- old/nilearn-0.6.1/nilearn/surface/surface.py 2020-01-22 11:55:28.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/surface/surface.py 2020-02-24 20:26:10.000000000 +0100
@@ -470,7 +470,7 @@
You can control how many samples are drawn by setting `n_samples`.
Once the sampling positions are chosen, those that fall outside of the 3d
- image (or ouside of the mask if you provided one) are discarded. If all
+ image (or outside of the mask if you provided one) are discarded. If all
sample positions are discarded (which can happen, for example, if the
vertex itself is outside of the support of the image), the projection at
this vertex will be ``numpy.nan``.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn/version.py new/nilearn-0.6.2/nilearn/version.py
--- old/nilearn-0.6.1/nilearn/version.py 2020-01-22 13:50:46.000000000 +0100
+++ new/nilearn-0.6.2/nilearn/version.py 2020-02-25 12:00:32.000000000 +0100
@@ -21,7 +21,7 @@
# Dev branch marker is: 'X.Y.dev' or 'X.Y.devN' where N is an integer.
# 'X.Y.dev0' is the canonical version of 'X.Y.dev'
#
-__version__ = '0.6.1'
+__version__ = '0.6.2'
_NILEARN_INSTALL_MSG = 'See %s for installation information.' % (
'http://nilearn.github.io/introduction.html#installation')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nilearn-0.6.1/nilearn.egg-info/PKG-INFO new/nilearn-0.6.2/nilearn.egg-info/PKG-INFO
--- old/nilearn-0.6.1/nilearn.egg-info/PKG-INFO 2020-01-22 13:52:20.000000000 +0100
+++ new/nilearn-0.6.2/nilearn.egg-info/PKG-INFO 2020-02-25 12:02:59.000000000 +0100
@@ -1,13 +1,13 @@
Metadata-Version: 1.2
Name: nilearn
-Version: 0.6.1
+Version: 0.6.2
Summary: Statistical learning for neuroimaging in Python
Home-page: http://nilearn.github.io
Maintainer: Gael Varoquaux
Maintainer-email: gael.varoquaux(a)normalesup.org
License: new BSD
Download-URL: http://nilearn.github.io
-Description: .. -*- mode: rst -*-
+Description: .. -*- mode: rst -*-
.. image:: https://travis-ci.org/nilearn/nilearn.svg?branch=master
:target: https://travis-ci.org/nilearn/nilearn
@@ -76,7 +76,7 @@
===========
Detailed instructions on how to contribute are available at
- http://nilearn.github.io/contributing.html
+ http://nilearn.github.io/development.html
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
1
0
Hello community,
here is the log from the commit of package slade for openSUSE:Factory checked in at 2020-04-29 20:53:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/slade (Old)
and /work/SRC/openSUSE:Factory/.slade.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "slade"
Wed Apr 29 20:53:35 2020 rev:9 rq:798915 version:3.1.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/slade/slade.changes 2020-04-22 20:51:02.615163325 +0200
+++ /work/SRC/openSUSE:Factory/.slade.new.2738/slade.changes 2020-04-29 20:54:47.093328073 +0200
@@ -1,0 +2,5 @@
+Wed Apr 29 12:45:36 UTC 2020 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Refresh disable_sse.patch
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ slade.spec ++++++
--- /var/tmp/diff_new_pack.DsM25d/_old 2020-04-29 20:54:48.161330520 +0200
+++ /var/tmp/diff_new_pack.DsM25d/_new 2020-04-29 20:54:48.161330520 +0200
@@ -33,6 +33,7 @@
BuildRequires: cmake >= 3.1
BuildRequires: freeimage-devel
BuildRequires: gcc-c++ >= 6
+BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: wxWidgets-3_0-devel
BuildRequires: zip
@@ -54,7 +55,7 @@
from/to other generic formats such as PNG.
%prep
-%setup -qn SLADE-%version
+%setup -q -n SLADE-%version
%patch -P 1 -P 2 -p1
%ifnarch %ix86 x86_64
%patch10 -p0
@@ -69,7 +70,7 @@
%if 0%{?suse_version} > 1320
strip-nondeterminism build/slade.pk3
%endif
-b="%buildroot"
+b=%{buildroot}
install -Dm755 build/slade "$b/%_bindir/slade"
install -Dm644 build/slade.pk3 "$b/%_datadir/slade3/slade.pk3"
++++++ disable_sse.patch ++++++
--- /var/tmp/diff_new_pack.DsM25d/_old 2020-04-29 20:54:48.185330575 +0200
+++ /var/tmp/diff_new_pack.DsM25d/_new 2020-04-29 20:54:48.185330575 +0200
@@ -1,12 +1,12 @@
---- src/CMakeLists.txt.orig 2018-04-18 16:11:00.227988702 +0200
-+++ src/CMakeLists.txt 2018-04-18 16:11:14.228041424 +0200
-@@ -97,9 +97,6 @@ if(APPLE)
+--- src/CMakeLists.txt.orig 2020-04-29 12:44:22.087112317 +0000
++++ src/CMakeLists.txt 2020-04-29 12:44:38.886604020 +0000
+@@ -159,9 +159,6 @@ if(APPLE)
set_source_files_properties(${OSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
endif(APPLE)
-# enable SSE instructions for dumb library
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_USE_SSE -msse")
-
- add_executable(slade WIN32 MACOSX_BUNDLE
- External/lzma/C/LzmaDec.c
- External/mus2mid/mus2mid.cpp
+ # External libraries are compiled separately to enable unity builds
+ add_subdirectory(External)
+
1
0
Hello community,
here is the log from the commit of package ioquake3 for openSUSE:Factory checked in at 2020-04-29 20:53:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ioquake3 (Old)
and /work/SRC/openSUSE:Factory/.ioquake3.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ioquake3"
Wed Apr 29 20:53:24 2020 rev:3 rq:798903 version:1.36+git.20200211
Changes:
--------
--- /work/SRC/openSUSE:Factory/ioquake3/ioquake3.changes 2020-04-13 12:54:00.184666842 +0200
+++ /work/SRC/openSUSE:Factory/.ioquake3.new.2738/ioquake3.changes 2020-04-29 20:54:45.333324040 +0200
@@ -1,0 +2,7 @@
+Wed Apr 29 12:05:45 UTC 2020 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Handle architectures which have no VM (aarch64, ...)
+- Fix build on armv7
+- Exclude armv6
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ioquake3.spec ++++++
--- /var/tmp/diff_new_pack.UviuPC/_old 2020-04-29 20:54:46.117325837 +0200
+++ /var/tmp/diff_new_pack.UviuPC/_new 2020-04-29 20:54:46.117325837 +0200
@@ -17,14 +17,13 @@
%define _lto_cflags %{nil}
-
+# Some arch have no VM (aarch64, ...)
+%define arch_with_vm %ix86 x86_64 ppc ppc64 armv7l armv7hl
%bcond_with installer
%bcond_with installeronly
-
%if %{with installeronly}
%define _with_installer 1
%endif
-
Name: ioquake3
# don't forget to change the version in the win32 spec file as well!
Version: 1.36+git.20200211
@@ -39,6 +38,7 @@
BuildRequires: openal-soft-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sdl2)
+ExcludeArch: armv6l armv6hl
%if 0%{?mandriva_version}
BuildRequires: mesagl-devel
BuildRequires: mesaglu-devel
@@ -89,6 +89,9 @@
cat > dobuild <<'EOF'
#!/bin/sh
%make_build \
+%ifarch armv7l armv7hl
+ COMPILE_ARCH=armv7l \
+%endif
VERSION=%{version} \
RELEASE=%{release} \
OPTIMIZE="%{optflags} -O3 -ffast-math -fno-strict-aliasing" \
@@ -117,9 +120,17 @@
esac
q3dir=%{buildroot}%{_prefix}/lib/ioquake3
install -d -m 755 $q3dir
+%ifarch %arch_with_vm
install -d -m 755 $q3dir/baseq3/vm
+%else
+install -d -m 755 $q3dir/baseq3
+%endif
install -d -m 755 $q3dir/demoq3
+%ifarch %arch_with_vm
install -d -m 755 $q3dir/missionpack/vm
+%else
+install -d -m 755 $q3dir/missionpack
+%endif
pushd build/release-linux-$arch/
install -m 755 ioquake3.$arch $q3dir/
#install -m 755 linuxquake3-smp $q3dir/ioquake3-smp.$arch
@@ -127,12 +138,16 @@
install -m 644 renderer_opengl1_$arch.so $q3dir/
install -m 644 renderer_opengl2_$arch.so $q3dir/
install -m 644 baseq3/*.so $q3dir/baseq3
+%ifarch %arch_with_vm
install -m 644 baseq3/vm/*.qvm $q3dir/baseq3/vm
+%endif
pushd $q3dir/demoq3
ln -s ../baseq3/*.so .
popd
install -m 644 missionpack/*.so $q3dir/missionpack
+%ifarch %arch_with_vm
install -m 644 missionpack/vm/*.qvm $q3dir/missionpack/vm
+%endif
popd
#
# icons and start scripts
@@ -152,8 +167,10 @@
done
#
# devel tools
+%ifarch %arch_with_vm
install -d -m 755 %{buildroot}%{_bindir}
install -m 755 build/release-linux-$arch/tools/q3{lcc,cpp,rcc,asm} %{buildroot}%{_bindir}
+%endif
%endif # installeronly
#
# installer
@@ -177,7 +194,9 @@
%files devel
%doc code/tools/lcc/COPYRIGHT
+%ifarch %arch_with_vm
%{_bindir}/q3*
+%endif
%endif # installeronly
1
0
Hello community,
here is the log from the commit of package python-vdirsyncer for openSUSE:Factory checked in at 2020-04-29 20:53:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-vdirsyncer (Old)
and /work/SRC/openSUSE:Factory/.python-vdirsyncer.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-vdirsyncer"
Wed Apr 29 20:53:30 2020 rev:9 rq:798912 version:0.16.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-vdirsyncer/python-vdirsyncer.changes 2020-02-04 19:54:35.549364966 +0100
+++ /work/SRC/openSUSE:Factory/.python-vdirsyncer.new.2738/python-vdirsyncer.changes 2020-04-29 20:54:46.333326332 +0200
@@ -1,0 +2,6 @@
+Wed Apr 29 12:51:49 UTC 2020 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Skip failing test due to changed quoting in click:
+ * test_verbosity
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-vdirsyncer.spec ++++++
--- /var/tmp/diff_new_pack.BjEbLg/_old 2020-04-29 20:54:46.885327597 +0200
+++ /var/tmp/diff_new_pack.BjEbLg/_new 2020-04-29 20:54:46.889327607 +0200
@@ -92,7 +92,8 @@
%check
export DETERMINISTIC_TESTS=true
-%pytest -k 'not test_legacy_status and not test_open_graphical_browser'
+# test_verbosity - click changed syntax and returns different quotes
+%pytest -k 'not test_legacy_status and not test_open_graphical_browser and not test_verbosity'
%files %{python_files}
%doc README.rst
1
0
Hello community,
here is the log from the commit of package rr for openSUSE:Factory checked in at 2020-04-29 20:53:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rr (Old)
and /work/SRC/openSUSE:Factory/.rr.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rr"
Wed Apr 29 20:53:18 2020 rev:2 rq:798908 version:5.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rr/rr.changes 2019-12-18 14:48:16.845937584 +0100
+++ /work/SRC/openSUSE:Factory/.rr.new.2738/rr.changes 2020-04-29 20:54:44.109321236 +0200
@@ -1,0 +2,15 @@
+Wed Dec 18 11:56:00 UTC 2019 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 5.3.0:
+ * This is primarily a maintenance release.
+ There are many bug fixes, improvements to system call coverage,
+ and incremental performance improvements.
+ * The rr sources, rr buildid and rr traceinfo commands have been
+ added to make it easier for external tools to work with rr
+ traces. rr ls has been added to improve management of traces.
+- Remove:
+ * rr-5.2.0-cpp14.patch
+ * rr-5.2.0-python3.patch
+ * rr-5.2.0-remove-ucontext.patch
+
+-------------------------------------------------------------------
Old:
----
5.2.0.tar.gz
rr-5.2.0-cpp14.patch
rr-5.2.0-python3.patch
rr-5.2.0-remove-ucontext.patch
New:
----
5.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rr.spec ++++++
--- /var/tmp/diff_new_pack.cFsmz0/_old 2020-04-29 20:54:44.829322886 +0200
+++ /var/tmp/diff_new_pack.cFsmz0/_new 2020-04-29 20:54:44.833322895 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rr
#
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,19 +17,13 @@
Name: rr
-Version: 5.2.0
+Version: 5.3.0
Release: 0
Summary: Records nondeterministic executions and debugs them deterministically
License: MIT
Group: Development/Languages/C and C++
URL: https://rr-project.org/
Source: https://github.com/mozilla/%{name}/archive/%{version}.tar.gz
-# https://github.com/mozilla/rr/issues/2391
-Patch0: rr-5.2.0-remove-ucontext.patch
-# https://github.com/mozilla/rr/issues/2269
-Patch1: rr-5.2.0-cpp14.patch
-# https://github.com/mozilla/rr/issues/2390
-Patch2: rr-5.2.0-python3.patch
BuildRequires: capnproto
BuildRequires: cmake
BuildRequires: gcc-c++
@@ -52,13 +46,11 @@
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
# Fix incorrect path to bash
sed -i "s|%{_bindir}/bash|/bin/bash|g" ./scripts/signal-rr-recording.sh
+sed -i "s|#!.*/usr/bin/env.*|#!%{_bindir}/python3|" scripts/rr-collect-symbols.py
CXXFLAGS=-std=c++14 %cmake \
-DBUILD_TESTS=OFF
CXXFLAGS=-std=c++14 %make_jobs
@@ -69,16 +61,15 @@
%files
%license LICENSE
%doc README.md
-%dir %{_prefix}/lib/rr
%dir %{_datadir}/rr
+%dir %{_libdir}/rr
%{_bindir}/rr
%{_bindir}/rr_exec_stub*
-%{_bindir}/rr_page_32
-%{_bindir}/rr_page_32_replay
-%{_bindir}/rr_page_64
-%{_bindir}/rr_page_64_replay
+%{_bindir}/rr_page_*
%{_bindir}/signal-rr-recording.sh
-%{_prefix}/lib/rr/librrpreload*.so
%{_datadir}/rr/*
+%{_libdir}/rr/librrpreload*.so
+%{_datadir}/bash-completion/completions/rr
+%{_bindir}/rr-collect-symbols.py
%changelog
++++++ 5.2.0.tar.gz -> 5.3.0.tar.gz ++++++
++++ 26415 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-dephell-versioning for openSUSE:Factory checked in at 2020-04-29 20:53:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dephell-versioning (Old)
and /work/SRC/openSUSE:Factory/.python-dephell-versioning.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dephell-versioning"
Wed Apr 29 20:53:14 2020 rev:3 rq:798902 version:0.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dephell-versioning/python-dephell-versioning.changes 2019-09-26 20:42:15.714377708 +0200
+++ /work/SRC/openSUSE:Factory/.python-dephell-versioning.new.2738/python-dephell-versioning.changes 2020-04-29 20:54:42.997318690 +0200
@@ -1,0 +2,5 @@
+Wed Apr 29 12:19:40 UTC 2020 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Remove conflicting pregenerated __pycache__
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dephell-versioning.spec ++++++
--- /var/tmp/diff_new_pack.kCoFpf/_old 2020-04-29 20:54:43.765320449 +0200
+++ /var/tmp/diff_new_pack.kCoFpf/_new 2020-04-29 20:54:43.769320458 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-dephell-versioning
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -42,6 +42,7 @@
%prep
%setup -q -n dephell_versioning-%{version}
+rm -r tests/__pycache__
%build
%python_build
1
0
Hello community,
here is the log from the commit of package rasdaemon for openSUSE:Factory checked in at 2020-04-29 20:53:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rasdaemon (Old)
and /work/SRC/openSUSE:Factory/.rasdaemon.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rasdaemon"
Wed Apr 29 20:53:11 2020 rev:12 rq:798879 version:0.6.5+git20200205.3dca35f
Changes:
--------
--- /work/SRC/openSUSE:Factory/rasdaemon/rasdaemon.changes 2020-02-13 10:11:38.972344636 +0100
+++ /work/SRC/openSUSE:Factory/.rasdaemon.new.2738/rasdaemon.changes 2020-04-29 20:54:42.081316592 +0200
@@ -1,0 +2,6 @@
+Wed Apr 29 10:44:25 UTC 2020 - Thomas Renninger <trenn(a)suse.de>
+
+- Let squlite create devlink_event and other tables via configure option
+ bsc#1170016, bsc#1170014
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rasdaemon.spec ++++++
--- /var/tmp/diff_new_pack.3hIJBA/_old 2020-04-29 20:54:42.745318113 +0200
+++ /var/tmp/diff_new_pack.3hIJBA/_new 2020-04-29 20:54:42.749318122 +0200
@@ -59,7 +59,9 @@
--enable-abrt-report \
--enable-arm \
--enable-non-standard \
- --enable-hisi-ns-decode
+ --enable-hisi-ns-decode \
+ --enable-devlink \
+ --enable-diskerror
make %{?_smp_mflags} V=1
%install
1
0