(define-module (unlustig) #:use-module ((guix licenses) :prefix license:) #:use-module (guix packages) #:use-module (guix build-system cargo) #:use-module (guix download) #:use-module (guix build utils) #:use-module (guix git-download) #:use-module (gnu packages video) #:use-module (gnu packages image) #:use-module (gnu packages commencement) #:use-module (gnu packages perl) #:use-module (gnu packages rust) #:use-module (gnu packages python) #:use-module (gnu packages xorg) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-gtk) #:use-module (gnu packages crates-web) #:use-module (gnu packages crates-windows) #:use-module (gnu packages crates-apple) #:use-module (gnu packages crates-crypto) #:use-module (gnu packages crates-io) ) (define-public rust-quickcheck-1 (package (name "rust-quickcheck") (version "1.0.3") (source (origin (method url-fetch) (uri (crate-uri "quickcheck" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1mjhkfqwrb8mdyxdqr4zzbj1rm5dfx25n9zcc25lb6fxwiw673sq")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.8) ("rust-log" ,rust-log-0.4) ("rust-rand" ,rust-rand-0.8)))) (home-page "https://github.com/BurntSushi/quickcheck") (synopsis "Automatic property based testing with shrinking") (description "This package provides Automatic property based testing with shrinking.") (license (list license:unlicense license:expat)))) (define-public rust-human-bytes-0.3 (package (name "rust-human-bytes") (version "0.3.1") (source (origin (method url-fetch) (uri (crate-uri "human_bytes" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "05w8yb616p26fnjb9iqdlgb2nzx6dlcsl1n3q522x57c77fd9848")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-lexical" ,rust-lexical-6)))) (home-page "https://sr.ht/~nkeor/human_bytes") (synopsis "Crate to convert bytes into human-readable values") (description "Crate to convert bytes into human-readable values") (license license:bsd-2))) (define-public rust-bltzxsd-discord-rich-presence (package (name "rust-bltzxsd-discord-rich-presence") (version "6d0bcf71f17a0371065d3efeb95ca61d9fe32c6a") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bltzxsd/discord-rich-presence.git") (commit version))) (sha256 (base32 "138h4ifjdqx8zd6cdjr4xd9ak1phrnpzb4gw0blsfsnzbrz6lx68")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-serde", rust-serde-1) ("rust-thiserror", rust-thiserror-1) ("rust-windows-named-pipe", rust-windows-named-pipe-0.1) ("rust-uuid", rust-uuid-0.8)) #:phases (modify-phases %standard-phases (delete 'check)))) (synopsis "library to connect and send data to Discord's IPC") (description "Simple, cross-platform crate to connect and send data to Discord's IPC") (home-page "https://github.com/bltzxsd/discord-rich-presence") (license license:expat))) (define-public unlustig (package (name "unlustig") (version "0.0.14") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bltzxsd/unlustig") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0fmsnvg3wp4lcrhw661lqhibvwsbljdq0k6ph9b7yl45kqxyv6p7")) (modules '((guix build utils))) (snippet '(delete-file-recursively "deps")))) (inputs (list ffmpeg gifsicle )) (native-inputs (list perl python rust-bltzxsd-discord-rich-presence rust-imageproc-0.23 gcc-toolchain libx11 )) (build-system cargo-build-system) (arguments `( #:cargo-inputs (("discord-rich-presence", rust-bltzxsd-discord-rich-presence) ("imageproc", rust-imageproc-0.23) ("rust-dirs", rust-dirs-4) ("human-bytes", rust-human-bytes-0.3) ("indicatif", rust-indicatif-0.16) ("rust-klask", rust-klask-1) ("rust-ureq", rust-ureq-2) ("rust-yansi", rust-yansi-0.5) ("rust-winres", rust-winres-0.1) ("rust-wayland-client", rust-wayland-client-0.28.0) ("rust-simple-logger", rust-simple-logger-2) ) #:phases (modify-phases %standard-phases (add-before 'build 'use-local (lambda _ (substitute* "Cargo.toml" ( ("imageproc.*") "imageproc = \"0.23.0\"\n")) (substitute* "Cargo.toml" ( ("discord-rich-presence.*") "discord-rich-presence = \"0.1.8\"\n")) ))))) (synopsis "GIF Caption tool") (description "A CLI and GUI program for making IFunny gif captions on your computer.") (home-page "https://github.com/bltzxsd/unlustig") (license license:expat))) (define-public rust-klask-1 (package (name "rust-klask") (version "1.0.0") (source (origin (method url-fetch) (uri (crate-uri "klask" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "167dfap4wivqm93qyjszvbwv25qrmpynlx58yrh18wwcfvfsx80k")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cansi" ,rust-cansi-2) ("rust-clap" ,rust-clap-3) ("rust-clap-derive" ,rust-clap-derive-3) ("rust-eframe" ,rust-eframe-0.15) ("rust-inflector" ,rust-inflector-0.11) ("rust-linkify" ,rust-linkify-0.7) ("rust-native-dialog" ,rust-native-dialog-0.5) ("rust-thiserror" ,rust-thiserror-1) ("rust-uuid" ,rust-uuid-0.8)))) (home-page "https://github.com/MichalGniadek/klask") (synopsis "Automatically create GUI for clap apps") (description "This package provides Automatically create GUI for clap apps.") (license license:expat)))