Hello world! This is Guile Studio.
[software/guile-studio.git] / guix / rekado / guile-studio.scm
1 (define-module (rekado guile-studio))
2 (use-modules (guix packages)
3 (guix download)
4 (guix build-system gnu)
5 ((guix licenses) #:prefix license:)
6 (gnu packages guile)
7 (gnu packages guile-xyz)
8 (gnu packages emacs)
9 (gnu packages emacs-xyz)
10 (gnu packages gnome))
11
12 (define-public guile-studio
13 (package
14 (name "guile-studio")
15 (version "0")
16 (source (origin
17 (method url-fetch)
18 (uri "https://elephly.net/downies/guile-studio-configure.scm")
19 (sha256
20 (base32
21 "025knvijpybjyygn9ljf53cfi1dza3n8h8xk4342krg42xlaiad3"))))
22 (build-system gnu-build-system)
23 (arguments
24 `(#:tests? #f ; there are none
25 #:phases
26 (modify-phases %standard-phases
27 (delete 'unpack)
28 (delete 'configure)
29 (replace 'build
30 (lambda* (#:key source inputs outputs #:allow-other-keys)
31 (let* ((out (assoc-ref outputs "out"))
32 (bin (string-append out "/bin/"))
33 (share (string-append out "/share/")))
34 (mkdir-p share)
35 (mkdir-p bin)
36 (apply invoke "guile" "-s" source
37 out
38 (assoc-ref inputs "emacs")
39 (assoc-ref inputs "guile-picture-language")
40 (string-append (assoc-ref inputs "adwaita-icon-theme")
41 "/share/icons/Adwaita/")
42 (map cdr inputs))
43 #t)))
44 (delete 'install))))
45 (inputs
46 `(("guile" ,guile-2.2)
47 ("guile-picture-language" ,guile-picture-language)
48 ("emacs" ,emacs)
49 ("emacs-geiser" ,emacs-geiser)
50 ("emacs-company" ,emacs-company)
51 ("emacs-smart-mode-line" ,emacs-smart-mode-line)
52 ("emacs-paren-face" ,emacs-paren-face)
53 ("adwaita-icon-theme" ,adwaita-icon-theme)))
54 (home-page "https://gnu.org/software/guile")
55 (synopsis "Totally not a cheap copy of Dr Racket for Guile")
56 (description
57 "Racket has Dr Racket. Guile has ... Emacs? This is Emacs with a few
58 settings that make working with Guile easier for people new to Emacs.
59 Features include: CUA mode, Geiser, tool bar icons to evaluate Guile buffers,
60 support for Guile's very own picture language, code completion, a simple mode
61 line, etc.")
62 (license license:gpl3+)))