Github messages for voidlinux
 help / color / mirror / Atom feed
From: chili-b <chili-b@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] New package: frescobaldi-3.1.3
Date: Mon, 17 Jan 2022 02:06:54 +0100	[thread overview]
Message-ID: <20220117010654.5cOiHNYjeGYrSpM5YvEnsgk1afTrJGbKNN04CikbvbA@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-33279@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1735 bytes --]

There is an updated pull request by chili-b against master on the void-packages repository

https://github.com/chili-b/void-packages master
https://github.com/void-linux/void-packages/pull/33279

New package: frescobaldi-3.1.3
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [x] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64-glibc)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

This PR also includes the new packages, `python3-ly-0.9.7` and `python3-poppler-qt5-0.75.0`, which are dependencies for frescobaldi.


A patch file from https://github.com/void-linux/void-packages/pull/33279.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-master-33279.patch --]
[-- Type: text/x-diff, Size: 37596 bytes --]

From 3161ff24232fd8790297380a9311fa5908ee37c3 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Sat, 2 Oct 2021 21:07:56 -0400
Subject: [PATCH 1/4] New package: python3-ly-0.9.7

Python modules parse, manipulate or create documents in LilyPond format.
Depended upon by the Frescobaldi LilyPond editor.
---
 srcpkgs/python3-ly/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/python3-ly/template

diff --git a/srcpkgs/python3-ly/template b/srcpkgs/python3-ly/template
new file mode 100644
index 000000000000..a795013096db
--- /dev/null
+++ b/srcpkgs/python3-ly/template
@@ -0,0 +1,14 @@
+# Template file for 'python3-ly'
+pkgname=python3-ly
+version=0.9.7
+revision=1
+wrksrc="python-ly-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+short_desc="Modules to parse, manipulate or create documents in LilyPond format"
+maintainer="chili-b <dexter.gaonshatford@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/frescobaldi/python-ly"
+changelog="https://github.com/frescobaldi/python-ly/blob/v${version}/ChangeLog"
+distfiles="${PYPI_SITE}/p/python-ly/python-ly-${version}.tar.gz"
+checksum=d4d2b68eb0ef8073200154247cc9bd91ed7fb2671ac966ef3d2853281c15d7a8

From 3a3610afcfd839fa5f4326d557a9619135677419 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Sun, 10 Oct 2021 15:20:53 -0400
Subject: [PATCH 2/4] New package: python3-poppler-qt5-0.75.0

---
 srcpkgs/python3-poppler-qt5/template | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 srcpkgs/python3-poppler-qt5/template

diff --git a/srcpkgs/python3-poppler-qt5/template b/srcpkgs/python3-poppler-qt5/template
new file mode 100644
index 000000000000..efbd3c65d357
--- /dev/null
+++ b/srcpkgs/python3-poppler-qt5/template
@@ -0,0 +1,28 @@
+# Template file for 'python3-poppler-qt5'
+pkgname=python3-poppler-qt5
+version=0.75.0
+revision=1
+wrksrc="python-poppler-qt5-${version}"
+build_style=python3-module
+hostmakedepends="python3-sip-devel pkg-config qt5-devel poppler-qt5-devel
+ python3-PyQt5-devel python3-devel"
+makedepends="python3-sip-devel pkg-config qt5-devel poppler-qt5-devel
+ python3-PyQt5-devel python3-devel"
+depends="poppler-qt5 python3-PyQt5"
+short_desc="Python bindings for libpoppler-qt5"
+maintainer="chili-b <dexter.gaonshatford@gmail.com>"
+license="LGPL-3.0-or-later"
+homepage="https://github.com/frescobaldi/python-poppler-qt5"
+changelog="https://github.com/frescobaldi/python-poppler-qt5/blob/v${version}/ChangeLog"
+distfiles="${PYPI_SITE}/p/python-poppler-qt5/python-poppler-qt5-${version}.tar.gz"
+checksum=ea0ec9ebe995705ab19a301290365652e62bab5c9b05db5697c7bf2173335107
+
+do_build() {
+	# Cludge to fix build under armv7l, armv6l
+	if [[ $XBPS_TARGET_MACHINE == arm* ]]; then
+		export CFLAGS="-mtune=generic-armv7-a "
+		export CFLAGS+="-I${XBPS_CROSS_BASE}/${py3_inc}"
+	fi
+
+	python setup.py build_ext --pyqt-sip-dir=/${py3_sitelib}/PyQt5/bindings
+}

From dd124320d8c2e82f96f7c9017e9b8bb0a1401b27 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Sun, 10 Oct 2021 15:33:36 -0400
Subject: [PATCH 3/4] New package: frescobaldi-3.1.3

---
 ...f-py-3.10-float-int-fixes-issue-1398.patch | 530 ++++++++++++++++++
 ...e-py-3.10-float-int-fixes-issue-1398.patch | 209 +++++++
 ...nges-to-fix-errors-under-Python-3.10.patch |  50 ++
 srcpkgs/frescobaldi/template                  |  20 +
 4 files changed, 809 insertions(+)
 create mode 100644 srcpkgs/frescobaldi/patches/0001-first-batch-of-py-3.10-float-int-fixes-issue-1398.patch
 create mode 100644 srcpkgs/frescobaldi/patches/0002-more-py-3.10-float-int-fixes-issue-1398.patch
 create mode 100644 srcpkgs/frescobaldi/patches/0003-More-changes-to-fix-errors-under-Python-3.10.patch
 create mode 100644 srcpkgs/frescobaldi/template

diff --git a/srcpkgs/frescobaldi/patches/0001-first-batch-of-py-3.10-float-int-fixes-issue-1398.patch b/srcpkgs/frescobaldi/patches/0001-first-batch-of-py-3.10-float-int-fixes-issue-1398.patch
new file mode 100644
index 000000000000..1b80ed879f93
--- /dev/null
+++ b/srcpkgs/frescobaldi/patches/0001-first-batch-of-py-3.10-float-int-fixes-issue-1398.patch
@@ -0,0 +1,530 @@
+From 51886dba8a3cb3db6eba9a6cf1d65bd8eaf877aa Mon Sep 17 00:00:00 2001
+From: Wilbert Berendsen <wbsoft@xs4all.nl>
+Date: Sun, 7 Nov 2021 14:53:33 +0100
+Subject: [PATCH 1/2] first batch of py 3.10 float->int fixes, issue #1398
+
+---
+ frescobaldi_app/qpageview/magnifier.py    | 10 +++---
+ frescobaldi_app/qpageview/poppler.py      | 18 +++++------
+ frescobaldi_app/qpageview/render.py       | 18 +++++------
+ frescobaldi_app/qpageview/rubberband.py   | 38 +++++++++++------------
+ frescobaldi_app/qpageview/scrollarea.py   | 34 ++++++++++----------
+ frescobaldi_app/qpageview/shadow.py       | 12 +++----
+ frescobaldi_app/widgets/linenumberarea.py |  4 +--
+ frescobaldi_app/widgets/progressbar.py    |  4 +--
+ 8 files changed, 69 insertions(+), 69 deletions(-)
+
+diff --git a/frescobaldi_app/qpageview/magnifier.py b/frescobaldi_app/qpageview/magnifier.py
+index 3a2759fb..b93d05be 100644
+--- a/frescobaldi_app/qpageview/magnifier.py
++++ b/frescobaldi_app/qpageview/magnifier.py
+@@ -156,7 +156,7 @@ class Magnifier(QWidget):
+ 
+     def moveEvent(self, ev):
+         """Called on move, updates the contents."""
+-        # we also update on paint events, but they are not generated if the 
++        # we also update on paint events, but they are not generated if the
+         # magnifiers fully covers the viewport
+         self.update()
+ 
+@@ -240,8 +240,8 @@ class Magnifier(QWidget):
+                 factor = 1.1 ** (ev.angleDelta().y() / 120)
+                 g = self.geometry()
+                 c = g.center()
+-                g.setWidth(min(max(g.width() * factor, self.MIN_SIZE), self.MAX_SIZE))
+-                g.setHeight(min(max(g.height() * factor, self.MIN_SIZE), self.MAX_SIZE))
++                g.setWidth(int(min(max(g.width() * factor, self.MIN_SIZE), self.MAX_SIZE)))
++                g.setHeight(int(min(max(g.height() * factor, self.MIN_SIZE), self.MAX_SIZE)))
+                 g.moveCenter(c)
+                 self.setGeometry(g)
+             else:
+@@ -278,13 +278,13 @@ class Magnifier(QWidget):
+ 
+         # the virtual position of the whole scaled-up layout
+         ev_rect = ev.rect().translated(our_rect.topLeft())
+-        
++
+         # draw shadow border?
+         shadow = False
+         if hasattr(view, "drawDropShadow") and view.dropShadowEnabled:
+             shadow = True
+             shadow_width = layout.spacing * scale // 2
+-        
++
+         painter = QPainter(self)
+         for p in layout.pagesAt(region.boundingRect()):
+             # get a (reused) the copy of the page
+diff --git a/frescobaldi_app/qpageview/poppler.py b/frescobaldi_app/qpageview/poppler.py
+index 17312d78..26768356 100644
+--- a/frescobaldi_app/qpageview/poppler.py
++++ b/frescobaldi_app/qpageview/poppler.py
+@@ -62,7 +62,7 @@ class Link(link.Link):
+     def __init__(self, linkobj):
+         self.linkobj = linkobj
+         self.area = link.Area(*linkobj.linkArea().normalized().getCoords())
+-    
++
+     @property
+     def url(self):
+         if isinstance(self.linkobj, popplerqt5.Poppler.LinkBrowse):
+@@ -105,8 +105,8 @@ class PopplerPage(page.AbstractRenderedPage):
+     def load(cls, filename, renderer=None):
+         """Load a Poppler document, and yield of instances of this class.
+ 
+-        The filename can also be a QByteArray or a popplerqt5.Poppler.Document 
+-        instance. The specified Renderer is used, or else the global poppler 
++        The filename can also be a QByteArray or a popplerqt5.Poppler.Document
++        instance. The specified Renderer is used, or else the global poppler
+         renderer.
+ 
+         """
+@@ -116,11 +116,11 @@ class PopplerPage(page.AbstractRenderedPage):
+     def mutex(self):
+         """No two pages of same Poppler document are rendered at the same time."""
+         return self.document
+-    
++
+     def group(self):
+         """Reimplemented to return the Poppler document our page displays a page from."""
+         return self.document
+-    
++
+     def ident(self):
+         """Reimplemented to return the page number of this page."""
+         return self.pageNumber
+@@ -131,7 +131,7 @@ class PopplerPage(page.AbstractRenderedPage):
+         with locking.lock(self.document):
+             page = self.document.page(self.pageNumber)
+             return page.text(rect)
+-    
++
+     def links(self):
+         """Reimplemented to use a different caching mechanism."""
+         document, pageNumber = self.document, self.pageNumber
+@@ -184,7 +184,7 @@ class PopplerRenderer(render.AbstractRenderer):
+         renderBackend = printRenderBackend = 0
+ 
+     oversampleThreshold = 96
+-    
++
+     def render(self, page, key, tile, paperColor=None):
+         """Generate an image for the Page referred to by key."""
+         if paperColor is None:
+@@ -205,8 +205,8 @@ class PopplerRenderer(render.AbstractRenderer):
+             key.rotation, paperColor)
+         if multiplier == 2:
+             image = image.scaledToWidth(tile.w, Qt.SmoothTransformation)
+-        image.setDotsPerMeterX(xres * 39.37)
+-        image.setDotsPerMeterY(yres * 39.37)
++        image.setDotsPerMeterX(int(xres * 39.37))
++        image.setDotsPerMeterY(int(yres * 39.37))
+         return image
+ 
+     def setRenderHints(self, doc):
+diff --git a/frescobaldi_app/qpageview/render.py b/frescobaldi_app/qpageview/render.py
+index a8c00de1..5560fa2f 100644
+--- a/frescobaldi_app/qpageview/render.py
++++ b/frescobaldi_app/qpageview/render.py
+@@ -146,11 +146,11 @@ class AbstractRenderer:
+ 
+     def map(self, key, box):
+         """Return a QTransform converting from Key coordinates to a box.
+-        
++
+         The box should be a QRectF or QRect, and describes the original area of
+         the page.  The returned matrix can be used to convert e.g. tile
+         coordinates to the position on the original page.
+-        
++
+         """
+         t = QTransform()
+         t.translate(box.x(), box.y())
+@@ -182,17 +182,17 @@ class AbstractRenderer:
+ 
+     def render(self, page, key, tile, paperColor=None):
+         """Generate a QImage for tile of the Page.
+-        
++
+         The width, height and rotation to render at should be taken from the
+         key, as the page could be resized or rotated in the mean time.
+-        
++
+         The default implementation prepares the image, a painter and then
+         calls draw() to actually draw the contents.
+-        
++
+         If the paperColor is not specified, it will be read from the Page's
+         paperColor attribute (if not None) or else from the renderer's
+         paperColor attribute.
+-        
++
+         """
+         if paperColor is None:
+             paperColor = page.paperColor or self.paperColor
+@@ -200,7 +200,7 @@ class AbstractRenderer:
+         i = QImage(tile.w, tile.h, self.imageFormat)
+         i.fill(paperColor)
+         painter = QPainter(i)
+-        
++
+         # rotate the painter accordingly
+         util.rotate(painter, key.rotation, tile.w, tile.h, True)
+ 
+@@ -241,7 +241,7 @@ class AbstractRenderer:
+         key = self.key(page, ratio)
+ 
+         # paint rect in tile coordinates
+-        target = QRect(rect.x() * ratio, rect.y() * ratio, rect.width() * ratio, rect.height() * ratio)
++        target = QRect(int(rect.x() * ratio), int(rect.y() * ratio), int(rect.width() * ratio), int(rect.height() * ratio))
+ 
+         # tiles to paint
+         tiles = [t for t in self.tiles(key.width, key.height) if QRect(*t) & target]
+@@ -314,7 +314,7 @@ class AbstractRenderer:
+                 vscale = key.height / height
+                 for t in tileset:
+                     # scale to our image size
+-                    r = QRect(t.x * hscale, t.y * vscale, t.w * hscale, t.h * vscale) & target
++                    r = QRect(int(t.x * hscale), int(t.y * vscale), int(t.w * hscale), int(t.h * vscale)) & target
+                     if r and QRegion(r).subtracted(region):
+                         # we have an image that can be drawn in rect r
+                         source = QRectF(r.x() / hscale - t.x, r.y() / vscale - t.y,
+diff --git a/frescobaldi_app/qpageview/rubberband.py b/frescobaldi_app/qpageview/rubberband.py
+index dbab772a..4a073bc8 100644
+--- a/frescobaldi_app/qpageview/rubberband.py
++++ b/frescobaldi_app/qpageview/rubberband.py
+@@ -41,7 +41,7 @@ class Rubberband(QWidget):
+     """A Rubberband to select a rectangular region.
+ 
+     A Rubberband is added to a View with view.setRubberband().
+-    
++
+     The Rubberband lets the user select a rectangular region. When the
+     selection is changed, the `selectionChanged` signal is emitted, having the
+     selection rectangle in layout coordinates as argument.
+@@ -51,7 +51,7 @@ class Rubberband(QWidget):
+         showbutton (Qt.RightButton), the button used to drag a new rectangle
+ 
+         dragbutton (Qt.LeftButton), the button to alter an existing rectangle
+-        
++
+         trackSelection (False), whether to continuously emit selectionChanged().
+                 When True, selectionChanged() is emitted on every change, when
+                 False, the signal is only emitted when the mouse button is
+@@ -93,7 +93,7 @@ class Rubberband(QWidget):
+         color.setAlpha(150)
+         painter.setPen(color)
+         # XXX can this adjustment be done smarter?
+-        adjust = -1 / self.devicePixelRatio()
++        adjust = int(-1 / self.devicePixelRatio())
+         painter.drawRect(self.rect().adjusted(0, 0, adjust, adjust))
+ 
+         # Pseudo-handles at the corners and sides
+@@ -148,21 +148,21 @@ class Rubberband(QWidget):
+             self.setCursor(cursor)
+         else:
+             self.unsetCursor()
+-    
++
+     def hasSelection(self):
+         """Return True when there is a selection."""
+         return bool(self._selection)
+-    
++
+     def selection(self):
+         """Return our selection rectangle, relative to the view's layout position."""
+         return self._selection
+-    
++
+     def selectedPages(self):
+         """Yield tuples (page, rect) describing the selection.
+-        
++
+         Every rect is intersected with the page rect and translated to the
+         page's position.
+-        
++
+         """
+         rect = self.selection()
+         if rect:
+@@ -170,7 +170,7 @@ class Rubberband(QWidget):
+             layout = view.pageLayout()
+             for page in layout.pagesAt(rect):
+                 yield page, rect.intersected(page.geometry()).translated(-page.pos())
+-    
++
+     def selectedPage(self):
+         """Returns (page, rect) if there is a selection.
+ 
+@@ -211,10 +211,10 @@ class Rubberband(QWidget):
+ 
+     def selectedLinks(self):
+         """Yield tuples (page, links) for every page in the selection.
+-        
++
+         links is a non-empty set() of Link instances on that page that intersect
+         with the selection.
+-        
++
+         """
+         for page, rect in self.selectedPages():
+             links = page.linksIn(rect)
+@@ -234,19 +234,19 @@ class Rubberband(QWidget):
+         else:
+             self.hide()
+             self._setSelectionFromGeometry(QRect())
+-    
++
+     def clearSelection(self):
+         """Hide ourselves and clear the selection."""
+         self.hide()
+         self._dragging = False
+         self._setSelectionFromGeometry(QRect())
+-        
++
+     def _setSelectionFromGeometry(self, rect):
+         """(Internal) Called to emit the selectionChanged signal.
+-        
++
+         Only emits the signal when the selection really changed.
+         The rect should be our geometry or an empty QRect().
+-        
++
+         """
+         if rect:
+             view = self.parent().parent()
+@@ -254,16 +254,16 @@ class Rubberband(QWidget):
+         old, self._selection = self._selection, rect
+         if rect != old:
+             self.selectionChanged.emit(rect)
+-    
++
+     def _setLayoutOffset(self, pos):
+         """Store the position as offset from the layout, and also from the page
+         at that position. Used for keeping the same spot on zoom change.
+-        
++
+         """
+         view = self.parent().parent()
+         pos = pos - view.layoutPosition()
+         self._layoutOffset = view.pageLayout().pos2offset(pos)
+-    
++
+     def _getLayoutOffset(self):
+         """Get the stored layout offset position back, after zoom or move."""
+         view = self.parent().parent()
+@@ -340,7 +340,7 @@ class Rubberband(QWidget):
+             geom = QRect(self._getLayoutOffset(), self.size() * factor)
+             self.setGeometry(geom)
+             self._setSelectionFromGeometry(geom)
+-    
++
+     def eventFilter(self, viewport, ev):
+         """Act on events in the viewport:
+ 
+diff --git a/frescobaldi_app/qpageview/scrollarea.py b/frescobaldi_app/qpageview/scrollarea.py
+index 6f4dcaf1..5a0c5631 100644
+--- a/frescobaldi_app/qpageview/scrollarea.py
++++ b/frescobaldi_app/qpageview/scrollarea.py
+@@ -46,7 +46,7 @@ class ScrollArea(QAbstractScrollArea):
+         draggingEnabled (True):
+             If enabled, the user can drag the contents of the scrollarea to
+             move it with the mouse.
+-            
++
+     """
+ 
+     alignment = Qt.AlignCenter
+@@ -109,10 +109,10 @@ class ScrollArea(QAbstractScrollArea):
+ 
+     def areaPos(self):
+         """Return the position of the area relative to the viewport.
+-        
++
+         The alignment attribute is taken into account when the area is smaller
+         than the viewport (horizontally and/or vertically).
+-        
++
+         """
+         w, h = self._areaSize
+         vw = self.viewport().width()
+@@ -123,13 +123,13 @@ class ScrollArea(QAbstractScrollArea):
+         if top < 0:
+             top = -self.verticalScrollBar().value()
+         return QPoint(left, top)
+-    
++
+     def visibleArea(self):
+         """Return a rectangle describing the part of the area that is visible."""
+         pos = self.areaPos()
+         r = self.viewport().rect() & QRect(pos, self.areaSize())
+         return r.translated(-pos)
+-        
++
+     def offsetToEnsureVisible(self, rect):
+         """Return an offset QPoint with the minimal scroll to make rect visible.
+ 
+@@ -153,12 +153,12 @@ class ScrollArea(QAbstractScrollArea):
+ 
+     def ensureVisible(self, rect, margins=None, allowKinetic=True):
+         """Performs the minimal scroll to make rect visible.
+-        
++
+         If the rect is not completely visible it is scrolled into view, adding
+         the margins if given (a QMargins instance). If allowKinetic is False,
+         immediately jumps to the position, otherwise scrolls smoothly (if
+         kinetic scrolling is enabled).
+-        
++
+         """
+         if rect not in self.visibleArea():
+             if margins is not None:
+@@ -171,9 +171,9 @@ class ScrollArea(QAbstractScrollArea):
+ 
+     def _updateScrollBars(self):
+         """Internal. Adjust the range of the scrollbars to the area size.
+-        
++
+         Called in setAreaSize() and resizeEvent().
+-        
++
+         """
+         w, h = self._areaSize
+         maxsize = self.maximumViewportSize()
+@@ -186,10 +186,10 @@ class ScrollArea(QAbstractScrollArea):
+         else:
+             viewport = self.viewport()
+             vbar.setRange(0, h - viewport.height())
+-            vbar.setPageStep(viewport.height() * .9)
++            vbar.setPageStep(int(viewport.height() * .9))
+             hbar.setRange(0, w - viewport.width())
+-            hbar.setPageStep(viewport.width() * .9)
+-        
++            hbar.setPageStep(int(viewport.width() * .9))
++
+     def scrollOffset(self):
+         """Return the current scroll offset."""
+         x = self.horizontalScrollBar().value()
+@@ -295,7 +295,7 @@ class ScrollArea(QAbstractScrollArea):
+         """Begin a scrolling operation using the specified scroller."""
+         self._scroller = scroller
+         if self._scrollTimer is None:
+-            self._scrollTimer = self.startTimer(1000 / self.scrollupdatespersec)
++            self._scrollTimer = self.startTimer(int(1000 // self.scrollupdatespersec))
+ 
+     def stopScrolling(self):
+         """Stop scrolling."""
+@@ -307,7 +307,7 @@ class ScrollArea(QAbstractScrollArea):
+     def isScrolling(self):
+         """Return True if a scrolling movement is active."""
+         return self._scroller is not None
+-    
++
+     def remainingScrollTime(self):
+         """If a kinetic scroll is active, return how many msecs the scroll wil last.
+ 
+@@ -375,7 +375,7 @@ class ScrollArea(QAbstractScrollArea):
+             self._dragTime = None
+             self._dragSpeed = None
+         super().mouseReleaseEvent(ev)
+-        
++
+ 
+ class Scroller:
+     """Abstract base class, encapsulates scrolling behaviour.
+@@ -453,13 +453,13 @@ class KineticScroller(Scroller):
+         # (TODO: adapt for other ticker speeds? WB)
+         if sy > 100:
+             sy = 100
+-        offy = abs(dy) - sy * (sy + 1) // 2
++        offy = int(abs(dy) - sy * (sy + 1) // 2)
+ 
+         # Although it is less likely to go beyond that limit for horizontal scrolling,
+         # do it for x as well.
+         if sx > 100:
+             sx = 100
+-        offx = abs(dx) - sx * (sx + 1) // 2
++        offx = int(abs(dx) - sx * (sx + 1) // 2)
+ 
+         # adjust directions
+         if dx < 0:
+diff --git a/frescobaldi_app/qpageview/shadow.py b/frescobaldi_app/qpageview/shadow.py
+index c7d1c8d5..5b0cd17b 100644
+--- a/frescobaldi_app/qpageview/shadow.py
++++ b/frescobaldi_app/qpageview/shadow.py
+@@ -37,10 +37,10 @@ class ShadowViewMixin:
+ 
+     def paintEvent(self, ev):
+         if self.dropShadowEnabled:
+-            width = self._pageLayout.spacing / 2
++            width = round(self._pageLayout.spacing / 2.0)
+             # make the rect slightly larger, so we "see" shadow of pages that
+             # would be outside view normally.
+-            rect = ev.rect().adjusted(-width, -width, width / 2, width / 2)
++            rect = ev.rect().adjusted(-width, -width, int(width // 2), int(width // 2))
+             painter = QPainter(self.viewport())
+             for page, rect in self.pagesToPaint(rect, painter):
+                 self.drawDropShadow(page, painter, width)
+@@ -48,19 +48,19 @@ class ShadowViewMixin:
+ 
+     def drawDropShadow(self, page, painter, width):
+         """Draw a drop shadow of width pixels around the Page.
+-        
++
+         The painter is already translated to the topleft corner of the Page.
+-        
++
+         """
+         width = round(width)
+-        rect = page.rect().adjusted(width / 2, width / 2, 0, 0)
++        rect = page.rect().adjusted(int(width // 2), int(width // 2), 0, 0)
+         color = QColor(Qt.black)
+         pen = QPen()
+         pen.setWidth(1)
+         pen.setJoinStyle(Qt.MiterJoin)
+         for i in range(width):
+             f = (width-i)/width
+-            color.setAlpha(200**f + 55*f)
++            color.setAlpha(int(200**f + 55*f))
+             pen.setColor(color)
+             painter.setPen(pen)
+             painter.drawRect(rect.adjusted(-i, -i, i, i))
+diff --git a/frescobaldi_app/widgets/linenumberarea.py b/frescobaldi_app/widgets/linenumberarea.py
+index f097726c..ff38bcc6 100644
+--- a/frescobaldi_app/widgets/linenumberarea.py
++++ b/frescobaldi_app/widgets/linenumberarea.py
+@@ -21,7 +21,7 @@
+ A line number area to be used in a QPlainTextEdit.
+ """
+ 
+-from PyQt5.QtCore import QEvent, QPoint, QRect, QSize, Qt
++from PyQt5.QtCore import QEvent, QPoint, QRectF, QSize, Qt
+ from PyQt5.QtGui import QFontMetrics, QMouseEvent, QPainter
+ from PyQt5.QtWidgets import QApplication, QWidget
+ 
+@@ -72,7 +72,7 @@ class LineNumberArea(QWidget):
+             return
+         painter = QPainter(self)
+         painter.setFont(edit.font())
+-        rect = QRect(0, 0, self.width() - 2, QFontMetrics(edit.font()).height())
++        rect = QRectF(0, 0, self.width() - 2, QFontMetrics(edit.font()).height())
+         block = edit.firstVisibleBlock()
+         while block.isValid():
+             geom = edit.blockBoundingGeometry(block)
+diff --git a/frescobaldi_app/widgets/progressbar.py b/frescobaldi_app/widgets/progressbar.py
+index 670bf0f5..183ab625 100644
+--- a/frescobaldi_app/widgets/progressbar.py
++++ b/frescobaldi_app/widgets/progressbar.py
+@@ -71,8 +71,8 @@ class TimedProgressBar(QProgressBar):
+         """
+         self._hideTimer.stop()
+         self._timeline.stop()
+-        self._timeline.setDuration(total * 1000)
+-        self._timeline.setCurrentTime(elapsed * 1000)
++        self._timeline.setDuration(int(total * 1000))
++        self._timeline.setCurrentTime(int(elapsed * 1000))
+         self.setValue(self._timeline.currentFrame())
+         self._timeline.resume()
+         if self._hideWhileIdle and not self._hidden:
+-- 
+2.33.1
+
diff --git a/srcpkgs/frescobaldi/patches/0002-more-py-3.10-float-int-fixes-issue-1398.patch b/srcpkgs/frescobaldi/patches/0002-more-py-3.10-float-int-fixes-issue-1398.patch
new file mode 100644
index 000000000000..8338ca2a362c
--- /dev/null
+++ b/srcpkgs/frescobaldi/patches/0002-more-py-3.10-float-int-fixes-issue-1398.patch
@@ -0,0 +1,209 @@
+From bd4dfe036b8dbc5d75552fe6b6b081c024e5beea Mon Sep 17 00:00:00 2001
+From: Wilbert Berendsen <wbsoft@xs4all.nl>
+Date: Mon, 8 Nov 2021 09:35:59 +0100
+Subject: [PATCH 2/2] more py 3.10 float->int fixes, issue #1398
+
+---
+ frescobaldi_app/qpageview/page.py       | 50 ++++++++++++-------------
+ frescobaldi_app/qpageview/poppler.py    |  2 +-
+ frescobaldi_app/qpageview/scrollarea.py |  8 ++--
+ 3 files changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/frescobaldi_app/qpageview/page.py b/frescobaldi_app/qpageview/page.py
+index f93fa9e2..754d2736 100644
+--- a/frescobaldi_app/qpageview/page.py
++++ b/frescobaldi_app/qpageview/page.py
+@@ -48,7 +48,7 @@ class AbstractPage(util.Rectangular):
+ 
+     ...that normally do not change during its lifetime:
+ 
+-        `pageWidth`     the original width  (by default in points, `dpi` is 72.0 
++        `pageWidth`     the original width  (by default in points, `dpi` is 72.0
+         `pageHeight`    the original height   but can be changed at class level)
+ 
+     ... that can be modified by the user (having defaults at the class level):
+@@ -174,15 +174,15 @@ class AbstractPage(util.Rectangular):
+ 
+     def defaultSize(self):
+         """Return the pageSize() scaled and rotated (if needed).
+-        
++
+         Based on scaleX, scaleY, and computedRotation attributes.
+-        
++
+         """
+         s = QSizeF(self.pageWidth * self.scaleX, self.pageHeight * self.scaleY)
+         if self.computedRotation & 1:
+             s.transpose()
+         return s
+-        
++
+     def updateSize(self, dpiX, dpiY, zoomFactor):
+         """Set the width and height attributes of the page.
+ 
+@@ -286,7 +286,7 @@ class AbstractPage(util.Rectangular):
+ 
+         pdf = QPdfWriter(filename)
+         pdf.setCreator("qpageview")
+-        pdf.setResolution(resolution)
++        pdf.setResolution(int(resolution))
+ 
+         layout = pdf.pageLayout()
+         layout.setMode(layout.FullPageMode)
+@@ -350,7 +350,7 @@ class AbstractPage(util.Rectangular):
+             svg.setFileName(filename)
+         else:
+             svg.setOutputDevice(filename)
+-        svg.setResolution(resolution)
++        svg.setResolution(int(resolution))
+         svg.setSize(targetSize.toSize())
+         svg.setViewBox(QRectF(0, 0, targetSize.width(), targetSize.height()))
+         return self.output(svg, source, paperColor)
+@@ -381,31 +381,31 @@ class AbstractPage(util.Rectangular):
+ 
+     def group(self):
+         """Return the group the page belongs to.
+-        
++
+         This could be some document structure, so that different Page objects
+         could refer to the same graphical contents, preventing double caching.
+-        
++
+         This object is used together with the value returned by ident() as a key
+         to cache the page. The idea is that the contents of the page are
+         uniquely identified by the objects returned by group() and ident().
+-        
++
+         This way, when the same document is opened in multiple page instances,
+         only one copy resides in the (global) cache.
+-        
++
+         By default, the page object itself is returned.
+-        
++
+         """
+         return self
+-        
++
+     def ident(self):
+         """Return a value that identifies the page within the group returned
+         by group().
+-        
++
+         By default, None is returned.
+-        
++
+         """
+         return None
+-    
++
+     def mapToPage(self, width=None, height=None):
+         """Return a MapToPage object, that can map original to Page coordinates.
+ 
+@@ -426,10 +426,10 @@ class AbstractPage(util.Rectangular):
+ 
+     def text(self, rect):
+         """Implement this method to get the text at the specified rectangle.
+-        
++
+         The rectangle should be in page coordinates. The default implementation
+         simply returns an empty string.
+-        
++
+         """
+         return ""
+ 
+@@ -437,22 +437,22 @@ class AbstractPage(util.Rectangular):
+         """Implement this method to load our links."""
+         from . import link
+         return link.Links()
+-    
++
+     def links(self):
+         """Return the Links object, containing Link objects.
+-        
++
+         Every Link denotes a clickable area on a Page, in coordinates 0.0-1.0.
+         The Links object makes it possible to quickly find a link on a Page.
+         This is cached after the first request, you should implement the
+         getLinks() method to load the links.
+-        
++
+         """
+         try:
+             return self._links
+         except AttributeError:
+             links = self._links = self.getLinks()
+         return links
+-    
++
+     def linksAt(self, point):
+         """Return a list() of zero or more links touched by QPoint point.
+ 
+@@ -468,9 +468,9 @@ class AbstractPage(util.Rectangular):
+ 
+     def linksIn(self, rect):
+         """Return an unordered set of links enclosed in rectangle.
+-        
++
+         The rectangle is in page coordinates.
+-        
++
+         """
+         return self.links().inside(*self.mapFromPage(1, 1).rect(rect).getCoords())
+ 
+@@ -481,9 +481,9 @@ class AbstractPage(util.Rectangular):
+ 
+ class AbstractRenderedPage(AbstractPage):
+     """A Page that has a renderer that performs caching and painting.
+-    
++
+     The renderer lives in the renderer attribute.
+-    
++
+     """
+     def __init__(self, renderer=None):
+         if renderer is not None:
+diff --git a/frescobaldi_app/qpageview/poppler.py b/frescobaldi_app/qpageview/poppler.py
+index 26768356..810dbca5 100644
+--- a/frescobaldi_app/qpageview/poppler.py
++++ b/frescobaldi_app/qpageview/poppler.py
+@@ -259,7 +259,7 @@ class PopplerRenderer(render.AbstractRenderer):
+         (See AbstractPage.print().)
+ 
+         """
+-        source = self.map(key, page.pageRect()).mapRect(QRectF(*tile))
++        source = self.map(key, page.pageRect()).mapRect(QRectF(*tile)).toRect()   # rounded
+         target = QRectF(0, 0, tile.w, tile.h)
+         if key.rotation & 1:
+             target.setSize(target.size().transposed())
+diff --git a/frescobaldi_app/qpageview/scrollarea.py b/frescobaldi_app/qpageview/scrollarea.py
+index 5a0c5631..6722a6db 100644
+--- a/frescobaldi_app/qpageview/scrollarea.py
++++ b/frescobaldi_app/qpageview/scrollarea.py
+@@ -365,9 +365,9 @@ class ScrollArea(QAbstractScrollArea):
+                 speed = speed * 1000 / self.scrollupdatespersec / time
+                 # compute diff to scroll
+                 sx = abs(speed.x())
+-                diffx = sx * (sx + 1) / 2
++                diffx = int(sx * (sx + 1) / 2)
+                 sy = abs(speed.y())
+-                diffy = sy * (sy + 1) / 2
++                diffy = int(sy * (sy + 1) / 2)
+                 if speed.x() < 0: diffx = -diffx
+                 if speed.y() < 0: diffy = -diffy
+                 self.kineticScrollBy(QPoint(diffx, diffy))
+@@ -444,8 +444,8 @@ class KineticScroller(Scroller):
+         dy = diff.y()
+ 
+         # solve speed*(speed+1)/2 = delta to ensure 1+2+3+...+speed is as close as possible under delta..
+-        sx = (math.sqrt(1 + 8 * abs(dx)) - 1) // 2
+-        sy = (math.sqrt(1 + 8 * abs(dy)) - 1) // 2
++        sx = int(math.sqrt(1 + 8 * abs(dx)) - 1) // 2
++        sy = int(math.sqrt(1 + 8 * abs(dy)) - 1) // 2
+ 
+         # compute the amount of displacement still needed because we're dealing with integer values.
+         # Since this function is called for exact moves (not free scrolling)
+-- 
+2.33.1
+
diff --git a/srcpkgs/frescobaldi/patches/0003-More-changes-to-fix-errors-under-Python-3.10.patch b/srcpkgs/frescobaldi/patches/0003-More-changes-to-fix-errors-under-Python-3.10.patch
new file mode 100644
index 000000000000..b212b515e8ab
--- /dev/null
+++ b/srcpkgs/frescobaldi/patches/0003-More-changes-to-fix-errors-under-Python-3.10.patch
@@ -0,0 +1,50 @@
+From 4e910e55f6700fafe1683af770e4bc299cdd71a2 Mon Sep 17 00:00:00 2001
+From: Dexter Gaon-Shatford <dexter@gaonshatford.ca>
+Date: Wed, 10 Nov 2021 17:04:34 -0500
+Subject: [PATCH] More changes to fix errors under Python 3.10
+
+There are a few errors that are encountered when engraving a score in
+the editor that were not addressed in the changes made by wbsoft
+---
+ frescobaldi_app/viewmanager.py            | 4 ++--
+ frescobaldi_app/widgets/linenumberarea.py | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/frescobaldi_app/viewmanager.py b/frescobaldi_app/viewmanager.py
+index e1294c91..046c70df 100644
+--- a/frescobaldi_app/viewmanager.py
++++ b/frescobaldi_app/viewmanager.py
+@@ -332,7 +332,7 @@ class ViewManager(QSplitter):
+             splitter.setOrientation(orientation)
+             size = splitter.sizes()[0]
+             splitter.addWidget(newspace)
+-            splitter.setSizes([size / 2, size / 2])
++            splitter.setSizes([size // 2, size // 2])
+         elif splitter.orientation() == orientation:
+             index = splitter.indexOf(viewspace)
+             splitter.insertWidget(index + 1, newspace)
+@@ -346,7 +346,7 @@ class ViewManager(QSplitter):
+             splitter.setSizes(sizes)
+             size = newsplitter.sizes()[0]
+             newsplitter.addWidget(newspace)
+-            newsplitter.setSizes([size / 2, size / 2])
++            newsplitter.setSizes([size // 2, size // 2])
+         self._viewSpaces.insert(0, newspace)
+         newspace.showDocument(viewspace.document())
+         if active:
+diff --git a/frescobaldi_app/widgets/linenumberarea.py b/frescobaldi_app/widgets/linenumberarea.py
+index ff38bcc6..aa133ac7 100644
+--- a/frescobaldi_app/widgets/linenumberarea.py
++++ b/frescobaldi_app/widgets/linenumberarea.py
+@@ -80,7 +80,7 @@ class LineNumberArea(QWidget):
+             if geom.top() >= ev.rect().bottom():
+                 break
+             if block.isVisible() and geom.bottom() > ev.rect().top() + 1:
+-                rect.moveTop(geom.top())
++                rect.moveTop(int(geom.top()))
+                 text = format(block.blockNumber() + 1, 'd')
+                 painter.drawText(rect, Qt.AlignRight, text)
+             block = block.next()
+-- 
+2.33.1
+
diff --git a/srcpkgs/frescobaldi/template b/srcpkgs/frescobaldi/template
new file mode 100644
index 000000000000..bf61cf1155c6
--- /dev/null
+++ b/srcpkgs/frescobaldi/template
@@ -0,0 +1,20 @@
+# Template file for 'frescobaldi'
+pkgname=frescobaldi
+version=3.1.3
+revision=1
+build_style=python3-module
+make_check_target="check"
+hostmakedepends="python3-setuptools gettext"
+depends="python3-PyQt5 python3-PyQt5-svg poppler-qt5 portmidi
+ python3-cups python3-ly lilypond python3-poppler-qt5"
+short_desc="Powerful, lightweight and easy to use LilyPond sheet music text editor"
+maintainer="chili-b <dexter.gaonshatford@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://frescobaldi.org/"
+changelog="https://github.com/frescobaldi/frescobaldi/blob/v${version}/ChangeLog"
+distfiles="https://github.com/frescobaldi/frescobaldi/archive/v${version}.tar.gz"
+checksum=f97256ce15ab621593536e219584a2ed744c1933148ac7ed98fcef6a3a9510a6
+
+pre_build() {
+	make -C linux
+}

From 0b51dbe154e9c8f6acc79ea1f9a8cfde70b3f165 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Sun, 16 Jan 2022 20:05:58 -0500
Subject: [PATCH 4/4] mumble: update to 1.4.230.

---
 srcpkgs/mumble/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 69a5cb3c7961..7adc0a903a30 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
-version=1.3.4
-revision=7
+version=1.4.230
+revision=1
 build_style=qmake
 configure_args="CONFIG+=bundled-celt CONFIG+=no-bundled-opus CONFIG+=no-update
  CONFIG+=no-bundled-speex CONFIG+=no-g15 CONFIG+=no-xevie CONFIG+=pulseaudio

  parent reply	other threads:[~2022-01-17  1:06 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-03  1:16 [PR PATCH] " chili-b
2021-10-03  5:18 ` chili-b
2021-10-03  7:24 ` [PR PATCH] [Updated] " chili-b
2021-10-03  7:29 ` chili-b
2021-10-03  7:30 ` chili-b
2021-10-03 17:45 ` [PR PATCH] [Updated] " chili-b
2021-10-03 17:50 ` chili-b
2021-10-03 17:57 ` chili-b
2021-10-03 18:02 ` chili-b
2021-10-03 18:05 ` chili-b
2021-10-03 18:08 ` chili-b
2021-10-03 18:22 ` chili-b
2021-10-04 21:38 ` chili-b
2021-10-09 15:44 ` [PR REVIEW] " NeelChotai
2021-10-09 15:44 ` NeelChotai
2021-10-09 15:44 ` NeelChotai
2021-10-09 15:44 ` NeelChotai
2021-10-10 19:26 ` [PR PATCH] [Updated] " chili-b
2021-10-10 19:27 ` chili-b
2021-10-10 19:30 ` chili-b
2021-10-10 19:34 ` chili-b
2021-10-10 19:35 ` chili-b
2021-10-10 19:36 ` [PR PATCH] [Updated] " chili-b
2021-10-10 19:37 ` chili-b
2021-10-10 19:38 ` chili-b
2021-10-10 21:57 ` chili-b
2021-10-10 22:05 ` chili-b
2021-10-10 22:28 ` chili-b
2021-10-11  9:32 ` NeelChotai
2021-10-11 15:02 ` [PR PATCH] [Updated] " chili-b
2021-10-11 22:15 ` [PR REVIEW] " paper42
2021-10-11 22:15 ` paper42
2021-10-11 22:15 ` paper42
2021-10-11 23:31 ` [PR PATCH] [Updated] " chili-b
2021-10-11 23:32 ` chili-b
2021-10-11 23:34 ` chili-b
2021-10-11 23:35 ` chili-b
2021-10-11 23:37 ` chili-b
2021-10-11 23:38 ` chili-b
2021-10-11 23:39 ` chili-b
2021-10-11 23:43 ` [PR PATCH] [Updated] " chili-b
2021-10-11 23:47 ` chili-b
2021-10-12  0:23 ` chili-b
2021-10-12  9:28 ` NeelChotai
2021-10-12  9:31 ` NeelChotai
2021-10-12 13:39 ` [PR PATCH] [Updated] " chili-b
2021-10-12 13:40 ` chili-b
2021-10-12 13:46 ` chili-b
2021-10-12 15:02 ` chili-b
2021-10-12 17:19 ` paper42
2021-11-09  1:24 ` chili-b
2021-11-09  2:15 ` [PR PATCH] [Updated] " chili-b
2021-11-09  2:23 ` chili-b
2021-11-09  2:35 ` chili-b
2021-11-09  2:46 ` chili-b
2021-11-09  2:55 ` chili-b
2021-11-09  3:02 ` chili-b
2021-11-09  3:13 ` chili-b
2021-11-09  3:39 ` chili-b
2021-11-10 18:31 ` [PR PATCH] [Updated] " chili-b
2021-11-10 19:10 ` chili-b
2021-11-10 19:24 ` chili-b
2021-11-10 22:20 ` chili-b
2022-01-17  1:06 ` chili-b [this message]
2022-01-19 22:10 ` chili-b
2022-01-20  5:11 ` chili-b
2022-02-02  9:55 ` [PR REVIEW] " ericonr
2022-02-02  9:55 ` ericonr
2022-02-02  9:55 ` ericonr
2022-02-02  9:55 ` ericonr
2022-02-03 16:03 ` chili-b
2022-02-03 16:04 ` chili-b
2022-02-03 16:21 ` chili-b
2022-02-03 16:24 ` [PR PATCH] [Updated] " chili-b
2022-02-03 19:50 ` chili-b
2022-02-03 19:50 ` chili-b
2022-03-09  5:46 ` chili-b
2022-05-22 15:13 ` [PR PATCH] [Updated] " chili-b
2022-05-22 15:18 ` [PR PATCH] [Updated] New package: frescobaldi-3.2 chili-b
2022-05-22 15:27 ` chili-b
2022-05-22 19:17 ` chili-b
2022-05-22 19:54 ` chili-b
2022-05-22 20:10 ` chili-b
2022-05-29 18:23 ` chili-b
2022-08-28  2:14 ` github-actions
2022-08-31 16:43 ` [PR PATCH] [Closed]: " cratesiosomething

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220117010654.5cOiHNYjeGYrSpM5YvEnsgk1afTrJGbKNN04CikbvbA@z \
    --to=chili-b@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).