From 0903b599a3858b5523cc36f5d35c25e39500660a Mon Sep 17 00:00:00 2001 From: sudacode Date: Thu, 11 Dec 2025 11:36:15 -0800 Subject: [PATCH] add packages --- GameSentenceMiner/.SRCINFO | 16 ++++ GameSentenceMiner/PKGBUILD | 41 ++++++++ GameSentenceMiner/gamesentenceminer.desktop | 10 ++ GameSentenceMiner/gamesentenceminer.service | 14 +++ python-meikiocr/.SRCINFO | 20 ++++ python-meikiocr/.gitignore | 100 ++++++++++++++++++++ python-meikiocr/PKGBUILD | 36 +++++++ python-meikiocr/meikiocr-0.1.2.tar.gz | Bin 0 -> 12279 bytes python-owocr/.SRCINFO | 15 +++ python-owocr/.gitignore | 1 + python-owocr/PKGBUILD | 23 +++++ 11 files changed, 276 insertions(+) create mode 100644 GameSentenceMiner/.SRCINFO create mode 100644 GameSentenceMiner/PKGBUILD create mode 100644 GameSentenceMiner/gamesentenceminer.desktop create mode 100644 GameSentenceMiner/gamesentenceminer.service create mode 100644 python-meikiocr/.SRCINFO create mode 100644 python-meikiocr/.gitignore create mode 100644 python-meikiocr/PKGBUILD create mode 100644 python-meikiocr/meikiocr-0.1.2.tar.gz create mode 100644 python-owocr/.SRCINFO create mode 100644 python-owocr/.gitignore create mode 100644 python-owocr/PKGBUILD diff --git a/GameSentenceMiner/.SRCINFO b/GameSentenceMiner/.SRCINFO new file mode 100644 index 0000000..ec86646 --- /dev/null +++ b/GameSentenceMiner/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = gamesentenceminer-bin + pkgdesc = GameSentenceMiner AppImage for game-to-Anki flashcard automation + pkgver = 1.15.8 + pkgrel = 1 + url = https://github.com/bpwhelan/GameSentenceMiner + arch = x86_64 + license = GPL3 + depends = fuse2 + provides = gamesentenceminer + conflicts = gamesentenceminer + noextract = GameSentenceMiner-1.15.8.AppImage + options = !strip + source = GameSentenceMiner-1.15.8.AppImage::https://github.com/bpwhelan/GameSentenceMiner/releases/download/v1.15.8/GameSentenceMiner-1.15.8.AppImage + sha256sums = 630ba749a24bb096e4e3b4766cb2dbb67a7722f3f190a014168fde9dca8b565c + +pkgname = gamesentenceminer-bin diff --git a/GameSentenceMiner/PKGBUILD b/GameSentenceMiner/PKGBUILD new file mode 100644 index 0000000..aea5570 --- /dev/null +++ b/GameSentenceMiner/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: sudacode + +pkgname=gamesentenceminer-bin +pkgver=1.15.8 +pkgrel=1 +pkgdesc="GameSentenceMiner AppImage for game-to-Anki flashcard automation" +arch=('x86_64') +url="https://github.com/bpwhelan/GameSentenceMiner" +license=('GPL3') +depends=('fuse2') +provides=('gamesentenceminer') +conflicts=('gamesentenceminer') +source=( + "GameSentenceMiner-${pkgver}.AppImage::https://github.com/bpwhelan/GameSentenceMiner/releases/download/v${pkgver}/GameSentenceMiner-${pkgver}.AppImage" + "gamesentenceminer.desktop" + "gamesentenceminer.png::https://raw.githubusercontent.com/bpwhelan/GameSentenceMiner/main/assets/gsm.png" + "gamesentenceminer.service" +) +noextract=("GameSentenceMiner-${pkgver}.AppImage") +sha256sums=( + '630ba749a24bb096e4e3b4766cb2dbb67a7722f3f190a014168fde9dca8b565c' + 'd1849baa6414fcce90733572344ea6f59061d4e96dcb5a6c61357f184b5c04af' + 'f4644bf2e5d40209144a5bdb9bd3eff68da9a0555119d5bab36b9bfc37940fd3' + '2b5ea49e65da39cb94163a1b16d64089f93917448d386877568209a0d37579c9' +) +options=(!strip) + +package() { + install -d "${pkgdir}/usr/bin" + install -Dm755 "${srcdir}/GameSentenceMiner-${pkgver}.AppImage" \ + "${pkgdir}/opt/gamesentenceminer/GameSentenceMiner.AppImage" + ln -sf "/opt/gamesentenceminer/GameSentenceMiner.AppImage" \ + "${pkgdir}/usr/bin/gamesentenceminer" + install -Dm644 "${srcdir}/gamesentenceminer.desktop" \ + "${pkgdir}/usr/share/applications/gamesentenceminer.desktop" + install -Dm644 "${srcdir}/gamesentenceminer.png" \ + "${pkgdir}/usr/share/pixmaps/gamesentenceminer.png" + install -Dm644 "${srcdir}/gamesentenceminer.service" \ + "${pkgdir}/usr/lib/systemd/user/gamesentenceminer.service" +} + diff --git a/GameSentenceMiner/gamesentenceminer.desktop b/GameSentenceMiner/gamesentenceminer.desktop new file mode 100644 index 0000000..62c74ad --- /dev/null +++ b/GameSentenceMiner/gamesentenceminer.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=GameSentenceMiner +Comment=Game-to-Anki flashcard automation +Exec=gamesentenceminer %U +Icon=gamesentenceminer +Terminal=false +Type=Application +Categories=Education;Utility; +StartupNotify=false + diff --git a/GameSentenceMiner/gamesentenceminer.service b/GameSentenceMiner/gamesentenceminer.service new file mode 100644 index 0000000..dba2604 --- /dev/null +++ b/GameSentenceMiner/gamesentenceminer.service @@ -0,0 +1,14 @@ +[Unit] +Description=GameSentenceMiner (AppImage) +After=network.target graphical-session.target +Wants=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/gamesentenceminer +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=default.target + diff --git a/python-meikiocr/.SRCINFO b/python-meikiocr/.SRCINFO new file mode 100644 index 0000000..1a83044 --- /dev/null +++ b/python-meikiocr/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = python-meikiocr + pkgdesc = High-speed, high-accuracy, local OCR for Japanese video games + pkgver = 0.1.2 + pkgrel = 1 + url = https://github.com/rtr46/meikiocr + arch = any + license = Apache-2.0 + makedepends = python-build + makedepends = python-installer + makedepends = python-wheel + makedepends = python-setuptools + depends = python-numpy + depends = python-opencv + depends = python-huggingface-hub + depends = onnxruntime + optdepends = onnxruntime-cuda: GPU acceleration + source = meikiocr-0.1.2.tar.gz::https://files.pythonhosted.org/packages/source/m/meikiocr/meikiocr-0.1.2.tar.gz + sha256sums = 612ab61ac7a741cd4ca96c961c5917cf21f393dc0d71d7ab2dbd677ae9b18f39 + +pkgname = python-meikiocr diff --git a/python-meikiocr/.gitignore b/python-meikiocr/.gitignore new file mode 100644 index 0000000..71a1993 --- /dev/null +++ b/python-meikiocr/.gitignore @@ -0,0 +1,100 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# Jupyter Notebook +.ipynb_checkpoints + +# Virtual environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyderworkspace + +# VSCode settings +.vscode/ + +# PyCharm settings +.idea/ + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Ruff +.ruff_cache/ \ No newline at end of file diff --git a/python-meikiocr/PKGBUILD b/python-meikiocr/PKGBUILD new file mode 100644 index 0000000..9d496b7 --- /dev/null +++ b/python-meikiocr/PKGBUILD @@ -0,0 +1,36 @@ +_pkgname=meikiocr +pkgname=python-${_pkgname} +pkgver=0.1.2 +pkgrel=1 +pkgdesc="High-speed, high-accuracy, local OCR for Japanese video games" +arch=('any') +url="https://github.com/rtr46/${_pkgname}" +license=('Apache-2.0') +depends=( + 'python-numpy' + 'python-opencv' + 'python-huggingface-hub' + 'onnxruntime' +) +makedepends=( + 'python-build' + 'python-installer' + 'python-wheel' + 'python-setuptools' +) +optdepends=( + 'onnxruntime-cuda: GPU acceleration' +) +source=("${_pkgname}-${pkgver}.tar.gz::https://files.pythonhosted.org/packages/source/m/${_pkgname}/${_pkgname}-${pkgver}.tar.gz") +sha256sums=('612ab61ac7a741cd4ca96c961c5917cf21f393dc0d71d7ab2dbd677ae9b18f39') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + python -m build --wheel --no-isolation +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}" + python -m installer --destdir="${pkgdir}" dist/*.whl + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/python-meikiocr/meikiocr-0.1.2.tar.gz b/python-meikiocr/meikiocr-0.1.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9118ebeed56289c0139ad7909217e5bbb86e9d98 GIT binary patch literal 12279 zcmb`NV{;{p59oVNZEkIwTibTGwr$(iscqZb+S+>St+iX*=RW^$aA)qF$%{} z3rQRtTt_Xk4G`>LVPj|GWai4m%FM>h&g^dD3UL{*^M*IJ<;YrIHRIXHYe~5Lo8VbGj#Z?swZ+a}T}cio_2?r2>Ixf$WVx)=nRXr@t>T9eD*l&ZK?#4s;%! zDwnS-gAU&vE7vXqM;(QIgK1(+8N#oG-&hO(pyW?R7-(&6%>nOUUuoiuia6Q%`Q^R@+5MyF_;CwP`f3AX z9R)e{(t_X9KZ4L+cR7xN20GVvx9z;>7s18T;L3@pk<|PB_tT)1f8`&$TYt7O?glz{ z&K*5Fg2BCg^>azul?PywPaPvOCqESI48g;TYCAXK124^&*eDReOWoSl_YD>%;pSng ze;$0fwRUp{-fZjZUESR_dMm2@aFqlFXN;TLMx`}4Bdu1a7kfw1L-5h!&OYX!|JINwawO+ zKE%0hGgfTzJSY1CrWx0){5M3ZNs6J#ROn7E$t=TzviANv8V)8V6A1?kL^LlUI_Pdq zT31cCDfw=CZA%d-!=%~2)`=0RZ$=_qL-J?4NpM6Fhk^Et6ni9=u5#8WNg{+xtPOhRRK{y>m-#8qE831=r?gzCLr&2D)6Rb+e7AoEr)WQkcy>TWB6(1jJk>_~KbiP$Q3HyNcMbvmM4y&3U#` z{uGSi_KvT=(+(L;=T%MTDXkSfIS#`Cq>z8tOU60YyInv{McF-wO$&^Y99|)cirer- z?nB}PTMbSgLN+QvfFc=Vqt3KZ(j^GAi1tX{_Zwk}+4g^w>$;N)e5y=0dco@nXxPC4S5oL8VNjkid`><_4Sy7h!=CJ3 zr%%BdHd)~fYdFl=zi>1#0)IAaBI03d^vr`oZ~rA#INF}v2`tfp&8^ z3*0ME-KZKYwx)|=W1-@^or4C3&daQ-E~Dbl_)R`@c&1b}$2NdoI_dDyU|Ts-F@SIf zd7flp*7A^2GG1_UINV6T^=2}sqh*622Nl$;E)qU4i}PrWd5&)B`=0b2@?r2Psm4GN zGVd<6SM_fd)H}H7Na~@`D`1j0)ZcFPwJ66}H>0!_U4KP(^5UsG+B95==?rz5OZfzh zyYAx(q!}Dd8OpG(V$iJ5WFHl41UNRC8>U4x^tPVYscOnglrI8vh8lY5dwSKlJ%Di( z4VC)jf}|ubGehKj_7qR-zG0`K$sMLRJFN%1<`fa3u%= zFI?W|Ryb|Nq?!tROs){@HI+EO!9)`Xv7Q)pwhjUEs$4XNH}ew8{ybnL5@<+385GeK zTbkx#jZt!vZ%hBp%97<~0E<33r6H?Bj!svKtxy_o5k-!7ze?X;t+*w+ z2)GhAT(KyX9rId2r^!BQTtw&s%hjAOVGgU3>6TKwbmA||zObPCp-D#0uP>R!nq$4c zDVr=YIPJ#ZA2H0TkU;B@dpnu`R)!f&?NR~PTTU6XRO<

CBqyywt@LKV@_kbRSD} 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 literal 0 HcmV?d00001 diff --git a/python-owocr/.SRCINFO b/python-owocr/.SRCINFO new file mode 100644 index 0000000..34ec0bd --- /dev/null +++ b/python-owocr/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = python-owocr + pkgdesc = OwOCR is a command-line text recognition tool that continuously scans for images and performs OCR (Optical Character Recognition) on them. Its main focus is Japanese, but it works for many other languages. + pkgver = 1.20.3 + pkgrel = 1 + url = https://pypi.org/project/owocr/ + arch = any + license = GPL-3.0 + makedepends = python-build + makedepends = python-wheel + makedepends = python-installer + depends = python>=3.11 + source = https://files.pythonhosted.org/packages/source/o/owocr/owocr-1.20.3.tar.gz + sha256sums = 2dc2c82481c2c57afea18622ac97a96be844181a49a21a532649335f0b627053 + +pkgname = python-owocr diff --git a/python-owocr/.gitignore b/python-owocr/.gitignore new file mode 100644 index 0000000..9de8ce3 --- /dev/null +++ b/python-owocr/.gitignore @@ -0,0 +1 @@ +owocr* diff --git a/python-owocr/PKGBUILD b/python-owocr/PKGBUILD new file mode 100644 index 0000000..b5cf30c --- /dev/null +++ b/python-owocr/PKGBUILD @@ -0,0 +1,23 @@ +# sudacode +pkgname=python-owocr +_name=${pkgname#python-} +pkgver=1.20.3 +pkgrel=1 +pkgdesc="OwOCR is a command-line text recognition tool that continuously scans for images and performs OCR (Optical Character Recognition) on them. Its main focus is Japanese, but it works for many other languages." +arch=('any') +url="https://pypi.org/project/owocr/" +license=('GPL-3.0') +depends=('python>=3.11') +makedepends=('python-build' 'python-wheel' 'python-installer') +source=("https://files.pythonhosted.org/packages/source/${_name::1}/${_name//-/_}/${_name//-/_}-$pkgver.tar.gz") +sha256sums=('2dc2c82481c2c57afea18622ac97a96be844181a49a21a532649335f0b627053') + +build() { + cd "${_name/-/_}-$pkgver" + python -m build --wheel --no-isolation +} + +package() { + cd "${_name//-/_}-$pkgver" + python -m installer --destdir="$pkgdir" dist/*.whl +}