(use-modules (gnu packages) (gnu packages autotools) (gnu packages guile) (gnu packages guile-xyz) (gnu packages pkg-config) (gnu packages texinfo) (guix build-system gnu) (guix git-download) (guix gexp) ((guix licenses) #:prefix license:) (guix packages) (solarpunk packages guile) (srfi srfi-1)) (define (keep-file? file stat) (not (any (lambda (my-string) (string-contains file my-string)) (list ".git" ".dir-locals.el" "guix.scm")))) (define guile-goblins-git (package (inherit guile-goblins) (version "git") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/spritely/guile-goblins.git") ;; Need version with IO and Christine's call-with-vat fixes! :D (commit "290da71602fc4bf6632f329bee8560b202f25b13"))) (sha256 (base32 "1h7h6njlmm3yh3mpb12040ry7rpbzq4s3czkrsvffh62gqql5cbb")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) ,@(package-native-inputs guile-goblins))))) (package (name "guile-buttercup") (version "0.1") (source (local-file (dirname (current-filename)) #:recursive? #t #:select? (lambda (file stat) (not (any (lambda (my-string) (string-contains file my-string)) (list ".git" ".dir-locals.el" "guix.scm")))))) (build-system gnu-build-system) (arguments `()) (native-inputs (list autoconf automake pkg-config texinfo)) (inputs (list guile-3.0)) (propagated-inputs (list guile-termios guile-reflow guile-termenv guile-goblins-git)) (synopsis "Guile library for creating terminal applications") (description "A Guile library, inspired by Go's Bubbletea, for creating beautiful terminal applications using Spritely Goblins.") (home-page "https://git.solarpunk.moe/solarpunk-guile/guile-buttercup") (license license:gpl3+))