aboutsummaryrefslogtreecommitdiffstats
path: root/main/vim/APKBUILD
blob: 8a046c19c7ca9aacfd9458fc93e93387e0e80df4 (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vim
pkgver=8.2.2559
pkgrel=0
pkgdesc="Improved vi-style text editor"
url="https://www.vim.org/"
arch="all"
license="Vim"
options="!check"  # some tests are failing
depends="xxd"
makedepends="ncurses-dev lua5.3-dev python3-dev gtk+3.0-dev libx11-dev libxt-dev"
subpackages="$pkgname-doc ${pkgname}diff::noarch $pkgname-tutor $pkgname-help gvim xxd"
source="$pkgname-$pkgver.tar.gz::https://github.com/vim/vim/archive/v$pkgver.tar.gz
	vimrc
	"

# secfixes:
#   8.1.1365-r0:
#     - CVE-2019-12735
#   8.0.1521-r0:
#     - CVE-2017-6350
#     - CVE-2017-6349
#   8.0.0329-r0:
#     - CVE-2017-5953
#   8.0.0056-r0:
#     - CVE-2016-1248

prepare() {
	# Read vimrc from /etc/vim
	echo '#define SYS_VIMRC_FILE "/etc/vim/vimrc"' >> src/feature.h
	cp -r "$builddir" "$builddir"-gvim
	default_prepare
}

build() {
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-luainterp \
		--enable-python3interp=dynamic \
		--without-x \
		--disable-nls \
		--enable-multibyte \
		--enable-gui=no \
		--with-lua-prefix=/usr/lua5.3 \
		--with-compiledby="Alpine Linux"
	make
	cd "$builddir"-gvim
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-luainterp \
		--enable-python3interp=dynamic \
		--with-x \
		--disable-nls \
		--enable-multibyte \
		--enable-gui=gtk3 \
		--with-lua-prefix=/usr/lua5.3 \
		--with-compiledby="Alpine Linux"
	make
}

check() {
	make test
}

package() {
	make -j1 DESTDIR="$pkgdir/" install

	install -Dm644 runtime/doc/uganda.txt \
		"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
	install -Dm644 "$srcdir"/vimrc "$pkgdir"/etc/vim/vimrc
}

gvim() {
	pkgdesc="advanced text editor, with GUI"
	provides="vim"
	cd "$builddir"-gvim
	make -j1 DESTDIR="$subpkgdir/" install

	install -Dm644 runtime/doc/uganda.txt \
		"$subpkgdir/usr/share/licenses/$pkgname/LICENSE"
	install -Dm644 "$srcdir"/vimrc "$subpkgdir"/etc/vim/vimrc
	rm -rf "$subpkgdir"/usr/share/man
	rm "$subpkgdir/usr/bin/xxd"
}

vimdiff() {
	pkgdesc="view file diffs in vim"
	depends="diffutils vim"
	options="!tracedeps"

	install -d "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/vimdiff "$subpkgdir"/usr/bin
}

tutor() {
	pkgdesc="vim tutor and tutor files"
	depends="vim"
	options="!tracedeps"

	install -d "$subpkgdir"/usr/bin
	install -d "$subpkgdir"/usr/share/vim/vim82/tutor
	mv "$pkgdir"/usr/bin/vimtutor "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/share/vim/vim82/tutor "$subpkgdir"/usr/share/vim/vim82/
}

help() {
	pkgdesc="vim help files"
	depends="vim"
	options="!tracedeps"

	install -d "$subpkgdir"/usr/share/vim/vim82/doc
	mv "$pkgdir"/usr/share/vim/vim82/doc "$subpkgdir"/usr/share/vim/vim82/
}

xxd() {
	pkgdesc="tool to make (or reverse) a hex dump"
	depends=""
	echo "$pkgdir" "$subpkgdir"
	mkdir -p "$subpkgdir/usr/bin"
	mv "$pkgdir/usr/bin/xxd" \
	   "$subpkgdir/usr/bin/"
}

sha512sums="1daf4c314ac0c06e1d659a27aa460c87315545ed3b6105aa058dbd9e0f02d1a77d27e40532c06037f0b7f4e398dbd83008e7fc69f69713eaa5cd34ac1f9ff088  vim-8.2.2559.tar.gz
d9586b777881973cb5e48e18750336a522ed72c3127b2d6b6991e2b943468ca5b694476e7fa39ab469178c1375fc8f52627484e0fe377aea5811a513e35a7b02  vimrc"