emaryn
2025-06-10 02:23:45 +08:00
parent f83998780c
commit e72c2aa530
@@ -2,6 +2,8 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
setuptools-scm,
attrdict,
beautifulsoup4,
cython,
@@ -24,21 +26,20 @@
paddlepaddle,
lanms-neo,
polygon3,
paddlex,
pyyaml,
}:
let
version = "2.9.1";
in
buildPythonPackage rec {
pname = "paddleocr";
inherit version;
format = "setuptools";
version = "3.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "PaddlePaddle";
repo = "PaddleOCR";
tag = "v${version}";
hash = "sha256-QCddxgVdLaAJLfKCy+tnQsxownfl1Uv0TXhFRiFi9cY=";
hash = "sha256-B8zIiRpvT0oa/Gg2dLXTqBZmM+XDH3sOzODvleN638E=";
};
patches = [
@@ -53,6 +54,16 @@ buildPythonPackage rec {
./remove-import-imaug.patch
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "==72.1.0" ""
'';
build-system = [
setuptools
setuptools-scm
];
# trying to relax only pymupdf makes the whole build fail
pythonRelaxDeps = true;
pythonRemoveDeps = [
@@ -61,7 +72,7 @@ buildPythonPackage rec {
"opencv-contrib-python"
];
propagatedBuildInputs = [
dependencies = [
attrdict
beautifulsoup4
cython
@@ -84,6 +95,8 @@ buildPythonPackage rec {
paddlepaddle
lanms-neo
polygon3
paddlex
pyyaml
];
# TODO: The tests depend, among possibly other things, on `cudatoolkit`.
@@ -92,16 +105,16 @@ buildPythonPackage rec {
# nativeCheckInputs = with pkgs; [ which cudatoolkit ];
doCheck = false;
meta = with lib; {
meta = {
homepage = "https://github.com/PaddlePaddle/PaddleOCR";
license = licenses.asl20;
license = lib.licenses.asl20;
description = "Multilingual OCR toolkits based on PaddlePaddle";
longDescription = ''
PaddleOCR aims to create multilingual, awesome, leading, and practical OCR
tools that help users train better models and apply them into practice.
'';
changelog = "https://github.com/PaddlePaddle/PaddleOCR/releases/tag/${src.tag}";
maintainers = with maintainers; [ happysalada ];
maintainers = with lib.maintainers; [ happysalada ];
platforms = [
"x86_64-linux"
"x86_64-darwin"