(define-module (rekado guile-studio)) (use-modules (guix packages) (guix download) (guix gexp) (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 (local-file "../../guile-studio-configure.scm")) (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-flycheck" ,emacs-flycheck) ("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+)))