Merge pull request #249623 from figsoda/paint

authored by figsoda and committed by GitHub 67c1768d 6d829759

+168
+79
pkgs/applications/graphics/textual-paint/default.nix
··· 1 + { lib 2 + , python3 3 + , fetchFromGitHub 4 + , fetchPypi 5 + , fetchpatch 6 + }: 7 + 8 + let 9 + python = python3.override { 10 + packageOverrides = _: super: { 11 + pillow = super.pillow.overridePythonAttrs rec { 12 + version = "9.5.0"; 13 + format = "pyproject"; 14 + 15 + src = fetchPypi { 16 + pname = "Pillow"; 17 + inherit version; 18 + hash = "sha256-v1SEedM2cm16Ds6252fhefveN4M65CeUYCYxoHDWMPE="; 19 + }; 20 + 21 + patches = [ 22 + # fix type handling for include and lib directories 23 + (fetchpatch { 24 + url = "https://github.com/python-pillow/Pillow/commit/0ec0a89ead648793812e11739e2a5d70738c6be5.patch"; 25 + hash = "sha256-m5R5fLflnbJXbRxFlTjT2X3nKdC05tippMoJUDsJmy0="; 26 + }) 27 + ]; 28 + }; 29 + 30 + textual = super.textual.overridePythonAttrs rec { 31 + version = "0.27.0"; 32 + 33 + src = fetchFromGitHub { 34 + owner = "Textualize"; 35 + repo = "textual"; 36 + rev = "v${version}"; 37 + hash = "sha256-ag+sJFprYW3IpH+BiMR5eSRUFMBeVuOnF6GTTuXGBHw="; 38 + }; 39 + }; 40 + }; 41 + }; 42 + in 43 + 44 + python.pkgs.buildPythonApplication rec { 45 + pname = "textual-paint"; 46 + version = "0.1.0"; 47 + format = "pyproject"; 48 + 49 + src = fetchFromGitHub { 50 + owner = "1j01"; 51 + repo = "textual-paint"; 52 + rev = "v${version}"; 53 + hash = "sha256-ubBWK4aoa9+wyUED7CmWwjknWsWauR/mkurDgkKDiY8="; 54 + }; 55 + 56 + nativeBuildInputs = [ 57 + python.pkgs.setuptools 58 + python.pkgs.wheel 59 + ]; 60 + 61 + propagatedBuildInputs = with python.pkgs; [ 62 + pillow 63 + pyfiglet 64 + pyperclip 65 + rich 66 + stransi 67 + textual 68 + ]; 69 + 70 + pythonImportsCheck = [ "textual_paint" ]; 71 + 72 + meta = with lib; { 73 + description = "A TUI image editor inspired by MS Paint"; 74 + homepage = "https://github.com/1j01/textual-paint"; 75 + license = licenses.mit; 76 + maintainers = with maintainers; [ figsoda ]; 77 + mainProgram = "textual-paint"; 78 + }; 79 + }
+39
pkgs/development/python-modules/ochre/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , hypothesis 6 + , pytestCheckHook 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "ochre"; 11 + version = "0.4.0"; 12 + format = "pyproject"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "getcuia"; 16 + repo = "ochre"; 17 + rev = "v${version}"; 18 + hash = "sha256-U6qycLnldwNze3XMAn6DS3XGX4RaCZgW0pH/y/FEAkk="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + poetry-core 23 + ]; 24 + 25 + nativeCheckInputs = [ 26 + hypothesis 27 + pytestCheckHook 28 + ]; 29 + 30 + pythonImportsCheck = [ "ochre" ]; 31 + 32 + meta = with lib; { 33 + description = "A down-to-earth approach to colors"; 34 + homepage = "https://github.com/getcuia/ochre"; 35 + changelog = "https://github.com/getcuia/ochre/releases/tag/${src.rev}"; 36 + license = licenses.mit; 37 + maintainers = with maintainers; [ figsoda ]; 38 + }; 39 + }
+44
pkgs/development/python-modules/stransi/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , hypothesis 6 + , pytestCheckHook 7 + , ochre 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "stransi"; 12 + version = "0.3.0"; 13 + format = "pyproject"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "getcuia"; 17 + repo = "stransi"; 18 + rev = "v${version}"; 19 + hash = "sha256-PDMel6emra5bzX+FwHvUVpFu2YkRKy31UwkCL4sGJ14="; 20 + }; 21 + 22 + nativeBuildInputs = [ 23 + poetry-core 24 + ]; 25 + 26 + nativeCheckInputs = [ 27 + hypothesis 28 + pytestCheckHook 29 + ]; 30 + 31 + propagatedBuildInputs = [ 32 + ochre 33 + ]; 34 + 35 + pythonImportsCheck = [ "stransi" ]; 36 + 37 + meta = with lib; { 38 + description = "A lightweight Python parser library for ANSI escape code sequences"; 39 + homepage = "https://github.com/getcuia/stransi"; 40 + changelog = "https://github.com/getcuia/stransi/releases/tag/${src.rev}"; 41 + license = licenses.mit; 42 + maintainers = with maintainers; [ figsoda ]; 43 + }; 44 + }
+2
pkgs/top-level/all-packages.nix
··· 35667 35667 35668 35668 tev = callPackage ../applications/graphics/tev { }; 35669 35669 35670 + textual-paint = callPackage ../applications/graphics/textual-paint { }; 35671 + 35670 35672 themechanger = callPackage ../applications/misc/themechanger { }; 35671 35673 35672 35674 thinkingRock = callPackage ../applications/misc/thinking-rock { };
+4
pkgs/top-level/python-packages.nix
··· 7304 7304 7305 7305 oca-port = callPackage ../development/python-modules/oca-port { }; 7306 7306 7307 + ochre = callPackage ../development/python-modules/ochre { }; 7308 + 7307 7309 oci = callPackage ../development/python-modules/oci { }; 7308 7310 7309 7311 ocifs = callPackage ../development/python-modules/ocifs { }; ··· 12228 12230 stookalert = callPackage ../development/python-modules/stookalert { }; 12229 12231 12230 12232 stopit = callPackage ../development/python-modules/stopit { }; 12233 + 12234 + stransi = callPackage ../development/python-modules/stransi { }; 12231 12235 12232 12236 strategies = callPackage ../development/python-modules/strategies { }; 12233 12237