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
December 2019
- 1 participants
- 2204 discussions
Hello community,
here is the log from the commit of package kdevelop5-pg-qt for openSUSE:Factory checked in at 2019-12-29 15:49:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdevelop5-pg-qt (Old)
and /work/SRC/openSUSE:Factory/.kdevelop5-pg-qt.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdevelop5-pg-qt"
Sun Dec 29 15:49:34 2019 rev:5 rq:759784 version:2.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdevelop5-pg-qt/kdevelop5-pg-qt.changes 2019-06-19 20:58:43.761998769 +0200
+++ /work/SRC/openSUSE:Factory/.kdevelop5-pg-qt.new.6675/kdevelop5-pg-qt.changes 2019-12-29 15:49:42.367176470 +0100
@@ -1,0 +2,5 @@
+Fri Dec 27 06:42:44 UTC 2019 - wbauer(a)tmo.at
+
+- Add Fix-build-with-Qt-5.14.patch to make it compile with Qt 5.14
+
+-------------------------------------------------------------------
New:
----
Fix-build-with-Qt-5.14.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdevelop5-pg-qt.spec ++++++
--- /var/tmp/diff_new_pack.lF5bXs/_old 2019-12-29 15:49:43.907177173 +0100
+++ /var/tmp/diff_new_pack.lF5bXs/_new 2019-12-29 15:49:43.931177184 +0100
@@ -25,6 +25,8 @@
Group: Development/Tools/IDE
URL: https://www.kdevelop.org/
Source0: https://download.kde.org/stable/kdevelop-pg-qt/%{version}/src/%{rname}-%{ve…
+# PATCH-FIX-UPSTREAM
+Patch0: Fix-build-with-Qt-5.14.patch
BuildRequires: bison
BuildRequires: extra-cmake-modules
BuildRequires: flex
@@ -39,6 +41,7 @@
%prep
%setup -q -n %{rname}-%{version}
+%autopatch -p1
%build
%cmake_kf5 -d build
++++++ Fix-build-with-Qt-5.14.patch ++++++
>From d05d0b19e9d6f47fee3e11d837c2c21125589763 Mon Sep 17 00:00:00 2001
From: Alexey Min <alexey.min(a)gmail.com>
Date: Thu, 24 Oct 2019 14:34:45 +0300
Subject: Fix build with Qt 5.14
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Summary:
Trying to build kdevelop-pg-qt with Qt 5.14 results in an error:
```
.../kdev-pg/kdev-pg-regexp.cpp:44:23: error: redefinition of ‘struct std::hash<QBitArray>’
template<> struct hash< type > \
^~~~~~~~~~~~
.../kdev-pg/kdev-pg-regexp.cpp:53:1: note: in expansion of macro ‘q_Hash_to_tr1_hash’
q_Hash_to_tr1_hash(QBitArray)
^~~~~~~~~~~~~~~~~~
In file included from .../prefix514/include/QtCore/qvector.h:47:0,
from .../prefix514/include/QtCore/QVector:1,
from .../kdevelop-pg-qt/include/kdev-pg-char-sets.h:36,
from .../kdevelop-pg-qt/kdev-pg/kdev-pg-regexp.cpp:20:
.../prefix514/include/QtCore/qhashfunctions.h:209:1: note: previous definition of ‘struct std::hash<QBitArray>’
QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH_BY_CREF(QBitArray)
^
```
std::hash<QBitArray> is already specialized in Qt 5.14, so avoid redefinition with conditional compilation
Test Plan: try to build with Qt 5.14
Reviewers: apol
Reviewed By: apol
Subscribers: kdevelop-devel
Tags: #kdevelop
Differential Revision: https://phabricator.kde.org/D24914
---
kdev-pg/kdev-pg-regexp.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kdev-pg/kdev-pg-regexp.cpp b/kdev-pg/kdev-pg-regexp.cpp
index 8cc0b95..9fee81c 100644
--- a/kdev-pg/kdev-pg-regexp.cpp
+++ b/kdev-pg/kdev-pg-regexp.cpp
@@ -50,7 +50,10 @@ namespace std \
}; \
}
+#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
+// Qt >= 5.14 already has std::hash for QBitArray
q_Hash_to_tr1_hash(QBitArray)
+#endif
namespace KDevPG
{
--
cgit v1.1
1
0
Hello community,
here is the log from the commit of package openQA for openSUSE:Factory checked in at 2019-12-29 15:49:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Sun Dec 29 15:49:31 2019 rev:102 rq:759780 version:4.6.1577344382.5aaa6ced5
Changes:
--------
openQA-test.changes: same change
openQA-worker-test.changes: same change
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2019-12-23 22:44:59.486013312 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.6675/openQA.changes 2019-12-29 15:49:36.343173723 +0100
@@ -1,0 +2,6 @@
+Thu Dec 26 07:13:30 UTC 2019 - coolo(a)suse.com
+
+- Update to version 4.6.1577344382.5aaa6ced5:
+ * Update Minion dependency (#2628)
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1576913552.acf2b6db3.obscpio
New:
----
openQA-4.6.1577344382.5aaa6ced5.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.4x9PhW/_old 2019-12-29 15:49:39.795175297 +0100
+++ /var/tmp/diff_new_pack.4x9PhW/_new 2019-12-29 15:49:39.827175312 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1576913552.acf2b6db3
+Version: 4.6.1577344382.5aaa6ced5
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.4x9PhW/_old 2019-12-29 15:49:40.159175463 +0100
+++ /var/tmp/diff_new_pack.4x9PhW/_new 2019-12-29 15:49:40.183175474 +0100
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1576913552.acf2b6db3
+Version: 4.6.1577344382.5aaa6ced5
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.4x9PhW/_old 2019-12-29 15:49:40.531175633 +0100
+++ /var/tmp/diff_new_pack.4x9PhW/_new 2019-12-29 15:49:40.567175649 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1576913552.acf2b6db3
+Version: 4.6.1577344382.5aaa6ced5
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.4x9PhW/_old 2019-12-29 15:49:40.675175699 +0100
+++ /var/tmp/diff_new_pack.4x9PhW/_new 2019-12-29 15:49:40.679175701 +0100
@@ -65,7 +65,7 @@
%define devel_requires %build_requires %test_requires rsync chromedriver curl postgresql-devel %qemu tar xorg-x11-fonts sudo perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(Perl::Tidy)
Name: openQA
-Version: 4.6.1576913552.acf2b6db3
+Version: 4.6.1577344382.5aaa6ced5
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ openQA-4.6.1576913552.acf2b6db3.obscpio -> openQA-4.6.1577344382.5aaa6ced5.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1576913552.acf2b6db3.obscpio /work/SRC/openSUSE:Factory/.openQA.new.6675/openQA-4.6.1577344382.5aaa6ced5.obscpio differ: char 48, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.4x9PhW/_old 2019-12-29 15:49:40.751175733 +0100
+++ /var/tmp/diff_new_pack.4x9PhW/_new 2019-12-29 15:49:40.755175735 +0100
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1576913552.acf2b6db3
-mtime: 1576913552
-commit: acf2b6db3fe0976f4e76d4b27d4917828c37cd37
+version: 4.6.1577344382.5aaa6ced5
+mtime: 1577344382
+commit: 5aaa6ced5bcb7e44b96032df1f57dcce1861b9ff
1
0
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2019-12-29 15:49:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Sun Dec 29 15:49:29 2019 rev:93 rq:759779 version:4.6.1577344452.d693abe0
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2019-12-23 22:44:55.838011965 +0100
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.6675/os-autoinst.changes 2019-12-29 15:49:34.267172776 +0100
@@ -1,0 +2,6 @@
+Thu Dec 26 07:14:28 UTC 2019 - okurz(a)suse.com
+
+- Update to version 4.6.1577344452.d693abe0:
+ * Fix default boot menu timeout in qemu backend (#1332)
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1576848145.65c8fecf.obscpio
New:
----
os-autoinst-4.6.1577344452.d693abe0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.IMImjh/_old 2019-12-29 15:49:35.823173486 +0100
+++ /var/tmp/diff_new_pack.IMImjh/_new 2019-12-29 15:49:35.823173486 +0100
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1576848145.65c8fecf
+Version: 4.6.1577344452.d693abe0
Release: 0
Summary: test package for os-autoinst
#BuildRequires: %{short_name} == %{version}
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.IMImjh/_old 2019-12-29 15:49:35.835173492 +0100
+++ /var/tmp/diff_new_pack.IMImjh/_new 2019-12-29 15:49:35.835173492 +0100
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1576848145.65c8fecf
+Version: 4.6.1577344452.d693abe0
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.6.1576848145.65c8fecf.obscpio -> os-autoinst-4.6.1577344452.d693abe0.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1576848145.65c8fecf.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.6675/os-autoinst-4.6.1577344452.d693abe0.obscpio differ: char 48, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.IMImjh/_old 2019-12-29 15:49:35.891173517 +0100
+++ /var/tmp/diff_new_pack.IMImjh/_new 2019-12-29 15:49:35.891173517 +0100
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1576848145.65c8fecf
-mtime: 1576848145
-commit: 65c8fecf59d89d10505013e1d61b4ab5411b8a2d
+version: 4.6.1577344452.d693abe0
+mtime: 1577344452
+commit: d693abe082d6559721e5053d8fd6151753c73020
1
0
Hello community,
here is the log from the commit of package python-jedi for openSUSE:Factory checked in at 2019-12-29 15:49:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jedi (Old)
and /work/SRC/openSUSE:Factory/.python-jedi.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jedi"
Sun Dec 29 15:49:26 2019 rev:18 rq:759790 version:0.15.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jedi/python-jedi.changes 2019-11-29 15:55:40.873014222 +0100
+++ /work/SRC/openSUSE:Factory/.python-jedi.new.6675/python-jedi.changes 2019-12-29 15:49:32.683172054 +0100
@@ -1,0 +2,12 @@
+Sat Dec 28 15:02:12 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.15.2
+- skip tests based on bundled typeshed
+- refreshed unbundle.patch
+ * Call signatures are now detected a lot better
+ * Add fuzzy completions with Script(...).completions(fuzzy=True)
+ * Files bigger than one MB (about 20kLOC) get cropped to avoid
+ getting stuck completely.
+ * A big refactoring around contexts/values
+
+-------------------------------------------------------------------
Old:
----
jedi-0.15.1.tar.gz
New:
----
jedi-0.15.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jedi.spec ++++++
--- /var/tmp/diff_new_pack.lY4Zqw/_old 2019-12-29 15:49:33.343172355 +0100
+++ /var/tmp/diff_new_pack.lY4Zqw/_new 2019-12-29 15:49:33.343172355 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-jedi
-Version: 0.15.1
+Version: 0.15.2
Release: 0
Summary: An autocompletion tool for Python
License: MIT AND Python-2.0
@@ -70,7 +70,8 @@
# test_static_analysis is flaky
# test_os_path_join is time based
# test_import and test_compiled_signature gh#davidhalter/jedi#1429
-%pytest -k "not (test_venv_and_pths or test_completion or test_builtin_details or test_static_analysis or test_os_path_join or test_import or test_compiled_signature)"
+# test_module__file__ and test_sqlite3_conversion based on 'bundled' typeshed
+%pytest -k "not (test_venv_and_pths or test_completion or test_builtin_details or test_static_analysis or test_os_path_join or test_import or test_compiled_signature or test_module__file__ or test_sqlite3_conversion)"
%files %{python_files}
%doc AUTHORS.txt CHANGELOG.rst README.rst
++++++ jedi-0.15.1.tar.gz -> jedi-0.15.2.tar.gz ++++++
++++ 75213 lines of diff (skipped)
++++++ unbundle.patch ++++++
--- /var/tmp/diff_new_pack.lY4Zqw/_old 2019-12-29 15:49:33.683172510 +0100
+++ /var/tmp/diff_new_pack.lY4Zqw/_new 2019-12-29 15:49:33.687172512 +0100
@@ -1,7 +1,7 @@
-Index: jedi-0.14.0/setup.py
+Index: jedi-0.15.2/setup.py
===================================================================
---- jedi-0.14.0.orig/setup.py
-+++ jedi-0.14.0/setup.py
+--- jedi-0.15.2.orig/setup.py
++++ jedi-0.15.2/setup.py
@@ -2,7 +2,6 @@
from setuptools import setup, find_packages
@@ -19,12 +19,12 @@
setup(name='jedi',
version=version,
-Index: jedi-0.14.0/jedi/evaluate/gradual/typeshed.py
+Index: jedi-0.15.2/jedi/inference/gradual/typeshed.py
===================================================================
---- jedi-0.14.0.orig/jedi/evaluate/gradual/typeshed.py
-+++ jedi-0.14.0/jedi/evaluate/gradual/typeshed.py
-@@ -8,7 +8,7 @@ from jedi.evaluate.base_context import C
- from jedi.evaluate.gradual.stub_context import TypingModuleWrapper, StubModuleContext
+--- jedi-0.15.2.orig/jedi/inference/gradual/typeshed.py
++++ jedi-0.15.2/jedi/inference/gradual/typeshed.py
+@@ -10,7 +10,7 @@ from jedi.inference.gradual.stub_value i
+ from jedi.inference.value import ModuleValue
_jedi_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-TYPESHED_PATH = os.path.join(_jedi_path, 'third_party', 'typeshed')
1
0
Hello community,
here is the log from the commit of package python-typeshed for openSUSE:Factory checked in at 2019-12-29 15:49:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typeshed (Old)
and /work/SRC/openSUSE:Factory/.python-typeshed.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-typeshed"
Sun Dec 29 15:49:25 2019 rev:5 rq:759722 version:0.0.1+git.20191227.21a9e696
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typeshed/python-typeshed.changes 2019-07-21 11:35:10.308768127 +0200
+++ /work/SRC/openSUSE:Factory/.python-typeshed.new.6675/python-typeshed.changes 2019-12-29 15:49:29.143170439 +0100
@@ -1,0 +2,329 @@
+Fri Dec 27 17:26:40 UTC 2019 - mimi.vx(a)gmail.com
+
+- Update to version 0.0.1+git.20191227.21a9e696:
+ * Update shutil.unpack_archive for 3.7 and up (#3558)
+ * Add ast.unparse (#3557)
+ * Add antigravity module (#3555)
+ * Add __init__ to MappingView and its subclasses (#3528)
+ * Remove unused type _HTTPResponse (#3531)
+ * Fix RSAPublicNumbers stub (#3505)
+ * shutil: Fix rmtree type (#3536)
+ * Add typestubs for the warnings module (#3543)
+ * Add dbm stubs (#3508)
+ * functools: remove first type param of cached_property (#3553)
+ * Preserve original type in total_ordering annotation (#3552)
+ * Update stubs for Crypto.Random (#3546)
+ * Add undocumented methods and make types more specific in 2/unittest (#3550)
+ * add jinja macro fields (#3548)
+ * add a couple missing stubs and fix an incorrect return type for redis stubs (#3545)
+ * Add stubs for winsound module (#3535)
+ * Make sure that the context manager for sqlite3.Connection works (#3542)
+ * Add __enter__, __exit__ to IMAP4, make __init__ arguments optional (#3540)
+ * Add date.__radd__ and datetime.__radd__ (#3539)
+
+-------------------------------------------------------------------
+Thu Dec 12 12:12:49 UTC 2019 - mimi.vx(a)gmail.com
+
+- Update to version 0.0.1+git.20191209.a06abc5d:
+ * Make fieldnames of csv.DictReader Optional (#3534)
+ * Update orjson stub from orjson repository(#3532)
+ * Update stub for socket module (#3451)
+ * Use Literal to improve SpooledTemporaryFile (#3526)
+ * random: fix type for sample (#3525)
+ * add raw property to BufferedIOBase (#3483)
+ * Minor fixes to cryptography (x509) (#3520)
+ * Simplify `WatchedFileHandler.__init__` (#3506)
+ * Improve warnings stubs (#3501)
+ * padding can take an int or an object (PSS.MAX_LENGTH) (#3521)
+ * __future__: add _Feature.compiler_flag (#3522)
+ * A few return annotations for redis client (#3517)
+ * SMTPChannel.push() accepts str (#3516)
+ * Optional initial-value parameter for itertools.accumulate() (#3503)
+ * In python versions 3.7 and above, re-export Pattern and Match (#3510)
+ * builtins.print: make sep and end Optional (#3468) (#3511)
+ * Add ImportError constructor arguments (#3512)
+ * Fix the signature of unittest.TestCase.assertLogs #3513 (#3514)
+ * asyncio/future.pyi - wrap_future loop keyword arg (#3507)
+ * Change return type of Message.get_payload() to Any (#3504)
+ * Modulefinder stubs (#3497)
+ * Type socketserver's RequestHandlerClass as a callable. (#3422)
+ * add no_type_check_decorator stub for #2884 (#3460)
+ * Add mailcap module (#3482)
+ * mailbox: Fix signature of Mailbox.update method (#3493)
+ * Refactor warnings.catch_warning to be a class. (#3499)
+ * Fix type hints in Template class (#3491)
+ * mailbox: Couple small fixes (#3490)
+ * timeout argument to urllib.request.urlopen is Optional (#3487)
+ * stream argument to pprint.pprint is Optional (#3488)
+ * fix incorrect param name in FileIO (#3484)
+ * Mostly undo #3372 (#3481)
+ * Py37 compileall add invalidation mode (#3476)
+ * annotated ZipInfo.from_file (#3478)
+ * Add default value to BaseContext.Pipe() (#3479)
+ * Mailbox stubs (#3427)
+ * Fix some issues in cryptography package (#3474)
+ * Add missing elements for multiprocessing.dummy (#3471)
+ * distutils.fancy_getopt short option is optional (#3469)
+ * Fix type of imp.find_module() (#3465)
+ * Add warnings.catch_warning type hints with Literal. (#3464)
+ * ast.Dict keys can be None (#3462)
+ * Add type hints for audioop module (#3428)
+ * Add sys.addaudithook() and audit() (#3455)
+ * Run CI tests against win32 and darwin platform (#3457)
+ * Fix errors discovered by running typeshed check on Windows (#3456)
+ * sys: add pycache_prefix (#3454)
+ * Fix type for os.terminal_size to Tuple (#3450)
+ * Change the return type of __reduce__ and __reduce_ex__ to Union[str, Tuple[Any, ...]] (#3453)
+ * New libs: Change permission requirement to notification (#3443)
+ * Add assorted werkzeug type hints (#3444)
+ * Use async syntax instead of @coroutine (#3441)
+ * Add functools.cached_property (#3439)
+ * Add more stubs to redis (pubsub and monitor) (#3442)
+ * Add the (deprecated) assertDictContainsSubset() to TestCase. (#3437)
+ * Add more stubs for cryptography (#3307)
+ * Remove certifi.old_where (#3436)
+ * Allow datetime() with a delta=timedelta() in assert(Not)AlmostEqual(s). (#3426)
+ * Fix signature of assertRaisesRegexp in unittest (#3434)
+ * add timespec arg to datetime.time.isoformat (#3432)
+ * Add `sock` attribute for http.client.HTTPConnection in Python 3. (#3429)
+ * asyncio: fix windows stubs (#3424)
+ * Fix some incorrect/incomplete annotations for redis.client.PubSub (#3408)
+ * Add importlib.metadata (Python >= 3.8) (#3346)
+ * Copyreg stubs (#3387)
+ * Add pytz.FixedOffset (#3393)
+ * Add missing Python 3.7 and 3.8 annotations (#3399)
+ * Add missing ZipFile constructor arguments (#3414)
+ * Add sort_keys param to all dump-like functions in PyYAML (yaml) lib (#3417)
+ * Clarify contributions are from people external to the project (#3421)
+ * exec, spawn: Allow bytes for environment keys and values. (#3419)
+ * Add missing expected_regex parameter to TestCase.assertRaisesRegexp(). (#3418)
+ * Allow None for click.core.Context.default_map (#3416)
+ * Fix signature of `multiprocessing.get_start_method` (#3415)
+ * Fix annotations with literal values (#3411)
+ * Update sre_parse module for Python 3.8 (#3412)
+ * __init__.pyi: Accept RSAPrivateKey or RSAPublicKey as the key (#3410)
+ * Add the `memoryview.release` method (#3405)
+ * Update stubs for tabulate (#3391)
+ * Add werkzeug.exceptions.FailedDependency (#3403)
+ * logging.handlers: Add BufferingHandler.buffer (#3402)
+ * Add sys._debugmallocstats (#3401)
+ * Added stub for urllib.proxy_bypass() (#3396)
+ * Change pprint depth type to Optional[int] (#3392)
+ * Convert namedtuples to class syntax (#3321)
+ * Adds `posonlyargs` property to `arguments` for python3.8+ (#3390)
+ * Require a more recent pytype version. (#3388)
+ * Add shlex.shlex.next in Python 2. (#3389)
+ * Add missing @property to Response.next() stub (#3384)
+ * Fix show_default type in click.option signatures (#3385)
+ * Revert __import__ function annotation to return type back to Any (#3383)
+ * Change select() stub to accept iterables, not just sequences (#3382)
+ * multiprocessing.pool: Fix return of map_async() (#3378)
+ * pymysql.Cursor is a context manager (#3379)
+ * Don't shadow ast.Tuple with typing.Tuple (#3376)
+ * Add PEP 593 (Annotated etc.) typing_extensions stubs (#3369)
+ * Make path separator based on OS separator (#3375)
+ * generate_tokens(readline) must return bytes (#3372)
+ * Add stubs for cgitb (#3368)
+ * Fix HTMLParser.handle_startendtag() attrs annotation (#3366)
+ * Reorder memoryview.__setitem__ overloads (#3365)
+ * Add public missing asyncio stubs for windows and proactor files (#3234)
+ * Add bdb stubs (#3354)
+ * protobuf: Fix inadvertently deleted annotations. (#3364)
+ * fixing https://github.com/python/typeshed/issues/3361 (#3362)
+ * Clean up multiprocessing + shared_memory (#3351)
+ * Annotations for remaining Python 3.8 additions (#3358)
+ * Annotate Python 3.8 removals (#3359)
+ * Remove unnecessary __all__ annotations (#3357)
+ * Remove raise statements from function bodies (#3355)
+ * Extract asyncio exceptions into a separate module (Python 3.8) (#3356)
+ * typing.pyi: Remove verbose and rename from NamedTuple (#3352)
+ * Add several Python 3.8 annotations (#3347)
+ * Update 'format' README section -- don't imply it is executable (#3350)
+ * Add missing exception to smtplib (#3348)
+ * Ensurepip stubs (#3349)
+ * find_loader() can return None (#3341)
+ * Change type for urllib headers from Mapping to email.message.Message (#3345)
+ * Fix argument type for logging.Formatter.formatTime (#3343)
+ * protobuf: Narrow type of Message.FromString. (#3340)
+ * Allow callables in _SourceObjectType (Python 2) (#3338)
+ * Add assorted annotations (#3335)
+ * Python3.8 additions and changes (#3337)
+ * Fix an argument to csv.DictReader() (#3339)
+ * protobuf: Tighten annotations for MergeFromString and ParseFromString. (#3333)
+ * Update the signature of decorator.decorator (#3336)
+ * message.pyi: Change HeaderType to Any (#2924)
+ * Revised stubs for geoip2 third party library (#3317)
+ * Mark some urllib.parse return fields optional (#3332)
+ * Remove unused # type: ignore comments (#3325)
+ * models.pyi: Add missing requests.Respons.next() (#3328)
+ * Make it explicit that the cryptography stubs are incomplete (#3331)
+ * Fix the signature of decorator.contextmanager (#3330)
+ * Make 2-arg iter() retrun type match passed callable's return type (#3326)
+ * Add missing Optional types in urllib.parse (#3263)
+ * protobuf: Add Message.FromString static method. (#3327)
+ * __init__.pyi: Add missing methods on pkg_resources.VersionConflict (#3318)
+ * Minor flake8 improvements (#3324)
+ * Remove a bunch of unused imports (#3323)
+ * Fix return type of werkzeug's ProxyFix (#3320)
+ * Add type stub for decorator lib (#3038)
+ * Add `data` to UserList class, fix UserDict.data type (#3316)
+ * imaplib.pyi: Add missing imaplib.IMAP4.enable() (#3314)
+ * imaplib.pyi: Add ssl_context parameter for Python >= 3.3 (#3310)
+ * add IncrementalNewlineDecoder constructor (#3311)
+ * IncrementalNewlineDecoder.decode accepts str (#3312)
+ * imaplib.pyi: Take strings as args instead of a list of strings (#3308)
+ * introduce __floor__ and __ceil__ for int in Python 3 (#3306)
+ * rrule.weekday(...) returns rrule.weekdays, not _common.weekdays. (#3274)
+ * Fix the signature of IOBase._checkClosed(). (#3305)
+ * Move cryptography from 2 to 2and3 (#3304)
+ * ssl: add VerifyFlags flags and VerifyMode enum (#3302)
+ * Updated maxminddb stubs to v1.5.0 (#3300)
+ * builtins.pyi: Use two type vars (#3291)
+ * cryptography: Return RSAPrivateKeyWithSerialization from generate_private_key. (#3296)
+ * Allow callables in _SourceObjectType (#3295)
+ * Remove some spurious version checks in logging (#3292)
+ * Use Any instead of object in the view types for __and__ and __sub__ (#3294)
+ * Add the mypyc_attr function to mypy_extensions (#3290)
+ * Add http.MISDIRECTED_REQUEST introduced in 3.7 (#3293)
+ * Enable --disallow-any-generics for stubs (#3288)
+ * Allow passing bytes and byte string to yaml load APIs. (#3287)
+ * Added stub for asyncore.socket_map, undocumented but useful (#3284)
+ * Added stub for http.server.BaseHTTPRequestHandler useful undocumented fields (#3285)
+ * Added stub for urllib.request.proxy_bypass() (#3283)
+ * Added ConfigParser.BOOLEAN_STATES # Undocumented (#3281)
+ * Fix third_party errors with --disallow-any-generics (#3278)
+ * Change last asyncio.gather() overload ret. to List (#3248)
+ * Modified __add__ method in tuple class (#3252)
+ * Simplify Travis-CI configuration (#3220)
++++ 132 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python-typeshed/python-typeshed.changes
++++ and /work/SRC/openSUSE:Factory/.python-typeshed.new.6675/python-typeshed.changes
Old:
----
typeshed-0.0.1+git.1562136779.4af283e1.tar.xz
New:
----
typeshed-0.0.1+git.20191227.21a9e696.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-typeshed.spec ++++++
--- /var/tmp/diff_new_pack.hikIKS/_old 2019-12-29 15:49:31.035171303 +0100
+++ /var/tmp/diff_new_pack.hikIKS/_new 2019-12-29 15:49:31.075171321 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-typeshed
#
-# 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
@@ -18,7 +18,7 @@
%define modname typeshed
Name: python-typeshed
-Version: 0.0.1+git.1562136779.4af283e1
+Version: 0.0.1+git.20191227.21a9e696
Release: 0
Summary: Static type information for python modules
License: Apache-2.0
@@ -34,13 +34,13 @@
BuildRequires: python3-flake8
BuildRequires: python3-flake8-bugbear
BuildRequires: python3-flake8-pyi
+#BuildRequires: python3-pytype
BuildRequires: python3-typed-ast
Recommends: mypy
Provides: python3-typeshed = %{version}
Obsoletes: python3-typeshed < %{version}
Provides: python2-typeshed = %{version}
Obsoletes: python2-typeshed < %{version}
-# BuildRequires: pytype>=2018.9.19
BuildArch: noarch
%description
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hikIKS/_old 2019-12-29 15:49:31.459171496 +0100
+++ /var/tmp/diff_new_pack.hikIKS/_new 2019-12-29 15:49:31.479171505 +0100
@@ -1,10 +1,10 @@
<services>
<service name="tar_scm" mode="disabled">
- <param name="versionprefix">0.0.1+git</param>
<param name="url">https://github.com/python/typeshed.git</param>
<param name="scm">git</param>
<param name="exclude">.git*</param>
<param name="changesgenerate">enable</param>
+ <param name="versionformat">0.0.1+git.%cd.%h</param>
</service>
<service name="recompress" mode="disabled">
<param name="compression">xz</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.hikIKS/_old 2019-12-29 15:49:31.667171591 +0100
+++ /var/tmp/diff_new_pack.hikIKS/_new 2019-12-29 15:49:31.695171603 +0100
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/python/typeshed.git</param>
- <param name="changesrevision">4af283e1aca6fc44a3b0d0b2e8a5d58f1f968cea</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">21a9e696122bafd17e25393296e3920ddb7ed96c</param></service></servicedata>
\ No newline at end of file
++++++ typeshed-0.0.1+git.1562136779.4af283e1.tar.xz -> typeshed-0.0.1+git.20191227.21a9e696.tar.xz ++++++
++++ 34479 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-parso for openSUSE:Factory checked in at 2019-12-29 15:49:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-parso (Old)
and /work/SRC/openSUSE:Factory/.python-parso.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-parso"
Sun Dec 29 15:49:24 2019 rev:10 rq:759718 version:0.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-parso/python-parso.changes 2019-07-21 11:28:56.444832074 +0200
+++ /work/SRC/openSUSE:Factory/.python-parso.new.6675/python-parso.changes 2019-12-29 15:49:26.587169274 +0100
@@ -1,0 +2,8 @@
+Fri Dec 27 17:14:25 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.5.2
+ * Add include_setitem to get_definition/is_definition and get_defined_names
+ * Fix named expression error listing
+ * Fix some f-string tokenizer issues
+
+-------------------------------------------------------------------
Old:
----
parso-0.5.1.tar.gz
New:
----
parso-0.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-parso.spec ++++++
--- /var/tmp/diff_new_pack.VRSlpL/_old 2019-12-29 15:49:27.911169878 +0100
+++ /var/tmp/diff_new_pack.VRSlpL/_new 2019-12-29 15:49:27.935169889 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-parso
#
-# 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
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-parso
-Version: 0.5.1
+Version: 0.5.2
Release: 0
Summary: An autocompletion tool for Python
License: MIT AND Python-2.0
++++++ parso-0.5.1.tar.gz -> parso-0.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/CHANGELOG.rst new/parso-0.5.2/CHANGELOG.rst
--- old/parso-0.5.1/CHANGELOG.rst 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/CHANGELOG.rst 2019-12-15 01:01:11.000000000 +0100
@@ -3,6 +3,13 @@
Changelog
---------
+0.5.2 (2019-12-15)
+++++++++++++++++++
+
+- Add include_setitem to get_definition/is_definition and get_defined_names (#66)
+- Fix named expression error listing (#89, #90)
+- Fix some f-string tokenizer issues (#93)
+
0.5.1 (2019-07-13)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/PKG-INFO new/parso-0.5.2/PKG-INFO
--- old/parso-0.5.1/PKG-INFO 2019-07-13 15:50:20.000000000 +0200
+++ new/parso-0.5.2/PKG-INFO 2019-12-15 01:01:27.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: parso
-Version: 0.5.1
+Version: 0.5.2
Summary: A Python Parser
Home-page: https://github.com/davidhalter/parso
Author: David Halter
@@ -106,6 +106,13 @@
Changelog
---------
+ 0.5.2 (2019-12-15)
+ ++++++++++++++++++
+
+ - Add include_setitem to get_definition/is_definition and get_defined_names (#66)
+ - Fix named expression error listing (#89, #90)
+ - Fix some f-string tokenizer issues (#93)
+
0.5.1 (2019-07-13)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/conftest.py new/parso-0.5.2/conftest.py
--- old/parso-0.5.1/conftest.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/conftest.py 2019-12-15 01:01:11.000000000 +0100
@@ -58,7 +58,9 @@
elif 'each_py3_version' in metafunc.fixturenames:
metafunc.parametrize('each_py3_version', VERSIONS_3)
elif 'version_ge_py36' in metafunc.fixturenames:
- metafunc.parametrize('version_ge_py36', ['3.6', '3.7'])
+ metafunc.parametrize('version_ge_py36', ['3.6', '3.7', '3.8'])
+ elif 'version_ge_py38' in metafunc.fixturenames:
+ metafunc.parametrize('version_ge_py38', ['3.8'])
class NormalizerIssueCase(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/__init__.py new/parso-0.5.2/parso/__init__.py
--- old/parso-0.5.1/parso/__init__.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/__init__.py 2019-12-15 01:01:11.000000000 +0100
@@ -43,7 +43,7 @@
from parso.utils import split_lines, python_bytes_to_unicode
-__version__ = '0.5.1'
+__version__ = '0.5.2'
def parse(code=None, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/pgen2/generator.py new/parso-0.5.2/parso/pgen2/generator.py
--- old/parso-0.5.1/parso/pgen2/generator.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/pgen2/generator.py 2019-12-15 01:01:11.000000000 +0100
@@ -309,13 +309,39 @@
_calculate_first_plans(nonterminal_to_dfas, first_plans, nonterminal)
# Now that we have calculated the first terminals, we are sure that
- # there is no left recursion or ambiguities.
+ # there is no left recursion.
for dfas in nonterminal_to_dfas.values():
for dfa_state in dfas:
+ transitions = dfa_state.transitions
for nonterminal, next_dfa in dfa_state.nonterminal_arcs.items():
for transition, pushes in first_plans[nonterminal].items():
- dfa_state.transitions[transition] = DFAPlan(next_dfa, pushes)
+ if transition in transitions:
+ prev_plan = transitions[transition]
+ # Make sure these are sorted so that error messages are
+ # at least deterministic
+ choices = sorted([
+ (
+ prev_plan.dfa_pushes[0].from_rule
+ if prev_plan.dfa_pushes
+ else prev_plan.next_dfa.from_rule
+ ),
+ (
+ pushes[0].from_rule
+ if pushes else next_dfa.from_rule
+ ),
+ ])
+ raise ValueError(
+ "Rule %s is ambiguous; given a %s token, we "
+ "can't determine if we should evaluate %s or %s."
+ % (
+ (
+ dfa_state.from_rule,
+ transition,
+ ) + tuple(choices)
+ )
+ )
+ transitions[transition] = DFAPlan(next_dfa, pushes)
def _calculate_first_plans(nonterminal_to_dfas, first_plans, nonterminal):
@@ -345,13 +371,6 @@
raise ValueError("left recursion for rule %r" % nonterminal)
for t, pushes in first_plans2.items():
- check = new_first_plans.get(t)
- if check is not None:
- raise ValueError(
- "Rule %s is ambiguous; %s is the"
- " start of the rule %s as well as %s."
- % (nonterminal, t, nonterminal2, check[-1].from_rule)
- )
new_first_plans[t] = [next_] + pushes
first_plans[nonterminal] = new_first_plans
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/pgen2/grammar_parser.py new/parso-0.5.2/parso/pgen2/grammar_parser.py
--- old/parso-0.5.1/parso/pgen2/grammar_parser.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/pgen2/grammar_parser.py 2019-12-15 01:01:11.000000000 +0100
@@ -141,6 +141,9 @@
self.next = next_
self.nonterminal_or_string = nonterminal_or_string
+ def __repr__(self):
+ return '<%s: %s>' % (self.__class__.__name__, self.nonterminal_or_string)
+
class NFAState(object):
def __init__(self, from_rule):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/python/errors.py new/parso-0.5.2/parso/python/errors.py
--- old/parso-0.5.1/parso/python/errors.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/python/errors.py 2019-12-15 01:01:11.000000000 +0100
@@ -52,7 +52,7 @@
# It looks like a __future__ import that is relative is still a future
# import. That feels kind of odd, but whatever.
# if import_from.level != 0:
- # return False
+ # return False
from_names = import_from.get_from_names()
return [n.value for n in from_names] == ['__future__']
@@ -94,19 +94,32 @@
def _iter_definition_exprs_from_lists(exprlist):
- for child in exprlist.children[::2]:
- if child.type == 'atom' and child.children[0] in ('(', '['):
- testlist_comp = child.children[0]
- if testlist_comp.type == 'testlist_comp':
- for expr in _iter_definition_exprs_from_lists(testlist_comp):
- yield expr
- continue
+ def check_expr(child):
+ if child.type == 'atom':
+ if child.children[0] == '(':
+ testlist_comp = child.children[1]
+ if testlist_comp.type == 'testlist_comp':
+ for expr in _iter_definition_exprs_from_lists(testlist_comp):
+ yield expr
+ return
+ else:
+ # It's a paren that doesn't do anything, like 1 + (1)
+ for c in check_expr(testlist_comp):
+ yield c
+ return
elif child.children[0] == '[':
yield testlist_comp
- continue
-
+ return
yield child
+ if exprlist.type in _STAR_EXPR_PARENTS:
+ for child in exprlist.children[::2]:
+ for c in check_expr(child): # Python 2 sucks
+ yield c
+ else:
+ for c in check_expr(exprlist): # Python 2 sucks
+ yield c
+
def _get_expr_stmt_definition_exprs(expr_stmt):
exprs = []
@@ -120,8 +133,6 @@
def _get_for_stmt_definition_exprs(for_stmt):
exprlist = for_stmt.children[1]
- if exprlist.type != 'exprlist':
- return [exprlist]
return list(_iter_definition_exprs_from_lists(exprlist))
@@ -478,38 +489,38 @@
message = "bytes can only contain ASCII literal characters."
def is_issue(self, leaf):
- string_prefix = leaf.string_prefix.lower()
- if 'b' in string_prefix \
- and self._normalizer.version >= (3, 0) \
- and any(c for c in leaf.value if ord(c) > 127):
- # b'ä'
- return True
+ string_prefix = leaf.string_prefix.lower()
+ if 'b' in string_prefix \
+ and self._normalizer.version >= (3, 0) \
+ and any(c for c in leaf.value if ord(c) > 127):
+ # b'ä'
+ return True
- if 'r' not in string_prefix:
- # Raw strings don't need to be checked if they have proper
- # escaping.
- is_bytes = self._normalizer.version < (3, 0)
- if 'b' in string_prefix:
- is_bytes = True
- if 'u' in string_prefix:
- is_bytes = False
-
- payload = leaf._get_payload()
- if is_bytes:
- payload = payload.encode('utf-8')
- func = codecs.escape_decode
- else:
- func = codecs.unicode_escape_decode
+ if 'r' not in string_prefix:
+ # Raw strings don't need to be checked if they have proper
+ # escaping.
+ is_bytes = self._normalizer.version < (3, 0)
+ if 'b' in string_prefix:
+ is_bytes = True
+ if 'u' in string_prefix:
+ is_bytes = False
+
+ payload = leaf._get_payload()
+ if is_bytes:
+ payload = payload.encode('utf-8')
+ func = codecs.escape_decode
+ else:
+ func = codecs.unicode_escape_decode
- try:
- with warnings.catch_warnings():
- # The warnings from parsing strings are not relevant.
- warnings.filterwarnings('ignore')
- func(payload)
- except UnicodeDecodeError as e:
- self.add_issue(leaf, message='(unicode error) ' + str(e))
- except ValueError as e:
- self.add_issue(leaf, message='(value error) ' + str(e))
+ try:
+ with warnings.catch_warnings():
+ # The warnings from parsing strings are not relevant.
+ warnings.filterwarnings('ignore')
+ func(payload)
+ except UnicodeDecodeError as e:
+ self.add_issue(leaf, message='(unicode error) ' + str(e))
+ except ValueError as e:
+ self.add_issue(leaf, message='(value error) ' + str(e))
@ErrorFinder.register_rule(value='*')
@@ -586,7 +597,7 @@
message = "trailing comma not allowed without surrounding parentheses"
def is_issue(self, node):
- if node.children[-1] == ',':
+ if node.children[-1] == ',' and node.parent.children[-1] != ')':
return True
@@ -883,7 +894,7 @@
class _CheckAssignmentRule(SyntaxRule):
- def _check_assignment(self, node, is_deletion=False):
+ def _check_assignment(self, node, is_deletion=False, is_namedexpr=False):
error = None
type_ = node.type
if type_ == 'lambdef':
@@ -907,9 +918,9 @@
# This is not a comprehension, they were handled
# further above.
for child in second.children[::2]:
- self._check_assignment(child, is_deletion)
+ self._check_assignment(child, is_deletion, is_namedexpr)
else: # Everything handled, must be useless brackets.
- self._check_assignment(second, is_deletion)
+ self._check_assignment(second, is_deletion, is_namedexpr)
elif type_ == 'keyword':
if self._normalizer.version < (3, 8):
error = 'keyword'
@@ -939,17 +950,24 @@
assert trailer.type == 'trailer'
if trailer.children[0] == '(':
error = 'function call'
+ elif is_namedexpr and trailer.children[0] == '[':
+ error = 'subscript'
+ elif is_namedexpr and trailer.children[0] == '.':
+ error = 'attribute'
elif type_ in ('testlist_star_expr', 'exprlist', 'testlist'):
for child in node.children[::2]:
- self._check_assignment(child, is_deletion)
+ self._check_assignment(child, is_deletion, is_namedexpr)
elif ('expr' in type_ and type_ != 'star_expr' # is a substring
or '_test' in type_
or type_ in ('term', 'factor')):
error = 'operator'
if error is not None:
- cannot = "can't" if self._normalizer.version < (3, 8) else "cannot"
- message = ' '.join([cannot, "delete" if is_deletion else "assign to", error])
+ if is_namedexpr:
+ message = 'cannot use named assignment with %s' % error
+ else:
+ cannot = "can't" if self._normalizer.version < (3, 8) else "cannot"
+ message = ' '.join([cannot, "delete" if is_deletion else "assign to", error])
self.add_issue(node, message=message)
@@ -959,7 +977,6 @@
def is_issue(self, node):
expr_list = node.children[1]
- print(expr_list)
if expr_list.type != 'expr_list': # Already handled.
self._check_assignment(expr_list)
@@ -1009,3 +1026,71 @@
expr_list = for_stmt.children[1]
if expr_list.type != 'expr_list': # Already handled.
self._check_assignment(expr_list)
+
+
+(a)ErrorFinder.register_rule(type='namedexpr_test')
+class _NamedExprRule(_CheckAssignmentRule):
+ # namedexpr_test: test [':=' test]
+
+ def is_issue(self, namedexpr_test):
+ # assigned name
+ first = namedexpr_test.children[0]
+
+ def search_namedexpr_in_comp_for(node):
+ while True:
+ parent = node.parent
+ if parent is None:
+ return parent
+ if parent.type == 'sync_comp_for' and parent.children[3] == node:
+ return parent
+ node = parent
+
+ if search_namedexpr_in_comp_for(namedexpr_test):
+ # [i+1 for i in (i := range(5))]
+ # [i+1 for i in (j := range(5))]
+ # [i+1 for i in (lambda: (j := range(5)))()]
+ message = 'assignment expression cannot be used in a comprehension iterable expression'
+ self.add_issue(namedexpr_test, message=message)
+
+ # defined names
+ exprlist = list()
+
+ def process_comp_for(comp_for):
+ if comp_for.type == 'sync_comp_for':
+ comp = comp_for
+ elif comp_for.type == 'comp_for':
+ comp = comp_for.children[1]
+ exprlist.extend(_get_for_stmt_definition_exprs(comp))
+
+ def search_all_comp_ancestors(node):
+ has_ancestors = False
+ while True:
+ node = search_ancestor(node, 'testlist_comp', 'dictorsetmaker')
+ if node is None:
+ break
+ for child in node.children:
+ if child.type in _COMP_FOR_TYPES:
+ process_comp_for(child)
+ has_ancestors = True
+ break
+ return has_ancestors
+
+ # check assignment expressions in comprehensions
+ search_all = search_all_comp_ancestors(namedexpr_test)
+ if search_all:
+ if self._normalizer.context.node.type == 'classdef':
+ message = 'assignment expression within a comprehension ' \
+ 'cannot be used in a class body'
+ self.add_issue(namedexpr_test, message=message)
+
+ namelist = [expr.value for expr in exprlist if expr.type == 'name']
+ if first.type == 'name' and first.value in namelist:
+ # [i := 0 for i, j in range(5)]
+ # [[(i := i) for j in range(5)] for i in range(5)]
+ # [i for i, j in range(5) if True or (i := 1)]
+ # [False and (i := 0) for i, j in range(5)]
+ message = 'assignment expression cannot rebind ' \
+ 'comprehension iteration variable %r' % first.value
+ self.add_issue(namedexpr_test, message=message)
+
+ self._check_assignment(first, is_namedexpr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/python/grammar39.txt new/parso-0.5.2/parso/python/grammar39.txt
--- old/parso-0.5.1/parso/python/grammar39.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/parso-0.5.2/parso/python/grammar39.txt 2019-12-15 01:01:11.000000000 +0100
@@ -0,0 +1,171 @@
+# Grammar for Python
+
+# NOTE WELL: You should also follow all the steps listed at
+# https://devguide.python.org/grammar/
+
+# Start symbols for the grammar:
+# single_input is a single interactive statement;
+# file_input is a module or sequence of commands read from an input file;
+# eval_input is the input for the eval() functions.
+# NB: compound_stmt in single_input is followed by extra NEWLINE!
+single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
+file_input: (NEWLINE | stmt)* ENDMARKER
+eval_input: testlist NEWLINE* ENDMARKER
+
+decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
+decorators: decorator+
+decorated: decorators (classdef | funcdef | async_funcdef)
+
+async_funcdef: 'async' funcdef
+funcdef: 'def' NAME parameters ['->' test] ':' suite
+
+parameters: '(' [typedargslist] ')'
+typedargslist: (
+ (tfpdef ['=' test] (',' tfpdef ['=' test])* ',' '/' [',' [ tfpdef ['=' test] (
+ ',' tfpdef ['=' test])* ([',' [
+ '*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
+ | '**' tfpdef [',']]])
+ | '*' [tfpdef] (',' tfpdef ['=' test])* ([',' ['**' tfpdef [',']]])
+ | '**' tfpdef [',']]] )
+| (tfpdef ['=' test] (',' tfpdef ['=' test])* [',' [
+ '*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
+ | '**' tfpdef [',']]]
+ | '*' [tfpdef] (',' tfpdef ['=' test])* [',' ['**' tfpdef [',']]]
+ | '**' tfpdef [','])
+)
+tfpdef: NAME [':' test]
+varargslist: vfpdef ['=' test ](',' vfpdef ['=' test])* ',' '/' [',' [ (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' [
+ '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']]]
+ | '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']) ]] | (vfpdef ['=' test] (',' vfpdef ['=' test])* [',' [
+ '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']]]
+ | '*' [vfpdef] (',' vfpdef ['=' test])* [',' ['**' vfpdef [',']]]
+ | '**' vfpdef [',']
+)
+vfpdef: NAME
+
+stmt: simple_stmt | compound_stmt
+simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
+small_stmt: (expr_stmt | del_stmt | pass_stmt | flow_stmt |
+ import_stmt | global_stmt | nonlocal_stmt | assert_stmt)
+expr_stmt: testlist_star_expr (annassign | augassign (yield_expr|testlist) |
+ ('=' (yield_expr|testlist_star_expr))*)
+annassign: ':' test ['=' test]
+testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
+augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
+ '<<=' | '>>=' | '**=' | '//=')
+# For normal and annotated assignments, additional restrictions enforced by the interpreter
+del_stmt: 'del' exprlist
+pass_stmt: 'pass'
+flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
+break_stmt: 'break'
+continue_stmt: 'continue'
+return_stmt: 'return' [testlist_star_expr]
+yield_stmt: yield_expr
+raise_stmt: 'raise' [test ['from' test]]
+import_stmt: import_name | import_from
+import_name: 'import' dotted_as_names
+# note below: the ('.' | '...') is necessary because '...' is tokenized as ELLIPSIS
+import_from: ('from' (('.' | '...')* dotted_name | ('.' | '...')+)
+ 'import' ('*' | '(' import_as_names ')' | import_as_names))
+import_as_name: NAME ['as' NAME]
+dotted_as_name: dotted_name ['as' NAME]
+import_as_names: import_as_name (',' import_as_name)* [',']
+dotted_as_names: dotted_as_name (',' dotted_as_name)*
+dotted_name: NAME ('.' NAME)*
+global_stmt: 'global' NAME (',' NAME)*
+nonlocal_stmt: 'nonlocal' NAME (',' NAME)*
+assert_stmt: 'assert' test [',' test]
+
+compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
+async_stmt: 'async' (funcdef | with_stmt | for_stmt)
+if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
+while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
+for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
+try_stmt: ('try' ':' suite
+ ((except_clause ':' suite)+
+ ['else' ':' suite]
+ ['finally' ':' suite] |
+ 'finally' ':' suite))
+with_stmt: 'with' with_item (',' with_item)* ':' suite
+with_item: test ['as' expr]
+# NB compile.c makes sure that the default except clause is last
+except_clause: 'except' [test ['as' NAME]]
+suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
+
+namedexpr_test: test [':=' test]
+test: or_test ['if' or_test 'else' test] | lambdef
+test_nocond: or_test | lambdef_nocond
+lambdef: 'lambda' [varargslist] ':' test
+lambdef_nocond: 'lambda' [varargslist] ':' test_nocond
+or_test: and_test ('or' and_test)*
+and_test: not_test ('and' not_test)*
+not_test: 'not' not_test | comparison
+comparison: expr (comp_op expr)*
+# <> isn't actually a valid comparison operator in Python. It's here for the
+# sake of a __future__ import described in PEP 401 (which really works :-)
+comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
+star_expr: '*' expr
+expr: xor_expr ('|' xor_expr)*
+xor_expr: and_expr ('^' and_expr)*
+and_expr: shift_expr ('&' shift_expr)*
+shift_expr: arith_expr (('<<'|'>>') arith_expr)*
+arith_expr: term (('+'|'-') term)*
+term: factor (('*'|'@'|'/'|'%'|'//') factor)*
+factor: ('+'|'-'|'~') factor | power
+power: atom_expr ['**' factor]
+atom_expr: ['await'] atom trailer*
+atom: ('(' [yield_expr|testlist_comp] ')' |
+ '[' [testlist_comp] ']' |
+ '{' [dictorsetmaker] '}' |
+ NAME | NUMBER | strings | '...' | 'None' | 'True' | 'False')
+testlist_comp: (namedexpr_test|star_expr) ( comp_for | (',' (namedexpr_test|star_expr))* [','] )
+trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
+subscriptlist: subscript (',' subscript)* [',']
+subscript: test | [test] ':' [test] [sliceop]
+sliceop: ':' [test]
+exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
+testlist: test (',' test)* [',']
+dictorsetmaker: ( ((test ':' test | '**' expr)
+ (comp_for | (',' (test ':' test | '**' expr))* [','])) |
+ ((test | star_expr)
+ (comp_for | (',' (test | star_expr))* [','])) )
+
+classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
+
+arglist: argument (',' argument)* [',']
+
+# The reason that keywords are test nodes instead of NAME is that using NAME
+# results in an ambiguity. ast.c makes sure it's a NAME.
+# "test '=' test" is really "keyword '=' test", but we have no such token.
+# These need to be in a single rule to avoid grammar that is ambiguous
+# to our LL(1) parser. Even though 'test' includes '*expr' in star_expr,
+# we explicitly match '*' here, too, to give it proper precedence.
+# Illegal combinations and orderings are blocked in ast.c:
+# multiple (test comp_for) arguments are blocked; keyword unpackings
+# that precede iterable unpackings are blocked; etc.
+argument: ( test [comp_for] |
+ test ':=' test |
+ test '=' test |
+ '**' test |
+ '*' test )
+
+comp_iter: comp_for | comp_if
+sync_comp_for: 'for' exprlist 'in' or_test [comp_iter]
+comp_for: ['async'] sync_comp_for
+comp_if: 'if' test_nocond [comp_iter]
+
+# not used in grammar, but may appear in "node" passed from Parser to Compiler
+encoding_decl: NAME
+
+yield_expr: 'yield' [yield_arg]
+yield_arg: 'from' test | testlist_star_expr
+
+strings: (STRING | fstring)+
+fstring: FSTRING_START fstring_content* FSTRING_END
+fstring_content: FSTRING_STRING | fstring_expr
+fstring_conversion: '!' NAME
+fstring_expr: '{' testlist ['='] [ fstring_conversion ] [ fstring_format_spec ] '}'
+fstring_format_spec: ':' fstring_content*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/python/tokenize.py new/parso-0.5.2/parso/python/tokenize.py
--- old/parso-0.5.1/parso/python/tokenize.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/python/tokenize.py 2019-12-15 01:01:11.000000000 +0100
@@ -314,17 +314,19 @@
def _close_fstring_if_necessary(fstring_stack, string, start_pos, additional_prefix):
for fstring_stack_index, node in enumerate(fstring_stack):
- if string.startswith(node.quote):
+ lstripped_string = string.lstrip()
+ len_lstrip = len(string) - len(lstripped_string)
+ if lstripped_string.startswith(node.quote):
token = PythonToken(
FSTRING_END,
node.quote,
start_pos,
- prefix=additional_prefix,
+ prefix=additional_prefix+string[:len_lstrip],
)
additional_prefix = ''
assert not node.previous_lines
del fstring_stack[fstring_stack_index:]
- return token, '', len(node.quote)
+ return token, '', len(node.quote) + len_lstrip
return None, additional_prefix, 0
@@ -482,8 +484,20 @@
yield fstring_end_token
continue
- pseudomatch = pseudo_token.match(line, pos)
- if not pseudomatch: # scan for tokens
+ # in an f-string, match until the end of the string
+ if fstring_stack:
+ string_line = line
+ for fstring_stack_node in fstring_stack:
+ quote = fstring_stack_node.quote
+ end_match = endpats[quote].match(line, pos)
+ if end_match is not None:
+ end_match_string = end_match.group(0)
+ if len(end_match_string) - len(quote) + pos < len(string_line):
+ string_line = line[:pos] + end_match_string[:-len(quote)]
+ pseudomatch = pseudo_token.match(string_line, pos)
+ else:
+ pseudomatch = pseudo_token.match(line, pos)
+ if not pseudomatch: # scan for tokens
match = whitespace.match(line, pos)
if pos == 0:
for t in dedent_if_necessary(match.end()):
@@ -560,7 +574,12 @@
new_line = True
elif initial == '#': # Comments
assert not token.endswith("\n")
- additional_prefix = prefix + token
+ if fstring_stack and fstring_stack[-1].is_in_expr():
+ # `#` is not allowed in f-string expressions
+ yield PythonToken(ERRORTOKEN, initial, spos, prefix)
+ pos = start + 1
+ else:
+ additional_prefix = prefix + token
elif token in triple_quoted:
endprog = endpats[token]
endmatch = endprog.match(line, pos)
@@ -616,10 +635,13 @@
else:
if paren_level:
paren_level -= 1
- elif token == ':' and fstring_stack \
+ elif token.startswith(':') and fstring_stack \
and fstring_stack[-1].parentheses_count \
- fstring_stack[-1].format_spec_count == 1:
+ # `:` and `:=` both count
fstring_stack[-1].format_spec_count += 1
+ token = ':'
+ pos = start + 1
yield PythonToken(OP, token, spos, prefix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso/python/tree.py new/parso-0.5.2/parso/python/tree.py
--- old/parso-0.5.1/parso/python/tree.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/parso/python/tree.py 2019-12-15 01:01:11.000000000 +0100
@@ -200,25 +200,22 @@
return "<%s: %s@%s,%s>" % (type(self).__name__, self.value,
self.line, self.column)
- def is_definition(self):
+ def is_definition(self, include_setitem=False):
"""
Returns True if the name is being defined.
"""
- return self.get_definition() is not None
+ return self.get_definition(include_setitem=include_setitem) is not None
- def get_definition(self, import_name_always=False):
+ def get_definition(self, import_name_always=False, include_setitem=False):
"""
- Returns None if there's on definition for a name.
+ Returns None if there's no definition for a name.
- :param import_name_alway: Specifies if an import name is always a
+ :param import_name_always: Specifies if an import name is always a
definition. Normally foo in `from foo import bar` is not a
definition.
"""
node = self.parent
type_ = node.type
- if type_ in ('power', 'atom_expr'):
- # In `self.x = 3` self is not a definition, but x is.
- return None
if type_ in ('funcdef', 'classdef'):
if self == node.name:
@@ -237,7 +234,7 @@
if node.type == 'suite':
return None
if node.type in _GET_DEFINITION_TYPES:
- if self in node.get_defined_names():
+ if self in node.get_defined_names(include_setitem):
return node
if import_name_always and node.type in _IMPORTS:
return node
@@ -775,8 +772,8 @@
"""
return self.children[3]
- def get_defined_names(self):
- return _defined_names(self.children[1])
+ def get_defined_names(self, include_setitem=False):
+ return _defined_names(self.children[1], include_setitem)
class TryStmt(Flow):
@@ -799,7 +796,7 @@
type = 'with_stmt'
__slots__ = ()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
"""
Returns the a list of `Name` that the with statement defines. The
defined names are set after `as`.
@@ -808,7 +805,7 @@
for with_item in self.children[1:-2:2]:
# Check with items for 'as' names.
if with_item.type == 'with_item':
- names += _defined_names(with_item.children[2])
+ names += _defined_names(with_item.children[2], include_setitem)
return names
def get_test_node_from_name(self, name):
@@ -849,7 +846,7 @@
type = 'import_from'
__slots__ = ()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
"""
Returns the a list of `Name` that the import defines. The
defined names are set after `import` or in case an alias - `as` - is
@@ -920,7 +917,7 @@
type = 'import_name'
__slots__ = ()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
"""
Returns the a list of `Name` that the import defines. The defined names
is always the first name after `import` or in case an alias - `as` - is
@@ -1021,7 +1018,7 @@
__slots__ = ()
-def _defined_names(current):
+def _defined_names(current, include_setitem):
"""
A helper function to find the defined names in statements, for loops and
list comprehensions.
@@ -1029,14 +1026,22 @@
names = []
if current.type in ('testlist_star_expr', 'testlist_comp', 'exprlist', 'testlist'):
for child in current.children[::2]:
- names += _defined_names(child)
+ names += _defined_names(child, include_setitem)
elif current.type in ('atom', 'star_expr'):
- names += _defined_names(current.children[1])
+ names += _defined_names(current.children[1], include_setitem)
elif current.type in ('power', 'atom_expr'):
if current.children[-2] != '**': # Just if there's no operation
trailer = current.children[-1]
if trailer.children[0] == '.':
names.append(trailer.children[1])
+ elif trailer.children[0] == '[' and include_setitem:
+ for node in current.children[-2::-1]:
+ if node.type == 'trailer':
+ names.append(node.children[1])
+ break
+ if node.type == 'name':
+ names.append(node)
+ break
else:
names.append(current)
return names
@@ -1046,18 +1051,18 @@
type = 'expr_stmt'
__slots__ = ()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
"""
Returns a list of `Name` defined before the `=` sign.
"""
names = []
if self.children[1].type == 'annassign':
- names = _defined_names(self.children[0])
+ names = _defined_names(self.children[0], include_setitem)
return [
name
for i in range(0, len(self.children) - 2, 2)
if '=' in self.children[i + 1].value
- for name in _defined_names(self.children[i])
+ for name in _defined_names(self.children[i], include_setitem)
] + names
def get_rhs(self):
@@ -1150,7 +1155,7 @@
else:
return self._tfpdef()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
return [self.name]
@property
@@ -1208,12 +1213,12 @@
type = 'sync_comp_for'
__slots__ = ()
- def get_defined_names(self):
+ def get_defined_names(self, include_setitem=False):
"""
Returns the a list of `Name` that the comprehension defines.
"""
# allow async for
- return _defined_names(self.children[1])
+ return _defined_names(self.children[1], include_setitem)
# This is simply here so an older Jedi version can work with this new parso
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso.egg-info/PKG-INFO new/parso-0.5.2/parso.egg-info/PKG-INFO
--- old/parso-0.5.1/parso.egg-info/PKG-INFO 2019-07-13 15:50:20.000000000 +0200
+++ new/parso-0.5.2/parso.egg-info/PKG-INFO 2019-12-15 01:01:27.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: parso
-Version: 0.5.1
+Version: 0.5.2
Summary: A Python Parser
Home-page: https://github.com/davidhalter/parso
Author: David Halter
@@ -106,6 +106,13 @@
Changelog
---------
+ 0.5.2 (2019-12-15)
+ ++++++++++++++++++
+
+ - Add include_setitem to get_definition/is_definition and get_defined_names (#66)
+ - Fix named expression error listing (#89, #90)
+ - Fix some f-string tokenizer issues (#93)
+
0.5.1 (2019-07-13)
++++++++++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/parso.egg-info/SOURCES.txt new/parso-0.5.2/parso.egg-info/SOURCES.txt
--- old/parso-0.5.1/parso.egg-info/SOURCES.txt 2019-07-13 15:50:20.000000000 +0200
+++ new/parso-0.5.2/parso.egg-info/SOURCES.txt 2019-12-15 01:01:27.000000000 +0100
@@ -57,6 +57,7 @@
parso/python/grammar36.txt
parso/python/grammar37.txt
parso/python/grammar38.txt
+parso/python/grammar39.txt
parso/python/parser.py
parso/python/pep8.py
parso/python/prefix.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/test/failing_examples.py new/parso-0.5.2/test/failing_examples.py
--- old/parso-0.5.1/test/failing_examples.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/test/failing_examples.py 2019-12-15 01:01:11.000000000 +0100
@@ -319,3 +319,35 @@
continue
'''), # 'continue' not supported inside 'finally' clause"
]
+
+if sys.version_info[:2] >= (3, 8):
+ # assignment expressions from issue#89
+ FAILING_EXAMPLES += [
+ # Case 2
+ '(lambda: x := 1)',
+ '((lambda: x) := 1)',
+ # Case 3
+ '(a[i] := x)',
+ '((a[i]) := x)',
+ '(a(i) := x)',
+ # Case 4
+ '(a.b := c)',
+ '[(i.i:= 0) for ((i), j) in range(5)]',
+ # Case 5
+ '[i:= 0 for i, j in range(5)]',
+ '[(i:= 0) for ((i), j) in range(5)]',
+ '[(i:= 0) for ((i), j), in range(5)]',
+ '[(i:= 0) for ((i), j.i), in range(5)]',
+ '[[(i:= i) for j in range(5)] for i in range(5)]',
+ '[i for i, j in range(5) if True or (i:= 1)]',
+ '[False and (i:= 0) for i, j in range(5)]',
+ # Case 6
+ '[i+1 for i in (i:= range(5))]',
+ '[i+1 for i in (j:= range(5))]',
+ '[i+1 for i in (lambda: (j:= range(5)))()]',
+ # Case 7
+ 'class Example:\n [(j := i) for i in range(5)]',
+ # Not in that issue
+ '(await a := x)',
+ '((await a) := x)',
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/test/test_parser_tree.py new/parso-0.5.2/test/test_parser_tree.py
--- old/parso-0.5.1/test/test_parser_tree.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/test/test_parser_tree.py 2019-12-15 01:01:11.000000000 +0100
@@ -180,3 +180,45 @@
r = get_raise_stmts(code, 2) # Lists inside try-catch
assert len(list(r)) == 2
+
+
+(a)pytest.mark.parametrize(
+ 'code, name_index, is_definition, include_setitem', [
+ ('x = 3', 0, True, False),
+ ('x.y = 3', 0, False, False),
+ ('x.y = 3', 1, True, False),
+ ('x.y = u.v = z', 0, False, False),
+ ('x.y = u.v = z', 1, True, False),
+ ('x.y = u.v = z', 2, False, False),
+ ('x.y = u.v, w = z', 3, True, False),
+ ('x.y = u.v, w = z', 4, True, False),
+ ('x.y = u.v, w = z', 5, False, False),
+
+ ('x, y = z', 0, True, False),
+ ('x, y = z', 1, True, False),
+ ('x, y = z', 2, False, False),
+ ('x, y = z', 2, False, False),
+ ('x[0], y = z', 2, False, False),
+ ('x[0] = z', 0, False, False),
+ ('x[0], y = z', 0, False, False),
+ ('x[0], y = z', 2, False, True),
+ ('x[0] = z', 0, True, True),
+ ('x[0], y = z', 0, True, True),
+ ('x: int = z', 0, True, False),
+ ('x: int = z', 1, False, False),
+ ('x: int = z', 2, False, False),
+ ('x: int', 0, True, False),
+ ('x: int', 1, False, False),
+ ]
+)
+def test_is_definition(code, name_index, is_definition, include_setitem):
+ module = parse(code, version='3.8')
+ name = module.get_first_leaf()
+ while True:
+ if name.type == 'name':
+ if name_index == 0:
+ break
+ name_index -= 1
+ name = name.get_next_leaf()
+
+ assert name.is_definition(include_setitem=include_setitem) == is_definition
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/test/test_pgen2.py new/parso-0.5.2/test/test_pgen2.py
--- old/parso-0.5.1/test/test_pgen2.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/test/test_pgen2.py 2019-12-15 01:01:11.000000000 +0100
@@ -292,12 +292,22 @@
generate_grammar('foo: foo NAME\n', tokenize.PythonTokenTypes)
-def test_ambiguities():
- with pytest.raises(ValueError, match='ambiguous'):
- generate_grammar('foo: bar | baz\nbar: NAME\nbaz: NAME\n', tokenize.PythonTokenTypes)
-
- with pytest.raises(ValueError, match='ambiguous'):
- generate_grammar('''foo: bar | baz\nbar: 'x'\nbaz: "x"\n''', tokenize.PythonTokenTypes)
-
- with pytest.raises(ValueError, match='ambiguous'):
- generate_grammar('''foo: bar | 'x'\nbar: 'x'\n''', tokenize.PythonTokenTypes)
+(a)pytest.mark.parametrize(
+ 'grammar, error_match', [
+ ['foo: bar | baz\nbar: NAME\nbaz: NAME\n',
+ r"foo is ambiguous.*given a TokenType\(NAME\).*bar or baz"],
+ ['''foo: bar | baz\nbar: 'x'\nbaz: "x"\n''',
+ r"foo is ambiguous.*given a ReservedString\(x\).*bar or baz"],
+ ['''foo: bar | 'x'\nbar: 'x'\n''',
+ r"foo is ambiguous.*given a ReservedString\(x\).*bar or foo"],
+ # An ambiguity with the second (not the first) child of a production
+ ['outer: "a" [inner] "b" "c"\ninner: "b" "c" [inner]\n',
+ r"outer is ambiguous.*given a ReservedString\(b\).*inner or outer"],
+ # An ambiguity hidden by a level of indirection (middle)
+ ['outer: "a" [middle] "b" "c"\nmiddle: inner\ninner: "b" "c" [inner]\n',
+ r"outer is ambiguous.*given a ReservedString\(b\).*middle or outer"],
+ ]
+)
+def test_ambiguities(grammar, error_match):
+ with pytest.raises(ValueError, match=error_match):
+ generate_grammar(grammar, tokenize.PythonTokenTypes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/test/test_python_errors.py new/parso-0.5.2/test/test_python_errors.py
--- old/parso-0.5.1/test/test_python_errors.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/test/test_python_errors.py 2019-12-15 01:01:11.000000000 +0100
@@ -294,6 +294,19 @@
@pytest.mark.parametrize(
+ 'code', [
+ 'a = (b := 1)',
+ '[x4 := x ** 5 for x in range(7)]',
+ '[total := total + v for v in range(10)]',
+ 'while chunk := file.read(2):\n pass',
+ 'numbers = [y := math.factorial(x), y**2, y**3]',
+ ]
+)
+def test_valid_namedexpr(code):
+ assert not _get_error_list(code, version='3.8')
+
+
+(a)pytest.mark.parametrize(
('code', 'message'), [
("f'{1+}'", ('invalid syntax')),
(r'f"\"', ('invalid syntax')),
@@ -307,3 +320,15 @@
"""
error, = _get_error_list(code, version='3.6')
assert message in error.message
+
+
+(a)pytest.mark.parametrize(
+ 'code', [
+ "from foo import (\nbar,\n rab,\n)",
+ "from foo import (bar, rab, )",
+ ]
+)
+def test_trailing_comma(code):
+ errors = _get_error_list(code)
+ assert not errors
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/test/test_tokenize.py new/parso-0.5.2/test/test_tokenize.py
--- old/parso-0.5.1/test/test_tokenize.py 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/test/test_tokenize.py 2019-12-15 01:01:11.000000000 +0100
@@ -385,8 +385,32 @@
NAME, OP, FSTRING_START, FSTRING_STRING, OP, NAME, OP,
FSTRING_STRING, OP, FSTRING_STRING, OP, NAME, OP, FSTRING_END, OP
]),
+ # issue #86, a string-like in an f-string expression
+ ('f"{ ""}"', [
+ FSTRING_START, OP, FSTRING_END, STRING
+ ]),
+ ('f"{ f""}"', [
+ FSTRING_START, OP, NAME, FSTRING_END, STRING
+ ]),
]
)
def test_fstring(code, types, version_ge_py36):
actual_types = [t.type for t in _get_token_list(code, version_ge_py36)]
assert types + [ENDMARKER] == actual_types
+
+
+(a)pytest.mark.parametrize(
+ ('code', 'types'), [
+ # issue #87, `:=` in the outest paratheses should be tokenized
+ # as a format spec marker and part of the format
+ ('f"{x:=10}"', [
+ FSTRING_START, OP, NAME, OP, FSTRING_STRING, OP, FSTRING_END
+ ]),
+ ('f"{(x:=10)}"', [
+ FSTRING_START, OP, OP, NAME, OP, NUMBER, OP, OP, FSTRING_END
+ ]),
+ ]
+)
+def test_fstring_assignment_expression(code, types, version_ge_py38):
+ actual_types = [t.type for t in _get_token_list(code, version_ge_py38)]
+ assert types + [ENDMARKER] == actual_types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parso-0.5.1/tox.ini new/parso-0.5.2/tox.ini
--- old/parso-0.5.1/tox.ini 2019-07-13 15:47:10.000000000 +0200
+++ new/parso-0.5.2/tox.ini 2019-12-15 01:01:11.000000000 +0100
@@ -1,10 +1,10 @@
[tox]
-envlist = {py26,py27,py33,py34,py35,py36,py37}
+envlist = {py26,py27,py33,py34,py35,py36,py37,py38}
[testenv]
extras = testing
deps =
py26,py33: pytest>=3.0.7,<3.3
- py27,py34: pytest<5
+ py27,py34: pytest<3.3
py26,py33: setuptools<37
coverage: coverage
setenv =
1
0
Hello community,
here is the log from the commit of package mypy for openSUSE:Factory checked in at 2019-12-29 15:49:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mypy (Old)
and /work/SRC/openSUSE:Factory/.mypy.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mypy"
Sun Dec 29 15:49:23 2019 rev:16 rq:756059 version:0.750
Changes:
--------
--- /work/SRC/openSUSE:Factory/mypy/mypy.changes 2019-11-22 10:24:44.649285580 +0100
+++ /work/SRC/openSUSE:Factory/.mypy.new.6675/mypy.changes 2019-12-29 15:49:24.159168166 +0100
@@ -1,0 +2,14 @@
+Thu Dec 12 12:09:10 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.750
+ * More Precise Error Locations
+ * Colors in Output
+ * Pretty Output Mode
+ * Old Semantic Analyzer Removed
+ * Type Checking for str.format Calls
+ * Improved check_untyped_defs
+ * Stricter Treatment of Context Manager Objects
+ * More Powerful Self-types
+ * Mypy Daemon is No Longer Experimental
+
+-------------------------------------------------------------------
Old:
----
mypy-0.720.tar.gz
New:
----
mypy-0.750.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mypy.spec ++++++
--- /var/tmp/diff_new_pack.ImQmL5/_old 2019-12-29 15:49:25.091168591 +0100
+++ /var/tmp/diff_new_pack.ImQmL5/_new 2019-12-29 15:49:25.095168593 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mypy
#
-# Copyright (c) 2019 SUSE LLC.
+# 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: mypy
-Version: 0.720
+Version: 0.750
Release: 0
Summary: Optional static typing for Python
License: MIT
@@ -62,6 +62,9 @@
sed -i -e '1 s|env ||' $scr
done
+sed -i '/env python3/d' ./mypy/stubgenc.py
+sed -i '/env python3/d' ./mypy/stubgen.py
+
%build
%python3_build
pushd docs
@@ -75,6 +78,8 @@
%check
export PYTHONPATH=%{buildroot}%{python3_sitelib}
+sed -i '/plugin/d' ./mypy_self_check.ini
+sed -i '/warn_unused_ignores/d' ./mypy_self_check.ini
python3 -m mypy --config-file mypy_self_check.ini -p mypy
# py.test3 -v … we need to analyze subset of tests which would be
# available and without large dependencies.
@@ -85,6 +90,7 @@
%{python3_sitelib}/*
%{_bindir}/dmypy
%{_bindir}/mypy
+%{_bindir}/mypyc
%{_bindir}/stubgen
%changelog
++++++ mypy-0.720.tar.gz -> mypy-0.750.tar.gz ++++++
++++ 121109 lines of diff (skipped)
++++++ mypy-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.ImQmL5/_old 2019-12-29 15:49:26.171169084 +0100
+++ /var/tmp/diff_new_pack.ImQmL5/_new 2019-12-29 15:49:26.191169093 +0100
@@ -1,2 +1,3 @@
addFilter("zero-length .*/usr/lib/python.*/site-packages/mypy/test/.*\.py")
addFilter("zero-length .*/usr/lib/python.*/site-packages/mypy/typeshed/.*\.pyi")
+addFilter("devel-file-in-non-devel-package")
1
0
Hello community,
here is the log from the commit of package nodejs8 for openSUSE:Factory checked in at 2019-12-29 15:49:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs8 (Old)
and /work/SRC/openSUSE:Factory/.nodejs8.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs8"
Sun Dec 29 15:49:09 2019 rev:29 rq:759683 version:8.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs8/nodejs8.changes 2019-11-04 17:02:46.904028658 +0100
+++ /work/SRC/openSUSE:Factory/.nodejs8.new.6675/nodejs8.changes 2019-12-29 15:49:19.599166087 +0100
@@ -1,0 +2,11 @@
+Thu Dec 19 11:30:13 UTC 2019 - Adam Majer <adam.majer(a)suse.de>
+
+- New upstream LTS release 8.17.0:
+ * deps: updates npm to 6.13.4 fixing an arbitrary path overwrite
+ and access via "bin" field (bsc#1159352, CVE-2019-16777,
+ CVE-2019-16776, CVE-2019-16775)
+
+- refreshed: versioned.patch node-gyp-addon-gypi.patch
+- upstreamed: CVE-2019-13173.patch
+
+-------------------------------------------------------------------
Old:
----
CVE-2019-13173.patch
node-v8.16.2.tar.xz
New:
----
node-v8.17.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs8.spec ++++++
--- /var/tmp/diff_new_pack.mJBKs3/_old 2019-12-29 15:49:21.347166884 +0100
+++ /var/tmp/diff_new_pack.mJBKs3/_new 2019-12-29 15:49:21.347166884 +0100
@@ -26,7 +26,7 @@
###########################################################
Name: nodejs8
-Version: 8.16.2
+Version: 8.17.0
Release: 0
%define node_version_number 8
@@ -122,7 +122,6 @@
Patch7: manual_configure.patch
Patch12: openssl_1_1_1.patch
-Patch31: CVE-2019-13173.patch
Patch32: fix_build_with_openssl_1.1.1d.patch
## Patches specific to SUSE and openSUSE
@@ -186,11 +185,16 @@
BuildRequires: procps
BuildRequires: xz
BuildRequires: zlib-devel
+
+%if %node_version_number > 12
+BuildRequires: python3
+%else
%if 0%{?suse_version} >= 1500
BuildRequires: python2
%else
BuildRequires: python
%endif
+%endif # python3
%if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10
BuildRequires: group(nobody)
@@ -279,13 +283,14 @@
Provides: nodejs-npm = %{version}
Obsoletes: nodejs-npm < 4.0.0
Provides: npm = %{version}
-Provides: npm(npm) = 6.4.1
+Provides: npm(npm) = 6.13.4
%if 0%{?suse_version} >= 1500
%if %{node_version_number} >= 10
Requires: group(nobody)
Requires: user(nobody)
%endif
Recommends: python2
+Recommends: python3
%else
Recommends: python
%endif
@@ -324,7 +329,6 @@
%if 0%{with valgrind_tests}
%endif
%patch12 -p1
-%patch31 -p1
%patch32 -p1
%patch101 -p1
%patch102 -p1
++++++ SHASUMS256.txt ++++++
--- /var/tmp/diff_new_pack.mJBKs3/_old 2019-12-29 15:49:21.375166897 +0100
+++ /var/tmp/diff_new_pack.mJBKs3/_new 2019-12-29 15:49:21.375166897 +0100
@@ -1,40 +1,40 @@
-8ed8a96300c116eb9533beb70510882fb5a9bc4b1f9acfa31bb718d52213e4a3 node-v8.16.2-aix-ppc64.tar.gz
-359331120e83f0707219398fc543b05eee9476446ecce549c20c4d9c7c103d29 node-v8.16.2-darwin-x64.tar.gz
-5bbb5be5c388276b78d6c8a17cb1ce0dd2c7e157c08fe7f3eda7414c1f450b39 node-v8.16.2-darwin-x64.tar.xz
-a43156bc0e2fd2f60a4e4a9194564d69b3e9f0f956a175b7ebe95d2610239f1c node-v8.16.2-headers.tar.gz
-ed608f070fcc84e80ef4caf9004fe955067d003a62ff76c2bf2c1c9c5bfb01b7 node-v8.16.2-headers.tar.xz
-19b8c246dd12840ee6a94c89df683f853ed91cbbf6a133820fb163181d77202d node-v8.16.2-linux-arm64.tar.gz
-5afe366affb05136d25e99ec97a7a1ee1b690cc26df43567af0509f36b45e682 node-v8.16.2-linux-arm64.tar.xz
-9f3b47244f502a150a09d6ad7f7eb68c835d148712b326d2af8db2b7ca81c14f node-v8.16.2-linux-armv6l.tar.gz
-0fb8e030651776c490e7a8612e97b0d11af27d6e89461a612fa7fab6afda6c95 node-v8.16.2-linux-armv6l.tar.xz
-291f507d32b79fcd8c16739515516464f27b77cadb8b86f7a8ab43e74032cf69 node-v8.16.2-linux-armv7l.tar.gz
-9b7070578d58785da2bd31d3256b42f91d993a2fb4091e87a21fb9e66cca3b6e node-v8.16.2-linux-armv7l.tar.xz
-9eb932ac222cbd6a1feeee145e515b2d41b18ad2ff686eb23782dc0e7205f838 node-v8.16.2-linux-ppc64le.tar.gz
-f442590923136024b23bf8c40533f5d6a7b5fb23ae34a889f77f1539ed9bfe8c node-v8.16.2-linux-ppc64le.tar.xz
-0dd28c879c3bdfdb7e71b84cd74bf5667146a582b1af7afba25963772303aefb node-v8.16.2-linux-s390x.tar.gz
-7c40b92a0466ffcade181f750d7fa659fd335a10bf156179c0d4b5bc0b40f10e node-v8.16.2-linux-s390x.tar.xz
-722d07291a8886384388c6795a747ec2055073f83dc73c0a97efba0022cc23ff node-v8.16.2-linux-x64.tar.gz
-88617a293f5828cc94ee99c94a43fbea12b989e34fe643fc14885a14748a8da6 node-v8.16.2-linux-x64.tar.xz
-938cc9651ce38091eba8c72ef2b235339fe3bed3980c04d1429f01412c68546c node-v8.16.2-linux-x86.tar.gz
-3c1be98f792e41ab2a26bf03ed061ec2f98977218662f91daa394f8a23b94127 node-v8.16.2-linux-x86.tar.xz
-5721d8c76809cb138a19a4cf9897faf875cd385df6c115cd004412ef01807e08 node-v8.16.2.pkg
-f9905b0e69884e7f8c95b8a924cb6c4e3a5ec4fd6390a6f6daa5110214b5f841 node-v8.16.2-sunos-x64.tar.gz
-2eb39c7dfb21ed384924761e3315e754c427a1a29da0e49cb1e52d8469ab7ee3 node-v8.16.2-sunos-x64.tar.xz
-73a156c47ec5e3c628e5960d15d798786073afb02a31621f0e7a4e92f0f484e1 node-v8.16.2-sunos-x86.tar.gz
-5793c4c8f47e9da65bb17a749a357767c01640436bff0d8e5098c1804494a0af node-v8.16.2-sunos-x86.tar.xz
-4f94361bbe087bc3a9d48ff69c2cefabb6460c64cb7d959204726467b9ee84b8 node-v8.16.2.tar.gz
-8c16b500ad74c1b1bde099996c287eeed5a4b2ab0efdf5d94d1d683cc2654ec3 node-v8.16.2.tar.xz
-c27a170595851fc85b9b419c9fc76b6c70e237f7d60d483fa5ec3d8f8cea76c1 node-v8.16.2-win-x64.7z
-98c615221500434155a8a5aff5fe96cd000400f3e76858ca97e6624f1d15eb73 node-v8.16.2-win-x64.zip
-c4b7eb2839b19f8217717ac359c6b23725d9e25872338d6a56f4d9f74af11324 node-v8.16.2-win-x86.7z
-6cadb66e46a7aa40f5401ddcbfd514f886d7e9b17e1c9d3ac89c594c338d64e5 node-v8.16.2-win-x86.zip
-573f4780464942794d7496d7deef0a49c44f8b2c220dfe7383e288f9ada8662a node-v8.16.2-x64.msi
-a9e5c53ff8ce29d82fe0c78a8c5ed7fa9db21d11cc64f6961dd10a79fdb3521b node-v8.16.2-x86.msi
-e4e2c2aadcae1f6b5fe1936a4606b2fb59fbcfda263114e3abd10892d1433024 win-x64/node.exe
-99959198ff808d2888dc9cdaf8080f05936452069e1542c0d3d4942834152d93 win-x64/node.lib
-e52e4fced1bb038cbfc009d798e41f9c1a8b001040e59c42407e704c791ec509 win-x64/node_pdb.7z
-37f34a8583edede6bc286652c6a9e6b6d4de2981ae41614b66c828b3e0dc86aa win-x64/node_pdb.zip
-521f0f095ad104bbe7a3446c357a91f59b4227d8f68d719cf7132525df00dcab win-x86/node.exe
-c63832cd5413211cde419c9ca95d1d79914853891d593ecac334d714cdc6f701 win-x86/node.lib
-1a44e95ee27ecb933bb89daf9defaf4f418bdecae3416a71e7ba0ac55a565c0f win-x86/node_pdb.7z
-bd5a46e4a3705f74707b7d808ebed93d58414c6784e678293c97acb40c536a56 win-x86/node_pdb.zip
+b7a3cf3be16de9ec3cec995d335613de9337acfb17e2e64bcfe346482efcc9ed node-v8.17.0-aix-ppc64.tar.gz
+3117430fc93e9865e4a1842616cc98767b5d6987fd9d727c8be4068714570e16 node-v8.17.0-darwin-x64.tar.gz
+b6ef86df44292ba65f2b9a81b99a7db8de22a313f9c5abcebb6cf17ec24e2c97 node-v8.17.0-darwin-x64.tar.xz
+5d5cd9f57f3381bce43b99d287f450c70202f0b908624fd3e8929c81c5417d12 node-v8.17.0-headers.tar.gz
+492ae9f6702b729ffc5b17e1723fc8a92bd2c18dbed66740cc83a94473d86077 node-v8.17.0-headers.tar.xz
+a01ac6b731f78a65de73ac8b750cb945c1fd7b5465cddd1c72453c020b703ff3 node-v8.17.0-linux-arm64.tar.gz
+8318d1ee0265d84025ecbea76aaecd732974a6f4ac8492ddd84231cee77ba948 node-v8.17.0-linux-arm64.tar.xz
+c7dd94a77306b9704bbe91f76a44f6fccbd6d9761084bcea7cc9b4459a8e37e0 node-v8.17.0-linux-armv6l.tar.gz
+c80559c3abbe68329467fd1d3115b5961ab58b321a58eead2e435f0a2eed8b32 node-v8.17.0-linux-armv6l.tar.xz
+c94fdca1f499cca72108a0e8a9138e57f03753b9b1bdbfd88088b942580ff5d7 node-v8.17.0-linux-armv7l.tar.gz
+c3b9a7429b81ec179ec33b1c6c79a3f247f8ff8356991b2dccc37bbfbf4f47e9 node-v8.17.0-linux-armv7l.tar.xz
+66e0c60ae8435f3f2bf5310231f8dd575a4aca4e09f9ab40967a7af65109c1f0 node-v8.17.0-linux-ppc64le.tar.gz
+d0b85febf748198eb3e9d3bb71b30c93728881ce6f4d4b4f9032bcaf5660b213 node-v8.17.0-linux-ppc64le.tar.xz
+9c6b0e8f2c3d222fd2f1b23d2872e9458743273aceeb1e2204ca6fb2b1e2f50a node-v8.17.0-linux-s390x.tar.gz
+86a11035948459401304229ad45c00274120afd999b84c0d7116cfe209ca57dc node-v8.17.0-linux-s390x.tar.xz
+8b2c9e1f84317c4b02736c4c50db4dd2cd6c4f0ba910fa81f887c8c9294af596 node-v8.17.0-linux-x64.tar.gz
+b7f6dd77fb173c8c7c30d61d0702eefc236bba74398538aa77bfa2bb47bddce6 node-v8.17.0-linux-x64.tar.xz
+1170ce85555ac17d58b7a5354f06fa5cb1bcaf31f15926c82b314d20552a5fee node-v8.17.0-linux-x86.tar.gz
+e92a26ab60245c99c1dd5bcea1793abbef1aba751d6ce6a222daf08abe4e8020 node-v8.17.0-linux-x86.tar.xz
+c81bfb80f5a7ecfb46f71ffbcb18112ca5c3803bee7c3773504ab392ea90e711 node-v8.17.0.pkg
+fe67f9d6553b58881c4fa74266839a3430d487e09a191fb58ddefe8d1fdcf6f8 node-v8.17.0-sunos-x64.tar.gz
+bdec19087bd8faaf273099e20a4776b0c705009358911cc9e7f6f9cfe146c376 node-v8.17.0-sunos-x64.tar.xz
+ca8bb246968b0b26c0cc8800fb94cc80e1b44a788dcc8e07006b038dec200269 node-v8.17.0-sunos-x86.tar.gz
+507ecc56ed861e89de36bcb8109717a6609e7524e60e6f473f067a8ccf00ecdb node-v8.17.0-sunos-x86.tar.xz
+aa583f19065545fa4c9b480ba13cf94f29350415ca5a853a5afde3c9b6982c4b node-v8.17.0.tar.gz
+5b0d96db482b273f0324c299ead86ecfbc5d033516e5fc37c92cfccb933ef6ff node-v8.17.0.tar.xz
+df219e9104fb602a3d720ae46eaf4a70cd46467a630862429b5594f9942baecc node-v8.17.0-win-x64.7z
+e95a63e81b27e78872c0efb9dd5809403014dbf9896035cc17adf51a350f88fa node-v8.17.0-win-x64.zip
+391769a1133a2b400255e080fd20ef96dcf6502d42b3f7e5ec9a4f0290cfe134 node-v8.17.0-win-x86.7z
+3ecc0ab4c6ad957f5dfb9ca22453cd35908029fba86350fc96d070e8e5c213b5 node-v8.17.0-win-x86.zip
+587064ce90ba373de075409a558e196dd58b502ffec4858ea5ef91ebb10288c3 node-v8.17.0-x64.msi
+4dd333f7e11177e7a8cc7bd91f0fc74a4ba241797b1f328bee670d41e847d65b node-v8.17.0-x86.msi
+e03a7f3c7b422c24577f000312037f7cc693046cba54c27c3d2d772d648ca9ce win-x64/node.exe
+2b3b96605d4f62d3da3c45c7e08ca42df0d9d1e71de918cec6ae467ee93906a8 win-x64/node.lib
+4f2d6a2d8646efc9a813bd72cc9693209455ee00e8ab2da00e96b0971c6ae081 win-x64/node_pdb.7z
+db246c970f8fae432e270538006405612022ab586c5c6da6e3608bb4fbd2cef5 win-x64/node_pdb.zip
+c1c84e86807e1a0f0594fae6883f904c958710e8dbeb760249fcc59eec9e9949 win-x86/node.exe
+976d8beebc4e5c815b5e1b1e8e9c31f69d886f97e48b6767cc882edf787c70f9 win-x86/node.lib
+eb3a721f09bf7535a9d69632ad226ea59770da5b94828f21c526a3291f70e78a win-x86/node_pdb.7z
+4853b98c158b7871606f208d62b2f07e29013fcbdeec43a8b1dbf078ab8c1c82 win-x86/node_pdb.zip
++++++ SHASUMS256.txt.sig ++++++
Binary files /var/tmp/diff_new_pack.mJBKs3/_old and /var/tmp/diff_new_pack.mJBKs3/_new differ
++++++ node-gyp-addon-gypi.patch ++++++
--- /var/tmp/diff_new_pack.mJBKs3/_old 2019-12-29 15:49:21.407166911 +0100
+++ /var/tmp/diff_new_pack.mJBKs3/_new 2019-12-29 15:49:21.411166913 +0100
@@ -1,7 +1,7 @@
-Index: node-v8.1.3/addon-rpm.gypi
+Index: node-v8.17.0/addon-rpm.gypi
===================================================================
--- /dev/null
-+++ node-v8.1.3/addon-rpm.gypi
++++ node-v8.17.0/addon-rpm.gypi
@@ -0,0 +1,35 @@
+{
+ 'target_defaults': {
@@ -38,11 +38,11 @@
+ ]
+ }
+}
-Index: node-v8.1.3/deps/npm/node_modules/node-gyp/lib/configure.js
+Index: node-v8.17.0/deps/npm/node_modules/node-gyp/lib/configure.js
===================================================================
---- node-v8.1.3.orig/deps/npm/node_modules/node-gyp/lib/configure.js
-+++ node-v8.1.3/deps/npm/node_modules/node-gyp/lib/configure.js
-@@ -62,10 +62,6 @@ function configure (gyp, argv, callback)
+--- node-v8.17.0.orig/deps/npm/node_modules/node-gyp/lib/configure.js
++++ node-v8.17.0/deps/npm/node_modules/node-gyp/lib/configure.js
+@@ -46,10 +46,6 @@ function configure (gyp, argv, callback)
if ('v' + release.version !== process.version) {
// if --target was given, then determine a target version to compile for
log.verbose('get node dir', 'compiling against --target node version: %s', release.version)
@@ -53,7 +53,7 @@
if (!release.semver) {
// could not parse the version string with semver
-@@ -80,6 +76,12 @@ function configure (gyp, argv, callback)
+@@ -68,6 +64,12 @@ function configure (gyp, argv, callback)
nodeDir = path.resolve(gyp.devDir, release.versionDir)
createBuildDir()
})
@@ -66,13 +66,13 @@
}
}
-@@ -271,7 +273,8 @@ function configure (gyp, argv, callback)
+@@ -282,7 +284,8 @@ function configure (gyp, argv, callback)
// this logic ported from the old `gyp_addon` python file
- var gyp_script = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py')
-- var addon_gypi = path.resolve(__dirname, '..', 'addon.gypi')
+ var gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py')
+- var addonGypi = path.resolve(__dirname, '..', 'addon.gypi')
+ var addon_gypi_file = gyp.opts.target || gyp.opts.nodedir ? 'addon.gypi' : 'addon-rpm.gypi'
-+ var addon_gypi = path.resolve(__dirname, '..', addon_gypi_file)
- var common_gypi = path.resolve(nodeDir, 'include/node/common.gypi')
- fs.stat(common_gypi, function (err, stat) {
- if (err)
++ var addonGypi = path.resolve(__dirname, '..', addon_gypi_file)
+ var commonGypi = path.resolve(nodeDir, 'include/node/common.gypi')
+ fs.stat(commonGypi, function (err) {
+ if (err) {
++++++ node-v8.16.2.tar.xz -> node-v8.17.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/nodejs8/node-v8.16.2.tar.xz /work/SRC/openSUSE:Factory/.nodejs8.new.6675/node-v8.17.0.tar.xz differ: char 27, line 1
++++++ versioned.patch ++++++
--- /var/tmp/diff_new_pack.mJBKs3/_old 2019-12-29 15:49:21.435166924 +0100
+++ /var/tmp/diff_new_pack.mJBKs3/_new 2019-12-29 15:49:21.435166924 +0100
@@ -8,10 +8,10 @@
This is also important for generation of binary
modules for multiple versions of NodeJS
-Index: node-v8.12.0/Makefile
+Index: node-v8.17.0/Makefile
===================================================================
---- node-v8.12.0.orig/Makefile
-+++ node-v8.12.0/Makefile
+--- node-v8.17.0.orig/Makefile
++++ node-v8.17.0/Makefile
@@ -46,7 +46,7 @@ BUILDTYPE_LOWER := $(shell echo $(BUILDT
EXEEXT := $(shell $(PYTHON) -c \
"import sys; print('.exe' if sys.platform == 'win32' else '')")
@@ -21,10 +21,10 @@
NODE ?= ./$(NODE_EXE)
NODE_G_EXE = node_g$(EXEEXT)
NPM ?= ./deps/npm/bin/npm-cli.js
-Index: node-v8.12.0/tools/install.py
+Index: node-v8.17.0/tools/install.py
===================================================================
---- node-v8.12.0.orig/tools/install.py
-+++ node-v8.12.0/tools/install.py
+--- node-v8.17.0.orig/tools/install.py
++++ node-v8.17.0/tools/install.py
@@ -78,7 +78,7 @@ def install(paths, dst): map(lambda path
def uninstall(paths, dst): map(lambda path: try_remove(path, dst), paths)
@@ -125,10 +125,10 @@
def run(args):
global node_prefix, install_path, target_defaults, variables
-Index: node-v8.12.0/doc/node.1
+Index: node-v8.17.0/doc/node.1
===================================================================
---- node-v8.12.0.orig/doc/node.1
-+++ node-v8.12.0/doc/node.1
+--- node-v8.17.0.orig/doc/node.1
++++ node-v8.17.0/doc/node.1
@@ -26,12 +26,12 @@
.SH NAME
@@ -161,10 +161,10 @@
.RB [ \-\-v8-options ]
Execute without arguments to start the REPL.
-Index: node-v8.12.0/src/node.stp
+Index: node-v8.17.0/src/node.stp
===================================================================
---- node-v8.12.0.orig/src/node.stp
-+++ node-v8.12.0/src/node.stp
+--- node-v8.17.0.orig/src/node.stp
++++ node-v8.17.0/src/node.stp
@@ -19,7 +19,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -237,16 +237,16 @@
{
scavenge = 1 << 0;
compact = 1 << 1;
-Index: node-v8.12.0/deps/npm/man/man1/npm.1
+Index: node-v8.17.0/deps/npm/man/man1/npm.1
===================================================================
---- node-v8.12.0.orig/deps/npm/man/man1/npm.1
-+++ node-v8.12.0/deps/npm/man/man1/npm.1
+--- node-v8.17.0.orig/deps/npm/man/man1/npm.1
++++ node-v8.17.0/deps/npm/man/man1/npm.1
@@ -1,11 +1,11 @@
- .TH "NPM" "1" "August 2018" "" ""
+ .TH "NPM" "1" "December 2019" "" ""
.SH "NAME"
-\fBnpm\fR \- javascript package manager
+\fBnpm8\fR \- javascript package manager
- .SH SYNOPSIS
+ .SS Synopsis
.P
.RS 2
.nf
@@ -254,14 +254,14 @@
+npm8 <command> [args]
.fi
.RE
- .SH VERSION
+ .SS Version
@@ -21,7 +21,7 @@ It is extremely configurable to support
Most commonly, it is used to publish, discover, install, and develop node
programs\.
.P
-Run \fBnpm help\fP to get a list of available commands\.
+Run \fBnpm8 help\fP to get a list of available commands\.
- .SH IMPORTANT
+ .SS Important
.P
npm is configured to use npm, Inc\.'s public registry at
@@ -35,11 +35,11 @@ terms of use\.
@@ -269,23 +269,23 @@
You probably got npm because you want to install stuff\.
.P
-Use \fBnpm install blerg\fP to install the latest version of "blerg"\. Check out
--npm help \fBnpm\-install\fP for more info\. It can do a lot of stuff\.
+-npm help \fBinstall\fP for more info\. It can do a lot of stuff\.
+Use \fBnpm8 install blerg\fP to install the latest version of "blerg"\. Check out
-+npm8 help \fBnpm\-install\fP for more info\. It can do a lot of stuff\.
++npm8 help \fBinstall\fP for more info\. It can do a lot of stuff\.
.P
-Use the \fBnpm search\fP command to show everything that's available\.
-Use \fBnpm ls\fP to show everything you've installed\.
+Use the \fBnpm8 search\fP command to show everything that's available\.
+Use \fBnpm8 ls\fP to show everything you've installed\.
- .SH DEPENDENCIES
+ .SS Dependencies
.P
If a package references to another package with a git URL, npm depends
@@ -57,7 +57,7 @@ the node\-gyp repository \fIhttps://gith
the node\-gyp Wiki \fIhttps://github\.com/TooTallNate/node\-gyp/wiki\fR\|\.
- .SH DIRECTORIES
+ .SS Directories
.P
--See npm help 5 \fBnpm\-folders\fP to learn about where npm puts stuff\.
-+See npm8 help 5 \fBnpm\-folders\fP to learn about where npm puts stuff\.
+-See npm help \fBfolders\fP to learn about where npm puts stuff\.
++See npm8 help \fBfolders\fP to learn about where npm puts stuff\.
.P
In particular, npm has two modes of operation:
.RS 0
@@ -293,8 +293,8 @@
.RS 0
.IP \(bu 2
json:
--Make a package\.json file\. See npm help 5 \fBpackage\.json\fP\|\.
-+Make a package\.json file\. See npm8 help 5 \fBpackage\.json\fP\|\.
+-Make a package\.json file\. See npm help \fBpackage\.json\fP\|\.
++Make a package\.json file\. See npm8 help \fBpackage\.json\fP\|\.
.IP \(bu 2
link:
For linking your current working code into Node's path, so that you
@@ -317,27 +317,25 @@
+Use the \fBnpm8 publish\fP command to upload your code to the registry\.
.RE
- .SH CONFIGURATION
+ .SS Configuration
@@ -135,7 +135,7 @@ lib/utils/config\-defs\.js\. These must
.RE
.P
--See npm help 7 \fBnpm\-config\fP for much much more information\.
-+See npm8 help 7 \fBnpm\-config\fP for much much more information\.
- .SH CONTRIBUTIONS
+-See npm help \fBconfig\fP for much much more information\.
++See npm8 help \fBconfig\fP for much much more information\.
+ .SS Contributions
.P
Patches welcome!
-@@ -174,21 +174,21 @@ i(a)izs\.me
- .SH SEE ALSO
+@@ -172,14 +172,14 @@ i(a)izs\.me
+ .SS See Also
.RS 0
.IP \(bu 2
-npm help help
+npm8 help help
.IP \(bu 2
- README
- .IP \(bu 2
--npm help 5 package\.json
-+npm8 help 5 package\.json
+-npm help package\.json
++npm8 help package\.json
.IP \(bu 2
-npm help install
+npm8 help install
@@ -345,21 +343,14 @@
-npm help config
+npm8 help config
.IP \(bu 2
--npm help 7 config
-+npm8 help 7 config
- .IP \(bu 2
--npm help 5 npmrc
-+npm8 help 5 npmrc
- .IP \(bu 2
--npm help 7 index
-+npm8 help 7 index
+-npm help npmrc
++npm8 help npmrc
.RE
-
-Index: node-v8.12.0/node.gyp
+Index: node-v8.17.0/node.gyp
===================================================================
---- node-v8.12.0.orig/node.gyp
-+++ node-v8.12.0/node.gyp
+--- node-v8.17.0.orig/node.gyp
++++ node-v8.17.0/node.gyp
@@ -21,8 +21,8 @@
'node_shared_openssl%': 'false',
'node_v8_options%': '',
@@ -371,10 +362,10 @@
'node_intermediate_lib_type%': 'static_library',
'library_files': [
'lib/internal/bootstrap_node.js',
-Index: node-v8.12.0/src/node_main.cc
+Index: node-v8.17.0/src/node_main.cc
===================================================================
---- node-v8.12.0.orig/src/node_main.cc
-+++ node-v8.12.0/src/node_main.cc
+--- node-v8.17.0.orig/src/node_main.cc
++++ node-v8.17.0/src/node_main.cc
@@ -21,6 +21,7 @@
#include "node.h"
@@ -383,7 +374,7 @@
#ifdef _WIN32
#include <windows.h>
-@@ -101,6 +102,7 @@ int main(int argc, char *argv[]) {
+@@ -119,6 +120,7 @@ int main(int argc, char *argv[]) {
#endif
// Disable stdio buffering, it interacts poorly with printf()
// calls elsewhere in the program (e.g., any logging from V8.)
@@ -391,11 +382,11 @@
setvbuf(stdout, nullptr, _IONBF, 0);
setvbuf(stderr, nullptr, _IONBF, 0);
return node::Start(argc, argv);
-Index: node-v8.12.0/tools/test.py
+Index: node-v8.17.0/tools/test.py
===================================================================
---- node-v8.12.0.orig/tools/test.py
-+++ node-v8.12.0/tools/test.py
-@@ -906,7 +906,7 @@ class Context(object):
+--- node-v8.17.0.orig/tools/test.py
++++ node-v8.17.0/tools/test.py
+@@ -873,7 +873,7 @@ class Context(object):
def GetVm(self, arch, mode):
if arch == 'none':
1
0
Hello community,
here is the log from the commit of package gnome-shell for openSUSE:Factory checked in at 2019-12-29 15:49:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell"
Sun Dec 29 15:49:05 2019 rev:170 rq:759682 version:3.34.2+2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes 2019-12-24 14:29:14.242554675 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new.6675/gnome-shell.changes 2019-12-29 15:49:17.755165246 +0100
@@ -1,0 +2,12 @@
+Fri Dec 27 09:05:56 UTC 2019 - dimstar(a)opensuse.org
+
+- Update to version 3.34.2+2:
+ * polkitAgent: Only set key focus to password entry after opening dialog
+
+-------------------------------------------------------------------
+Tue Dec 24 11:30:30 UTC 2019 - dimstar(a)opensuse.org
+
+- Update to version 3.34.2+1:
+ * keyboard: Stop accessing deprecated actor property
+
+-------------------------------------------------------------------
Old:
----
gnome-shell-3.34.2+0.obscpio
New:
----
gnome-shell-3.34.2+2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-shell.spec ++++++
--- /var/tmp/diff_new_pack.QCM6Pk/_old 2019-12-29 15:49:18.823165733 +0100
+++ /var/tmp/diff_new_pack.QCM6Pk/_new 2019-12-29 15:49:18.827165734 +0100
@@ -19,7 +19,7 @@
%global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell
-Version: 3.34.2+0
+Version: 3.34.2+2
Release: 0
Summary: GNOME Shell
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.QCM6Pk/_old 2019-12-29 15:49:18.867165753 +0100
+++ /var/tmp/diff_new_pack.QCM6Pk/_new 2019-12-29 15:49:18.867165753 +0100
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.gnome.org/GNOME/gnome-shell.git</param>
- <param name="changesrevision">9f7b1bd677584cab84ec6a1f925087c4a04b4ddf</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">a35f9a5226c77a969f380d8435f3e4e78446e4d1</param></service></servicedata>
\ No newline at end of file
++++++ gnome-shell-3.34.2+0.obscpio -> gnome-shell-3.34.2+2.obscpio ++++++
/work/SRC/openSUSE:Factory/gnome-shell/gnome-shell-3.34.2+0.obscpio /work/SRC/openSUSE:Factory/.gnome-shell.new.6675/gnome-shell-3.34.2+2.obscpio differ: char 48, line 1
++++++ gnome-shell.obsinfo ++++++
--- /var/tmp/diff_new_pack.QCM6Pk/_old 2019-12-29 15:49:19.111165864 +0100
+++ /var/tmp/diff_new_pack.QCM6Pk/_new 2019-12-29 15:49:19.111165864 +0100
@@ -1,5 +1,5 @@
name: gnome-shell
-version: 3.34.2+0
-mtime: 1576094630
-commit: 9f7b1bd677584cab84ec6a1f925087c4a04b4ddf
+version: 3.34.2+2
+mtime: 1577275006
+commit: a35f9a5226c77a969f380d8435f3e4e78446e4d1
1
0
Hello community,
here is the log from the commit of package vulkan-loader for openSUSE:Factory checked in at 2019-12-29 15:49:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vulkan-loader (Old)
and /work/SRC/openSUSE:Factory/.vulkan-loader.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-loader"
Sun Dec 29 15:49:02 2019 rev:16 rq:759667 version:1.1.130
Changes:
--------
--- /work/SRC/openSUSE:Factory/vulkan-loader/vulkan-loader.changes 2019-12-18 14:47:01.877903294 +0100
+++ /work/SRC/openSUSE:Factory/.vulkan-loader.new.6675/vulkan-loader.changes 2019-12-29 15:49:13.619163359 +0100
@@ -1,0 +2,5 @@
+Mon Dec 23 11:21:33 UTC 2019 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Use new macros (autosetup and cmake_build)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vulkan-loader.spec ++++++
--- /var/tmp/diff_new_pack.X2rV1i/_old 2019-12-29 15:49:14.231163638 +0100
+++ /var/tmp/diff_new_pack.X2rV1i/_new 2019-12-29 15:49:14.235163640 +0100
@@ -16,20 +16,19 @@
#
-Name: vulkan-loader
%define lname libvulkan1
+Name: vulkan-loader
Version: 1.1.130
Release: 0
Summary: Reference ICD loader for Vulkan
License: Apache-2.0
Group: Development/Libraries/C and C++
URL: https://github.com/KhronosGroup/Vulkan-Loader
-
Source: https://github.com/KhronosGroup/Vulkan-Loader/archive/v%version.tar.gz
Source9: baselibs.conf
BuildRequires: cmake >= 3.4
BuildRequires: gcc-c++ >= 4.8
-BuildRequires: pkg-config
+BuildRequires: pkgconfig
BuildRequires: python3-xml
BuildRequires: vulkan-headers >= %version
BuildRequires: pkgconfig(pciaccess)
@@ -67,13 +66,13 @@
to make use of Vulkan.
%prep
-%setup -qn Vulkan-Loader-%version
+%autosetup -n Vulkan-Loader-%version
%build
%cmake \
-DVulkanHeaders_INCLUDE_DIR:PATH="%_includedir" \
-DVulkanRegistry_DIR:PATH="%_datadir/vulkan/registry"
-make %{?_smp_mflags}
+%cmake_build
%install
%cmake_install
1
0