summaryrefslogtreecommitdiff
path: root/guix/rekado/guile-studio.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/rekado/guile-studio.scm')
-rw-r--r--guix/rekado/guile-studio.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/guix/rekado/guile-studio.scm b/guix/rekado/guile-studio.scm
new file mode 100644
index 0000000..d589105
--- /dev/null
+++ b/guix/rekado/guile-studio.scm
@@ -0,0 +1,62 @@
+(define-module (rekado guile-studio))
+(use-modules (guix packages)
+ (guix download)
+ (guix build-system gnu)
+ ((guix licenses) #:prefix license:)
+ (gnu packages guile)
+ (gnu packages guile-xyz)
+ (gnu packages emacs)
+ (gnu packages emacs-xyz)
+ (gnu packages gnome))
+
+(define-public guile-studio
+ (package
+ (name "guile-studio")
+ (version "0")
+ (source (origin
+ (method url-fetch)
+ (uri "https://elephly.net/downies/guile-studio-configure.scm")
+ (sha256
+ (base32
+ "025knvijpybjyygn9ljf53cfi1dza3n8h8xk4342krg42xlaiad3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'unpack)
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key source inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (share (string-append out "/share/")))
+ (mkdir-p share)
+ (mkdir-p bin)
+ (apply invoke "guile" "-s" source
+ out
+ (assoc-ref inputs "emacs")
+ (assoc-ref inputs "guile-picture-language")
+ (string-append (assoc-ref inputs "adwaita-icon-theme")
+ "/share/icons/Adwaita/")
+ (map cdr inputs))
+ #t)))
+ (delete 'install))))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("guile-picture-language" ,guile-picture-language)
+ ("emacs" ,emacs)
+ ("emacs-geiser" ,emacs-geiser)
+ ("emacs-company" ,emacs-company)
+ ("emacs-smart-mode-line" ,emacs-smart-mode-line)
+ ("emacs-paren-face" ,emacs-paren-face)
+ ("adwaita-icon-theme" ,adwaita-icon-theme)))
+ (home-page "https://gnu.org/software/guile")
+ (synopsis "Totally not a cheap copy of Dr Racket for Guile")
+ (description
+ "Racket has Dr Racket. Guile has ... Emacs? This is Emacs with a few
+settings that make working with Guile easier for people new to Emacs.
+Features include: CUA mode, Geiser, tool bar icons to evaluate Guile buffers,
+support for Guile's very own picture language, code completion, a simple mode
+line, etc.")
+ (license license:gpl3+)))