diff options
Diffstat (limited to 'gnu/packages/text-editors.scm')
-rw-r--r-- | gnu/packages/text-editors.scm | 222 |
1 files changed, 96 insertions, 126 deletions
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 29b159f1a7..2c5f5de719 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2019 Efraim Flashner <[email protected]> ;;; Copyright © 2019 Andreas Enge <[email protected]> ;;; Copyright © 2019, 2020, 2021 Nicolas Goaziou <[email protected]> -;;; Copyright © 2020 Marius Bakke <[email protected]> +;;; Copyright © 2020, 2021 Marius Bakke <[email protected]> ;;; Copyright © 2020 Tom Zander <[email protected]> ;;; Copyright © 2020 Mark Meyer <[email protected]> ;;; Copyright © 2020 Maxime Devos <[email protected]> @@ -36,6 +36,7 @@ (define-module (gnu packages text-editors) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cargo) @@ -55,12 +56,12 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages haskell-xyz) + #:use-module (gnu packages image) #:use-module (gnu packages libbsd) #:use-module (gnu packages libreoffice) #:use-module (gnu packages llvm) @@ -75,6 +76,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) + #:use-module (gnu packages sqlite) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages version-control) @@ -145,11 +147,7 @@ (sha256 (base32 "1jsvg2lg3xqfgi79x08kx94mc34mh62ivca10vsci6fqsk68jbd0")) (file-name (git-file-name "vis-test" version)))))) - (inputs `(("lua" ,lua) - ("ncurses" ,ncurses) - ("libtermkey" ,libtermkey) - ("lua-lpeg" ,lua-lpeg) - ("tre" ,tre))) + (inputs (list lua ncurses libtermkey lua-lpeg tre)) (synopsis "Vim-like text editor") (description "Vis aims to be a modern, legacy free, simple yet efficient vim-like text @@ -195,10 +193,7 @@ based command language.") (add-before 'build 'chdir (lambda _ (chdir "src") #t))))) (native-inputs - `(("gcc", gcc-10) ; See https://github.com/mawww/kakoune/issues/4318 - ("asciidoc" ,asciidoc) - ("pkg-config" ,pkg-config) - ("ruby" ,ruby))) + (list asciidoc pkg-config ruby)) (synopsis "Vim-inspired code editor") (description "Kakoune is a code editor heavily inspired by Vim, as such most of its @@ -278,7 +273,7 @@ Rust.") ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) ("rust-unicode-width" ,rust-unicode-width-0.1)))) (inputs - `(("clang" ,clang))) + (list clang)) (home-page "https://github.com/justinbarclay/parinfer-rust") (synopsis "Infer parentheses for Clojure, Lisp and Scheme") (description @@ -301,7 +296,7 @@ can load dynamic libraries.") (base32 "1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9")))) (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses))) + (inputs (list ncurses)) (home-page "http://joe-editor.sourceforge.net/") (synopsis "Console screen editor") (description @@ -387,13 +382,12 @@ bindings and many of the powerful features of GNU Emacs.") ":")))) #t)))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("xorg-server" ,xorg-server-for-tests))) + (list pkg-config xorg-server-for-tests)) (inputs `(("aspell" ,aspell) ("boost" ,boost) ("ctags" ,universal-ctags) - ("gtkmm" ,gtkmm) + ("gtkmm" ,gtkmm-3) ("gtksourceviewmm" ,gtksourceviewmm) ("libclang" ,clang-11) ;XXX: must be the same version as Mesas LLVM ("libgit2" ,libgit2))) @@ -421,16 +415,15 @@ systems.") "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm")))) (build-system glib-or-gtk-build-system) (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + (list intltool pkg-config)) (inputs - `(("gtk+" ,gtk+-2))) + (list gtk+-2)) (home-page "http://tarot.freeshell.org/leafpad/") (synopsis "GTK+ based text editor") (description "Leafpad is a GTK+ text editor that emphasizes simplicity. As development focuses on keeping weight down to a minimum, only the most essential features are implemented in the editor. Leafpad is simple to use, is easily -compiled, requires few libraries, and starts up quickly. ") +compiled, requires few libraries, and starts up quickly.") (license license:gpl2+))) (define-public l3afpad @@ -450,12 +443,9 @@ compiled, requires few libraries, and starts up quickly. ") "1alyghm2wpakzdfag0g4g8gb1h9l4wdg7mnhq8bk0iq5ryqia16a")))) (build-system glib-or-gtk-build-system) (native-inputs - `(("intltool" ,intltool) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + (list intltool autoconf automake pkg-config)) (inputs - `(("gtk+" ,gtk+))) + (list gtk+)) (home-page "http://tarot.freeshell.org/leafpad/") (synopsis "GTK+ 3 based text editor") (description "L3afpad is a GTK+ 3 text editor that emphasizes simplicity. As @@ -490,7 +480,7 @@ compiled, requires few libraries, and starts up quickly. ") #:phases (modify-phases %standard-phases (delete 'configure)))) (native-inputs - `(("nasm" ,nasm))) + (list nasm)) (home-page "https://sites.google.com/site/e3editor/") (synopsis "Tiny text editor written in assembly") (description @@ -521,35 +511,31 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (substitute* "GNUmakefile" (("/usr/bin/") "")))))) (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("diffutils" ,diffutils) - ("libbsd" ,libbsd) - ("ncurses" ,ncurses))) + (native-inputs (list pkg-config)) + (inputs (list diffutils libbsd ncurses)) (arguments ;; No test suite available. - `(#:tests? #f - #:make-flags (list (string-append "prefix=" %output) - (string-append "CC=" ,(cc-for-target)) - (string-append "PKG_CONFIG=" ,(pkg-config-for-target))) - #:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-before 'build 'correct-location-of-diff - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "buffer.c" - (("/usr/bin/diff") - (string-append (assoc-ref inputs "diffutils") - "/bin/diff"))))) - (add-before 'install 'patch-tutorial-location - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "mg.1" - (("/usr") (assoc-ref outputs "out"))))) - (add-after 'install 'install-tutorial - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/mg"))) - (install-file "tutorial" doc))))))) + (list #:tests? #f + #:make-flags + #~(list (string-append "prefix=" #$output) + (string-append "CC=" #$(cc-for-target)) + (string-append "PKG_CONFIG=" #$(pkg-config-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'build 'correct-location-of-diff + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "buffer.c" + (("/usr/bin/diff") + (search-input-file inputs "/bin/diff"))))) + (add-before 'install 'patch-tutorial-location + (lambda _ + (substitute* "mg.1" + (("/usr") #$output)))) + (add-after 'install 'install-tutorial + (lambda _ + (let ((doc (string-append #$output "/share/doc/mg"))) + (install-file "tutorial" doc))))))) (home-page "https://homepage.boetes.org/software/mg/") (synopsis "Microscopic GNU Emacs clone") (description @@ -611,11 +597,9 @@ OpenBSD team.") (install-file "config.eg" doc) #t)))))) (native-inputs - `(("texinfo" ,texinfo))) + (list texinfo)) (inputs - `(("libx11" ,libx11) - ("libxext" ,libxext) - ("libxv" ,libxv))) + (list libx11 libxext libxv)) (home-page "https://bellard.org/qemacs/") (synopsis "Small but powerful text editor") (description "QEmacs (for Quick Emacs) is a very small but @@ -681,18 +665,17 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB. "19cf55b86yj2b5hdazbyw4iyp6xq155243aiyg4m0vhwh0h79nwh")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("qttools" ,qttools))) ; for lrelease + (list pkg-config qttools)) ; for lrelease (inputs - `(("hunspell" ,hunspell) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtmultimedia" ,qtmultimedia) - ("qtquickcontrols" ,qtquickcontrols) - ("qtsvg" ,qtsvg) - ("qtwebchannel" ,qtwebchannel))) + (list hunspell + qtbase-5 + qtdeclarative + qtmultimedia + qtquickcontrols + qtsvg + qtwebchannel)) (propagated-inputs ; To get native-search-path - `(("qtwebengine" ,qtwebengine))) + (list qtwebengine)) (arguments `(#:phases (modify-phases %standard-phases @@ -725,7 +708,7 @@ environment with Markdown markup.") (define-public manuskript (package (name "manuskript") - (version "0.12.0") + (version "0.13.1") (source (origin (method git-fetch) @@ -734,7 +717,7 @@ environment with Markdown markup.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0gfwwnpjslb0g8y3v9ha4sd8in6bpy6bhi4rn4hmfd2vmq2flpbd")))) + (base32 "1rj41wimmaq47lwaz0d1iq270klp96xv9dpfdsxi5a2xcdm80jac")))) (build-system python-build-system) (arguments `(#:tests? #f ;no test @@ -765,7 +748,8 @@ environment with Markdown markup.") (let ((bin (string-append out "/bin")) (executable (string-append share "/bin/manuskript"))) (wrap-program executable - (list "PYTHONPATH" 'prefix (list (getenv "PYTHONPATH")))) + (list "GUIX_PYTHONPATH" 'prefix + (list (getenv "GUIX_PYTHONPATH")))) (mkdir-p bin) (with-directory-excursion bin (symlink (string-append share "/bin/manuskript") @@ -788,11 +772,7 @@ environment with Markdown markup.") #:categories "Office;WordProcessor;")) #t)))))) (inputs - `(("pandoc" ,pandoc) - ("python-lxml" ,python-lxml) - ("python-markdown" ,python-markdown) - ("python-pyqt" ,python-pyqt) - ("qtsvg" ,qtsvg))) + (list pandoc python-lxml python-markdown python-pyqt qtsvg)) (home-page "http://www.theologeek.ch/manuskript/") (synopsis "Tool for writers") (description "Manuskript provides a rich environment to help @@ -861,7 +841,7 @@ in plain text file format.") (sha256 (base32 "1s29p4brmcsc3xsww3gk85dg45f1kk3iykh1air3ij0hymf5dyqy")))))) (inputs - `(("pcre2" ,pcre2))) + (list pcre2)) (home-page "https://editorconfig.org/") (synopsis "EditorConfig core library written in C") (description "EditorConfig makes it easy to maintain the correct coding @@ -874,25 +854,26 @@ editors.") (define-public texmacs (package (name "texmacs") - (version "2.1") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/" "source/TeXmacs-" version "-src.tar.gz")) (sha256 - (base32 "1gl6k1bwrk1y7hjyl4xvlqvmk5crl4jvsk8wrfp7ynbdin6n2i48")))) - (build-system gnu-build-system) + (base32 "0c780vcwppzhb70d3d96md3hra7338d4fv3aj0sm7jx0mj2a334i")))) + (build-system cmake-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("xdg-utils" ,xdg-utils))) ;for xdg-icon-resource + (list pkg-config xdg-utils)) ;for xdg-icon-resource (inputs - `(("freetype" ,freetype) - ("guile" ,guile-1.8) - ("perl" ,perl) - ("python" ,python-wrapper) - ("qt" ,qtbase-5) - ("qtsvg" ,qtsvg))) + (list freetype + guile-1.8 + libjpeg-turbo + perl + python-wrapper + qtbase-5 + qtsvg + sqlite)) (arguments `(#:tests? #f ; no check target #:phases @@ -903,13 +884,6 @@ editors.") (substitute* "packages/linux/icons.sh" (("/usr/share") (string-append out "/share")))))) - (add-after 'install 'install-desktop-file - (lambda* (#:key outputs #:allow-other-keys) - ;; Install desktop file. - (let* ((out (assoc-ref outputs "out")) - (apps (string-append out "/share/applications")) - (source "TeXmacs/misc/mime/texmacs.desktop")) - (install-file source apps)))) (add-before 'configure 'gzip-flags (lambda _ (substitute* "Makefile.in" @@ -927,17 +901,19 @@ Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "5.1.1") + (version "5.1.5") (source (origin (method url-fetch) (uri (let ((v (apply string-append (string-split version #\.)))) (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) (sha256 - (base32 "1d0yjx2wlx4fj5bccxdgfmrr7nzazkw4m08i6h4c0a54sb484yif")))) + (base32 "0mwyhjvmvxyip9z169bgpkz4k9la802z438m8bb0f4gyqfbif999")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") + `(#:make-flags (list "GTK3=1" + ,(string-append "CC=" (cc-for-target)) + "-Cgtk") #:tests? #f ;require un-packaged Pyside #:phases (modify-phases %standard-phases @@ -953,11 +929,9 @@ Octave. TeXmacs is completely extensible via Guile.") (for-each (lambda (f) (install-file f include)) (find-files "include/" ".")))))))) (native-inputs - `(("gcc" ,gcc-9) ;Code has C++17 requirements - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (list pkg-config python-wrapper)) (inputs - `(("gtk+" ,gtk+))) + (list gtk+)) (home-page "https://www.scintilla.org/") (synopsis "Code editor for GTK+") (description "Scintilla is a source code editing component for @@ -973,30 +947,30 @@ and multiple fonts.") (define-public geany (package (name "geany") - (version "1.37.1") + (version "1.38") (source (origin (method url-fetch) (uri (string-append "https://download.geany.org/" "geany-" version ".tar.bz2")) (sha256 - (base32 "060sachn33xpx3a609f09y97qq5ky17gvv686zbvrn618ij7bi8q")))) + (base32 "0inmmb9wra2w99pfv6p64d66s2zrhafc8drhwmga7gj89mp1gzxb")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("doxygen" ,doxygen) - ("glib" ,glib "bin") - ("intltool" ,intltool) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("python-docutils" ,python-docutils))) ;for rst2html + (list autoconf + automake + doxygen + `(,glib "bin") + intltool + libtool + pkg-config + python-docutils)) ;for rst2html (inputs - `(("gtk+" ,gtk+) - ;; FIXME: Geany bundles a 3.X release of Scintilla. It is not - ;; currently possible to replace it with our Scintilla package. - ;; ("scintilla" ,scintilla) - )) + (list gtk+ + ;; FIXME: Geany bundles a 3.X release of Scintilla. It is not + ;; currently possible to replace it with our Scintilla package. + ;; ("scintilla" ,scintilla) + )) (arguments `(#:imported-modules ((guix build glib-or-gtk-build-system) ,@%gnu-build-system-modules) @@ -1059,7 +1033,7 @@ The basic features of Geany are: (native-inputs `(("gettext" ,gettext-minimal))) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (home-page "http://www.moria.de/~michael/fe/") (synopsis "Small folding editor") (description "Fe is a small folding editor. It folds @@ -1095,10 +1069,9 @@ card. It offers: "0sg2f6lxq6cjkpd3dvlxxns82hvq826rjnams5in97pssmknr77g")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl) - ("texinfo" ,texinfo))) + (list perl texinfo)) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (arguments `(#:tests? #f #:make-flags @@ -1149,7 +1122,7 @@ files. It was originally developed on the Amiga 3000T.") (modify-phases %standard-phases (delete 'configure)))) ;no configure script (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (home-page "https://devel.ringlet.net/editors/hexer/") (synopsis "Multi buffer editor for binary files with vi-like interface") (description "Hexer is a multi-buffer editor for binary files for Unix-like @@ -1184,11 +1157,8 @@ similar to vi/ex.") (assoc-ref outputs "out") "/share', *path_parts)")))))))) (inputs - `(("python2-lxml" ,python2-lxml) - ("python2-pygtk" ,python2-pygtk) - ("python2-simplejson" ,python2-simplejson) - ("python2-translate-toolkit" ,python2-translate-toolkit) - ("python2-pycurl" ,python2-pycurl))) + (list python2-lxml python2-pygtk python2-simplejson + python2-translate-toolkit python2-pycurl)) (synopsis "Graphical translation tool") (description "Virtaal is a powerful yet simple translation tool with an uncluttered user interface. It supports a multitude of translation formats |