From 5b71b1613af82b2a5b36d7c1395c27afb0842255 Mon Sep 17 00:00:00 2001 From: Petter Date: Sun, 23 Apr 2017 13:46:41 +0200 Subject: [PATCH] gnu: Add cool-retro-term. * gnu/packages/terminals.scm (cool-retro-term): New variable. --- gnu/packages/terminals.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 979278a53..4cb9cee4b 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2017 José Miguel Sánchez García ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Petter ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages docbook) + #:use-module (gnu packages qt) #:use-module (srfi srfi-26)) (define-public tilda @@ -433,3 +435,63 @@ its embedding program should provide it to draw on its behalf. It avoids calling @code{malloc} during normal running state, allowing it to be used in embedded kernel situations.") (license license:expat))) + +(define-public cool-retro-term + (let ((commit "e48719fa44e5307df71dbd0fad234f8a6a53f863") + (revision "1")) + (package + (name "cool-retro-term") + (version (string-append "1.0.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (modules '((guix build utils))) + (file-name (string-append name "-" version "-checkout")) + (uri (git-reference + (url (string-append "https://github.com/Swordfish90/" name)) + (commit commit) + (recursive? #t))) + (sha256 + (base32 "1sgqbirninkvgwchr35zgn5vzqvsmrf3cp7lqady1xgrawb8lsz3")))) + (build-system gnu-build-system) + (inputs + `(("qt" ,qt))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("qmltermwidget/qmltermwidget.pro") + (("INSTALL_DIR = \\$\\$\\[QT_INSTALL_QML\\]") + (string-append "INSTALL_DIR = " out "/qml"))) + (substitute* '("app/app.pro") + (("target.path \\+= /usr") + (string-append "target.path += " out)) + (("icon32.path = /usr/share") + (string-append "icon32.path = " out)) + (("icon64.path = /usr/share") + (string-append "icon64.path = " out)) + (("icon128.path = /usr/share") + (string-append "icon128.path = " out)) + (("icon256.path = /usr/share") + (string-append "icon256.path = " out))) + (zero? (system* "qmake"))))) + (add-before 'install 'fix-Makefiles + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("Makefile") + (("\\$\\(INSTALL_ROOT\\)/usr") out))))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/cool-retro-term") + `("QML2_IMPORT_PATH" ":" prefix + (,(string-append out "/qml")))))))))) + (synopsis "terminal emulator which mimics the look and feel of the old +cathode tube screens") + (description + "Cool-retro-term is a terminal emulator which mimics the look and feel of +the old cathode tube screens. It has been designed to be eye-candy, +customizable, and reasonably lightweight.") + (home-page "https://github.com/Swordfish90/cool-retro-term") + (license (list license:gpl2 license:gpl3))))) -- 2.12.2