openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
July 2024
- 1 participants
- 1521 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package scrcpy for openSUSE:Factory checked in at 2024-07-01 11:20:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scrcpy (Old)
and /work/SRC/openSUSE:Factory/.scrcpy.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scrcpy"
Mon Jul 1 11:20:05 2024 rev:3 rq:1184015 version:2.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/scrcpy/scrcpy.changes 2024-03-04 21:25:00.422114736 +0100
+++ /work/SRC/openSUSE:Factory/.scrcpy.new.18349/scrcpy.changes 2024-07-01 11:20:47.251972384 +0200
@@ -1,0 +2,19 @@
+Sat Jun 29 16:35:04 UTC 2024 - munix9(a)googlemail.com
+
+- Update to version 2.5:
+ * Add scrcpy window without video playback (#4727, #4793, #4868)
+ * Add a shortcut to pause/unpause display (#1632, #4748)
+ * Forward mouse hover events (#2743, #3070, #5039)
+ * Add option to configure mouse bindings (#5022)
+ * Forward all clicks by default for UHID/AOA (#5022)
+ * Simplify shortcut modifiers (#4741)
+ * Fix rotation shortcut for Android 14 (#4740, #4841)
+ * Fix YUV conversion for full color range (#4756)
+ * Fix camera sizes listing on some devices (#4852)
+ * Fix thread leak on Windows (#4973)
+ * Upgrade FFmpeg to 7.0.1 in Windows releases
+ * Upgrade SDL to 2.30.4 in Windows releases
+ * Upgrade platform-tools (adb) to 35.0.0 in Windows releases
+ * Various technical fixes
+
+-------------------------------------------------------------------
Old:
----
scrcpy-2.4.tar.gz
scrcpy-server-v2.4
New:
----
scrcpy-2.5.tar.gz
scrcpy-server-v2.5
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scrcpy.spec ++++++
--- /var/tmp/diff_new_pack.HLO8Ix/_old 2024-07-01 11:20:47.727989726 +0200
+++ /var/tmp/diff_new_pack.HLO8Ix/_new 2024-07-01 11:20:47.727989726 +0200
@@ -17,14 +17,14 @@
Name: scrcpy
-Version: 2.4
+Version: 2.5
Release: 0
Summary: Display and control your Android device
License: Apache-2.0
Group: Hardware/Mobile
URL: https://github.com/Genymobile/scrcpy
-Source0: https://github.com/Genymobile/scrcpy/archive/refs/tags/v%{version}.tar.gz#/…
-Source1: https://github.com/Genymobile/scrcpy/releases/download/v%{version}/scrcpy-s…
+Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Source1: %{url}/releases/download/v%{version}/scrcpy-server-v%{version}
BuildRequires: hicolor-icon-theme
BuildRequires: meson >= 0.48
BuildRequires: pkgconfig
++++++ scrcpy-2.4.tar.gz -> scrcpy-2.5.tar.gz ++++++
++++ 3468 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-cloud-build for openSUSE:Factory checked in at 2024-07-01 11:20:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-cloud-build (Old)
and /work/SRC/openSUSE:Factory/.python-google-cloud-build.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-cloud-build"
Mon Jul 1 11:20:05 2024 rev:3 rq:1184010 version:3.24.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-cloud-build/python-google-cloud-build.changes 2024-03-25 21:20:47.853187348 +0100
+++ /work/SRC/openSUSE:Factory/.python-google-cloud-build.new.18349/python-google-cloud-build.changes 2024-07-01 11:20:45.055892382 +0200
@@ -1,0 +2,8 @@
+Sat Jun 29 16:36:30 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.24.0:
+ * Add Bitbucket Data Center Config and Bitbucket Cloud config for
+ Cloud Build Repositories
+ * Exclude google-auth 2.24.0 and 2.25.0
+
+-------------------------------------------------------------------
Old:
----
google-cloud-build-3.22.0.tar.gz
New:
----
google-cloud-build-3.24.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-cloud-build.spec ++++++
--- /var/tmp/diff_new_pack.MN3UQI/_old 2024-07-01 11:20:46.283937118 +0200
+++ /var/tmp/diff_new_pack.MN3UQI/_new 2024-07-01 11:20:46.283937118 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-google-cloud-build
-Version: 3.22.0
+Version: 3.24.0
Release: 0
Summary: Google Cloud Build API client library
License: Apache-2.0
++++++ google-cloud-build-3.22.0.tar.gz -> google-cloud-build-3.24.0.tar.gz ++++++
++++ 4886 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-djangorestframework for openSUSE:Factory checked in at 2024-07-01 11:20:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-djangorestframework (Old)
and /work/SRC/openSUSE:Factory/.python-djangorestframework.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-djangorestframework"
Mon Jul 1 11:20:03 2024 rev:23 rq:1184013 version:3.15.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-djangorestframework/python-djangorestframework.changes 2024-04-14 12:24:56.806276675 +0200
+++ /work/SRC/openSUSE:Factory/.python-djangorestframework.new.18349/python-djangorestframework.changes 2024-07-01 11:20:42.851812087 +0200
@@ -1,0 +2,9 @@
+Sat Jun 29 16:41:34 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.15.2:
+ * Fix potential XSS vulnerability in browsable API. #9435
+ * Revert "Ensure CursorPagination respects nulls in the ordering
+ field". #9381
+ * Use warnings rather than logging a warning for DecimalField.
+
+-------------------------------------------------------------------
Old:
----
djangorestframework-3.15.1.tar.gz
New:
----
djangorestframework-3.15.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-djangorestframework.spec ++++++
--- /var/tmp/diff_new_pack.WsHIfD/_old 2024-07-01 11:20:44.423869357 +0200
+++ /var/tmp/diff_new_pack.WsHIfD/_new 2024-07-01 11:20:44.427869503 +0200
@@ -26,11 +26,11 @@
%bcond_with test
%endif
Name: python-djangorestframework%{psuffix}
-Version: 3.15.1
+Version: 3.15.2
Release: 0
Summary: A REST Framework for Django
License: BSD-2-Clause
-URL: http://django-rest-framework.org/
+URL: https://www.django-rest-framework.org/
Source: https://github.com/encode/django-rest-framework/archive/%{version}.tar.gz#/…
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
++++++ djangorestframework-3.15.1.tar.gz -> djangorestframework-3.15.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-djangorestframework/djangorestframework-3.15.1.tar.gz /work/SRC/openSUSE:Factory/.python-djangorestframework.new.18349/djangorestframework-3.15.2.tar.gz differ: char 14, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-money for openSUSE:Factory checked in at 2024-07-01 11:20:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-money (Old)
and /work/SRC/openSUSE:Factory/.python-django-money.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-money"
Mon Jul 1 11:20:02 2024 rev:9 rq:1184011 version:3.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-money/python-django-money.changes 2023-12-28 23:02:52.905552701 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-money.new.18349/python-django-money.changes 2024-07-01 11:20:40.843738935 +0200
@@ -1,0 +2,13 @@
+Sat Jun 29 16:39:04 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.5.2:
+ * django-rest-framework: Fix regression from 3.5
+ * If you generated MoneyField migrations in the previous series
+ 3.4.x, you may have to manually edit subsequent migrations.
+ * Revert 3.4 patch, meaning that auto-generated CurrencyField
+ is once again part of migrations
+ * django-rest-framework: MinMoneyValidator and
+ MaxMoneyValidator fixed, may require default_currency defined
+ * Django 5.0 support
+
+-------------------------------------------------------------------
Old:
----
django-money-3.4.1.tar.gz
New:
----
django-money-3.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-money.spec ++++++
--- /var/tmp/diff_new_pack.XeIfdS/_old 2024-07-01 11:20:41.499762832 +0200
+++ /var/tmp/diff_new_pack.XeIfdS/_new 2024-07-01 11:20:41.503762978 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-django-money
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define skip_python2 1
%define skip_python36 1
Name: python-django-money
-Version: 3.4.1
+Version: 3.5.2
Release: 0
Summary: Django support for using money and currency fields
License: BSD-3-Clause
++++++ django-money-3.4.1.tar.gz -> django-money-3.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/.github/workflows/main.yml new/django-money-3.5.2/.github/workflows/main.yml
--- old/django-money-3.4.1/.github/workflows/main.yml 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/.github/workflows/main.yml 2024-05-07 23:30:47.000000000 +0200
@@ -7,7 +7,7 @@
name: Generic pre-commit checks
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-python@v4
@@ -20,7 +20,7 @@
name: docs
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-python@v4
@@ -34,68 +34,30 @@
strategy:
matrix:
include:
- - python: pypy-3.8
- tox_env: django22-pypy3
- - python: pypy-3.8
- tox_env: django32-pypy3
- - python: pypy-3.8
- tox_env: django40-pypy3
- - python: '3.7'
- tox_env: django22-py37
- - python: '3.7'
- tox_env: django32-py37
- - python: '3.8'
- tox_env: django22-py38
- - python: '3.8'
- tox_env: django32-py38
- - python: '3.8'
- tox_env: django40-py38
- - python: '3.8'
- tox_env: django41-py38
- python: '3.8'
tox_env: django42-py38
- python: '3.9'
- tox_env: django22-py39
- - python: '3.9'
- tox_env: django32-py39
- - python: '3.9'
- tox_env: django40-py39
- - python: '3.9'
- tox_env: django41-py39
- - python: '3.9'
tox_env: django42-py39
- python: '3.10'
- tox_env: django22-py310
- - python: '3.10'
- tox_env: django32-py310
- - python: '3.10'
- tox_env: django40-py310
- - python: '3.10'
- tox_env: django41-py310
- - python: '3.10'
tox_env: django42-py310
- python: '3.10'
+ tox_env: django50-py310
+ - python: '3.10'
tox_env: django_main-py310
- python: '3.10'
tox_env: no_rest_framework
- python: '3.11'
tox_env: django_main-py311
- python: '3.11'
- tox_env: django42-py311
+ tox_env: django50-py311
- python: '3.11'
- tox_env: django41-py311
- - python: '3.11'
- tox_env: django40-py311
- - python: '3.11'
- tox_env: django32-py311
- - python: '3.11'
- tox_env: django22-py311
+ tox_env: django42-py311
- python: '3.11'
tox_env: no_rest_framework
name: ${{ matrix.tox_env }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 1
@@ -111,7 +73,7 @@
- run: coverage xml -i
- name: Upload coverage to Codecov
- uses: codecov/codecov-action(a)v1.0.15
+ uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
name: codecov-py${{ matrix.python }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/.github/workflows/release.yml new/django-money-3.5.2/.github/workflows/release.yml
--- old/django-money-3.4.1/.github/workflows/release.yml 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/.github/workflows/release.yml 2024-05-07 23:30:47.000000000 +0200
@@ -9,11 +9,11 @@
name: Build and publish Python 🐍distributions 📦 to PyPI
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@master
- - name: Set up Python 3.9
- uses: actions/setup-python@v1
+ - uses: actions/checkout@v4
+ - name: Set up Python 3.10
+ uses: actions/setup-python@v5
with:
- python-version: 3.9
+ python-version: "3.10"
- name: Install tox
run: >-
python -m
@@ -24,6 +24,6 @@
run: >-
python -m tox -e build
- name: Publish distribution 📦 to PyPI
- uses: pypa/gh-action-pypi-publish@master
+ uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/.pre-commit-config.yaml new/django-money-3.5.2/.pre-commit-config.yaml
--- old/django-money-3.4.1/.pre-commit-config.yaml 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/.pre-commit-config.yaml 2024-05-07 23:30:47.000000000 +0200
@@ -2,7 +2,7 @@
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.2.0
+ rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: check-yaml
@@ -14,7 +14,7 @@
- --remove
- repo: https://github.com/asottile/pyupgrade
- rev: v2.32.0
+ rev: v3.15.2
hooks:
- id: pyupgrade
args:
@@ -31,7 +31,7 @@
- id: isort
- repo: https://github.com/pycqa/flake8
- rev: 3.9.2
+ rev: 7.0.0
hooks:
- id: flake8
exclude: ^docs
@@ -47,13 +47,13 @@
- --ignore-roles=github-issue,github-user
- repo: https://github.com/psf/black
- rev: 22.3.0
+ rev: 24.4.2
hooks:
- id: black
exclude: ^docs
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.2.0
+ rev: v1.10.0
hooks:
- id: mypy
additional_dependencies:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/Makefile new/django-money-3.5.2/Makefile
--- old/django-money-3.4.1/Makefile 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/Makefile 2024-05-07 23:30:47.000000000 +0200
@@ -28,7 +28,7 @@
rm -fr htmlcov/
test:
- python setup.py test --pytest-args="--cov=./djmoney tests"
+ pytest --cov=./djmoney tests
coverage:
coverage run --source djmoney setup.py test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/README.rst new/django-money-3.5.2/README.rst
--- old/django-money-3.4.1/README.rst 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/README.rst 2024-05-07 23:30:47.000000000 +0200
@@ -140,6 +140,37 @@
* Euros should be between 100 and 1000;
* US Dollars should be between 50 and 500;
+Constructing form data
+----------------------
+
+The default ``ModelForm`` class will use a form field (``djmoney.forms.fields.MoneyField``) that is constructed of two separate fields for amount and currency.
+
+If you need to feed data directly to such a form (for instance if you are writing a test case), then you need to pass amount and currency like this:
+
+
+
+.. code:: python
+
+ # models.py
+ class Product(models.Model):
+ price = MoneyField(
+ max_digits=14,
+ decimal_places=2,
+ default_currency='EUR'
+ )
+
+ # forms.py
+ class ProductForm(ModelForm):
+ class Meta:
+ model = Product
+ fields = ["price"]
+
+ # tests.py
+
+ # construct the form in your test case
+ form = ProductForm({'price_0': 10, 'price_1': 'EUR'})
+
+
Adding a new Currency
---------------------
@@ -392,7 +423,7 @@
.. code:: python
- CELERYBEAT_SCHEDULE = {
+ CELERY_BEAT_SCHEDULE = {
'update_rates': {
'task': 'path.to.your.task',
'schedule': crontab(minute=0, hour=0),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/djmoney/__init__.py new/django-money-3.5.2/djmoney/__init__.py
--- old/django-money-3.4.1/djmoney/__init__.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/djmoney/__init__.py 2024-05-07 23:30:47.000000000 +0200
@@ -1,4 +1,4 @@
-__version__ = "3.4.1"
+__version__ = "3.5.2"
try:
import django
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/djmoney/contrib/django_rest_framework/fields.py new/django-money-3.5.2/djmoney/contrib/django_rest_framework/fields.py
--- old/django-money-3.4.1/djmoney/contrib/django_rest_framework/fields.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/djmoney/contrib/django_rest_framework/fields.py 2024-05-07 23:30:47.000000000 +0200
@@ -65,8 +65,16 @@
return super().to_internal_value(data)
def get_value(self, data):
+ default_currency = None
+ parent_meta = getattr(self.parent, "Meta", None)
+
+ if parent_meta and hasattr(parent_meta, "model"):
+ model_meta = self.parent.Meta.model._meta
+ field = model_meta.get_field(self.source)
+ default_currency = field.default_currency
+
amount = super().get_value(data)
- currency = data.get(get_currency_field_name(self.field_name), self.default_currency)
+ currency = data.get(get_currency_field_name(self.field_name), self.default_currency or default_currency)
if currency and amount is not None and not isinstance(amount, MONEY_CLASSES) and amount is not empty:
return _PrimitiveMoney(amount=amount, currency=currency)
return amount
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/djmoney/contrib/exchange/backends/openexchangerates.py new/django-money-3.5.2/djmoney/contrib/exchange/backends/openexchangerates.py
--- old/django-money-3.4.1/djmoney/contrib/exchange/backends/openexchangerates.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/djmoney/contrib/exchange/backends/openexchangerates.py 2024-05-07 23:30:47.000000000 +0200
@@ -18,4 +18,4 @@
self.access_key = access_key
def get_params(self):
- return {"app_id": self.access_key}
+ return {"app_id": self.access_key, "base": settings.BASE_CURRENCY}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/djmoney/models/fields.py new/django-money-3.5.2/djmoney/models/fields.py
--- old/django-money-3.4.1/djmoney/models/fields.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/djmoney/models/fields.py 2024-05-07 23:30:47.000000000 +0200
@@ -255,7 +255,11 @@
def contribute_to_class(self, cls, name):
cls._meta.has_money_field = True
- if not hasattr(self, "_currency_field") and not cls.__module__ == "__fake__":
+ # Note the discussion about whether or not the currency field should be added in migrations:
+ # https://github.com/django-money/django-money/issues/725
+ # https://github.com/django-money/django-money/pull/726
+ # https://github.com/django-money/django-money/issues/731
+ if not hasattr(self, "_currency_field"):
self.add_currency_field(cls, name)
super().contribute_to_class(cls, name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/djmoney/serializers.py new/django-money-3.5.2/djmoney/serializers.py
--- old/django-money-3.4.1/djmoney/serializers.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/djmoney/serializers.py 2024-05-07 23:30:47.000000000 +0200
@@ -39,7 +39,7 @@
money_fields = {}
fields = {}
field_names = {field.name for field in Model._meta.get_fields()}
- for (field_name, field_value) in obj["fields"].items():
+ for field_name, field_value in obj["fields"].items():
if ignore and field_name not in field_names:
# skip fields no longer on model
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/docs/changes.rst new/django-money-3.5.2/docs/changes.rst
--- old/django-money-3.4.1/docs/changes.rst 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/docs/changes.rst 2024-05-07 23:30:47.000000000 +0200
@@ -1,22 +1,42 @@
Changelog
=========
-`Unreleased`_ (TBA)
--------------------
+`3.5.2`_ - 2024-05-07
+---------------------
**Fixed**
-- (add changelog entry)
+- django-rest-framework: Fix regression from 3.5 :github-issue:`762` (:github-user:`dariusmazeika`)
-**Changed**
+`3.5.1`_ - 2024-05-05
+---------------------
-- (add changelog entry)
+**Fixed**
+
+- django-rest-framework: Fix regression from 3.5 :github-issue:`757` (:github-user:`phillipuniverse`)
+
+
+`3.5`_ - 2024-05-04
+-------------------
+.. important::
+
+ If you generated ``MoneyField`` migrations in the previous series 3.4.x, you may have to manually edit subsequent migrations. Please share your successful approaches in :github-issue:`731`.
+
+
+**Fixed**
+
+- Revert 3.4 patch, meaning that auto-generated CurrencyField is once again part of migrations :github-issue:`731` (:github-user:`benjaoming`)
+- django-rest-framework: MinMoneyValidator and MaxMoneyValidator fixed, may require default_currency defined :github-issue:`722` (:github-user:`hosamhamdy258` :github-user:`errietta` :github-user:`benjaoming`)
**Added**
-- (add changelog entry)
+- Django 5.0 support :github-issue:`753` (:github-user:`benjaoming`)
+
+**Removed**
+
+- Official support for Django 2.2, 3.2, 4.0, 4.1 :github-issue:`753` (:github-user:`benjaoming`)
`3.4.1`_ - 2023-11-30
@@ -813,8 +833,11 @@
- Initial public release
-.. _Unreleased: https:///github.com/django-money/django-money/compare/3.4.1...HEAD
+# .. _3.5: https:///github.com/django-money/django-money/compare/3.5...HEAD
+.. _3.5.2: https:///github.com/django-money/django-money/compare/3.5.2...3.5.1
+.. _3.5.1: https:///github.com/django-money/django-money/compare/3.5.1...3.5
+.. _3.5: https:///github.com/django-money/django-money/compare/3.5...3.4.1
.. _3.4.1: https:///github.com/django-money/django-money/compare/3.4...3.4.1
.. _3.4: https:///github.com/django-money/django-money/compare/3.3...3.4
.. _3.3: https:///github.com/django-money/django-money/compare/3.2...3.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/pytest.ini new/django-money-3.5.2/pytest.ini
--- old/django-money-3.4.1/pytest.ini 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/pytest.ini 2024-05-07 23:30:47.000000000 +0200
@@ -1,6 +1,8 @@
[pytest]
DJANGO_SETTINGS_MODULE=tests.settings
+django_find_project = false
filterwarnings =
error::DeprecationWarning
ignore:pkg_resources is deprecated as an API:DeprecationWarning
addopts = "--no-cov-on-fail"
+pythonpath = .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/setup.py new/django-money-3.5.2/setup.py
--- old/django-money-3.4.1/setup.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/setup.py 2024-05-07 23:30:47.000000000 +0200
@@ -1,36 +1,13 @@
import codecs
import os
import re
-import sys
from setuptools import find_packages, setup
-from setuptools.command.test import test as TestCommand
-
-
-class PyTest(TestCommand):
- user_options = [("pytest-args=", "a", "Arguments to pass into py.test")]
-
- def initialize_options(self):
- TestCommand.initialize_options(self)
- self.pytest_args = []
-
- def finalize_options(self):
- TestCommand.finalize_options(self)
- self.test_args = []
- self.test_suite = True
-
- def run_tests(self):
- import pytest
-
- errno = pytest.main(self.pytest_args)
- sys.exit(errno)
test_requirements = [
- # Quickfix for https://docs.pytest.org/en/7.1.x/deprecations.html#using-pytest-warns-none
- "pytest>=3.1.0,<7.0",
+ "pytest>=8.2,<8.3",
"pytest-django",
- "pytest-pythonpath",
"pytest-cov",
"mixer",
"mypy",
@@ -94,5 +71,4 @@
],
tests_require=test_requirements,
extras_require=extras_requirements,
- cmdclass={"test": PyTest},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/contrib/exchange/test_model.py new/django-money-3.5.2/tests/contrib/exchange/test_model.py
--- old/django-money-3.4.1/tests/contrib/exchange/test_model.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/contrib/exchange/test_model.py 2024-05-07 23:30:47.000000000 +0200
@@ -75,6 +75,7 @@
settings.INSTALLED_APPS.remove("djmoney.contrib.exchange")
with pytest.raises(ImproperlyConfigured):
convert_money(Money(1, "USD"), "EUR")
+ settings.INSTALLED_APPS.append("djmoney.contrib.exchange")
def test_without_installed_exchange(testdir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/contrib/test_django_rest_framework.py new/django-money-3.5.2/tests/contrib/test_django_rest_framework.py
--- old/django-money-3.4.1/tests/contrib/test_django_rest_framework.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/contrib/test_django_rest_framework.py 2024-05-07 23:30:47.000000000 +0200
@@ -1,6 +1,8 @@
from collections import Counter
from decimal import Decimal
+from django.test import override_settings
+
import pytest
from djmoney.money import Money
@@ -203,3 +205,84 @@
serializer = Serializer(data=data)
serializer.is_valid(raise_exception=True)
assert serializer.validated_data["money"] == expected
+
+
+# Test case contributed for
+# https://github.com/django-money/django-money/pull/722
+class TestMinValueSerializer:
+
+ @override_settings(DEFAULT_CURRENCY="EUR")
+ @pytest.mark.parametrize(
+ ("data", "is_valid"),
+ [
+ pytest.param({"money": Money(-1, "EUR")}, False, id="is_invalid_money_value"),
+ pytest.param({"money": Money(1, "EUR")}, True, id="is_valid_money_value"),
+ pytest.param({"money": "-1", "money_currency": "EUR"}, False, id="is_invalid_dict_value"),
+ pytest.param({"money": "0.01", "money_currency": "EUR"}, True, id="is_valid_dict_value"),
+ ],
+ )
+ def test_serializer_validator_field_without_default_currency(self, data, is_valid):
+ from djmoney.contrib.django_rest_framework import MoneyField
+
+ class MinValueSerializer(serializers.Serializer):
+ money = MoneyField(decimal_places=2, max_digits=10, min_value=0)
+
+ class Meta:
+ model = ModelWithVanillaMoneyField
+
+ serializer = MinValueSerializer(data=data)
+ if is_valid:
+ assert serializer.is_valid()
+ else:
+ assert not serializer.is_valid()
+ assert serializer.errors["money"][0] == "Ensure this value is greater than or equal to 0."
+
+ @pytest.mark.parametrize(
+ ("data", "is_valid"),
+ [
+ pytest.param({"second_money": Money(-1, "EUR")}, False, id="is_invalid_money_value"),
+ pytest.param({"second_money": Money(1, "EUR")}, True, id="is_valid_money_value"),
+ pytest.param({"second_money": "-1", "second_money_currency": "EUR"}, False, id="is_invalid_dict_value"),
+ pytest.param({"second_money": "0.01", "second_money_currency": "EUR"}, True, id="is_valid_dict_value"),
+ ],
+ )
+ def test_serializer_validator_field_with_default_currencey(self, data, is_valid):
+ from djmoney.contrib.django_rest_framework import MoneyField
+
+ class MinValueSerializer(serializers.Serializer):
+ second_money = MoneyField(decimal_places=2, max_digits=10, min_value=0)
+
+ class Meta:
+ model = ModelWithVanillaMoneyField
+
+ serializer = MinValueSerializer(data=data)
+ if is_valid:
+ assert serializer.is_valid()
+ else:
+ assert not serializer.is_valid()
+ assert serializer.errors["second_money"][0] == "Ensure this value is greater than or equal to 0."
+
+ def test_no_model_serializer(self):
+ from djmoney.contrib.django_rest_framework import MoneyField
+
+ class NormalSerializer(serializers.Serializer):
+ the_money = MoneyField(decimal_places=2, max_digits=10, min_value=0)
+
+ class Meta:
+ fields = ("the_money",)
+
+ serializer = NormalSerializer(data={"the_money": "0.01", "the_money_currency": "EUR"})
+ assert serializer.is_valid()
+
+ def test_model_serializer_with_field_source(self):
+ class ModelSerializer(serializers.ModelSerializer):
+ renamed_money_field = djmoney_fields.MoneyField(
+ source="money", max_digits=10, decimal_places=2, min_value=0
+ )
+
+ class Meta:
+ model = ModelWithVanillaMoneyField
+ fields = ("renamed_money_field",)
+
+ serializer = ModelSerializer(data={"renamed_money_field": "0.01", "renamed_money_field_currency": "EUR"})
+ assert serializer.is_valid()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/migrations/helpers.py new/django-money-3.5.2/tests/migrations/helpers.py
--- old/django-money-3.4.1/tests/migrations/helpers.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/migrations/helpers.py 2024-05-07 23:30:47.000000000 +0200
@@ -1,6 +1,7 @@
"""
This module contains various helpers for migrations testing.
"""
+
import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/migrations/test_migrations.py new/django-money-3.5.2/tests/migrations/test_migrations.py
--- old/django-money-3.4.1/tests/migrations/test_migrations.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/migrations/test_migrations.py 2024-05-07 23:30:47.000000000 +0200
@@ -125,7 +125,12 @@
def test_create_initial(self):
migration = self.make_default_migration()
- migration.stdout.fnmatch_lines(["*Migrations for 'money_app':*", "*0001_test.py*", "*- Create model Model*"])
+ print(migration.stdout)
+ # Django 5 output replaced "-" with "+"
+ # Migrations for 'money_app':
+ # money_app/migrations/0001_test.py
+ # + Create model Model
+ migration.stdout.fnmatch_lines(["*Migrations for 'money_app':*", "*0001_test.py*", "*Create model Model*"])
operations = get_operations("0001")
assert len(operations) == 1
@@ -147,8 +152,8 @@
[
"*Migrations for 'money_app':*",
"*0002_test.py*",
- "*- Add field field to model*",
- "*- Add field field_currency to model*",
+ "*Add field field to model*",
+ "*Add field field_currency to model*",
]
)
@@ -164,7 +169,7 @@
self.make_default_migration()
migration = self.make_migration(field="MoneyField(max_digits=15, decimal_places=2, null=True)")
migration.stdout.fnmatch_lines(
- ["*Migrations for 'money_app':*", "*0002_test.py*", "*- Alter field field on model*"]
+ ["*Migrations for 'money_app':*", "*0002_test.py*", "*Alter field field on model*"]
)
operations = get_operations("0002")
@@ -181,8 +186,8 @@
[
"*Migrations for 'money_app':*",
"*0002_test.py*",
- "*- Remove field field from model*",
- "*- Remove field field_currency from model*",
+ "*Remove field field from model*",
+ "*Remove field field_currency from model*",
]
)
@@ -203,8 +208,8 @@
[
"*Migrations for 'money_app':*",
"*0002_test.py*",
- "*- Rename field field on model to new_field*",
- "*- Rename field field_currency on model to new_field_currency*",
+ "*Rename field field on model to new_field*",
+ "*Rename field field_currency on model to new_field_currency*",
]
)
self.assert_migrate(["*Applying money_app.0002_test... OK*"])
@@ -222,7 +227,7 @@
self.make_default_migration(field="models.DecimalField(max_digits=10, decimal_places=2, null=True)")
migration = self.make_migration(field="MoneyField(max_digits=10, decimal_places=2, null=True)")
migration.stdout.fnmatch_lines(
- ["*Migrations for 'money_app':*", "*0002_test.py*", "*- Add field field_currency to model*"]
+ ["*Migrations for 'money_app':*", "*0002_test.py*", "*Add field field_currency to model*"]
)
self.assert_migrate()
@@ -230,6 +235,6 @@
self.make_default_migration()
migration = self.make_migration(field="models.DecimalField(max_digits=10, decimal_places=2, null=True)")
migration.stdout.fnmatch_lines(
- ["*Migrations for 'money_app':*", "*0002_test.py*", "*- Remove field field_currency from model*"]
+ ["*Migrations for 'money_app':*", "*0002_test.py*", "*Remove field field_currency from model*"]
)
self.assert_migrate()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/test_form.py new/django-money-3.5.2/tests/test_form.py
--- old/django-money-3.4.1/tests/test_form.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/test_form.py 2024-05-07 23:30:47.000000000 +0200
@@ -3,6 +3,8 @@
@author: jake
"""
+
+import warnings
from decimal import Decimal
import pytest
@@ -122,9 +124,9 @@
"""
The library's code shouldn't generate any warnings itself. See #262.
"""
- with pytest.warns(None) as warning:
+ with warnings.catch_warnings():
+ warnings.simplefilter("error")
MoneyField(max_digits=10, decimal_places=2, currency_choices=(("USD", "USD"),)).formfield()
- assert not warning
class TestValidation:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/test_models.py new/django-money-3.5.2/tests/test_models.py
--- old/django-money-3.4.1/tests/test_models.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/test_models.py 2024-05-07 23:30:47.000000000 +0200
@@ -3,6 +3,7 @@
@author: jake
"""
+
import datetime
from copy import copy
from decimal import Decimal, InvalidOperation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/testapp/forms.py new/django-money-3.5.2/tests/testapp/forms.py
--- old/django-money-3.4.1/tests/testapp/forms.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/testapp/forms.py 2024-05-07 23:30:47.000000000 +0200
@@ -3,6 +3,7 @@
@author: jake
"""
+
from django import forms
from djmoney.forms import MoneyField
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tests/testapp/models.py new/django-money-3.5.2/tests/testapp/models.py
--- old/django-money-3.4.1/tests/testapp/models.py 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tests/testapp/models.py 2024-05-07 23:30:47.000000000 +0200
@@ -3,6 +3,7 @@
@author: jake
"""
+
from decimal import Decimal
from django.conf import settings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-money-3.4.1/tox.ini new/django-money-3.5.2/tox.ini
--- old/django-money-3.4.1/tox.ini 2023-11-30 20:36:13.000000000 +0100
+++ new/django-money-3.5.2/tox.ini 2024-05-07 23:30:47.000000000 +0200
@@ -1,11 +1,8 @@
[tox]
envlist =
- django_main-py{311,310}
+ django_main-py{312,311,310}
+ django50-py{312, 311,310}
django42-py{311,310,39,38}
- django41-py{311,310,39,38,py3}
- django40-py{311,310,39,38,py3}
- django32-py{311,310,39,38,37,py3}
- django22-py{311,310,39,38,37,py3}
lint
docs
skipsdist = true
@@ -17,20 +14,14 @@
[testenv]
deps =
.[test,exchange]
- django22: {[django]22}
- django32: {[django]32}
- django40: {[django]40}
- django41: {[django]41}
django42: {[django]42}
+ django50: {[django]50}
django_main: {[django]main}
# https://github.com/django-money/django-money/pull/716#issuecomment-15925946…
pypy3: asgiref<=3.6
commands = py.test --ds=tests.settings_reversion --cov=./djmoney {posargs}
usedevelop = false
-[testenv:django_main-py{39,38,py3}]
-commands = py.test --ds=tests.settings --cov=./djmoney {posargs}
-
[testenv:lint]
deps =
pre-commit
@@ -38,26 +29,14 @@
pre-commit run --all-files
[django]
-22 =
- Django>=2.2,<2.3
- django-reversion>=2.0.8
- djangorestframework>=3.7.3
-32 =
- Django>=3.2,<3.3
- django-reversion>=3.0.8
- djangorestframework>=3.12.0
-40 =
- Django>=4.0,<4.1
- django-reversion>=4.0.0
- djangorestframework>=3.13.0
-41 =
- Django>=4.1a1,<4.2
- django-reversion>=4.0.0
- djangorestframework>=3.13.0
42 =
Django>=4.2a1,<4.3
django-reversion>=4.0.0
djangorestframework>=3.13.0
+50 =
+ Django>=5.0,<5.1
+ django-reversion>=4.0.0
+ djangorestframework>=3.13.0
main =
https://github.com/django/django/tarball/main
django-reversion>=4.0.0
@@ -66,7 +45,7 @@
[testenv:no_rest_framework]
deps =
.[test,exchange]
- Django>=2.2,<4.2
+ Django>=4.2,<4.3
django-reversion>=4.0.0
[testenv:docs]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package iosevka-fonts for openSUSE:Factory checked in at 2024-07-01 11:19:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iosevka-fonts (Old)
and /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iosevka-fonts"
Mon Jul 1 11:19:48 2024 rev:87 rq:1184018 version:30.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/iosevka-fonts/iosevka-fonts.changes 2024-06-24 20:54:08.050155268 +0200
+++ /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/iosevka-fonts.changes 2024-07-01 11:20:30.695369231 +0200
@@ -1,0 +2,29 @@
+Sat Jun 22 16:53:08 UTC 2024 - Anton Shvetz <shvetz.anton(a)gmail.com>
+
+- Update to v30.3.0
+ * Changes of version 30.3.0
+ = Add separate variant selectors For Cyrillic Capital/Lower E
+ (VXAA, VXAB).
+ = Add variant selector for Capital Eszet (ẞ) (VXAC) (#1552).
+ = Add variant selector for Capital Thorn (Þ) (VXAD).
+ = Add serifed-capped variants for capital-e and capital-f
+ (cv05, cv06) (#2026).
+ = Add unilateral-bottom-serifed and
+ unilateral-bottom-inward-serifed variants for Cyrillic
+ Capital/Lower Ze (cv69, cv70).
+ = Add characters:
+ ~ SYMBOL FOR SAMARITAN SOURCE (U+214F).
+ ~ CURLY LOOP (U+27B0).
+ ~ DOUBLE CURLY LOOP (U+27BF).
+ ~ LEFT THIRD INDUCTOR (U+1CC0B) (Proposed for Unicode 16;
+ L2/21-235).
+ ~ MIDDLE THIRD INDUCTOR (U+1CC0C) (Proposed for Unicode 16;
+ L2/21-235).
+ ~ RIGHT THIRD INDUCTOR (U+1CC0D) (Proposed for Unicode 16;
+ L2/21-235).
+ ~ LOGIC GATE OR (U+1CC15) (Proposed for Unicode 16;
+ L2/21-235).
+ ~ LOGIC GATE AND (U+1CC16) (Proposed for Unicode 16;
+ L2/21-235).
+
+-------------------------------------------------------------------
Old:
----
SuperTTC-Iosevka-30.2.0.zip
SuperTTC-IosevkaAile-30.2.0.zip
SuperTTC-IosevkaCurly-30.2.0.zip
SuperTTC-IosevkaCurlySlab-30.2.0.zip
SuperTTC-IosevkaEtoile-30.2.0.zip
SuperTTC-IosevkaSS01-30.2.0.zip
SuperTTC-IosevkaSS02-30.2.0.zip
SuperTTC-IosevkaSS03-30.2.0.zip
SuperTTC-IosevkaSS04-30.2.0.zip
SuperTTC-IosevkaSS05-30.2.0.zip
SuperTTC-IosevkaSS06-30.2.0.zip
SuperTTC-IosevkaSS07-30.2.0.zip
SuperTTC-IosevkaSS08-30.2.0.zip
SuperTTC-IosevkaSS09-30.2.0.zip
SuperTTC-IosevkaSS10-30.2.0.zip
SuperTTC-IosevkaSS11-30.2.0.zip
SuperTTC-IosevkaSS12-30.2.0.zip
SuperTTC-IosevkaSS13-30.2.0.zip
SuperTTC-IosevkaSS14-30.2.0.zip
SuperTTC-IosevkaSS15-30.2.0.zip
SuperTTC-IosevkaSS16-30.2.0.zip
SuperTTC-IosevkaSS17-30.2.0.zip
SuperTTC-IosevkaSS18-30.2.0.zip
SuperTTC-IosevkaSlab-30.2.0.zip
New:
----
SuperTTC-Iosevka-30.3.0.zip
SuperTTC-IosevkaAile-30.3.0.zip
SuperTTC-IosevkaCurly-30.3.0.zip
SuperTTC-IosevkaCurlySlab-30.3.0.zip
SuperTTC-IosevkaEtoile-30.3.0.zip
SuperTTC-IosevkaSS01-30.3.0.zip
SuperTTC-IosevkaSS02-30.3.0.zip
SuperTTC-IosevkaSS03-30.3.0.zip
SuperTTC-IosevkaSS04-30.3.0.zip
SuperTTC-IosevkaSS05-30.3.0.zip
SuperTTC-IosevkaSS06-30.3.0.zip
SuperTTC-IosevkaSS07-30.3.0.zip
SuperTTC-IosevkaSS08-30.3.0.zip
SuperTTC-IosevkaSS09-30.3.0.zip
SuperTTC-IosevkaSS10-30.3.0.zip
SuperTTC-IosevkaSS11-30.3.0.zip
SuperTTC-IosevkaSS12-30.3.0.zip
SuperTTC-IosevkaSS13-30.3.0.zip
SuperTTC-IosevkaSS14-30.3.0.zip
SuperTTC-IosevkaSS15-30.3.0.zip
SuperTTC-IosevkaSS16-30.3.0.zip
SuperTTC-IosevkaSS17-30.3.0.zip
SuperTTC-IosevkaSS18-30.3.0.zip
SuperTTC-IosevkaSlab-30.3.0.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iosevka-fonts.spec ++++++
--- /var/tmp/diff_new_pack.DvbmFQ/_old 2024-07-01 11:20:38.707661118 +0200
+++ /var/tmp/diff_new_pack.DvbmFQ/_new 2024-07-01 11:20:38.711661263 +0200
@@ -20,7 +20,7 @@
typeface family, designed for writing code, using in terminals, and\
preparing technical documents.
Name: iosevka-fonts
-Version: 30.2.0
+Version: 30.3.0
Release: 0
Summary: Slender typeface for source code
License: OFL-1.1
++++++ CHANGELOG.md ++++++
--- /var/tmp/diff_new_pack.DvbmFQ/_old 2024-07-01 11:20:38.747662575 +0200
+++ /var/tmp/diff_new_pack.DvbmFQ/_new 2024-07-01 11:20:38.751662721 +0200
@@ -1,5 +1,23 @@
## Modifications since last major version
+### 30.3.0
+
+* Add separate variant selectors For Cyrillic Capital/Lower E (`VXAA`, `VXAB`).
+* Add variant selector for Capital Eszet (`ẞ`) (`VXAC`) (#1552).
+* Add variant selector for Capital Thorn (`Þ`) (`VXAD`).
+* Add `serifed-capped` variants for `capital-e` and `capital-f` (`cv05`, `cv06`) (#2026).
+* Add `unilateral-bottom-serifed` and `unilateral-bottom-inward-serifed` variants for Cyrillic Capital/Lower Ze (`cv69`, `cv70`).
+* Add characters:
+ - SYMBOL FOR SAMARITAN SOURCE (`U+214F`).
+ - CURLY LOOP (`U+27B0`).
+ - DOUBLE CURLY LOOP (`U+27BF`).
+ - LEFT THIRD INDUCTOR (`U+1CC0B`) (Proposed for Unicode 16; L2/21-235).
+ - MIDDLE THIRD INDUCTOR (`U+1CC0C`) (Proposed for Unicode 16; L2/21-235).
+ - RIGHT THIRD INDUCTOR (`U+1CC0D`) (Proposed for Unicode 16; L2/21-235).
+ - LOGIC GATE OR (`U+1CC15`) (Proposed for Unicode 16; L2/21-235).
+ - LOGIC GATE AND (`U+1CC16`) (Proposed for Unicode 16; L2/21-235).
+
+
### 30.2.0
* Improve glyph shape of INVERTED LOW KAVYKA WITH KAVYKA ABOVE (`U+2E46`).
@@ -13,7 +31,7 @@
* Fix IPPH/APPH localization for superscript/subscript Greek Lower Beta and Chi (`U+1D5D`, `U+1D61`, `U+1D66`, `U+1D6A`).
* Improve glyph visual for `U+279D`, `U+27A2`, `U+27A3`, and `U+2B4D`.
* Add characters:
- - STAR OF DAVID (`U+2720`).
+ - STAR OF DAVID (`U+2721`).
- HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW (`U+279E`).
- LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN (`U+2962`) ... DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT (`U+2965`).
- UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT (`U+296E`).
++++++ SuperTTC-Iosevka-30.2.0.zip -> SuperTTC-Iosevka-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-Iosevka-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-Iosevka-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaAile-30.2.0.zip -> SuperTTC-IosevkaAile-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaAile-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaAile-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaCurly-30.2.0.zip -> SuperTTC-IosevkaCurly-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaCurly-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaCurly-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaCurlySlab-30.2.0.zip -> SuperTTC-IosevkaCurlySlab-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaCurlySlab-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaCurlySlab-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaEtoile-30.2.0.zip -> SuperTTC-IosevkaEtoile-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaEtoile-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaEtoile-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS01-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS01-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS02-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS02-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS03-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS03-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS04-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS04-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS05-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS05-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS06-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS06-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS07-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS07-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS08-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS08-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS09-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS09-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS10-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS10-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS11-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS11-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS12-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS12-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS13-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS13-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS14-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS14-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS15-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS15-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS16-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS16-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS17-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS17-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSS01-30.2.0.zip -> SuperTTC-IosevkaSS18-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSS01-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSS18-30.3.0.zip differ: char 11, line 1
++++++ SuperTTC-IosevkaSlab-30.2.0.zip -> SuperTTC-IosevkaSlab-30.3.0.zip ++++++
/work/SRC/openSUSE:Factory/iosevka-fonts/SuperTTC-IosevkaSlab-30.2.0.zip /work/SRC/openSUSE:Factory/.iosevka-fonts.new.18349/SuperTTC-IosevkaSlab-30.3.0.zip differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-dep-logic for openSUSE:Factory checked in at 2024-07-01 11:19:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dep-logic (Old)
and /work/SRC/openSUSE:Factory/.python-dep-logic.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dep-logic"
Mon Jul 1 11:19:46 2024 rev:3 rq:1184006 version:0.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dep-logic/python-dep-logic.changes 2024-03-07 18:32:37.868131310 +0100
+++ /work/SRC/openSUSE:Factory/.python-dep-logic.new.18349/python-dep-logic.changes 2024-07-01 11:20:07.274516012 +0200
@@ -1,0 +2,8 @@
+Sat Jun 29 16:04:51 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.3.0:
+ * New module dep_logic.tags for compatibility check with wheel
+ tags
+ * Use the same marker environment for current platform
+
+-------------------------------------------------------------------
Old:
----
dep_logic-0.2.0.tar.gz
New:
----
dep_logic-0.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dep-logic.spec ++++++
--- /var/tmp/diff_new_pack.MJAVcU/_old 2024-07-01 11:20:08.014542971 +0200
+++ /var/tmp/diff_new_pack.MJAVcU/_new 2024-07-01 11:20:08.014542971 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-dep-logic
-Version: 0.2.0
+Version: 0.3.0
Release: 0
Summary: Python dependency specifications supporting logical operations
License: Apache-2.0
++++++ dep_logic-0.2.0.tar.gz -> dep_logic-0.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/PKG-INFO new/dep_logic-0.3.0/PKG-INFO
--- old/dep_logic-0.2.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +1,8 @@
Metadata-Version: 2.1
Name: dep-logic
-Version: 0.2.0
+Version: 0.3.0
Summary: Python dependency specifications supporting logical operations
-Keywords: dependency specification logic packaging
+Keywords: dependency,specification,logic,packaging
Author-Email: Frost Ming <me(a)frostming.com>
License: Apache-2.0
Classifier: Intended Audience :: Developers
@@ -74,6 +74,12 @@
Furthermore, `poetry-core` does not always comply with PEP-508. As a result, this project aims to offer a lightweight utility for dependency specification logic using [PyPA's packaging](https://github.com/pypa/packaging).
+Submodules:
+
+- `dep_logic.specifiers` - PEP 440 version specifiers
+- `dep_logic.markers` - PEP 508 environment markers
+- `dep_logic.tags` - PEP 425 platform tags
+
## Caveats
Logic operations with `===<string>` specifiers is partially supported.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/README.md new/dep_logic-0.3.0/README.md
--- old/dep_logic-0.2.0/README.md 2024-02-23 06:00:55.137874400 +0100
+++ new/dep_logic-0.3.0/README.md 2024-06-28 11:09:19.946395600 +0200
@@ -55,6 +55,12 @@
Furthermore, `poetry-core` does not always comply with PEP-508. As a result, this project aims to offer a lightweight utility for dependency specification logic using [PyPA's packaging](https://github.com/pypa/packaging).
+Submodules:
+
+- `dep_logic.specifiers` - PEP 440 version specifiers
+- `dep_logic.markers` - PEP 508 environment markers
+- `dep_logic.tags` - PEP 425 platform tags
+
## Caveats
Logic operations with `===<string>` specifiers is partially supported.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/pyproject.toml new/dep_logic-0.3.0/pyproject.toml
--- old/dep_logic-0.2.0/pyproject.toml 2024-02-23 06:01:06.997811300 +0100
+++ new/dep_logic-0.3.0/pyproject.toml 2024-06-28 11:09:32.842571500 +0200
@@ -26,7 +26,7 @@
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: Apache Software License",
]
-version = "0.2.0"
+version = "0.3.0"
[project.license]
text = "Apache-2.0"
@@ -39,6 +39,15 @@
[tool.ruff]
line-length = 88
+src = [
+ "src",
+]
+exclude = [
+ "tests/fixtures",
+]
+target-version = "py310"
+
+[tool.ruff.lint]
extend-select = [
"I",
"B",
@@ -53,18 +62,11 @@
"B019",
"B905",
]
-src = [
- "src",
-]
-exclude = [
- "tests/fixtures",
-]
-target-version = "py310"
-[tool.ruff.mccabe]
+[tool.ruff.lint.mccabe]
max-complexity = 10
-[tool.ruff.isort]
+[tool.ruff.lint.isort]
known-first-party = [
"dep_logic",
]
@@ -91,4 +93,4 @@
venvPath = "."
venv = ".venv"
pythonVersion = "3.11"
-reportPrivateImportUsage = "information"
+reportPrivateImportUsage = "none"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/src/dep_logic/tags/__init__.py new/dep_logic-0.3.0/src/dep_logic/tags/__init__.py
--- old/dep_logic-0.2.0/src/dep_logic/tags/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/src/dep_logic/tags/__init__.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,11 @@
+from .platform import Platform, PlatformError
+from .tags import EnvSpec, InvalidWheelFilename, TagsError, UnsupportedImplementation
+
+__all__ = [
+ "Platform",
+ "PlatformError",
+ "TagsError",
+ "UnsupportedImplementation",
+ "InvalidWheelFilename",
+ "EnvSpec",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/src/dep_logic/tags/os.py new/dep_logic-0.3.0/src/dep_logic/tags/os.py
--- old/dep_logic-0.2.0/src/dep_logic/tags/os.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/src/dep_logic/tags/os.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,60 @@
+from dataclasses import dataclass
+
+
+class Os:
+ def __str__(self) -> str:
+ return self.__class__.__name__
+
+
+@dataclass(frozen=True)
+class Manylinux(Os):
+ major: int
+ minor: int
+
+
+@dataclass(frozen=True)
+class Musllinux(Os):
+ major: int
+ minor: int
+
+
+@dataclass(frozen=True)
+class Windows(Os):
+ pass
+
+
+@dataclass(frozen=True)
+class Macos(Os):
+ major: int
+ minor: int
+
+
+@dataclass(frozen=True)
+class FreeBsd(Os):
+ release: str
+
+
+@dataclass(frozen=True)
+class NetBsd(Os):
+ release: str
+
+
+@dataclass(frozen=True)
+class OpenBsd(Os):
+ release: str
+
+
+@dataclass(frozen=True)
+class Dragonfly(Os):
+ release: str
+
+
+@dataclass(frozen=True)
+class Illumos(Os):
+ release: str
+ arch: str
+
+
+@dataclass(frozen=True)
+class Haiku(Os):
+ release: str
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/src/dep_logic/tags/platform.py new/dep_logic-0.3.0/src/dep_logic/tags/platform.py
--- old/dep_logic-0.2.0/src/dep_logic/tags/platform.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/src/dep_logic/tags/platform.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,322 @@
+# Abstractions for understanding the current platform (operating system and architecture).
+from __future__ import annotations
+
+import sys
+from dataclasses import dataclass
+from enum import Enum
+from functools import cached_property
+
+from . import os
+
+
+class PlatformError(Exception):
+ pass
+
+
+@dataclass(frozen=True)
+class Platform:
+ os: os.Os
+ arch: Arch
+
+ @classmethod
+ def parse(cls, platform: str) -> Platform:
+ """Parse a platform string (e.g., `linux_x86_64`, `macosx_10_9_x86_64`, or `win_amd64`)
+
+ Available operating systems:
+ - `linux`: an alias for `manylinux_2_17_x86_64`
+ - `windows`: an alias for `win_x86_64`
+ - `macos`: an alias for `macos_12_0_arm64`
+ - `alpine`: an alias for `musllinux_1_2_x86_64`
+ - `windows_amd64`: an alias for `win_x86_64`
+ - `windows_x86`
+ - `macos_arm64`: an alias for `macos_12_0_arm64`
+ - `macos_x86_64`: an alias for `macos_12_0_x86_64`
+ - `macos_X_Y_arm64`
+ - `macos_X_Y_x86_64`
+ - `manylinux_X_Y_x86_64`
+ - `manylinux_X_Y_aarch64`
+ - `musllinux_X_Y_x86_64`
+ - `musllinux_X_Y_aarch64`
+ """
+ if platform == "linux":
+ return cls(os.Manylinux(2, 17), Arch.X86_64)
+ elif platform == "windows":
+ return cls(os.Windows(), Arch.X86_64)
+ elif platform == "macos":
+ return cls(os.Macos(12, 0), Arch.Aarch64)
+ elif platform == "alpine":
+ return cls(os.Musllinux(1, 2), Arch.X86_64)
+ elif platform == "windows_amd64":
+ return cls(os.Windows(), Arch.X86_64)
+ elif platform == "windows_x86":
+ return cls(os.Windows(), Arch.X86)
+ elif platform == "macos_arm64":
+ return cls(os.Macos(12, 0), Arch.Aarch64)
+ elif platform == "macos_x86_64":
+ return cls(os.Macos(12, 0), Arch.X86_64)
+ elif platform.startswith("macos_"):
+ parts = platform.split("_")
+ major = int(parts[1])
+ minor = int(parts[2])
+ return cls(os.Macos(major, minor), Arch.parse(parts[3]))
+ elif platform.startswith("musllinux_"):
+ parts = platform.split("_")
+ major = int(parts[1])
+ minor = int(parts[2])
+ return cls(os.Musllinux(major, minor), Arch.parse(parts[3]))
+ elif platform.startswith("manylinux_"):
+ parts = platform.split("_")
+ major = int(parts[1])
+ minor = int(parts[2])
+ return cls(os.Manylinux(major, minor), Arch.parse(parts[3]))
+ else:
+ raise PlatformError(
+ f"Unsupported platform {platform}, expected one of {cls.choices()}"
+ )
+
+ @classmethod
+ def current(cls) -> Platform:
+ """Return the current platform."""
+ import platform
+
+ system = platform.system()
+ arch = Arch.parse(platform.machine())
+ if system == "Linux":
+ libc_ver = platform.libc_ver()[1]
+ if libc_ver:
+ parts = libc_ver.split(".")
+ return cls(os.Manylinux(int(parts[0]), int(parts[1])), arch)
+ else: # musl
+ from packaging._musllinux import _get_musl_version
+
+ musl_version = _get_musl_version(sys.executable)
+ if musl_version is None:
+ raise PlatformError(
+ "Failed to detect musl version or glibc version"
+ )
+ return cls(os.Musllinux(musl_version.major, musl_version.minor), arch)
+ elif system == "Windows":
+ return cls(os.Windows(), arch)
+ elif system == "Darwin":
+ mac_ver = platform.mac_ver()[0].split(".")
+ return cls(os.Macos(int(mac_ver[0]), int(mac_ver[1])), arch)
+ else:
+ raise PlatformError("Unsupported platform")
+
+ @classmethod
+ def choices(cls) -> list[str]:
+ return [
+ "linux",
+ "windows",
+ "macos",
+ "alpine",
+ "windows_amd64",
+ "windows_x86",
+ "macos_arm64",
+ "macos_x86_64",
+ "macos_X_Y_arm64",
+ "macos_X_Y_x86_64",
+ "manylinux_X_Y_x86_64",
+ "manylinux_X_Y_aarch64",
+ "musllinux_X_Y_x86_64",
+ "musllinux_X_Y_aarch64",
+ ]
+
+ @cached_property
+ def compatible_tags(self) -> list[str]:
+ """Returns the compatible tags for the current [`Platform`] (e.g., `manylinux_2_17`,
+ `macosx_11_0_arm64`, or `win_amd64`).
+
+ We have two cases: Actual platform specific tags (including "merged" tags such as universal2)
+ and "any".
+
+ Bit of a mess, needs to be cleaned up.
+ """
+ os_ = self.os
+ arch = self.arch
+ platform_tags: list[str] = []
+ if isinstance(os_, os.Manylinux):
+ if (min_minor := arch.get_minimum_manylinux_minor()) is not None:
+ for minor in range(os_.minor, min_minor - 1, -1):
+ platform_tags.append(f"manylinux_{os_.major}_{minor}_{arch}")
+ # Support legacy manylinux tags with lower priority
+ # <https://peps.python.org/pep-0600/#legacy-manylinux-tags>
+ if minor == 12:
+ platform_tags.append(f"manylinux2010_{arch}")
+ if minor == 17:
+ platform_tags.append(f"manylinux2014_{arch}")
+ if minor == 5:
+ platform_tags.append(f"manylinux1_{arch}")
+ # Non-manylinux is lowest priority
+ # <https://github.com/pypa/packaging/blob/fd4f11139d1c884a637be8aa26bb60a31fbc…>
+ platform_tags.append(f"linux_{arch}")
+ elif isinstance(os_, os.Musllinux):
+ platform_tags.append(f"linux_{arch}")
+ for minor in range(1, os_.minor + 1):
+ # musl 1.1 is the lowest supported version in musllinux
+ platform_tags.append(f"musllinux_{os_.major}_{minor}_{arch}")
+ elif isinstance(os_, os.Macos) and arch == Arch.X86_64:
+ if os_.major == 10:
+ for minor in range(os_.minor, 3, -1):
+ for binary_format in arch.get_mac_binary_formats():
+ platform_tags.append(f"macosx_10_{minor}_{binary_format}")
+ elif isinstance(os_.major, int) and os_.major >= 11:
+ # Starting with Mac OS 11, each yearly release bumps the major version number.
+ # The minor versions are now the midyear updates.
+ for major in range(os_.major, 10, -1):
+ for binary_format in arch.get_mac_binary_formats():
+ platform_tags.append(f"macosx_{major}_0_{binary_format}")
+ # The "universal2" binary format can have a macOS version earlier than 11.0
+ # when the x86_64 part of the binary supports that version of macOS.
+ for minor in range(16, 3, -1):
+ for binary_format in arch.get_mac_binary_formats():
+ platform_tags.append(f"macosx_10_{minor}_{binary_format}")
+ else:
+ raise PlatformError(f"Unsupported macOS version {os_.major}")
+ elif isinstance(os_, os.Macos) and arch == Arch.Aarch64:
+ # Starting with Mac OS 11, each yearly release bumps the major version number.
+ # The minor versions are now the midyear updates.
+ for major in range(os_.major, 10, -1):
+ for binary_format in arch.get_mac_binary_formats():
+ platform_tags.append(f"macosx_{major}_0_{binary_format}")
+ # The "universal2" binary format can have a macOS version earlier than 11.0
+ # when the x86_64 part of the binary supports that version of macOS.
+ for minor in range(16, 3, -1):
+ platform_tags.append(f"macosx_10_{minor}_universal2")
+ elif isinstance(os_, os.Windows):
+ if arch == Arch.X86:
+ platform_tags.append("win32")
+ elif arch == Arch.X86_64:
+ platform_tags.append("win_amd64")
+ elif arch == Arch.Aarch64:
+ platform_tags.append("win_arm64")
+ else:
+ raise PlatformError(f"Unsupported Windows architecture {arch}")
+ elif isinstance(
+ os_, (os.FreeBsd, os.NetBsd, os.OpenBsd, os.Dragonfly, os.Haiku)
+ ):
+ release = os_.release.replace(".", "_").replace("-", "_")
+ platform_tags.append(f"{str(os_).lower()}_{release}_{arch}")
+ elif isinstance(os_, os.Illumos):
+ # See https://github.com/python/cpython/blob/46c8d915715aa2bd4d697482aa051fe974d4…
+ try:
+ major, other = os_.release.split("_", 1)
+ except ValueError:
+ platform_tags.append(f"{str(os_).lower()}_{os_.release}_{arch}")
+ else:
+ major_ver = int(major)
+ if major_ver >= 5:
+ # SunOS 5 == Solaris 2
+ release = f"{major_ver - 3}_{other}"
+ arch = f"{arch}_64bit"
+ platform_tags.append(f"solaris_{release}_{arch}")
+ else:
+ raise PlatformError(
+ f"Unsupported operating system and architecture combination: {os_} {arch}"
+ )
+ return platform_tags
+
+ @cached_property
+ def os_name(self) -> str:
+ return "nt" if isinstance(self.os, os.Windows) else "posix"
+
+ @cached_property
+ def sys_platform(self) -> str:
+ if isinstance(self.os, os.Windows):
+ return "win32"
+ elif isinstance(self.os, (os.Macos, os.Illumos)):
+ return "darwin"
+ else:
+ return "linux"
+
+ @cached_property
+ def platform_machine(self) -> str:
+ if isinstance(self.os, (os.Windows, os.Macos)) and self.arch == Arch.Aarch64:
+ return "arm64"
+ if isinstance(self.os, os.Windows) and self.arch == Arch.X86_64:
+ return "AMD64"
+ return str(self.arch)
+
+ @cached_property
+ def platform_release(self) -> str:
+ return ""
+
+ @cached_property
+ def platform_version(self) -> str:
+ return ""
+
+ @cached_property
+ def platform_system(self) -> str:
+ if isinstance(self.os, os.Macos):
+ return "Darwin"
+ if isinstance(self.os, os.Windows):
+ return "Windows"
+ return "Linux"
+
+ def is_current(self) -> bool:
+ current = self.current()
+ return isinstance(self.os, type(current.os)) and self.arch == current.arch
+
+ def markers(self) -> dict[str, str]:
+ if self.is_current():
+ return {}
+ return {
+ "os_name": self.os_name,
+ "platform_machine": self.platform_machine,
+ "platform_release": self.platform_release,
+ "platform_system": self.platform_system,
+ "platform_version": self.platform_version,
+ "sys_platform": self.sys_platform,
+ }
+
+
+class Arch(Enum):
+ Aarch64 = "aarch64"
+ Armv6L = "armv6l"
+ Armv7L = "armv7l"
+ Powerpc64Le = "ppc64le"
+ Powerpc64 = "ppc64"
+ X86 = "x86"
+ X86_64 = "x86_64"
+ S390X = "s390x"
+
+ def __str__(self) -> str:
+ return self.value
+
+ def get_minimum_manylinux_minor(self) -> int | None:
+ if self in [
+ Arch.Aarch64,
+ Arch.Armv7L,
+ Arch.Powerpc64,
+ Arch.Powerpc64Le,
+ Arch.S390X,
+ ]:
+ return 17
+ elif self in [Arch.X86, Arch.X86_64]:
+ return 5
+ else:
+ return None
+
+ def get_mac_binary_formats(self) -> list[str]:
+ formats = [self.value]
+
+ if self == Arch.X86_64:
+ formats.extend(["intel", "fat64", "fat32"])
+
+ if self in [Arch.X86_64, Arch.Aarch64]:
+ formats.append("universal2")
+
+ if self == Arch.X86_64:
+ formats.append("universal")
+
+ return formats
+
+ @classmethod
+ def parse(cls, arch: str) -> Arch:
+ if arch in ("i386", "i686"):
+ return cls.X86
+ if arch == "amd64":
+ return cls.X86_64
+ if arch == "arm64":
+ return cls.Aarch64
+ return cls(arch)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/src/dep_logic/tags/tags.py new/dep_logic-0.3.0/src/dep_logic/tags/tags.py
--- old/dep_logic-0.2.0/src/dep_logic/tags/tags.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/src/dep_logic/tags/tags.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,187 @@
+from __future__ import annotations
+
+from dataclasses import dataclass
+from platform import python_implementation, python_version
+from typing import TYPE_CHECKING
+
+from ..specifiers import InvalidSpecifier, VersionSpecifier, parse_version_specifier
+from .platform import Platform
+
+if TYPE_CHECKING:
+ from typing import Literal
+
+
+def parse_wheel_tags(filename: str) -> tuple[list[str], list[str], list[str]]:
+ if not filename.endswith(".whl"):
+ raise InvalidWheelFilename(
+ f"Invalid wheel filename (extension must be '.whl'): {filename}"
+ )
+
+ filename = filename[:-4]
+ dashes = filename.count("-")
+ if dashes not in (4, 5):
+ raise InvalidWheelFilename(
+ f"Invalid wheel filename (wrong number of parts): {filename}"
+ )
+
+ parts = filename.split("-")
+ python, abi, platform = parts[-3:]
+ return python.split("."), abi.split("."), platform.split(".")
+
+
+def _ensure_version_specifier(spec: str) -> VersionSpecifier:
+ parsed = parse_version_specifier(spec)
+ if not isinstance(parsed, VersionSpecifier):
+ raise InvalidSpecifier(f"Invalid version specifier {spec}")
+ return parsed
+
+
+class TagsError(Exception):
+ pass
+
+
+class InvalidWheelFilename(TagsError, ValueError):
+ pass
+
+
+class UnsupportedImplementation(TagsError, ValueError):
+ pass
+
+
+@dataclass(frozen=True)
+class Implementation:
+ name: Literal["cpython", "pypy", "pyston"]
+ gil_disabled: bool = False
+
+ @property
+ def short(self) -> str:
+ if self.name == "cpython":
+ return "cp"
+ elif self.name == "pypy":
+ return "pp"
+ else:
+ return "pt"
+
+ @classmethod
+ def current(cls) -> Implementation:
+ import sysconfig
+
+ implementation = python_implementation()
+
+ return cls.parse(
+ implementation.lower(), sysconfig.get_config_var("Py_GIL_DISABLED") or False
+ )
+
+ @classmethod
+ def parse(cls, name: str, gil_disabled: bool = False) -> Implementation:
+ if gil_disabled and name != "cpython":
+ raise UnsupportedImplementation("Only CPython supports GIL disabled mode")
+ if name in ("cpython", "pypy", "pyston"):
+ return Implementation(name, gil_disabled)
+ else:
+ raise UnsupportedImplementation(
+ f"Unsupported implementation: {name}, expected cpython, pypy, or pyston"
+ )
+
+
+@dataclass(frozen=True)
+class EnvSpec:
+ requires_python: VersionSpecifier
+ platform: Platform
+ implementation: Implementation
+
+ @classmethod
+ def from_spec(
+ cls,
+ requires_python: str,
+ platform: str,
+ implementation: str,
+ gil_disabled: bool = False,
+ ) -> EnvSpec:
+ return cls(
+ _ensure_version_specifier(requires_python),
+ Platform.parse(platform),
+ Implementation.parse(implementation, gil_disabled=gil_disabled),
+ )
+
+ @classmethod
+ def current(cls) -> EnvSpec:
+ requires_python = _ensure_version_specifier(f"=={python_version()}")
+ platform = Platform.current()
+ implementation = Implementation.current()
+ return cls(requires_python, platform, implementation)
+
+ def _evaluate_python(
+ self, python_tag: str, abi_tag: str
+ ) -> tuple[int, int, int] | None:
+ impl, major, minor = python_tag[:2], python_tag[2], python_tag[3:]
+ if impl not in [self.implementation.short, "py"]:
+ return None
+ abi_impl = (
+ abi_tag.split("_", 1)[0]
+ .replace("pypy", "pp")
+ .replace("pyston", "pt")
+ .lower()
+ )
+ if impl == "cp" and abi_impl == "abi3":
+ if (
+ parse_version_specifier(f">={major}.{minor or 0}")
+ & self.requires_python
+ ).is_empty():
+ return None
+ return (int(major), int(minor or 0), 1) # 1 for abi3
+ # cp36-cp36m-*
+ # cp312-cp312m-*
+ # pp310-pypy310_pp75-*
+ if abi_impl != "none" and not abi_impl.startswith(python_tag.lower()):
+ return None
+ if major and minor:
+ wheel_range = parse_version_specifier(f"=={major}.{minor}.*")
+ else:
+ wheel_range = parse_version_specifier(f"=={major}.*")
+ if (wheel_range & self.requires_python).is_empty():
+ return None
+ return (int(major), int(minor or 0), 0 if abi_impl == "none" else 2)
+
+ def _evaluate_platform(self, platform_tag: str) -> int | None:
+ platform_tags = [*self.platform.compatible_tags, "any"]
+ if platform_tag not in platform_tags:
+ return None
+ return len(platform_tags) - platform_tags.index(platform_tag)
+
+ def compatibility(
+ self,
+ wheel_python_tags: list[str],
+ wheel_abi_tags: list[str],
+ wheel_platform_tags: list[str],
+ ) -> tuple[int, int, int, int] | None:
+ python_abi_combinations = (
+ (python_tag, abi_tag)
+ for python_tag in wheel_python_tags
+ for abi_tag in wheel_abi_tags
+ )
+ python_compat = max(
+ filter(
+ None, (self._evaluate_python(*comb) for comb in python_abi_combinations)
+ ),
+ default=None,
+ )
+ if python_compat is None:
+ return None
+ platform_compat = max(
+ filter(None, map(self._evaluate_platform, wheel_platform_tags)),
+ default=None,
+ )
+ if platform_compat is None:
+ return None
+ return (*python_compat, platform_compat)
+
+ def wheel_compatibility(
+ self, wheel_filename: str
+ ) -> tuple[int, int, int, int] | None:
+ wheel_python_tags, wheel_abi_tags, wheel_platform_tags = parse_wheel_tags(
+ wheel_filename
+ )
+ return self.compatibility(
+ wheel_python_tags, wheel_abi_tags, wheel_platform_tags
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/src/dep_logic/utils.py new/dep_logic-0.3.0/src/dep_logic/utils.py
--- old/dep_logic-0.2.0/src/dep_logic/utils.py 2024-02-23 06:00:55.137874400 +0100
+++ new/dep_logic-0.3.0/src/dep_logic/utils.py 2024-06-28 11:09:19.946395600 +0200
@@ -25,11 +25,9 @@
class Ident(Protocol):
- def __hash__(self) -> int:
- ...
+ def __hash__(self) -> int: ...
- def __eq__(self, __value: object) -> bool:
- ...
+ def __eq__(self, __value: object) -> bool: ...
T = TypeVar("T", bound=Ident)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/tests/specifier/test_arbitrary.py new/dep_logic-0.3.0/tests/specifier/test_arbitrary.py
--- old/dep_logic-0.2.0/tests/specifier/test_arbitrary.py 2024-02-23 06:00:55.137874400 +0100
+++ new/dep_logic-0.3.0/tests/specifier/test_arbitrary.py 2024-06-28 11:09:19.946395600 +0200
@@ -42,6 +42,6 @@
def test_arbitrary_unsupported(a: str, b: str, operand: str) -> None:
with pytest.raises(ValueError):
if operand == "and":
- parse_version_specifier(a) & parse_version_specifier(b)
+ _ = parse_version_specifier(a) & parse_version_specifier(b)
else:
- parse_version_specifier(a) | parse_version_specifier(b)
+ _ = parse_version_specifier(a) | parse_version_specifier(b)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/tests/tags/test_platform.py new/dep_logic-0.3.0/tests/tags/test_platform.py
--- old/dep_logic-0.2.0/tests/tags/test_platform.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/tests/tags/test_platform.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,334 @@
+import pytest
+
+from dep_logic.tags import os
+from dep_logic.tags.platform import Arch, Platform
+
+
+def test_platform_tags_manylinux():
+ tags = Platform(os.Manylinux(2, 20), Arch.X86_64).compatible_tags
+ assert tags == [
+ "manylinux_2_20_x86_64",
+ "manylinux_2_19_x86_64",
+ "manylinux_2_18_x86_64",
+ "manylinux_2_17_x86_64",
+ "manylinux2014_x86_64",
+ "manylinux_2_16_x86_64",
+ "manylinux_2_15_x86_64",
+ "manylinux_2_14_x86_64",
+ "manylinux_2_13_x86_64",
+ "manylinux_2_12_x86_64",
+ "manylinux2010_x86_64",
+ "manylinux_2_11_x86_64",
+ "manylinux_2_10_x86_64",
+ "manylinux_2_9_x86_64",
+ "manylinux_2_8_x86_64",
+ "manylinux_2_7_x86_64",
+ "manylinux_2_6_x86_64",
+ "manylinux_2_5_x86_64",
+ "manylinux1_x86_64",
+ "linux_x86_64",
+ ]
+
+
+def test_platform_tags_macos():
+ tags = Platform(os.Macos(21, 6), Arch.X86_64).compatible_tags
+ assert tags == [
+ "macosx_21_0_x86_64",
+ "macosx_21_0_intel",
+ "macosx_21_0_fat64",
+ "macosx_21_0_fat32",
+ "macosx_21_0_universal2",
+ "macosx_21_0_universal",
+ "macosx_20_0_x86_64",
+ "macosx_20_0_intel",
+ "macosx_20_0_fat64",
+ "macosx_20_0_fat32",
+ "macosx_20_0_universal2",
+ "macosx_20_0_universal",
+ "macosx_19_0_x86_64",
+ "macosx_19_0_intel",
+ "macosx_19_0_fat64",
+ "macosx_19_0_fat32",
+ "macosx_19_0_universal2",
+ "macosx_19_0_universal",
+ "macosx_18_0_x86_64",
+ "macosx_18_0_intel",
+ "macosx_18_0_fat64",
+ "macosx_18_0_fat32",
+ "macosx_18_0_universal2",
+ "macosx_18_0_universal",
+ "macosx_17_0_x86_64",
+ "macosx_17_0_intel",
+ "macosx_17_0_fat64",
+ "macosx_17_0_fat32",
+ "macosx_17_0_universal2",
+ "macosx_17_0_universal",
+ "macosx_16_0_x86_64",
+ "macosx_16_0_intel",
+ "macosx_16_0_fat64",
+ "macosx_16_0_fat32",
+ "macosx_16_0_universal2",
+ "macosx_16_0_universal",
+ "macosx_15_0_x86_64",
+ "macosx_15_0_intel",
+ "macosx_15_0_fat64",
+ "macosx_15_0_fat32",
+ "macosx_15_0_universal2",
+ "macosx_15_0_universal",
+ "macosx_14_0_x86_64",
+ "macosx_14_0_intel",
+ "macosx_14_0_fat64",
+ "macosx_14_0_fat32",
+ "macosx_14_0_universal2",
+ "macosx_14_0_universal",
+ "macosx_13_0_x86_64",
+ "macosx_13_0_intel",
+ "macosx_13_0_fat64",
+ "macosx_13_0_fat32",
+ "macosx_13_0_universal2",
+ "macosx_13_0_universal",
+ "macosx_12_0_x86_64",
+ "macosx_12_0_intel",
+ "macosx_12_0_fat64",
+ "macosx_12_0_fat32",
+ "macosx_12_0_universal2",
+ "macosx_12_0_universal",
+ "macosx_11_0_x86_64",
+ "macosx_11_0_intel",
+ "macosx_11_0_fat64",
+ "macosx_11_0_fat32",
+ "macosx_11_0_universal2",
+ "macosx_11_0_universal",
+ "macosx_10_16_x86_64",
+ "macosx_10_16_intel",
+ "macosx_10_16_fat64",
+ "macosx_10_16_fat32",
+ "macosx_10_16_universal2",
+ "macosx_10_16_universal",
+ "macosx_10_15_x86_64",
+ "macosx_10_15_intel",
+ "macosx_10_15_fat64",
+ "macosx_10_15_fat32",
+ "macosx_10_15_universal2",
+ "macosx_10_15_universal",
+ "macosx_10_14_x86_64",
+ "macosx_10_14_intel",
+ "macosx_10_14_fat64",
+ "macosx_10_14_fat32",
+ "macosx_10_14_universal2",
+ "macosx_10_14_universal",
+ "macosx_10_13_x86_64",
+ "macosx_10_13_intel",
+ "macosx_10_13_fat64",
+ "macosx_10_13_fat32",
+ "macosx_10_13_universal2",
+ "macosx_10_13_universal",
+ "macosx_10_12_x86_64",
+ "macosx_10_12_intel",
+ "macosx_10_12_fat64",
+ "macosx_10_12_fat32",
+ "macosx_10_12_universal2",
+ "macosx_10_12_universal",
+ "macosx_10_11_x86_64",
+ "macosx_10_11_intel",
+ "macosx_10_11_fat64",
+ "macosx_10_11_fat32",
+ "macosx_10_11_universal2",
+ "macosx_10_11_universal",
+ "macosx_10_10_x86_64",
+ "macosx_10_10_intel",
+ "macosx_10_10_fat64",
+ "macosx_10_10_fat32",
+ "macosx_10_10_universal2",
+ "macosx_10_10_universal",
+ "macosx_10_9_x86_64",
+ "macosx_10_9_intel",
+ "macosx_10_9_fat64",
+ "macosx_10_9_fat32",
+ "macosx_10_9_universal2",
+ "macosx_10_9_universal",
+ "macosx_10_8_x86_64",
+ "macosx_10_8_intel",
+ "macosx_10_8_fat64",
+ "macosx_10_8_fat32",
+ "macosx_10_8_universal2",
+ "macosx_10_8_universal",
+ "macosx_10_7_x86_64",
+ "macosx_10_7_intel",
+ "macosx_10_7_fat64",
+ "macosx_10_7_fat32",
+ "macosx_10_7_universal2",
+ "macosx_10_7_universal",
+ "macosx_10_6_x86_64",
+ "macosx_10_6_intel",
+ "macosx_10_6_fat64",
+ "macosx_10_6_fat32",
+ "macosx_10_6_universal2",
+ "macosx_10_6_universal",
+ "macosx_10_5_x86_64",
+ "macosx_10_5_intel",
+ "macosx_10_5_fat64",
+ "macosx_10_5_fat32",
+ "macosx_10_5_universal2",
+ "macosx_10_5_universal",
+ "macosx_10_4_x86_64",
+ "macosx_10_4_intel",
+ "macosx_10_4_fat64",
+ "macosx_10_4_fat32",
+ "macosx_10_4_universal2",
+ "macosx_10_4_universal",
+ ]
+
+ tags = Platform(os.Macos(14, 0), Arch.X86_64).compatible_tags
+ assert tags == [
+ "macosx_14_0_x86_64",
+ "macosx_14_0_intel",
+ "macosx_14_0_fat64",
+ "macosx_14_0_fat32",
+ "macosx_14_0_universal2",
+ "macosx_14_0_universal",
+ "macosx_13_0_x86_64",
+ "macosx_13_0_intel",
+ "macosx_13_0_fat64",
+ "macosx_13_0_fat32",
+ "macosx_13_0_universal2",
+ "macosx_13_0_universal",
+ "macosx_12_0_x86_64",
+ "macosx_12_0_intel",
+ "macosx_12_0_fat64",
+ "macosx_12_0_fat32",
+ "macosx_12_0_universal2",
+ "macosx_12_0_universal",
+ "macosx_11_0_x86_64",
+ "macosx_11_0_intel",
+ "macosx_11_0_fat64",
+ "macosx_11_0_fat32",
+ "macosx_11_0_universal2",
+ "macosx_11_0_universal",
+ "macosx_10_16_x86_64",
+ "macosx_10_16_intel",
+ "macosx_10_16_fat64",
+ "macosx_10_16_fat32",
+ "macosx_10_16_universal2",
+ "macosx_10_16_universal",
+ "macosx_10_15_x86_64",
+ "macosx_10_15_intel",
+ "macosx_10_15_fat64",
+ "macosx_10_15_fat32",
+ "macosx_10_15_universal2",
+ "macosx_10_15_universal",
+ "macosx_10_14_x86_64",
+ "macosx_10_14_intel",
+ "macosx_10_14_fat64",
+ "macosx_10_14_fat32",
+ "macosx_10_14_universal2",
+ "macosx_10_14_universal",
+ "macosx_10_13_x86_64",
+ "macosx_10_13_intel",
+ "macosx_10_13_fat64",
+ "macosx_10_13_fat32",
+ "macosx_10_13_universal2",
+ "macosx_10_13_universal",
+ "macosx_10_12_x86_64",
+ "macosx_10_12_intel",
+ "macosx_10_12_fat64",
+ "macosx_10_12_fat32",
+ "macosx_10_12_universal2",
+ "macosx_10_12_universal",
+ "macosx_10_11_x86_64",
+ "macosx_10_11_intel",
+ "macosx_10_11_fat64",
+ "macosx_10_11_fat32",
+ "macosx_10_11_universal2",
+ "macosx_10_11_universal",
+ "macosx_10_10_x86_64",
+ "macosx_10_10_intel",
+ "macosx_10_10_fat64",
+ "macosx_10_10_fat32",
+ "macosx_10_10_universal2",
+ "macosx_10_10_universal",
+ "macosx_10_9_x86_64",
+ "macosx_10_9_intel",
+ "macosx_10_9_fat64",
+ "macosx_10_9_fat32",
+ "macosx_10_9_universal2",
+ "macosx_10_9_universal",
+ "macosx_10_8_x86_64",
+ "macosx_10_8_intel",
+ "macosx_10_8_fat64",
+ "macosx_10_8_fat32",
+ "macosx_10_8_universal2",
+ "macosx_10_8_universal",
+ "macosx_10_7_x86_64",
+ "macosx_10_7_intel",
+ "macosx_10_7_fat64",
+ "macosx_10_7_fat32",
+ "macosx_10_7_universal2",
+ "macosx_10_7_universal",
+ "macosx_10_6_x86_64",
+ "macosx_10_6_intel",
+ "macosx_10_6_fat64",
+ "macosx_10_6_fat32",
+ "macosx_10_6_universal2",
+ "macosx_10_6_universal",
+ "macosx_10_5_x86_64",
+ "macosx_10_5_intel",
+ "macosx_10_5_fat64",
+ "macosx_10_5_fat32",
+ "macosx_10_5_universal2",
+ "macosx_10_5_universal",
+ "macosx_10_4_x86_64",
+ "macosx_10_4_intel",
+ "macosx_10_4_fat64",
+ "macosx_10_4_fat32",
+ "macosx_10_4_universal2",
+ "macosx_10_4_universal",
+ ]
+
+ tags = Platform(os.Macos(10, 6), Arch.X86_64).compatible_tags
+ assert tags == [
+ "macosx_10_6_x86_64",
+ "macosx_10_6_intel",
+ "macosx_10_6_fat64",
+ "macosx_10_6_fat32",
+ "macosx_10_6_universal2",
+ "macosx_10_6_universal",
+ "macosx_10_5_x86_64",
+ "macosx_10_5_intel",
+ "macosx_10_5_fat64",
+ "macosx_10_5_fat32",
+ "macosx_10_5_universal2",
+ "macosx_10_5_universal",
+ "macosx_10_4_x86_64",
+ "macosx_10_4_intel",
+ "macosx_10_4_fat64",
+ "macosx_10_4_fat32",
+ "macosx_10_4_universal2",
+ "macosx_10_4_universal",
+ ]
+
+
+def test_platform_tags_windows():
+ tags = Platform(os.Windows(), Arch.X86_64).compatible_tags
+ assert tags == ["win_amd64"]
+
+
+def test_platform_tags_musl():
+ tags = Platform(os.Musllinux(1, 2), Arch.Aarch64).compatible_tags
+ assert tags == ["linux_aarch64", "musllinux_1_1_aarch64", "musllinux_1_2_aarch64"]
+
+
+(a)pytest.mark.parametrize(
+ "text,expected",
+ [
+ ("linux", Platform(os.Manylinux(2, 17), Arch.X86_64)),
+ ("macos", Platform(os.Macos(12, 0), Arch.Aarch64)),
+ ("windows", Platform(os.Windows(), Arch.X86_64)),
+ ("alpine", Platform(os.Musllinux(1, 2), Arch.X86_64)),
+ ("manylinux_2_20_aarch64", Platform(os.Manylinux(2, 20), Arch.Aarch64)),
+ ("macos_14_0_arm64", Platform(os.Macos(14, 0), Arch.Aarch64)),
+ ("windows_amd64", Platform(os.Windows(), Arch.X86_64)),
+ ],
+)
+def test_parse_platform(text, expected):
+ assert Platform.parse(text) == expected
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dep_logic-0.2.0/tests/tags/test_tags.py new/dep_logic-0.3.0/tests/tags/test_tags.py
--- old/dep_logic-0.2.0/tests/tags/test_tags.py 1970-01-01 01:00:00.000000000 +0100
+++ new/dep_logic-0.3.0/tests/tags/test_tags.py 2024-06-28 11:09:19.946395600 +0200
@@ -0,0 +1,41 @@
+from dep_logic.tags import EnvSpec
+
+
+def test_check_wheel_tags():
+ wheels = [
+ "protobuf-5.27.2-cp310-abi3-win32.whl",
+ "protobuf-5.27.2-cp310-abi3-win_amd64.whl",
+ "protobuf-5.27.2-cp38-abi3-macosx_10_9_universal2.whl",
+ "protobuf-5.27.2-cp38-abi3-manylinux2014_aarch64.whl",
+ "protobuf-5.27.2-cp38-abi3-manylinux2014_x86_64.whl",
+ "protobuf-5.27.2-cp38-cp38-win32.whl",
+ "protobuf-5.27.2-cp38-cp38-win_amd64.whl",
+ "protobuf-5.27.2-cp39-cp39-win32.whl",
+ "protobuf-5.27.2-cp39-cp39-win_amd64.whl",
+ "protobuf-5.27.2-py3-none-any.whl",
+ ]
+
+ linux_env = EnvSpec.from_spec(">=3.9", "linux", "cpython")
+ wheel_compats = {
+ f: c
+ for f, c in {f: linux_env.wheel_compatibility(f) for f in wheels}.items()
+ if c is not None
+ }
+ filtered_wheels = sorted(wheel_compats, key=wheel_compats.__getitem__, reverse=True)
+ assert filtered_wheels == [
+ "protobuf-5.27.2-cp38-abi3-manylinux2014_x86_64.whl",
+ "protobuf-5.27.2-py3-none-any.whl",
+ ]
+
+ windows_env = EnvSpec.from_spec(">=3.9", "windows", "cpython")
+ wheel_compats = {
+ f: c
+ for f, c in {f: windows_env.wheel_compatibility(f) for f in wheels}.items()
+ if c is not None
+ }
+ filtered_wheels = sorted(wheel_compats, key=wheel_compats.__getitem__, reverse=True)
+ assert filtered_wheels == [
+ "protobuf-5.27.2-cp310-abi3-win_amd64.whl",
+ "protobuf-5.27.2-cp39-cp39-win_amd64.whl",
+ "protobuf-5.27.2-py3-none-any.whl",
+ ]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rocksdb for openSUSE:Factory checked in at 2024-07-01 11:19:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rocksdb (Old)
and /work/SRC/openSUSE:Factory/.rocksdb.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rocksdb"
Mon Jul 1 11:19:42 2024 rev:18 rq:1183995 version:9.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rocksdb/rocksdb.changes 2024-05-24 19:52:42.984967372 +0200
+++ /work/SRC/openSUSE:Factory/.rocksdb.new.18349/rocksdb.changes 2024-07-01 11:20:03.766388212 +0200
@@ -1,0 +2,26 @@
+Sat Jun 29 13:24:27 UTC 2024 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- update to 9.3.1:
+ * Optimistic transactions and pessimistic transactions with the
+ WriteCommitted policy now support the GetEntity API.
+ * Added new Iterator property, "rocksdb.iterator.is-value-pinned",
+ for checking whether the Slice returned by Iterator::value()
+ can be used until the Iterator is destroyed.
+ * Optimistic transactions and WriteCommitted pessimistic
+ transactions now support the MultiGetEntity API.
+ * Optimistic transactions and pessimistic transactions with the
+ WriteCommitted policy now support the PutEntity API. Support
+ for read APIs and other write policies (WritePrepared,
+ WriteUnprepared) will be added later.
+ * Exposed block based metadata cache options via C API
+ * Exposed compaction pri via c api.
+ * Add a kAdmPolicyAllowAll option to TieredAdmissionPolicy that
+ admits all blocks evicted from the primary block cache into
+ the compressed secondary cache.
+ * CompactRange() with change_level=true on a CF with FIFO
+ compaction will return Status::NotSupported().
+ * External file ingestion with FIFO compaction will always ingest
+ to L0.
+ * bug fixes
+
+-------------------------------------------------------------------
Old:
----
rocksdb-9.2.1.tar.gz
New:
----
rocksdb-9.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rocksdb.spec ++++++
--- /var/tmp/diff_new_pack.XDXUYk/_old 2024-07-01 11:20:04.602418668 +0200
+++ /var/tmp/diff_new_pack.XDXUYk/_new 2024-07-01 11:20:04.606418813 +0200
@@ -20,7 +20,7 @@
%define lib_name librocksdb9
%bcond_with jemalloc
Name: rocksdb
-Version: 9.2.1
+Version: 9.3.1
Release: 0
Summary: Library for embeddable, persistent and fast key-value store
License: (Apache-2.0 OR GPL-2.0-only) AND BSD-2-Clause
++++++ rocksdb-9.2.1.tar.gz -> rocksdb-9.3.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/rocksdb/rocksdb-9.2.1.tar.gz /work/SRC/openSUSE:Factory/.rocksdb.new.18349/rocksdb-9.3.1.tar.gz differ: char 29, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ollama for openSUSE:Factory checked in at 2024-07-01 11:19:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ollama (Old)
and /work/SRC/openSUSE:Factory/.ollama.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ollama"
Mon Jul 1 11:19:34 2024 rev:10 rq:1183991 version:0.1.45
Changes:
--------
--- /work/SRC/openSUSE:Factory/ollama/ollama.changes 2024-06-18 22:53:16.749495745 +0200
+++ /work/SRC/openSUSE:Factory/.ollama.new.18349/ollama.changes 2024-07-01 11:19:57.266151409 +0200
@@ -1,0 +2,21 @@
+Sat Jun 22 10:08:00 UTC 2024 - Eyad Issa <eyadlorenzo(a)gmail.com>
+
+- Update to version 0.1.45:
+ * New models: DeepSeek-Coder-V2: A 16B & 236B open-source
+ Mixture-of-Experts code language model that achieves
+ performance comparable to GPT4-Turbo in code-specific tasks.
+ * ollama show <model> will now show model information such as
+ context window size
+ * Model loading on Windows with CUDA GPUs is now faster
+ * Setting seed in the /v1/chat/completions OpenAI compatibility
+ endpoint no longer changes temperature
+ * Enhanced GPU discovery and multi-gpu support with concurrency
+ * Introduced a workaround for AMD Vega RX 56 SDMA support on
+ Linux
+ * Fix memory prediction for deepseek-v2 and deepseek-coder-v2
+ models
+ * api/show endpoint returns extensive model metadata
+ * GPU configuration variables are now reported in ollama serve
+ * Update Linux ROCm to v6.1.1
+
+-------------------------------------------------------------------
Old:
----
ollama-0.1.44.obscpio
New:
----
ollama-0.1.45.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ollama.spec ++++++
--- /var/tmp/diff_new_pack.jFEhKH/_old 2024-07-01 11:20:00.242259828 +0200
+++ /var/tmp/diff_new_pack.jFEhKH/_new 2024-07-01 11:20:00.258260411 +0200
@@ -17,7 +17,7 @@
Name: ollama
-Version: 0.1.44
+Version: 0.1.45
Release: 0
Summary: Tool for running AI models on-premise
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.jFEhKH/_old 2024-07-01 11:20:00.598272797 +0200
+++ /var/tmp/diff_new_pack.jFEhKH/_new 2024-07-01 11:20:00.630273963 +0200
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/ollama/ollama.git</param>
<param name="scm">git</param>
- <param name="revision">v0.1.44</param>
+ <param name="revision">v0.1.45</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.jFEhKH/_old 2024-07-01 11:20:00.886283290 +0200
+++ /var/tmp/diff_new_pack.jFEhKH/_new 2024-07-01 11:20:00.930284892 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/ollama/ollama.git</param>
- <param name="changesrevision">c39761c5525132d96e1da0956a9aa39e87b54114</param></service></servicedata>
+ <param name="changesrevision">e01e535cbbb92e0d9645bd726e259e7d8a6c7598</param></service></servicedata>
(No newline at EOF)
++++++ enable-lto.patch ++++++
--- /var/tmp/diff_new_pack.jFEhKH/_old 2024-07-01 11:20:01.142292616 +0200
+++ /var/tmp/diff_new_pack.jFEhKH/_new 2024-07-01 11:20:01.178293928 +0200
@@ -1,30 +1,28 @@
-diff -rub ollama/llm/generate/gen_linux.sh ollama-patched/llm/generate/gen_linux.sh
---- ollama/llm/generate/gen_linux.sh 2024-04-23 04:40:58.246062467 +0200
-+++ ollama-patched/llm/generate/gen_linux.sh 2024-04-23 04:37:36.432294889 +0200
-@@ -51,7 +51,7 @@
- export CUDACXX=$(command -v nvcc)
+diff --git a/llm/generate/gen_linux.sh b/llm/generate/gen_linux.sh
+index 28ce1f2..4193a43 100755
+--- a/llm/generate/gen_linux.sh
++++ b/llm/generate/gen_linux.sh
+@@ -52,6 +52,7 @@ if [ -z "${CUDACXX}" ]; then
fi
fi
--COMMON_CMAKE_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_NATIVE=off -DLLAMA_AVX=on -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off"
-+COMMON_CMAKE_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_LTO=on -DCMAKE_BUILD_TYPE=Release -DLLAMA_NATIVE=off -DLLAMA_AVX=on -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off"
+ COMMON_CMAKE_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_NATIVE=off -DLLAMA_AVX=on -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off -DLLAMA_OPENMP=off"
++COMMON_CMAKE_DEFS="${COMMON_CMAKE_DEFS} -DLLAMA_LTO=on -DCMAKE_BUILD_TYPE=Release"
source $(dirname $0)/gen_common.sh
init_vars
git_module_setup
-@@ -77,7 +77,7 @@
- if [ -n "${OLLAMA_CUSTOM_CPU_DEFS}" ]; then
+@@ -78,6 +79,7 @@ if [ -z "${OLLAMA_SKIP_CPU_GENERATE}" ]; then
init_vars
echo "OLLAMA_CUSTOM_CPU_DEFS=\"${OLLAMA_CUSTOM_CPU_DEFS}\""
-- CMAKE_DEFS="${OLLAMA_CUSTOM_CPU_DEFS} -DCMAKE_POSITION_INDEPENDENT_CODE=on ${CMAKE_DEFS}"
-+ CMAKE_DEFS="${OLLAMA_CUSTOM_CPU_DEFS} -DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_LTO=on -DCMAKE_BUILD_TYPE=Release ${CMAKE_DEFS}"
+ CMAKE_DEFS="${OLLAMA_CUSTOM_CPU_DEFS} -DCMAKE_POSITION_INDEPENDENT_CODE=on ${CMAKE_DEFS}"
++ CMAKE_DEFS="${CMAKE_DEFS} -DLLAMA_LTO=on"
BUILD_DIR="../build/linux/${ARCH}/cpu"
echo "Building custom CPU"
build
-@@ -93,7 +93,7 @@
- # -DLLAMA_AVX512_VBMI -- 2018 Intel Cannon Lake
+@@ -94,6 +96,7 @@ if [ -z "${OLLAMA_SKIP_CPU_GENERATE}" ]; then
# -DLLAMA_AVX512_VNNI -- 2021 Intel Alder Lake
-
-- COMMON_CPU_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_NATIVE=off"
-+ COMMON_CPU_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_LTO=on -DCMAKE_BUILD_TYPE=Release -DLLAMA_NATIVE=off"
+
+ COMMON_CPU_DEFS="-DCMAKE_POSITION_INDEPENDENT_CODE=on -DLLAMA_NATIVE=off -DLLAMA_OPENMP=off"
++ COMMON_CPU_DEFS="-DLLAMA_LTO=on -DCMAKE_BUILD_TYPE=Release"
if [ -z "${OLLAMA_CPU_TARGET}" -o "${OLLAMA_CPU_TARGET}" = "cpu" ]; then
#
# CPU first for the default library, set up as lowest common denominator for maximum compatibility (including Rosetta)
++++++ ollama-0.1.44.obscpio -> ollama-0.1.45.obscpio ++++++
/work/SRC/openSUSE:Factory/ollama/ollama-0.1.44.obscpio /work/SRC/openSUSE:Factory/.ollama.new.18349/ollama-0.1.45.obscpio differ: char 49, line 1
++++++ ollama.obsinfo ++++++
--- /var/tmp/diff_new_pack.jFEhKH/_old 2024-07-01 11:20:01.666311706 +0200
+++ /var/tmp/diff_new_pack.jFEhKH/_new 2024-07-01 11:20:01.730314038 +0200
@@ -1,5 +1,5 @@
name: ollama
-version: 0.1.44
-mtime: 1718310369
-commit: c39761c5525132d96e1da0956a9aa39e87b54114
+version: 0.1.45
+mtime: 1718905584
+commit: e01e535cbbb92e0d9645bd726e259e7d8a6c7598
++++++ vendor.tar.zstd ++++++
Binary files /var/tmp/diff_new_pack.jFEhKH/_old and /var/tmp/diff_new_pack.jFEhKH/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nodejs-electron for openSUSE:Factory checked in at 2024-07-01 11:19:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Mon Jul 1 11:19:33 2024 rev:122 rq:1183969 version:29.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes 2024-06-14 19:01:13.873698567 +0200
+++ /work/SRC/openSUSE:Factory/.nodejs-electron.new.18349/nodejs-electron.changes 2024-07-01 11:19:47.713803418 +0200
@@ -1,0 +2,15 @@
+Fri Jun 28 16:56:51 UTC 2024 - Bruno Pitrus <brunopitrus(a)hotmail.com>
+
+- New upstream release 29.4.3
+ * Fixed an issue where navigator.usb.getDevices() could crash in some circumstances.
+ * Fixed an issue where bad flags passed via --js-flags could cause a crash.
+ * Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux.
+ * Fixed an issue where some calls to WebUSB methods could crash.
+ * Fixed potentially incorrect exit code in UtilityProcess.
+ * Fixed support for multiple folder/file selection in //shell_dialogs portal implementation.
+ * Security fixes for CVE-2024-5499 CVE-2024-5493 CVE-2024-5496 (bsc#1225690)
+ * Security fixes for CVE-2024-5158 CVE-2024-5157 CVE-2024-5159 (bsc#1224818)
+ * Security fixes for CVE-2024-6100 CVE-2024-6101 (bsc#1226504)
+- Correct .desktop file name to match the CHROME_DESKTOP environment variable.
+
+-------------------------------------------------------------------
Old:
----
electron-29.4.2.tar.zst
electron.desktop
New:
----
Electron.desktop
electron-29.4.3.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.A5FZTM/_old 2024-07-01 11:19:54.418047653 +0200
+++ /var/tmp/diff_new_pack.A5FZTM/_new 2024-07-01 11:19:54.418047653 +0200
@@ -209,7 +209,7 @@
Name: nodejs-electron
-Version: 29.4.2
+Version: 29.4.3
%global tag_version %version
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS
@@ -219,7 +219,7 @@
Source0: %{mod_name}-%{tag_version}.tar.zst
Source1: create_tarball.sh
Source10: electron-launcher.sh
-Source11: electron.desktop
+Source11: Electron.desktop
# Reverse upstream changes to be able to build against ffmpeg-4
@@ -898,7 +898,7 @@
%if %{with lto}
%ifarch aarch64
-export LDFLAGS="$LDFLAGS -flto=auto --param ggc-min-expand=20 --param ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=1 -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+export LDFLAGS="$LDFLAGS -flto=4 --param ggc-min-expand=20 --param ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=1 -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%else
# x64 is fine with the the default settings (the machines have 30GB+ ram)
export LDFLAGS="$LDFLAGS -flto=auto"
@@ -1459,7 +1459,7 @@
%files
%license electron/LICENSE out/Release/LICENSES.chromium.html
%{_bindir}/electron
-%{_datadir}/applications/electron.desktop
+%{_datadir}/applications/Electron.desktop
%{_datadir}/icons/hicolor/16x16/apps/electron.png
%{_datadir}/icons/hicolor/32x32/apps/electron.png
%{_datadir}/icons/hicolor/48x48/apps/electron.png
++++++ Electron.desktop ++++++
[Desktop Entry]
Type=Application
Name=Electron
Icon=electron
Exec=electron %u
Categories=Development;GTK;
NoDisplay=true
StartupNotify=true
StartupWMClass=electron
++++++ electron-29.4.2.tar.zst -> electron-29.4.3.tar.zst ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-29.4.2.tar.zst /work/SRC/openSUSE:Factory/.nodejs-electron.new.18349/electron-29.4.3.tar.zst differ: char 7, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-webcolors for openSUSE:Factory checked in at 2024-07-01 11:19:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-webcolors (Old)
and /work/SRC/openSUSE:Factory/.python-webcolors.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-webcolors"
Mon Jul 1 11:19:29 2024 rev:11 rq:1184088 version:24.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-webcolors/python-webcolors.changes 2023-09-14 16:26:29.528353640 +0200
+++ /work/SRC/openSUSE:Factory/.python-webcolors.new.18349/python-webcolors.changes 2024-07-01 11:19:36.801405881 +0200
@@ -1,0 +2,69 @@
+Sun Jun 30 09:14:36 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 24.6.0:
+ * Supported Python versions are now 3.8, 3.9, 3.10, and 3.11.
+ * Running the unit tests no longer uses a third-party test
+ runner; the standard-library unittest module's runner is used
+ instead.
+ * Documentation of the HTML5 color algorithms has been updated
+ to emphasize which HTML5 spec is used (the WHATWG spec, which
+ is now the only canonical and maintained HTML5 spec) and
+ comments in the implementations have been updated to include
+ the latest prose description of the HTML5 algorithms from the
+ spec. These updates do not change the behavior of the HTML5
+ algorithms, and are only for clarity of documentation and
+ explanation.
+ * Adopted CalVer versioning.
+ * The raw mappings of color names/values are no longer publicly
+ exposed; use the appropriate normalizing conversion functions
+ instead of accessing the mappings directly.
+
+-------------------------------------------------------------------
+Sun Jun 30 09:14:17 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 24.6.0:
+ * to use a CalVer version number was 24.6.0.
+ * The API stability/deprecation policy for this library is as
+ follows:
+ * The supported stable public API of this library is the set of
+ symbols which are exported by its __all__ declaration and
+ which are documented in this documentation. For classes
+ exported there, the supported stable public API is the set of
+ methods and attributes of those classes whose names do not
+ begin with one or more underscore (_) characters and which
+ are documented in this documentation.
+ * When a public API is to be removed, or undergo a backwards-
+ incompatible change, it will emit a deprecation warning which
+ serves as notice of the intended removal or change, and which
+ will give a date -- which will always be at least in the next
+ calendar year after the first release which emits the
+ deprecation warning -- past which the removal or change may
+ occur without further warning.
+ * Security fixes, and fixes for high-severity bugs (such as
+ those which might cause unrecoverable crash or data loss),
+ are not required to emit deprecation warnings, and may -- if
+ needed -- impose backwards-incompatible change in any
+ release. If this occurs, this changelog document will contain
+ a note explaining why the usual deprecation process could not
+ be followed for that case.
+ * This policy is in effect as of the adoption of CalVer
+ versioning, with version 24.6.0 of this library.
+ * Released June 2024
+ * Supported Python versions are now 3.8, 3.9, 3.10, and 3.11.
+ * Running the unit tests no longer uses a third-party test
+ runner; the standard-library unittest module's runner is used
+ instead.
+ * Documentation of the HTML5 color algorithms has been updated
+ to emphasize which HTML5 spec is used (the WHATWG spec, which
+ is now the only canonical and maintained HTML5 spec) and
+ comments in the implementations have been updated to include
+ the latest prose description of the HTML5 algorithms from the
+ spec. These updates do not change the behavior of the HTML5
+ algorithms, and are only for clarity of documentation and
+ explanation.
+ * Adopted CalVer versioning.
+ * The raw mappings of color names/values are no longer publicly
+ exposed; use the appropriate normalizing conversion functions
+ instead of accessing the mappings directly.
+
+-------------------------------------------------------------------
Old:
----
webcolors-1.13.tar.gz
New:
----
webcolors-24.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-webcolors.spec ++++++
--- /var/tmp/diff_new_pack.pvqpwR/_old 2024-07-01 11:19:37.273423077 +0200
+++ /var/tmp/diff_new_pack.pvqpwR/_new 2024-07-01 11:19:37.273423077 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-webcolors
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,11 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%global skip_python2 1
%{?sle15_python_module_pythons}
Name: python-webcolors
-Version: 1.13
+Version: 24.6.0
Release: 0
Summary: Support for color names and value formats defined by the HTML
License: BSD-3-Clause
@@ -72,5 +70,6 @@
%files %{python_files}
%license LICENSE
%doc README.rst
-%{python_sitelib}/*
+%{python_sitelib}/webcolors
+%{python_sitelib}/webcolors-%{version}.dist-info
++++++ webcolors-1.13.tar.gz -> webcolors-24.6.0.tar.gz ++++++
++++ 4941 lines of diff (skipped)
1
0