nixpkgs/pkgs/by-name/ka/kanjidraw/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

49 lines
1.2 KiB
Nix

{ lib
, fetchFromGitHub
, python3
, bash
}:
python3.pkgs.buildPythonApplication rec {
pname = "kanjidraw";
version = "0.2.3";
src = fetchFromGitHub {
owner = "obfusk";
repo = "kanjidraw";
rev = "v${version}";
sha256 = "03ag8vkbf85qww857ii8hcnn8bh5qa7rsmhka0v9vfxk272ifbyq";
};
propagatedBuildInputs = with python3.pkgs; [ tkinter ];
postPatch = ''
substituteInPlace Makefile --replace /bin/bash ${bash}/bin/bash
'';
checkPhase = ''
make test
'';
meta = with lib; {
description = "Handwritten kanji recognition";
mainProgram = "kanjidraw";
longDescription = ''
kanjidraw is a simple Python library + GUI for matching (the strokes of a)
handwritten kanji against its database.
You can use the GUI to draw and subsequently select a kanji from the list of
probable matches, which will then be copied to the clipboard.
The database is based on KanjiVG and the algorithms are based on the
Kanji draw Android app.
'';
homepage = "https://github.com/obfusk/kanjidraw";
license = with licenses; [
agpl3Plus # code
cc-by-sa-30 # data.json
];
maintainers = [ maintainers.obfusk ];
};
}