diff options
-rw-r--r-- | machinelearning.scm | 669 | ||||
-rw-r--r-- | prismlauncher-gpu.scm | 83 | ||||
-rw-r--r-- | python-xyz.scm | 31 | ||||
-rw-r--r-- | vesktop.scm | 4 |
4 files changed, 439 insertions, 348 deletions
diff --git a/machinelearning.scm b/machinelearning.scm index 02975e7..27620cb 100644 --- a/machinelearning.scm +++ b/machinelearning.scm @@ -1,27 +1,53 @@ (define-module (machinelearning) - #:use-module (gnu packages protobuf) + #:use-module ((guix licenses) :prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages commencement) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) + #:use-module (gnu packages golang-check) + #:use-module (gnu packages golang-maths) + #:use-module (gnu packages golang-compression) + #:use-module (gnu packages golang-crypto) + #:use-module (gnu packages gtk) + #:use-module (gnu packages prometheus) + #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) + #:use-module (gnu packages image) + #:use-module (gnu packages llvm) + #:use-module (gnu packages machine-learning) + #:use-module (gnu packages maths) + #:use-module (gnu packages opencl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) - #:use-module (gnu packages python-check) #:use-module (gnu packages python-build) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages python-web) + #:use-module (gnu packages version-control) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) - #:use-module (gnu packages machine-learning) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages curl) #:use-module (gnu packages rust) - #:use-module (gnu packages maths) #:use-module (gnu packages rust-apps) - #:use-module (gnu packages crates-io) - #:use-module (guix build-system python) - #:use-module (guix build-system pyproject) + #:use-module (gnu packages vulkan) + #:use-module (gnu packages tls) + #:use-module (gnu packages) + #:use-module (guix build utils) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) - #:use-module (guix build utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) - #:use-module (guix gexp) - #:use-module (guix download) - #:use-module ((guix licenses) :prefix license:) + #:use-module (guix utils) ) (define-public poetry-plugin-export @@ -79,269 +105,96 @@ (description "This package provides a library for installing Python wheels.") (license #f))) - -(define-public python-rclip +(define-public ggml (package - (name "rclip") - (version "1.10.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "rclip" version)) - (sha256 - (base32 "05cv5hp63x6ym12s1a5lb7najjyzrqk40rvmj8x2y32hxsf6ampn")))) - (build-system pyproject-build-system) - (native-inputs (list python-poetry-core-1.9.0)) - (propagated-inputs (list python-open-clip-torch - python-pillow - python-requests - python-pytorch - python-torchvision - python-tqdm)) - (arguments - '( #:phases - (modify-phases %standard-phases - (delete 'check) ;#TODO: see why this is broke - (delete 'sanity-check) ;TODO: Fix broken sanity-check - ))) - (home-page "https://github.com/yurijmikhalevich/rclip") - (synopsis "AI-Powered Command-Line Photo Search Tool") - (description "AI-Powered Command-Line Photo Search Tool") - (license license:expat))) - -(define-public python-open-clip-torch - (package - (name "python-open-clip-torch") - (version "2.24.0") + (name "ggml") + (version "589fed13a77d7e54435c2182384955706b60b841") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mlfoundations/open_clip") - (commit (string-append "v" version)) - )) + (url "https://github.com/ggerganov/ggml") + (recursive? #t) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0mby632z2qpahb8pd8cmn14bz4w1q0cngz7s6rmx2qwfg2fxf1ms")))) - (build-system pyproject-build-system) - (inputs (list python-ftfy - python-huggingface-hub - python-protobuf - python-regex - python-sentencepiece - python-timm - python-pytorch - python-torchvision - python-tqdm - python-wheel - )) + (base32 + "1qzydmiqsdxhj7gmaxbzllhhnb7rw49ykkj03jm044spk9nnn56s")))) + (build-system cmake-build-system) + (inputs (list openblas)) (arguments - '( #:phases - (modify-phases %standard-phases - (delete 'check) ;Networking required for checks, so disable them - (delete 'sanity-check) ;TODO: Fix broken sanity-check - ))) - (home-page "https://github.com/mlfoundations/open_clip") - (synopsis "OpenCLIP") - (description "@code{OpenCLIP}") + '( + #:tests? #f + ;#:cmake "--config Release" + #:configure-flags (list "-DGGML_OPENBLAS=ON -DGGML_BUILD_TESTS=OFF -DGGML_BUILD_EXAMPLES=OFF --config Release") + )) + (home-page "https://github.com/ggerganov/ggml/") + (synopsis "Tensor library for machine learning") + (description "Tensor library for machine learning in pure C/C++") (license license:expat))) -(define-public python-ftfy +(define-public ggml-vulkan (package - (name "python-ftfy") - ;(version "6.2.0") - (version "5.5.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "ftfy" version)) - (sha256 - ;(base32 "1h3m9i1c2qp874fpg62gcp39yqdhc5mrsqd29ja9gvr5f0y18hjy")))) - (base32 "1ci6xrj4g01a97nymxpv9nj820nlmgzc4ybaz9k46i6bnxzpax7s")))) - (build-system pyproject-build-system) - (native-inputs (list poetry)) - (propagated-inputs (list python-wcwidth)) - (arguments - '( #:phases - (modify-phases %standard-phases - (delete 'check) - ))) - (home-page "") - (synopsis "Fixes mojibake and other problems with Unicode, after the fact") - (description - "Fixes mojibake and other problems with Unicode, after the fact") - (license license:asl2.0))) - -(define-public python-expecttest - (package - (name "python-expecttest") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "expecttest" version)) - (sha256 - (base32 "1xbkpcp3477ccgr4ks16v0j22i7a939bs2rajvk0cigqlvw1qaz5")))) - (build-system pyproject-build-system) + (inherit ggml) + (name "ggml-vulkan") + (build-system cmake-build-system) + (inputs (list shaderc vulkan-headers vulkan-loader openlibm glibc)) (arguments - (list - #:phases #~(modify-phases %standard-phases (delete 'check)))) - (native-inputs (list poetry)) - (home-page "https://github.com/ezyang/expecttest") - (synopsis "") - (description "") + '( + #:tests? #f + ;#:cmake "--config Release" + #:configure-flags (list "-DGGML_VULKAN=ON -DGGML_BUILD_TESTS=OFF -DGGML_BUILD_EXAMPLES=OFF --config Release") + )) + (home-page "https://github.com/ggerganov/ggml/") + (synopsis "Tensor library for machine learning") + (description "Tensor library for machine learning in pure C/C++") (license license:expat))) -(define-public python-timm - (package - (name "python-timm") - (version "0.9.16") - (source - (origin - (method url-fetch) - (uri (pypi-uri "timm" version)) - (sha256 - (base32 "1rkif1mkgryirn78aw9rkwplf3hzfqbw3c0slwqxynnmfprm87l9")))) - (build-system pyproject-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (delete 'check) ;takes FOREVER for some reason - (delete 'sanity-check ;Crashes; #TODO: fix this - )))) - (inputs (list python-huggingface-hub python-pyyaml - python-safetensors python-pytorch - python-torchvision python-pdm-backend - - python-pytest python-pytest-timeout python-expecttest python-pytest-xdist)) - (home-page "https://github.com/huggingface/pytorch-image-models") - (synopsis "PyTorch Image Models") - (description "@code{PyTorch} Image Models") - (license license:asl2.0))) - -(define-public rust-memmap2-0.5 - (package - (name "rust-memmap2") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "memmap2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0vp9pxd20gyq8196v73chxdw6gfxz3g4lkdkvffd5slgawds2is6")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)) - #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4) - ("rust-tempdir" ,rust-tempdir-0.3)))) - (home-page "https://github.com/RazrFalcon/memmap2-rs") - (synopsis "Cross-platform Rust API for memory-mapped file IO") - (description "Cross-platform Rust API for memory-mapped file IO") - (license (list license:expat license:asl2.0)))) - -(define-public rust-safetensors-0.4 +(define-public mlimgsynth (package - (name "rust-safetensors") - (version "0.4.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "safetensors" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1vb9wsmsm7wfyvkl795wpc2iiwa3mx0vqhhym2q6yhrlzdmhx64d")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)) - #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4) - ("rust-memmap2" ,rust-memmap2-0.5) - ("rust-proptest" ,rust-proptest-1)))) - (home-page "https://github.com/huggingface/safetensors") - (synopsis - "Provides functions to read and write safetensors which aim to be safer than - their PyTorch counterpart. - The format is 8 bytes which is an unsized int, being the size of a JSON header, - the JSON header refers the `dtype` the `shape` and `data_offsets` which are the offsets - for the values in the rest of the file. - ") - (description - "This package provides functions to read and write safetensors which aim to be - safer than their @code{PyTorch} counterpart. The format is 8 bytes which is an - unsized int, being the size of a JSON header, the JSON header refers the `dtype` - the `shape` and `data_offsets` which are the offsets for the values in the rest - of the file.") - (license license:asl2.0))) - -(define-public python-safetensors - (package - (name "python-safetensors") - (version "0.4.2") + (name "mlimgsynth") + (version "fd351102a0c6719fe4437cb1bb834a87735861a1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/huggingface/safetensors.git") - (commit (string-append "v" version)) - )) + (url "https://github.com/aagdev/mlimgsynth") + (recursive? #t) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gs0ivd5m95jyy6j1yqvm8pq068xsk405gv0nwq2821vr4ix9lw5")))) - (build-system cargo-build-system) + (base32 + "1gbppz9r0mjdis6gcvpkx3f4v0px7zz05k0cxkjq9s4v63xzr1p3")))) + (build-system gnu-build-system) + (inputs (list openblas ggml-vulkan libpng ijg-libjpeg)) (arguments - (list - #:imported-modules `(,@%cargo-build-system-modules - ,@%pyproject-build-system-modules) - #:modules '((guix build cargo-build-system) - ((guix build pyproject-build-system) #:prefix py:) - (guix build utils)) + '( + #:tests? #f + #:make-flags (let* ((ggml-dir (assoc-ref %build-inputs "ggml-vulkan"))) + (list (string-append "CC=gcc") + (string-append "GGML_INCLUDE_PATH=" ggml-dir "/include") + (string-append "GGML_LIB_PATH=" ggml-dir "/lib"))) #:phases - #~(modify-phases %standard-phases - (add-before 'configure 'get-safetensor-cargo - (lambda _ - (copy-recursively "bindings/python/Cargo.toml" "./Cargo.toml") - (substitute* "./Cargo.toml" ( ("name = \"safetensors_rust\"") "name = \"safetensors_rust\"\npath = \"bindings/python//src/lib.rs\"" ) ) - (substitute* "./Cargo.toml" ( ("path = \"../../safetensors\"") "path = \"safetensors\"" ) ) - )) - (add-after 'prepare-python-module 'build-python-module - (assoc-ref py:%standard-phases 'build)) - (add-after 'build-python-module 'install-python-module - (assoc-ref py:%standard-phases 'install)) - (add-after 'compress-documentation 'remove-bloat - (lambda _ - (delete-file-recursively "target") - (delete-file-recursively "attacks") - (delete-file-recursively "safetensors") - )) - ) + (modify-phases %standard-phases + (delete 'check) + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "mlimgsynth" (string-append out "/bin"))))) + ) - #:cargo-inputs - `( - ;("rust-safetensors" ,rust-safetensors-0.4) - ("rust-pyo3" ,rust-pyo3-0.20) - ("rust-criterion" ,rust-criterion-0.5) - ("rust-memmap2" ,rust-memmap2-0.5) - ("rust-proptest" ,rust-proptest-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ) - #:install-source? #false)) - (inputs - (list maturin rust-safetensors-0.4 python-wheel)) - (native-inputs - (list python-wrapper)) - (home-page "https://github.com/huggingface/safetensors") - (synopsis "a new simple format for storing tensors safely") - (description "This repository implements a new simple format for storing tensors safely (as opposed to pickle) and that is still fast (zero-copy).") - (license license:asl2.0))) + ) + ) + (home-page "https://github.com/aagdev/mlimgsynth") + (synopsis " Image synthesis using machine learning") + (description "Generate images using Stable Diffusion (SD) models. This program is completely written in C and uses the GGML library. It is largely based in stable-diffusion.cpp, but with a focus in more concise and clear code.") + (license license:expat))) (define-public stable-diffusion-cpp (package (name "stable-diffusion-cpp") - (version "9c51d8787f78ef1bd0ead1e8f48b766d7ee7484d") + (version "dcf91f9e0f2cbf9da472ee2a556751ed4bab2d2a") (source (origin (method git-fetch) @@ -352,7 +205,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0rcnlrsbhnfhfz2pzn8gxnnpdyz03z8ds0wq5xfbgc86hmg0v286")))) + "0dhh4m710kiwrs4yc64saab5rkjg5psxr15cm6fsl64pv4ssk7v5")))) (build-system cmake-build-system) (inputs (list openblas)) (arguments @@ -368,6 +221,91 @@ (description "Inference of Stable Diffusion in pure C/C++") (license license:expat))) +(define-public stable-diffusion-cpp-vulkan + (package + (inherit stable-diffusion-cpp) + (name "stable-diffusion-cpp-vulkan") + (arguments + `( + #:tests? #f + #:configure-flags (list "-DSD_VULKAN=ON --config Release") + #:phases (modify-phases %standard-phases + (add-after 'install 'rename-binary + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/sd"))) + (when (file-exists? bin) + (rename-file bin (string-append (dirname bin) "/sd-vulkan"))))))))) + (inputs (list vulkan-headers vulkan-loader shaderc libomp)))) + +(define-public exiv2-staticlibs + (package + (inherit exiv2) + (arguments + `(#:test-target "tests" + #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON" + ;; darktable needs BMFF to support + ;; CR3 files. + "-DEXIV2_ENABLE_BMFF=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-gcc-reference + (lambda _ + ;; _GLIBCXX_ASSERTIONS brings reference to GCC. + (substitute* "cmake/compilerFlags.cmake" + (("add_compile_options[(]-Wp,-D_GLIBCXX_ASSERTIONS[)]") + "")))) + + ,@(if (or (target-ppc64le?) + (target-aarch64?) + (target-riscv64?)) + '((add-after 'unpack 'adjust-tests + (lambda _ + ;; Adjust test on ppc64 and aarch64, where no exception + ;; is raised and thus the return value is different. See + ;; <https://github.com/Exiv2/exiv2/issues/365> and + ;; <https://github.com/Exiv2/exiv2/issues/933>. + (substitute* "tests/bugfixes/github/test_CVE_2018_12265.py" + (("\\$uncaught_exception \\$addition_overflow_message\n") "") + (("retval = \\[1\\]") "retval = [0]"))))) + '())))) + )) + +(define-public stable-diffusion-cpp-gui-wx + (package + (name "stable-diffusion-cpp-gui-wx") + (version "6f604f836961002fbce72a205c1e6cc6d6a531e9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fszontagh/sd.cpp.gui.wx") + (recursive? #t) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "035zqhjnwdb07ag4chj9zijl70wk81kinqwlnvs9ixb2fzl1z374")))) + (build-system cmake-build-system) + (arguments + '( + #:tests? #f + #:configure-flags + (list + "-DSD_AVX=ON" + "-DWXWIDGETS_VERSION=3.2.5" + (string-append "-DWXWIDGETS_EXTRA_PATH=" (assoc-ref %build-inputs "wxwidgets")) + ) + #:substitutable? #f + ) + ) + (native-inputs (list pkg-config)) + (inputs (list openblas openssl curl exiv2-staticlibs wxwidgets gtk+ pangomm git stable-diffusion-cpp)) + (synopsis "cross-platform GUI for Stable Diffusion C++") + (description "A cross-platform GUI for Stable Diffusion C++, built using wxWidgets.") + (home-page "https://stable-diffusion.fsociety.hu") + (license license:expat) + )) + (define-public bark-cpp (package (name "bark-cpp") @@ -389,17 +327,24 @@ '( #:tests? #f #:configure-flags (list "-DGGML_OPENBLAS=ON --config Release") - ;#:phases - ;(modify-phases %standard-phases - ; (add-after 'install 'install-main - ; (lambda _ - ; (with-directory-excursion (string-append #$output "/bin") - ; ;(symlink "main" "bark") - ; (symlink "server" "bark-server") - ; ) - ; ))) - ) - ) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-server + (lambda _ + (with-directory-excursion (string-append #$output "/bin") + (symlink "server" "bark-server") + ) + )) + ;(add-after 'install 'install-main + ; (lambda _ + ; (with-directory-excursion (string-append #$output "/bin") + ; (symlink "main" "bark") + ; ) + ; )) + ; + ) + + )) (home-page "https://github.com/PABannier/bark.cpp") (synopsis "Real-time realistic multilingual text-to-speech generation to the community.") (description "With bark.cpp, our goal is to bring real-time realistic multilingual text-to-speech generation to the community.") @@ -483,3 +428,207 @@ (description "Inference of Stable Diffusion in pure C/C++") (license license:expat))) +(define-public clblast + (package + (name "clblast") + (version "1.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/CNugteren/CLBlast.git") + (commit version) + )) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zp8rfkscnh4l9x71kp39hsg5zxfhkkf88886mv40hw0a1hafdvz")) + )) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'check) + ))) + (inputs (list opencl-clhpp opencl-icd-loader)) + (home-page "https://cnugteren.github.io/clblast") + (synopsis "Tuned OpenCL BLAS") + (description "CLBlast is a lightweight, performant and tunable OpenCL BLAS library written in C++11. It is designed to leverage the full performance potential of a wide variety of OpenCL devices from different vendors, including desktop and laptop GPUs, embedded GPUs, and other accelerators. CLBlast implements BLAS routines: basic linear algebra subprograms operating on vectors and matrices. See the CLBlast website for performance reports on some devices.") + (license license:asl2.0))) + +(define-public kobold-cpp + (package + (name "kobold-cpp") + (version "1.76") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/LostRuins/koboldcpp.git") + (commit (string-append "v" version)) + )) + (file-name (git-file-name name version)) + (sha256 + (base32 "155207vyxl2gh156gf0zs6ylkixrgr563cdfzkapcdhzj9lpsdfk")) + )) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list + "LLAMA_OPENBLAS=1" + "LLAMA_CLBLAST=1" + "LLAMA_VULKAN=1" + (string-append "CC=" #$(cc-for-target)) + ) + #:modules '((ice-9 textual-ports) + (guix build utils) + ((guix build python-build-system) #:prefix python:) + (guix build gnu-build-system)) + #:imported-modules `(,@%default-gnu-imported-modules + (guix build python-build-system)) + + + #:phases + #~(modify-phases %standard-phases + ;(add-after 'unpack 'disable-unrunable-tests + ; ;; test-eval-callback downloads ML model from network, cannot + ; ;; run in Guix build environment + ; (lambda _ + ; (substitute* '("examples/eval-callback/CMakeLists.txt") + ; (("add_test") "#add_test")) + ; (substitute* '("examples/eval-callback/CMakeLists.txt") + ; (("set_property") "#set_property")))) + (add-after 'build 'install-python-scripts + (lambda _ + (let ((bin (string-append #$output "/bin/"))) + (define (make-script script) + (let ((suffix (if (string-suffix? ".py" script) "" ".py"))) + (call-with-input-file + (string-append script suffix) + (lambda (input) + (call-with-output-file (string-append bin script) + (lambda (output) + (format output "#!~a/bin/python3\n~a" + #$(this-package-input "python") + (get-string-all input)))))) + (chmod (string-append bin script) #o555))) + (make-script "koboldcpp.py") + ;(make-script "convert-hf-to-gguf") + ;(make-script "convert-llama-ggml-to-gguf") + ;(make-script "convert-hf-to-gguf-update.py") + ))) + (add-after 'build 'install-compiled + (lambda _ + (mkdir-p (string-append #$output "/lib")) + (mkdir-p (string-append #$output "/bin")) + (for-each (lambda (f) + (install-file f (string-append #$output "/lib"))) (find-files "." "\\.so$")) + (for-each (lambda (f) + (install-file f (string-append #$output "/bin"))) (find-files "." "\\.py$")))) + ;(add-after 'install-compiled 'wrap-python-scripts + ; ;(assoc-ref python:%standard-phases 'wrap) + ; (add-after 'wrap-python-scripts 'wrap-for-local-libs + ; (lambda _ + ; (wrap-program (string-append #$output "/bin/koboldcpp.py") + ; '("PATH" ":" suffix (string-append #$output "/lib/"))) + ; ) + ; ) + (delete 'configure) + (delete 'check) + (delete 'install) ;Only running "make" is necssary for install. + ))) + (inputs (list python)) + (native-inputs (list pkg-config gcc-toolchain)) + (propagated-inputs + (list python-numpy python-pytorch python-sentencepiece openblas clblast opencl-clhpp opencl-icd-loader vulkan-headers vulkan-loader python-gguf python-customtkinter findutils)) + (properties '((tunable? . #true))) ;use AVX512, FMA, etc. when available + (home-page "https://github.com/lostruins/koboldcpp") + (synopsis " A simple one-file way to run various GGML and GGUF models with a KoboldAI UI.") + (description "KoboldCpp is an easy-to-use AI text-generation software for GGML and GGUF models, inspired by the original KoboldAI. It's a single self-contained distributable from Concedo, that builds off llama.cpp, and adds a versatile KoboldAI API endpoint, additional format support, Stable Diffusion image generation, speech-to-text, backward compatibility, as well as a fancy UI with persistent stories, editing tools, save formats, memory, world info, author's note, characters, scenarios and everything KoboldAI and KoboldAI Lite have to offer.") + (license license:agpl3))) +(define-public python-gguf + (package + (name "python-gguf") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "gguf" version)) + (sha256 + (base32 "0fyk7x6b2a7xjmf3q7zb61ik1yrk80xm7xx9yr2wa6avw63hkrzm")))) + (build-system pyproject-build-system) + (arguments + '( #:phases + (modify-phases %standard-phases + (delete 'check) ;#TODO: see why this is broke + (delete 'sanity-check) ;TODO: Fix broken sanity-check + ))) + (native-inputs (list poetry)) + (propagated-inputs (list python-numpy python-tqdm)) + (home-page "https://ggml.ai") + (synopsis "Read and write ML models in GGUF for GGML") + (description "Read and write ML models in GGUF for GGML.") + (license #f))) + +(define-public python-darkdetect + (package + (name "python-darkdetect") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "darkdetect" version)) + (sha256 + (base32 "1cgqgpz36dfn7hsqc29ha9pmxmzdjlwdq9aclkgbagi6f08qwhmm")))) + (build-system pyproject-build-system) + (arguments + '( #:phases + (modify-phases %standard-phases + (delete 'check) ;#TODO: see why this is broke + (delete 'sanity-check) ;TODO: Fix broken sanity-check + ))) + (home-page "") + (synopsis "Detect OS Dark Mode from Python") + (description "Detect OS Dark Mode from Python.") + (license #f))) + +(define-public python-customtkinter + (package + (name "python-customtkinter") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "customtkinter" version)) + (sha256 + (base32 "01yjv09r3cbdk09vamh7cdc5iqn2nj0bl383wqp9h74nzaxb73gx")))) + (build-system pyproject-build-system) + (arguments + '( #:phases + (modify-phases %standard-phases + (delete 'check) ;#TODO: see why this is broke + (delete 'sanity-check) ;TODO: Fix broken sanity-check + ))) + (propagated-inputs (list python-darkdetect python-packaging + python-typing-extensions)) + (home-page "https://customtkinter.tomschimansky.com") + (synopsis "Create modern looking GUIs with Python") + (description "Create modern looking GUIs with Python.") + (license #f))) +(define-public python-rubbrband + (package + (name "python-rubbrband") + (version "0.2.19") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rubbrband" version)) + (sha256 + (base32 "1sv7y2wvnmb0mabdbzwg0q6cf9mjkrik68dnbl3qa0slf8z7biy7")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-pillow python-requests)) + (home-page "https://github.com/rubbrband/rubbrband") + (synopsis "") + (description #f) + (license #f))) diff --git a/prismlauncher-gpu.scm b/prismlauncher-gpu.scm deleted file mode 100644 index bc03b05..0000000 --- a/prismlauncher-gpu.scm +++ /dev/null @@ -1,83 +0,0 @@ -(define-module (prismlauncher-gpu) - #:use-module (guix build-system cmake) - #:use-module (gnu packages bash) - #:use-module (gnu packages compression) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages qt) - #:use-module (gnu packages xorg) - #:use-module (gnu packages gl) - #:use-module (gnu packages java) - #:use-module (gnu packages kde-frameworks) - #:use-module (guix packages) - #:use-module (guix gexp) - #:use-module (guix git-download) - #:use-module ((guix licenses) :prefix license:) - #:use-module ((nonguix licenses) :prefix non-license:)) - -(define-public prismlauncher-gpu - (package - (name "prismlauncher-gpu") - (version "8.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PrismLauncher/PrismLauncher") - (recursive? #t) - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1iba8rl8vi6ivn024327yv59vbi89n67ml4vy8wcw0w9hczkjhis")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list "-DLauncher_QT_VERSION_MAJOR=5") - #:phases - (modify-phases %standard-phases - (add-after 'install 'patch-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin/prismlauncher")) - (xrandr (assoc-ref inputs "xrandr")) - (qtwayland (assoc-ref inputs "qtwayland"))) - (wrap-program bin - `("PATH" ":" prefix (,(string-append xrandr "/bin"))) - `("QT_PLUGIN_PATH" ":" prefix (,(string-append - qtwayland "/lib/qt5/plugins")))) - #t)))))) - (native-inputs (list extra-cmake-modules)) - (inputs (list bash-minimal ; for wrap-program - zlib - qtbase-5 - qtwayland - xrandr - libx11 - libxext - libxcursor - libxrandr - libxxf86vm - pulseaudio - mesa - glfw - )) - (propagated-inputs (list `(,openjdk17 "jdk"))) - (home-page "https://prismlauncher.org/") - (synopsis "Free, open source launcher for Minecraft") - (description - "Allows you to have multiple, separate instances of Minecraft (each with -their own mods, texture packs, saves, etc), and helps you manage them and -their associated options with a simple interface.") - (license (list license:gpl3 ; PolyMC, launcher - license:expat ; MinGW runtime, lionshead, tomlc99 - license:lgpl3 ; Qt 5/6 - license:lgpl3+ ; libnbt++ - license:lgpl2.1+ ; rainbow (KGuiAddons) - license:isc ; Hoedown - license:silofl1.1 ; Material Design Icons - license:lgpl2.1 ; Quazip - license:public-domain ; xz-minidec, murmur2, xz-embedded - license:bsd-3 ; ColumnResizer, O2 (Katabasis fork), - ; gamemode, localpeer - license:asl2.0 ; classparser, systeminfo - ;; Batch icon set: - (non-license:nonfree "file://COPYING.md"))))) diff --git a/python-xyz.scm b/python-xyz.scm index 73cb686..5bf0c93 100644 --- a/python-xyz.scm +++ b/python-xyz.scm @@ -12,6 +12,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-science) #:use-module (sherlock) ) (define-public comedyGenerator @@ -38,7 +39,7 @@ (lambda* (#:key inputs outputs #:allow-other-keys) (let ((ffmpeg (string-append (assoc-ref inputs "ffmpeg") "/bin" ))) (wrap-program (string-append (assoc-ref outputs "out") "/bin/comedyGenerator") - `("PATH" ":" prefix ,(list ffmpeg) ) )))) + `("PATH" ":" prefix ,(list ffmpeg) ) )))) ))) (inputs @@ -57,7 +58,7 @@ (define-public stashley (package (name "stashley") - (version "2.0.2") + (version "2.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -66,7 +67,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1rdzgf6cynnmyy3fwkbyvffpz7vkqsa2isp1dblrqas0arqgplqh")))) + "01pih5d142a1vsga69kgwx740j53wzad399vbbl77ks5nyx65jpk")))) (build-system pyproject-build-system) (arguments '( @@ -90,3 +91,27 @@ TOML files, and if IPFS is installed, pushing them to IPFS.") (home-page "https://git.techchud.xyz/stashley/") (license license:agpl3))) +(define-public python-imagehash + (package + (name "python-imagehash") + (version "4.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ImageHash" version)) + (sha256 + (base32 "0w5ay3dblgn0ijg4mwmmq13a759by1bakh6q7pmmnn70z6vx2f3h")))) + (arguments + '( #:phases + (modify-phases %standard-phases + (delete 'check) ;Networking required for checks, so disable them + ))) + + (build-system pyproject-build-system) + (propagated-inputs (list python-numpy python-pillow python-pywavelets + python-scipy)) + (home-page "https://github.com/JohannesBuchner/imagehash") + (synopsis "Image Hashing library") + (description "Image Hashing library.") + (license #f))) + diff --git a/vesktop.scm b/vesktop.scm index a1a8da9..bf4dd43 100644 --- a/vesktop.scm +++ b/vesktop.scm @@ -113,7 +113,7 @@ (define-public vesktop (package (name "vesktop-bin") - (version "1.5.3") + (version "1.5.4") (source (origin (method url-fetch) @@ -121,7 +121,7 @@ (string-append "https://github.com/Vencord/Vesktop/releases/download/v" version "/vesktop_" version "_amd64.deb")) (sha256 - (base32 "0zjbwhmd270qczj19yy3gfb250zxxa1al8zn4bwl73ij9bkhjwfc")))) + (base32 "0pvwkvk0q0dd3dziwmv83sxh69bb1n32zdkd8wyrc7j9zvp2pq0x")))) (supported-systems '("x86_64-linux")) (build-system (use-modern-gcc-on-chromium-binary chromium-binary-build-system)) (arguments |