aboutsummaryrefslogtreecommitdiffstats
path: root/community/neovim/APKBUILD
blob: 4122836ce559421c3d26139c10b42e5f05004da0 (plain)
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
# Contributor: Daniel Sabogal <dsabogalcc@gmail.com>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
#
# secfixes:
#   0.1.6-r1:
#     - CVE-2016-1248
#   0.2.0-r0:
#     - CVE-2017-5953
#     - CVE-2017-6349
#     - CVE-2017-6350
#   0.3.6-r0:
#     - CVE-2019-12735

# TODO: Try to trim the base package to include only common syntax files etc.
pkgname=neovim
pkgver=0.4.3
pkgrel=1
pkgdesc="Vim-fork focused on extensibility and agility"
url="https://neovim.io"
arch="all"
license="Apache-2.0 custom"
makedepends="cmake gettext-dev gperf libtermkey-dev libuv-dev libvterm-dev
	lua5.1-lpeg lua5.1-mpack msgpack-c-dev unibilium-dev libluv-dev"
# Build neovim with lua instead of luajit on aarch64
# See https://github.com/neovim/neovim/issues/7879
case "$CARCH" in
	aarch64) makedepends="$makedepends lua5.1-dev lua5.1-bitop" ;;
	*) makedepends="$makedepends luajit-dev" ;;
esac
subpackages="$pkgname-lang $pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/neovim/neovim/archive/v$pkgver.tar.gz
	nodoc.txt
	"

build() {
	mkdir -p "$builddir"/build
	cd "$builddir"/build

	local cmakeoptions=
	case "$CARCH" in
		aarch64) cmakeoptions="-DPREFER_LUA=ON" ;;
	esac

	cmake .. \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DENABLE_JEMALLOC=FALSE \
		-DCMAKE_VERBOSE_MAKEFILE=TRUE \
		$cmakeoptions
	make
}

package() {
	cd "$builddir"/build
	make DESTDIR="$pkgdir" install
}

doc() {
	default_doc

	pkgdesc="$pkgdesc (documentation and help pages)"
	replaces="$pkgname"
	local docdir="usr/share/nvim/runtime/doc"

	mkdir -p "$subpkgdir"/$docdir
	mv "$pkgdir"/$docdir/*.txt "$subpkgdir"/$docdir/

	# When user execute ":help <pattern>", neovim will open nodoc.txt
	# with information why docs are not available and how to install them.
	install -D "$srcdir"/nodoc.txt \
		"$pkgdir"/$docdir/nodoc.txt
	local f; for f in "$subpkgdir"/$docdir/*.txt; do
		ln -s nodoc.txt "$pkgdir"/$docdir/$(basename $f)
	done
}

sha512sums="e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5  neovim-0.4.3.tar.gz
72ab288f53acddc088c567aafe8c5afa6835325fab7879e782d1d62f87a662f3a6bac123c450debbae1b32336cc60b2830b429838ee3dfcc7524773b5069f4f0  nodoc.txt"