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
next prev 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).