diff mbox series

[bug#47906,13/22] gnu: Add python-qtawesome.

Message ID 20210420052246.470690-13-monego@posteo.net
State New
Headers show
Series Add Spyder | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Vinicius Monego April 20, 2021, 5:22 a.m. UTC
* gnu/packages/python-xyz.scm (python-qtawesome): New variable.
---
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

Comments

Lars-Dominik Braun April 28, 2021, 12:49 p.m. UTC | #1
Hi,

> * gnu/packages/python-xyz.scm (python-qtawesome): New variable.
as far as I see this package bundles font-awesome version 5, which is
not FSDG-free per https://bugs.gnu.org/32916, so from my understanding
it cannot be included in Guix (which is a shame).

Cheers,
Lars
Vinicius Monego April 29, 2021, 4:07 p.m. UTC | #2
Lars-Dominik Braun writes:

> Hi,
>

Hello,

>> * gnu/packages/python-xyz.scm (python-qtawesome): New variable.
> as far as I see this package bundles font-awesome version 5, which is
> not FSDG-free per https://bugs.gnu.org/32916, so from my understanding
> it cannot be included in Guix (which is a shame).
>
> Cheers,
> Lars

Interesting, I saw that package in Debian (also Spyder is there) and
assumed it was free.

Upon inspecting the Debian package further I found that it sets the
SYSTEM_FONTS variable. Those fonts are in the packages
fonts-elusive-icons and fonts-font-awesome, the latter having the version
"5.0.10+really4.7.0~dfsg-4.1". Seems to be a way to pretend that
fontawesome4 is fontawesome5.

Maybe we can do something similar, but I do not have the time to
investigate this for now. Could the patches not related to spyder be
applied in the meantime? I can send a v2 with a selection if that makes
it easier.
Lars-Dominik Braun May 2, 2021, 2:32 p.m. UTC | #3
Hi Vinicius,

> Interesting, I saw that package in Debian (also Spyder is there) and
> assumed it was free.
it simply ships the font files inside python-qtawesome-common. I don’t
know why it depends on fonts-font-awesome.

> Upon inspecting the Debian package further I found that it sets the
> SYSTEM_FONTS variable. Those fonts are in the packages
> fonts-elusive-icons and fonts-font-awesome, the latter having the version
> "5.0.10+really4.7.0~dfsg-4.1". Seems to be a way to pretend that
> fontawesome4 is fontawesome5.
Looking at the source code this variable does nothing at all. It still
tries to load the bundled (missing) fonts inside __init__.py and fails.
I tried replacing the font paths, which works, but then icons are
missing in spyder, because they are not present in fontawesome 4.7.

> Could the patches not related to spyder be applied in the meantime? I
> can send a v2 with a selection if that makes it easier.
Sure, a v2 shouldn’t be necessary, I have everything in git, but I’ll
need to test the package upgrades first.

Cheers,
Lars
Lars-Dominik Braun May 8, 2021, 9:30 a.m. UTC | #4
Hi,

I pushed the package additions with
commit dd05a93743bef6bb946d03cd0c665e3b1d62a116. The upgrades
(python-diff-match-patch for example) seem to break other packages
unfortunately and I don’t have time to investigate.

Lars
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6e2ac8b87b..5c7fd02289 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11167,6 +11167,39 @@  for atomic file system operations.")
 the construction of PyQt/PySide stylesheets.")
     (license license:expat)))
 
+(define-public python-qtawesome
+  (package
+    (name "python-qtawesome")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "QtAwesome" version))
+       (sha256
+        (base32 "11yqvy9qajdkqxa6aisqs9b0nn0a67yr5s5l31yn83gmqiddj7bp"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:test-target "pytest"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-qpa
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (native-inputs
+     `(("python-pyqt" ,python-pyqt)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-qt" ,python-pytest-qt)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (propagated-inputs
+     `(("python-qtpy" ,python-qtpy)))
+    (home-page "https://github.com/spyder-ide/qtawesome")
+    (synopsis "FontAwesome icons in PyQt and PySide applications")
+    (description
+     "QtAwesome enables iconic fonts such as Font Awesome and Elusive Icons in
+PyQt and PySide applications.")
+    (license license:expat)))
+
 (define-public python-click-threading
   (package
     (name "python-click-threading")