Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

plover.dev: 4.0.0.dev10 -> 4.0.0rc2 #303669

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 9 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6581,6 +6581,15 @@
githubId = 1633361;
name = "Iztok Fister Jr.";
};
FirelightFlagboy = {
email = "firelight.flagboy+nixpkgs@gmail.com";
github = "FirelightFlagboy";
githubId = 30697622;
name = "Firelight Flagboy";
keys = [{
fingerprint = "D6E2 4BD5 680C 609D D146 99B4 4304 CE0B A5E8 67D1";
}];
};
FireyFly = {
email = "nix@firefly.nu";
github = "FireyFly";
Expand Down
97 changes: 82 additions & 15 deletions pkgs/applications/misc/plover/default.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,104 @@
{ lib, fetchFromGitHub, python3Packages, wmctrl, qtbase, mkDerivationWith }:
{ lib, fetchFromGitHub, python310Packages, wmctrl, qt5, qtbase, mkDerivationWith }:

{
stable = throw "plover.stable was removed because it used Python 2. Use plover.dev instead."; # added 2022-06-05

dev = with python3Packages; mkDerivationWith buildPythonPackage rec {
pname = "plover";
version = "4.0.0.dev10";
dev = with python310Packages; let
plover_stroke = mkDerivationWith buildPythonPackage rec {
pname = "plover_stroke";
version = "1.1.0";

meta = with lib; {
broken = stdenv.isDarwin;
description = "OpenSteno Plover stenography software";
maintainers = with maintainers; [ twey kovirobi ];
license = licenses.gpl2;
pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover_stroke";
rev = version;
sha256 = "sha256-A75OMzmEn0VmDAvmQCp6/7uptxzwWJTwsih3kWlYioA=";
};

propagatedBuildInputs = [ setuptools ];

nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "plover_stroke" ];

meta = with lib; {
description = "Stroke handling helper library for Plover";
license = licenses.gpl2Plus;
homepage = "https://github.com/openstenoproject/plover_stroke";
platforms = platforms.linux ++ platforms.windows;
maintainers = with maintainers; [ FirelightFlagboy ];
};
};

rtf_tokenize = mkDerivationWith buildPythonPackage rec {
pname = "rtf_tokenize";
version = "1.0.0";

pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "rtf_tokenize";
rev = version;
sha256 = "sha256-zwD2sRYTY1Kmm/Ag2hps9VRdUyQoi4zKtDPR+F52t9A=";
};

propagatedBuildInputs = [ setuptools ];

nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [
"rtf_tokenize"
];

meta = with lib; {
description = "Simple RTF tokenizer";
license = licenses.gpl2Plus;
homepage = "https://github.com/openstenoproject/rtf_tokenize";
platforms = platforms.linux ++ platforms.windows;
maintainers = with maintainers; [ FirelightFlagboy ];
};
};
in mkDerivationWith buildPythonPackage rec {
pname = "plover";
version = "4.0.0rc2";

pyproject = true;

src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover";
rev = "v${version}";
sha256 = "sha256-oJ7+R3ZWhUbNTTAw1AfMg2ur8vW1XEbsa5FgSTam1Ns=";
sha256 = "sha256-rmMec/BbvOJ92u8Tmp3Kv2YezzJxB/L8UrDntTDSKj4=";
};

# I'm not sure why we don't find PyQt5 here but there's a similar
# sed on many of the platforms Plover builds for
postPatch = "sed -i /PyQt5/d setup.cfg";
propagatedBuildInputs = [
babel
pyqt5
qt5.qtwayland
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably want to place qtwayland only in buildInputs. It will then be used by the wrapper and we don't propagate unnecessary libraries by accident.

xlib
pyserial
appdirs
wcwidth
setuptools
plover_stroke
rtf_tokenize
];

FirelightFlagboy marked this conversation as resolved.
Show resolved Hide resolved
nativeCheckInputs = [ pytest mock ];
propagatedBuildInputs = [ babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
nativeCheckInputs = [ pytestCheckHook mock ];

dontWrapQtApps = true;

preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';

meta = with lib; {
mainProgram = "plover";
broken = stdenv.isDarwin;
description = "OpenSteno Plover stenography software";
maintainers = with maintainers; [ FirelightFlagboy twey kovirobi ];
license = licenses.gpl2;
};
};
}