aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages stenography)
  #:use-module (guix build-system python)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages check)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-check)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages wxwidgets))

(define-public python-plover-stroke
  (package
    (name "python-plover-stroke")
    (version "1.1.0")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "plover_stroke" version))
              (sha256
               (base32
                "0lyifam9xqpx2jzqcbah84sv909n4g2frm7pd5gvcrpf98zv40yy"))))
    (build-system python-build-system)
    (native-inputs (list python-pytest))
    (home-page "https://github.com/benoit-pierre/plover_stroke")
    (synopsis "Stroke handling helper library for Plover")
    (description "This package provides a helper class for working with steno strokes.")
    (license license:gpl2+)))

(define-public plover
  (package
    (name "plover")
    (version "4.0.0.dev12")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/openstenoproject/plover")
                    (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0vk6nh2gpn7f7rv2spi2a7n3m0d9kaan6r22mx3vwxprpbvrkbm8"))))
    (build-system python-build-system)
    (arguments
     (list
      #:phases
      #~(modify-phases %standard-phases
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (invoke "python" "-m" "pytest"
                        "-p" "pytest-qt"
                        "-p" "xvfb"
                        "test"
                        ;; FIXME: Ignore failing test.
                        "--ignore" "test/gui_qt/test_dictionaries_widget.py"))))
          ;; Ensure that icons are found at runtime.
          (add-after 'install 'wrap-executable
            (lambda* (#:key inputs #:allow-other-keys)
              (wrap-program (string-append #$output "/bin/plover")
                `("QT_PLUGIN_PATH" prefix
                  (,(search-input-directory inputs "/lib/qt5/plugins/")))
                `("LD_LIBRARY_PATH" prefix
                  (,(string-append #$(this-package-input "dbus") "/lib")))))))))
    (native-inputs
     (list python-babel
           python-mock
           python-pytest
           python-pytest-qt
           python-pytest-xvfb))
    (inputs
     (list bash-minimal
           dbus
           python-appdirs
           python-dbus
           python-hidapi
           python-plover-stroke
           python-pyqt
           python-pyserial
           python-rtf-tokenize
           python-wcwidth
           python-xlib
           qtsvg-5))
    (home-page "https://www.openstenoproject.org/plover/")
    (synopsis "Stenography engine")
    (description
     "Plover (rhymes with @emph{lover}) is a desktop application that
allows anyone to use stenography to write on their computer, up to
speeds of 200WPM and beyond.")
    (license license:gpl2+)))

ckages/gnome.scm (librsvg), * gnu/packages/python-crypto.scm (python-blake3, python-cryptography-rust), * gnu/packages/python-xyz.scm (python-orjson), * gnu/packages/rust-apps.scm (agate, alfis, bat, diffr, drill, dutree, exa, fd, hexyl, hyperfine, i3status-rust, just, maturin, ripgrep, rot8, rust-swc, rust-cargo-edit, git-interactive-rebase-tool, rust-cbindgen, rust-cbindgen-0.24, rust-cbindgen-0.19, sniffglue, tectonic, treefmt, hex, tokei, vivid, watchexec, rbw, rust-analyzer, rust-cargo-c, rtss, skim, skim-0.7, svd2rust, swayhide, tealdeer, git-absorb, zoxide, htmlq), * gnu/packages/sequoia.scm (sequoia-sqv), * gnu/packages/syndication.scm (newsboat), * gnu/packages/terminals.scm (alacritty), * gnu/packages/text-editors.scm (kak-lsp, parinfer-rust), * gnu/packages/tree-sitter.scm (tree-sitter-cli), * gnu/packages/video.scm (rav1e), * gnu/packages/web.scm (monolith, castor) [arguments]: Enable tests. Efraim Flashner 2023-10-18gnu: newsboat: Update to 2.33....* gnu/packages/syndication.scm (newsboat): Update to 2.33. [arguments]: Don't override vendor-dir. [cargo-inputs]: Replace rust-fastrand-1 with 2. Efraim Flashner 2023-08-14gnu: newsboat: Update to 2.32....* gnu/packages/syndication.scm (newsboat): Update to 2.32. [native-inputs]: Use 'supported-package?'. Efraim Flashner 2023-05-14gnu: Add morss....* gnu/packages/syndication.scm (morss): New variable. Vinicius Monego 2023-05-07gnu: newsboat: Update to 2.31....* gnu/packages/syndication.scm (newsboat): Update to 2.31. [cargo-inputs]: Replace rust-bitflags-1 with 2, rust-lexopt-0.2 with 0.3. Efraim Flashner 2023-04-25gnu: gfeeds: Add missing gettext-minimal....* gnu/packages/syndication.scm (gfeeds)[inputs]: Add gettext-minimal. Liliana Marie Prikler 2023-04-25gnu: syndication-domination: Update to 1.0-1-7592032....* gnu/packages/syndication.scm (syndication-domination): Update to 1.0-1-7592032. Liliana Marie Prikler 2023-04-19gnu: gfeeds: Update to 2.2.0....* gnu/packages/syndication.scm (gfeeds): Update to 2.2.0. [phases]: Fix skip-icon-cache phase. Use search-input-file in wrap-gfeeds. Maxim Cournoyer 2023-04-14Merge branch 'master' into core-updates....Conflicts: gnu/local.mk gnu/packages/build-tools.scm gnu/packages/certs.scm gnu/packages/check.scm gnu/packages/compression.scm gnu/packages/cups.scm gnu/packages/fontutils.scm gnu/packages/gnuzilla.scm gnu/packages/guile.scm gnu/packages/ibus.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/music.scm gnu/packages/nss.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/qt.scm gnu/packages/ruby.scm gnu/packages/shells.scm gnu/packages/tex.scm gnu/packages/video.scm gnu/packages/vulkan.scm gnu/packages/web.scm gnu/packages/webkit.scm gnu/packages/wm.scm Maxim Cournoyer 2023-04-09gnu: Remove extraneous #:meson build arguments....* gnu/packages/build-tools.scm (meson-python) [propagated-inputs]: Replace meson-0.63 with meson. * gnu/packages/freedesktop.scm (appstream) [arguments]: Remove #:meson argument. * gnu/packages/gnome.scm (raider): Likewise. (komikku): Likewise. * gnu/packages/syndication.scm (syndication-domination): Likewise. * gnu/packages/virtualization.scm (qemu): Likewise. * gnu/packages/xdisorg.scm (tofi): Likewise. Maxim Cournoyer 2023-03-23Merge remote-tracking branch 'origin/master' into staging....With resolved conflicts in: gnu/packages/ibus.scm gnu/packages/image.scm gnu/packages/lisp.scm gnu/packages/virtualization.scm Maxim Cournoyer 2023-02-16gnu: Remove unneeded module imports....* gnu/packages/abiword.scm, * gnu/packages/ada.scm, * gnu/packages/agda.scm, * gnu/packages/backup.scm, * gnu/packages/barrier.scm, * gnu/packages/bioinformatics.scm, * gnu/packages/bootstrap.scm, * gnu/packages/bqn.scm, * gnu/packages/c.scm, * gnu/packages/chemistry.scm, * gnu/packages/coq.scm, * gnu/packages/cross-base.scm, * gnu/packages/databases.scm, * gnu/packages/emacs-xyz.scm, * gnu/packages/enlightenment.scm, * gnu/packages/games.scm, * gnu/packages/geo.scm, * gnu/packages/ghostscript.scm, * gnu/packages/gl.scm, * gnu/packages/golang.scm, * gnu/packages/jami.scm, * gnu/packages/java-maths.scm, * gnu/packages/kde-frameworks.scm, * gnu/packages/kde-plasma.scm, * gnu/packages/language.scm, * gnu/packages/libreoffice.scm, * gnu/packages/linphone.scm, * gnu/packages/lisp.scm, * gnu/packages/llvm.scm, * gnu/packages/machine-learning.scm, * gnu/packages/minetest.scm, * gnu/packages/monitoring.scm, * gnu/packages/nfs.scm, * gnu/packages/ocr.scm, * gnu/packages/opencl.scm, * gnu/packages/pdf.scm, * gnu/packages/python-xyz.scm, * gnu/packages/racket.scm, * gnu/packages/rust.scm, * gnu/packages/syncthing.scm, * gnu/packages/syndication.scm, * gnu/packages/telegram.scm, * gnu/packages/vulkan.scm, * gnu/packages/web-browsers.scm, * gnu/packages/web.scm, * gnu/packages/webkit.scm: Remove some unecessary module imports. Efraim Flashner 2023-01-12gnu: newsboat: Update to 2.30.1....* gnu/packages/syndication.scm (newsboat): Update to 2.30.1. Efraim Flashner 2022-11-17gnu: giara: Remove input labels....* gnu/packages/syndication.scm (giara)[inputs]: Remove input labels. [native-inputs]: Same. Efraim Flashner 2022-11-17gnu: giara: Update to 1.0.1....* gnu/packages/syndication.scm (giara): Update to 1.0.1. [source]: Remove patch. [arguments]: Add phase to skip meson post-install script. [native-inputs]: Remove libxml2. Replace gtk+:bin with gtk:bin. [inputs]: Remove python-pycairo, webkitgtk-with-libsoup2. Add blueprint-compiler. Replace libhandy with libadwaita, gtk+ with gtk, python-mistune with python-mistune-next. [description]: Update. * gnu/packages/patches/giara-fix-login.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Efraim Flashner 2022-11-14gnu: gfeeds: Add source file-name....* gnu/packages/syndication.scm (gfeeds)[source]: Add file-name field. Efraim Flashner 2022-11-06gnu: newsboat: Only build documentation on supported systems....* gnu/packages/syndication.scm (newsboat)[inputs]: Only use asciidoctor on supported platforms. [arguments]: When asciidoctor isn't present add a phase to skip building the documentation. Efraim Flashner 2022-10-01gnu: gfeeds: Update to 1.0.3....* gnu/packages/syndication.scm (gfeeds): Update to 1.0.3. [arguments]<#:phases>: Add ‘skip-icon-cache’. [native-inputs]: Remove gtk+:bin. Add blueprint-compiler. [inputs]: Replace gtk+ with gtk. Replace libhandy with libadwaita. Replace python-readability with python-readability-lxml. Replace webkitgtk with webkitgtk-next. Add python-humanize, python-magic, python-pygobject, and syndication-domination. Liliana Marie Prikler 2022-10-01gnu: gfeeds: Modernize package description....* gnu/packages/syndication.scm (gfeeds)[arguments]: Convert to list of G-Expressions. Drop trailing #t. [native-inputs]: Drop labels. [inputs]: Add bash-minimal. Liliana Marie Prikler 2022-10-01gnu: gfeeds: Use git origin....* gnu/packages/syndication.scm (gfeeds)[origin]: Use git-fetch and git-reference. Liliana Marie Prikler 2022-10-01gnu: Add syndication-domination....* gnu/packages/syndication.scm (syndication-domination): New variable. Liliana Marie Prikler 2022-09-30gnu: newsboat: Update to 2.29....* gnu/packages/syndication.scm (newsboat): Update to 2.29. [cargo-development-inputs]: Move rust-cxx-build-1 ... [cargo-inputs]: ... to here. Efraim Flashner 2022-05-31gnu: Remove rawdog....* gnu/packages/syndication.scm (rawdog): Delete variable. Maxim Cournoyer