* gnu/packages/python-xyz.scm (python-pyfavicon): New variable. --- gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0670eb7e08..aa87e94d82 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17178,6 +17178,31 @@ user's @file{~/Trash} directory.") (string-append (getcwd) ":" (getenv "PYTHONPATH"))) #t)))))))) +(define-public python-pyfavicon + (package + (name "python-pyfavicon") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyfavicon" version)) + (sha256 + (base32 "15wfpa99hvcfsv8j0m8iprmydi2p4qkhm86qfx485244y0ia5mgx")))) + (build-system python-build-system) + (arguments + ;; There are no tests in the PyPI tarball and the tests from the + ;; repository require online data. + '(#:tests? #f)) + (propagated-inputs + `(("python-aiohttp" ,python-aiohttp) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/bilelmoussaoui/pyfavicon") + (synopsis "Async favicon fetcher") + (description + "@code{pyfavicon} is an async favicon fetcher.") + (license license:expat))) + (define-public python-yapf (package (name "python-yapf") -- 2.20.1
* gnu/packages/python-crypto.scm (python-pyotp): New variable. --- gnu/packages/python-crypto.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index b01f5bb173..f0cde74128 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1181,6 +1181,26 @@ been constructed to maintain extensive documentation on how to use @code{NaCl} as well as being completely portable.") (license license:asl2.0))) +(define-public python-pyotp + (package + (name "python-pyotp") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyotp" version)) + (sha256 + (base32 "0a1dx07y785xyl70h0vj6vssg13qfx11w04d0gz8h48qffsymv01")))) + (build-system python-build-system) + (home-page "https://github.com/pyauth/pyotp") + (synopsis "Python One Time Password Library") + (description + "PyOTP is a Python library for generating and verifying one-time +passwords. It can be used to implement two-factor (2FA) or multi-factor +(MFA) authentication methods in web applications and in other systems that +require users to log in.") + (license license:expat))) + (define-public python-scrypt (package (name "python-scrypt") -- 2.20.1
* gnu/packages/databases.scm (yoyo-migrations): New variable. --- This package generates a binary, but inputs have to be propagated because authenticator uses its module interface. gnu/packages/databases.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 45224a5ed3..b37b8526d4 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,6 +129,7 @@ #:use-module (guix download) #:use-module (guix bzr-download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -2992,6 +2994,36 @@ database).") (define-public python2-sadisplay (package-with-python2 python-sadisplay)) +(define-public yoyo-migrations + (package + (name "yoyo-migrations") + (version "7.2.0") + (source + (origin + ;; We use the upstream repository, as the tests are not included in the + ;; PyPI releases. + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~olly/yoyo") + (changeset (string-append "v" version "-release")))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "0q2z9bgdj3wyix7yvqsayfs21grp5av8ilh411lgmjhigszkvhcq")))) + (build-system python-build-system) + (arguments + ;; XXX: Tests require a connection to some pgsql database and psycopg + ;; fails to connect to it. + '(#:tests? #f)) + (propagated-inputs + `(("python-sqlparse" ,python-sqlparse) + ("python-tabulate" ,python-tabulate))) + (home-page "https://ollycope.com/software/yoyo/latest/") + (synopsis "Database migrations with SQL") + (description + "Yoyo is a database schema migration tool. Migrations are written as SQL +files or Python scripts that define a list of migration steps.") + (license license:asl2.0))) + (define-public python-mysqlclient (package (name "python-mysqlclient") -- 2.20.1
* gnu/packages/python-xyz.scm (python-pyzbar): New variable. --- gnu/packages/python-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index aa87e94d82..44ce6eb7f3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -106,6 +106,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages adns) + #:use-module (gnu packages aidc) #:use-module (gnu packages attr) #:use-module (gnu packages backup) #:use-module (gnu packages bash) @@ -17364,6 +17365,58 @@ Week instances stringify to this form.") (define-public python2-isoweek (package-with-python2 python-isoweek)) +(define-public python-pyzbar + (package + (name "python-pyzbar") + (version "0.1.8") + (source + (origin + ;; There's no source tarball on PyPI. + (method git-fetch) + (uri (git-reference + (url "https://github.com/NaturalHistoryMuseum/pyzbar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fqlfg5p2v9lzzzi0si2sz54lblprk6jjjhjw54b64lp58c1yhsl")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-test + (lambda _ + ;; This tests if find_library was called once, but we remove + ;; the call in the stage below to make the library find libzbar. + (delete-file "pyzbar/tests/test_zbar_library.py") + #t)) + (add-before 'build 'set-library-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((libzbar (assoc-ref inputs "zbar"))) + (substitute* "pyzbar/zbar_library.py" + (("find_library\\('zbar'\\)") + (string-append "'" libzbar "/lib/libzbar.so.0'"))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-numpy" ,python-numpy) + ("python-pillow" ,python-pillow))) + (inputs + `(("zbar" ,zbar))) + (home-page "https://github.com/NaturalHistoryMuseum/pyzbar/") + (synopsis "Read one-dimensional barcodes and QR codes") + (description + "Read one-dimensional barcodes and QR codes using the zbar library. + +Features: + +@itemize +@item Pure python +@item Works with PIL / Pillow images, OpenCV / numpy ndarrays, and raw bytes +@item Decodes locations of barcodes +@item No dependencies, other than the zbar library itself +@end itemize") + (license license:expat))) + (define-public python-tokenize-rt (package (name "python-tokenize-rt") -- 2.20.1
* gnu/packages/gnome.scm (authenticator): New variable. --- gnu/packages/gnome.scm | 70 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e6cdb44a4d..d0e6b63352 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -74,6 +74,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages aidc) #:use-module (gnu packages aspell) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) @@ -9129,6 +9130,75 @@ specified duration and save it as a GIF encoded animated image file.") (home-page "https://git.gnome.org/browse/byzanz") (license license:gpl2+)))) +(define-public authenticator + (package + (name "authenticator") + (version "3.32.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/Authenticator") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/authenticator")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("libhandy" ,libhandy-0.0) + ("libsecret" ,libsecret) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-pillow" ,python-pillow) + ("python-pyfavicon" ,python-pyfavicon) + ("python-pygobject" ,python-pygobject) + ("python-pyotp" ,python-pyotp) + ("python-pyzbar" ,python-pyzbar) + ("yoyo-migrations" ,yoyo-migrations) + ("zbar" ,zbar))) + (home-page "https://gitlab.gnome.org/World/Authenticator/") + (synopsis "Two-factor authentication application built for GNOME") + (description + "Authenticator is a two-factor authentication (2FA) application built for +the GNOME desktop environment. + +Features: + +@itemize +@item QR code scanner +@item Beautiful UI +@item Huge database of more than 560 supported services +@item Keep your PIN tokens secure by locking the application with a password +@item Automatically fetch an image for services using their favicon +@item The possibility to add new services +@end itemize") + (license license:gpl3+))) + (define-public gsound (package (name "gsound") -- 2.20.1
[-- Attachment #1: Type: text/plain, Size: 158 bytes --] Vinicius Monego <monego@posteo.net> writes: > * gnu/packages/gnome.scm (authenticator): New variable. Very nice work. Applied all five patches, thank you! [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 507 bytes --]