diff options
Diffstat (limited to 'gnu/packages/text-editors.scm')
-rw-r--r-- | gnu/packages/text-editors.scm | 154 |
1 files changed, 102 insertions, 52 deletions
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index fbd2498b66..06e8e47323 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> -;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Feng Shu <tumashu@163.com> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org> @@ -38,9 +38,11 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libbsd) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) @@ -98,64 +100,60 @@ based command language.") license:expat)))) ; lexers and libutf.[ch] (define-public kakoune - (let ((commit "125c8b7e80995732e0d8c87b82040025748f1b4f") - (revision "1")) - (package - (name "kakoune") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) - (source - (origin - (file-name (string-append "kakoune-" version "-checkout")) - (method git-fetch) - (uri (git-reference - (url "https://github.com/mawww/kakoune.git") - (commit commit))) - (sha256 - (base32 - "19qs99l8r9p1vi5pxxx9an22fvi7xx40qw3jh2cnh2mbacawvdyb")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - ;; kakoune uses confstr with _CS_PATH to find out where to find - ;; a posix shell, but this doesn't work in the build - ;; environment. This substitution just replaces that result - ;; with the "sh" path. - (substitute* "src/shell_manager.cc" - (("if \\(m_shell.empty\\(\\)\\)" line) - (string-append "m_shell = \"" (which "sh") - "\";\n " line))) - #t)) - (delete 'configure) - ;; kakoune requires us to be in the src/ directory to build - (add-before 'build 'chdir - (lambda _ (chdir "src") #t)) - (add-before 'check 'fix-test-permissions - (lambda _ - ;; Out git downloader doesn't give us write permissions, but - ;; without them the tests fail. - (zero? (system* "chmod" "-R" "u+w" "../test"))))))) - (native-inputs `(("asciidoc" ,asciidoc) - ("ruby" ,ruby))) - (inputs `(("ncurses" ,ncurses) - ("boost" ,boost))) - (synopsis "Vim-inspired code editor") - (description - "Kakoune is a code editor heavily inspired by Vim, as such most of its + (package + (name "kakoune") + (version "2018.04.13") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mawww/kakoune/" + "releases/download/v" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1kkzs5nrjxzd1jq7a4k7qfb5kg05871z0r3d9c0yhz9shf6wz36d")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; kakoune uses confstr with _CS_PATH to find out where to find + ;; a posix shell, but this doesn't work in the build + ;; environment. This substitution just replaces that result + ;; with the "sh" path. + (substitute* "src/shell_manager.cc" + (("if \\(m_shell.empty\\(\\)\\)" line) + (string-append "m_shell = \"" (which "sh") + "\";\n " line))) + #t)) + (delete 'configure) ; no configure script + ;; kakoune requires us to be in the src/ directory to build + (add-before 'build 'chdir + (lambda _ (chdir "src") #t))))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("pkg-config" ,pkg-config) + ("ruby" ,ruby))) + (inputs + `(("ncurses" ,ncurses) + ("boost" ,boost))) + (synopsis "Vim-inspired code editor") + (description + "Kakoune is a code editor heavily inspired by Vim, as such most of its commands are similar to Vi's ones, and it shares Vi's \"keystrokes as a text editing language\" model. Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being competitive (as in keystroke count) with Vim.") - (home-page "http://kakoune.org/") - (license license:unlicense)))) + (home-page "http://kakoune.org/") + (license license:unlicense))) (define-public joe (package (name "joe") - (version "4.4") + (version "4.6") (source (origin (method url-fetch) @@ -164,7 +162,7 @@ competitive (as in keystroke count) with Vim.") "joe-" version ".tar.gz")) (sha256 (base32 - "0y898r1xlrv75m00y598rvwwsricabplyh80wawsqafapcl4hw55")))) + "1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "http://joe-editor.sourceforge.net/") @@ -292,3 +290,55 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on compatible. This is a portable version of the mg maintained by the OpenBSD team.") (license license:public-domain))) + +(define-public ghostwriter + (package + (name "ghostwriter") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wereturtle/ghostwriter.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) ;for lrelease + (inputs + `(("hunspell" ,hunspell) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "qmake" (string-append "PREFIX=" out))))) + (add-after 'configure 'create-translations + (lambda _ + ;; `lrelease` will not overwrite, so delete existing .qm files + (for-each delete-file (find-files "translations" ".*\\.qm")) + (apply invoke "lrelease" (find-files "translations" ".*\\.ts")))) + ;; Ensure that icons are found at runtime. + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/ghostwriter") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins/")) + '("qtsvg" "qtmultimedia")))))))))) + (home-page "https://wereturtle.github.io/ghostwriter/") + (synopsis "Write without distractions") + (description + "@code{ghostwriter} provides a relaxing, distraction-free writing +environment with Markdown markup.") + (license license:gpl3+))) ;icons/* under CC-BY-SA3 |