blob: e11f094a9ef3f723f1c4c39c2fa8ec4d9e00d7eb (
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
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ncurses
pkgver=6.1_p20190518
_ver=${pkgver/_p/-}
pkgrel=2
pkgdesc="Console display library"
url="https://www.gnu.org/software/ncurses/"
arch="all"
options="!check" # "tests" are actual demo programs, not a test suite.
license="MIT"
makedepends_build="ncurses"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs
$pkgname-terminfo-base:base:noarch $pkgname-terminfo:terminfo:noarch"
source="https://dev.alpinelinux.org/archive/ncurses/ncurses-$_ver.tgz"
builddir="$srcdir"/ncurses-$_ver
# secfixes:
# 6.1_p20180414-r0:
# - CVE-2018-10754
# 6.0_p20171125-r0:
# - CVE-2017-16879
# 6.0_p20170701-r0:
# - CVE-2017-10684
build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--mandir=/usr/share/man \
--without-ada \
--without-tests \
--disable-termcap \
--disable-rpath-hack \
--disable-stripping \
--with-pkg-config-libdir=/usr/lib/pkgconfig \
--without-cxx-binding \
--with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo:/lib/terminfo:/usr/lib/terminfo" \
--enable-pc-files \
--with-shared \
--enable-widec
make
}
package() {
make -j1 DESTDIR="$pkgdir" install
# Install basic terms in /etc/terminfo
for i in ansi console dumb linux rxvt screen sun vt52 vt100 vt102 \
vt200 vt220 xterm xterm-color xterm-xfree86; do
local termfile=$(find "$pkgdir"/usr/share/terminfo/ -name "$i" 2>/dev/null) || true
local basedir=$(basename $(dirname "$termfile"))
[ -z "$termfile" ] && continue
install -d "$pkgdir"/etc/terminfo/$basedir
mv ${termfile} "$pkgdir"/etc/terminfo/$basedir/
ln -s ../../../../etc/terminfo/$basedir/$i \
"$pkgdir"/usr/share/terminfo/$basedir/$i
done
}
dev() {
default_dev
# force link against *w.so
for lib in ncurses ncurses++ form panel menu; do
echo "INPUT(-l${lib}w)" > "$subpkgdir"/usr/lib/lib${lib}.so
ln -s ${lib}w.pc "$subpkgdir"/usr/lib/pkgconfig/${lib}.pc
done
# link curses -> ncurses
echo "INPUT(-lncursesw)" > "$subpkgdir"/usr/lib/libcursesw.so
ln -s libncurses.so "$subpkgdir"/usr/lib/libcurses.so
}
terminfo() {
depends=""
pkgdesc="$pkgdesc (other terminfo files)"
depends="$pkgname-terminfo-base=$pkgver-r$pkgrel"
_mv etc/terminfo
_mv usr/share/terminfo
_mv usr/lib/terminfo
}
libs() {
pkgdesc="Ncurses libraries"
depends="$pkgname-terminfo-base=$pkgver-r$pkgrel"
provides="ncurses-widec-libs=$pkgver-r$pkgrel"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*.so.* "$subpkgdir"/usr/lib
}
_mv() {
[ -n "$subpkgdir" ] || return 1
# store directory
d="$(pwd -L)"
cd "$pkgdir"
local pattern f
for pattern; do
for f in ${pattern#/}; do # let shell expand the pattern
# only create dir if needed
if [ "${f%/*}" != "$f" ]; then
mkdir -p "$subpkgdir/${f%/*}"
fi
mv -v "$pkgdir"/$f "$subpkgdir/${f%/*}"
# cleanup
rmdir -p "$f" || rmdir -p "${f%/*}" || true
done
done
}
base() {
depends=""
pkgdesc="Descriptions of common terminals"
_mv usr/share/terminfo/x/xterm-256color
_mv usr/share/terminfo/a/alacritty
_mv usr/share/terminfo/t/tmux
_mv usr/share/terminfo/t/tmux-256color
_mv usr/share/terminfo/t/terminator
_mv usr/share/terminfo/t/terminology*
_mv usr/share/terminfo/v/vte
_mv usr/share/terminfo/v/vte-256color
_mv usr/share/terminfo/g/gnome
_mv usr/share/terminfo/g/gnome-256color
_mv usr/share/terminfo/k/kitty
_mv usr/share/terminfo/k/konsole
_mv usr/share/terminfo/k/konsole-256color
_mv usr/share/terminfo/k/konsole-linux
_mv usr/share/terminfo/p/putty
_mv usr/share/terminfo/p/putty-256color
_mv usr/share/terminfo/r/rxvt
_mv usr/share/terminfo/r/rxvt-256color
_mv usr/share/terminfo/s/st-0*
_mv usr/share/terminfo/s/st-256color
_mv usr/share/terminfo/s/screen-256color
_mv etc/terminfo
mkdir -p "$pkgdir"/etc/terminfo/s
mv "$subpkgdir"/etc/terminfo/s/sun "$pkgdir"/etc/terminfo/s
mv "$subpkgdir"/etc/terminfo/v "$pkgdir"/etc/terminfo
}
static() {
pkgdesc="Static libraries for the ncurses library"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
}
sha512sums="4db445548a8b9a4160af8dace302390522fb2281032c4eb49aa1ea19f78adfd49233e3fe4a2594efb3c27ff35e6aad8c076bdfb518900445cdf02265a3d5da19 ncurses-6.1-20190518.tgz"
|