add plover
This commit is contained in:
parent
5b6b22f461
commit
727a03f3ff
8 changed files with 1606 additions and 37 deletions
|
@ -38,4 +38,7 @@
|
||||||
python-mautrix = pkgs.python3Packages.callPackage ./python/mautrix.nix {};
|
python-mautrix = pkgs.python3Packages.callPackage ./python/mautrix.nix {};
|
||||||
python-tulir-telethon = pkgs.python3Packages.callPackage ./python/tulir-telethon.nix {};
|
python-tulir-telethon = pkgs.python3Packages.callPackage ./python/tulir-telethon.nix {};
|
||||||
papermc = pkgs.callPackage ./minecraft/papermc {};
|
papermc = pkgs.callPackage ./minecraft/papermc {};
|
||||||
|
python-plover-stroke = pkgs.python3Packages.callPackage ./plover/plover-stroke.nix {};
|
||||||
|
python-rtf-tokenize = pkgs.python3Packages.callPackage ./plover/rtf-tokenize.nix {};
|
||||||
|
plover = pkgs.python3Packages.callPackage ./plover/plover {};
|
||||||
}
|
}
|
||||||
|
|
27
plover/plover-stroke.nix
Normal file
27
plover/plover-stroke.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
pythonOlder,
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "plover_stroke";
|
||||||
|
version = "1.1.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-3gOyP0ruZrZfaffU7MQjNoG0NUFQLYa/FP3inqpy0VM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# No tests available
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/benoit-pierre/plover_stroke";
|
||||||
|
description = "Helper class for working with steno strokes";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
passthru.updateScript = [../scripts/update-python-libraries "plover/plover-stroke.nix"];
|
||||||
|
}
|
63
plover/plover/default.nix
Normal file
63
plover/plover/default.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
callPackage,
|
||||||
|
buildPythonPackage,
|
||||||
|
qt5,
|
||||||
|
pytest,
|
||||||
|
mock,
|
||||||
|
babel,
|
||||||
|
pyqt5,
|
||||||
|
xlib,
|
||||||
|
pyserial,
|
||||||
|
appdirs,
|
||||||
|
wcwidth,
|
||||||
|
setuptools,
|
||||||
|
pywayland,
|
||||||
|
xkbcommon,
|
||||||
|
wayland,
|
||||||
|
pkg-config,
|
||||||
|
}: let
|
||||||
|
source = builtins.fromJSON (builtins.readFile ./source.json);
|
||||||
|
plover-stroke = callPackage ../plover-stroke.nix {};
|
||||||
|
rtf-tokenize = callPackage ../../python/rtf-tokenize.nix {};
|
||||||
|
in
|
||||||
|
qt5.mkDerivationWith buildPythonPackage rec {
|
||||||
|
pname = "plover";
|
||||||
|
version = source.date;
|
||||||
|
src = callPackage ./source.nix {};
|
||||||
|
|
||||||
|
# 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
|
||||||
|
sed -i 's/pywayland==0.4.11/pywayland>=0.4.11/' reqs/constraints.txt
|
||||||
|
substituteInPlace plover_build_utils/setup.py \
|
||||||
|
--replace "/usr/share/wayland/wayland.xml" "${wayland}/share/wayland/wayland.xml"
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkInputs = [pytest mock];
|
||||||
|
propagatedBuildInputs = [babel pyqt5 xlib pyserial appdirs wcwidth setuptools plover-stroke rtf-tokenize pywayland xkbcommon];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
wayland
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
installCheckPhase = "true";
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "http://www.openstenoproject.org/";
|
||||||
|
description = "Open Source Stenography Software, patched with wayland support";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
passthru.updateScript = [
|
||||||
|
../../scripts/update-git.sh
|
||||||
|
"https://github.com/openstenoproject/plover"
|
||||||
|
"plover/plover/source.json"
|
||||||
|
];
|
||||||
|
}
|
11
plover/plover/source.json
Normal file
11
plover/plover/source.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"url": "https://github.com/openstenoproject/plover",
|
||||||
|
"rev": "3066a9a47269861ac1d66f8f05cdb26f7251b98d",
|
||||||
|
"date": "2022-08-09T00:40:56+02:00",
|
||||||
|
"path": "/nix/store/3jk73wkfcb2xy267c0vnssabdnw91fxq-plover",
|
||||||
|
"sha256": "0vk6nh2gpn7f7rv2spi2a7n3m0d9kaan6r22mx3vwxprpbvrkbm8",
|
||||||
|
"fetchLFS": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"deepClone": false,
|
||||||
|
"leaveDotGit": false
|
||||||
|
}
|
14
plover/plover/source.nix
Normal file
14
plover/plover/source.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
applyPatches,
|
||||||
|
}: let
|
||||||
|
source = builtins.fromJSON (builtins.readFile ./source.json);
|
||||||
|
in
|
||||||
|
applyPatches {
|
||||||
|
patches = [./wayland.patch];
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "openstenoproject";
|
||||||
|
repo = "plover";
|
||||||
|
inherit (source) rev sha256;
|
||||||
|
};
|
||||||
|
}
|
1461
plover/plover/wayland.patch
Normal file
1461
plover/plover/wayland.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,37 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
with pkgs; let
|
|
||||||
tarballs = import ../python/tarballs.nix {inherit inputs pkgs;};
|
|
||||||
in {
|
|
||||||
mautrix = with pkgs.python3Packages;
|
|
||||||
buildPythonPackage {
|
|
||||||
inherit (tarballs.mautrix-src.passthru) pname version;
|
|
||||||
src = tarballs.mautrix-src;
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
aiohttp
|
|
||||||
sqlalchemy
|
|
||||||
aiosqlite
|
|
||||||
ruamel-yaml
|
|
||||||
CommonMark
|
|
||||||
lxml
|
|
||||||
];
|
|
||||||
doCheck = false;
|
|
||||||
pythonImportsCheck = ["mautrix"];
|
|
||||||
};
|
|
||||||
tulir-telethon = with pkgs.python3Packages;
|
|
||||||
buildPythonPackage {
|
|
||||||
inherit (tarballs.tulir-telethon-src.passthru) pname version;
|
|
||||||
src = tarballs.tulir-telethon-src;
|
|
||||||
patchPhase = ''
|
|
||||||
substituteInPlace telethon/crypto/libssl.py --replace \
|
|
||||||
"ctypes.util.find_library('ssl')" "'${lib.getLib openssl}/lib/libssl.so'"
|
|
||||||
'';
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
rsa
|
|
||||||
pyaes
|
|
||||||
];
|
|
||||||
doCheck = false;
|
|
||||||
};
|
|
||||||
}
|
|
27
python/rtf-tokenize.nix
Normal file
27
python/rtf-tokenize.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
pythonOlder,
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "rtf_tokenize";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-XD3zkNAEeb12N8gjv81v37Id3RuWroFUY95+HtOS1gg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# No tests available
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/benoit-pierre/rtf_tokenize";
|
||||||
|
description = "Simple RTF tokenizer";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
passthru.updateScript = [../scripts/update-python-libraries "python/rtf-tokenize.nix"];
|
||||||
|
}
|
Reference in a new issue