diff options
| author | Kurt Kremitzki <kurt@kwk.systems> | 2026-02-06 19:31:30 -0600 |
|---|---|---|
| committer | Andreas Enge <andreas@enge.fr> | 2026-02-24 15:12:24 +0100 |
| commit | fea6f5f5c059d098c488d9c1389fcefcd05c8c31 (patch) | |
| tree | fda7b28a111b7450c38de283ae571541d8b7e9ea /gnu/packages/vim.scm | |
| parent | 4426a2accba60acaee2240e97e62c6615d29a0ac (diff) | |
gnu: Add neovim-qt.
* gnu/packages/vim.scm (neovim-qt): New variable.
Change-Id: I4210f8822bc10695c85320f45fae1ac60afb767a
Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu/packages/vim.scm')
| -rw-r--r-- | gnu/packages/vim.scm | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 4bdec0a3432..a43e797f9fd 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm | |||
| @@ -44,6 +44,7 @@ | |||
| 44 | #:use-module (guix build-system gnu) | 44 | #:use-module (guix build-system gnu) |
| 45 | #:use-module (guix build-system python) | 45 | #:use-module (guix build-system python) |
| 46 | #:use-module (guix build-system pyproject) | 46 | #:use-module (guix build-system pyproject) |
| 47 | #:use-module (guix build-system qt) | ||
| 47 | #:use-module (guix build-system vim) | 48 | #:use-module (guix build-system vim) |
| 48 | #:use-module (gnu packages) | 49 | #:use-module (gnu packages) |
| 49 | #:use-module (gnu packages acl) | 50 | #:use-module (gnu packages acl) |
| @@ -54,12 +55,14 @@ | |||
| 54 | #:use-module (gnu packages check) | 55 | #:use-module (gnu packages check) |
| 55 | #:use-module (gnu packages code) | 56 | #:use-module (gnu packages code) |
| 56 | #:use-module (gnu packages coq) | 57 | #:use-module (gnu packages coq) |
| 58 | #:use-module (gnu packages documentation) | ||
| 57 | #:use-module (gnu packages enlightenment) | 59 | #:use-module (gnu packages enlightenment) |
| 58 | #:use-module (gnu packages fontutils) | 60 | #:use-module (gnu packages fontutils) |
| 59 | #:use-module (gnu packages gawk) | 61 | #:use-module (gnu packages gawk) |
| 60 | #:use-module (gnu packages gettext) | 62 | #:use-module (gnu packages gettext) |
| 61 | #:use-module (gnu packages glib) | 63 | #:use-module (gnu packages glib) |
| 62 | #:use-module (gnu packages gperf) | 64 | #:use-module (gnu packages gperf) |
| 65 | #:use-module (gnu packages graphviz) | ||
| 63 | #:use-module (gnu packages groff) | 66 | #:use-module (gnu packages groff) |
| 64 | #:use-module (gnu packages gtk) | 67 | #:use-module (gnu packages gtk) |
| 65 | #:use-module (gnu packages image) | 68 | #:use-module (gnu packages image) |
| @@ -74,6 +77,7 @@ | |||
| 74 | #:use-module (gnu packages python) | 77 | #:use-module (gnu packages python) |
| 75 | #:use-module (gnu packages python-build) | 78 | #:use-module (gnu packages python-build) |
| 76 | #:use-module (gnu packages python-xyz) | 79 | #:use-module (gnu packages python-xyz) |
| 80 | #:use-module (gnu packages qt) | ||
| 77 | #:use-module (gnu packages ruby) | 81 | #:use-module (gnu packages ruby) |
| 78 | #:use-module (gnu packages serialization) | 82 | #:use-module (gnu packages serialization) |
| 79 | #:use-module (gnu packages shells) | 83 | #:use-module (gnu packages shells) |
| @@ -1761,3 +1765,56 @@ line of a file contains @@startuml. Additionally the makeprg is set to plantuml | |||
| 1761 | assuming you have this executable in your path.") | 1765 | assuming you have this executable in your path.") |
| 1762 | (home-page "https://github.com/aklt/plantuml-syntax") | 1766 | (home-page "https://github.com/aklt/plantuml-syntax") |
| 1763 | (license license:vim)))) | 1767 | (license license:vim)))) |
| 1768 | |||
| 1769 | (define-public neovim-qt | ||
| 1770 | (package | ||
| 1771 | (name "neovim-qt") | ||
| 1772 | (version "0.2.19") | ||
| 1773 | (source | ||
| 1774 | (origin | ||
| 1775 | (method git-fetch) | ||
| 1776 | (uri (git-reference | ||
| 1777 | (url "https://github.com/equalsraf/neovim-qt") | ||
| 1778 | (commit (string-append "v" version)))) | ||
| 1779 | (file-name (git-file-name name version)) | ||
| 1780 | (sha256 | ||
| 1781 | (base32 "0i7gr33q85mg1znf2383lqan7cbsb2kh7k9hzzb62yjmgj1yvgmg")))) | ||
| 1782 | (build-system qt-build-system) | ||
| 1783 | (native-inputs (list doxygen graphviz xvfb-run)) | ||
| 1784 | (inputs (list msgpack-c neovim python qtbase qtsvg)) | ||
| 1785 | (arguments | ||
| 1786 | (list | ||
| 1787 | #:configure-flags | ||
| 1788 | #~(list "-DWITH_QT:STRING=Qt6" "-DUSE_SYSTEM_MSGPACK:BOOL=ON" | ||
| 1789 | "-DENABLE_TESTS:BOOL=ON") | ||
| 1790 | #:phases | ||
| 1791 | #~(modify-phases %standard-phases | ||
| 1792 | (add-after 'unpack 'replace-default-nvim-bin-path | ||
| 1793 | (lambda* _ | ||
| 1794 | (let ((nvim-bin-path (which "nvim"))) | ||
| 1795 | (substitute* "src/gui/app.cpp" | ||
| 1796 | (("(parser.value\\(\"nvim\"\\) : \")(nvim)(\" };)" all start | ||
| 1797 | nvim-bin end) | ||
| 1798 | (string-append start nvim-bin-path end)) | ||
| 1799 | ((", nvim\\{ parser.value\\(\"nvim\"\\) \\}") | ||
| 1800 | (string-append ", nvim{ (parser.isSet(\"nvim\")) ?\n" | ||
| 1801 | "parser.value(\"nvim\") : \"" nvim-bin-path | ||
| 1802 | "\"}")))))) | ||
| 1803 | (replace 'check | ||
| 1804 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 1805 | (when tests? | ||
| 1806 | (let ((xdg-runtime-dir (string-append (getcwd) "/runtime-dir"))) | ||
| 1807 | ;; QStandardPaths: wrong permissions on runtime directory | ||
| 1808 | (setenv "XDG_RUNTIME_DIR" xdg-runtime-dir) | ||
| 1809 | (mkdir xdg-runtime-dir) | ||
| 1810 | (chmod xdg-runtime-dir #o700)) | ||
| 1811 | (setenv "QT_QPA_PLATFORM" "offscreen") | ||
| 1812 | (setenv "HOME" | ||
| 1813 | (getenv "TMPDIR")) | ||
| 1814 | ;; TODO: Investigate failure of tst_shell | ||
| 1815 | (invoke "xvfb-run" "ctest" "--exclude-regex" "tst_shell"))))))) | ||
| 1816 | (synopsis "Neovim client library and GUI, in Qt") | ||
| 1817 | (description | ||
| 1818 | "Neovim Qt is a lightweight cross-platform Neovim GUI written in C++ with Qt.") | ||
| 1819 | (home-page "https://github.com/equalsraf/neovim-qt") | ||
| 1820 | (license license:isc))) | ||
