aboutsummaryrefslogtreecommitdiff
path: root/nvim/Staplerfile
blob: 2129d6db14c000730c7b0efa9378837e2a1052d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name="nvim"
version="0.11.6"
release=1
summary="Vim-fork focused on extensibility and usability"
desc="Neovim is a project that seeks to aggressively refactor Vim in order to:
    Simplify maintenance and encourage contributions
    Split the work between multiple developers
    Enable advanced UIs without modifications to the core
    Maximize extensibility"
maintainer="Alexander NeonXP Kiryukhin <i@neonxp.ru>"
architectures=("amd64")
license="Apache-2.0"
sources=("https://github.com/neovim/neovim/archive/refs/tags/v$version.tar.gz")
checksums=("sha256:d1c8e3f484ed1e231fd5f48f53b7345b628e52263d5eef489bb8b73ca8d90fca")
#disable_network=1 # Because nvim downloads tree-sitter packages from shithub

provides=('nvim' 'neovim')
conflicts=('nvim' 'neovim' 'neovim-bin' 'neovim-git')

deps=(
	'libluv'
	'libutf8proc3'
	'libuv'
	'libmsgpack-c'
	'tree-sitter-c'
	'tree-sitter-lua'
	'tree-sitter-markdown'
	#'tree-sitter-query'
	'tree-sitter-vimdoc'
	#'tree-sitter-vim'
	'libtree-sitter'
	'unibilium'
)


build_deps=(
	'make'
	'cmake'
	'git'
	'ninja-build'
	'unzip'
	'libluv-devel'
	'libutf8proc-devel'
	'libuv-devel'
	'libmsgpack-c-devel'
	'libtree-sitter-devel'
	'unibilium-devel'
)



build() {
    cd neovim-$version
    mkdir -p build
    cd build
    cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_INSTALL_RPATH=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF
    ninja
}

package() {
    # Install binaries from build directory
    install-binary $srcdir/neovim-$version/build/bin/nvim

    # Install man pages
    for i in nvim.1; do
        install-manual $srcdir/neovim-$version/build/runtime/doc/$i
    done;

    # Install tree-sitter parsers
    for i in c.so  lua.so  markdown_inline.so  markdown.so  query.so  vimdoc.so  vim.so; do
        install-library $srcdir/neovim-$version/build/runtime/parser/$i nvim/parser/$i
    done;

    # Install desktop entry
    install-desktop $srcdir/neovim-$version/build/runtime/nvim.desktop

    # Install icon
    install-pixmap $srcdir/neovim-$version/build/runtime/nvim.png

    # Install runtime files (install to correct location)
    mkdir -p "$pkgdir/usr/share/nvim"
    cp -r "$srcdir/neovim-$version/build/runtime/nvim" "$pkgdir/usr/share/nvim"
}

files() {
    files-find "/**/*"
}