summaryrefslogtreecommitdiff
path: root/system/ncurses/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'system/ncurses/APKBUILD')
-rw-r--r--system/ncurses/APKBUILD106
1 files changed, 106 insertions, 0 deletions
diff --git a/system/ncurses/APKBUILD b/system/ncurses/APKBUILD
new file mode 100644
index 000000000..541010af1
--- /dev/null
+++ b/system/ncurses/APKBUILD
@@ -0,0 +1,106 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ncurses
+pkgver=6.0_p20180121
+_ver=${pkgver%_p*}-${pkgver#*_p}
+pkgrel=1
+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"
+depends=
+makedepends_build="ncurses"
+source="http://invisible-mirror.net/archives/ncurses/current/ncurses-$_ver.tgz"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs
+ $pkgname-terminfo-base:base:noarch $pkgname-terminfo:terminfo:noarch"
+
+builddir="$srcdir"/ncurses-$_ver
+
+# secfixes:
+# 6.0_p20171125-r0:
+# - CVE-2017-16879
+# 6.0_p20170701-r0:
+# - CVE-2017-10684
+
+build() {
+ cd "$builddir"
+
+ ./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" \
+ --enable-pc-files \
+ --with-shared \
+ --enable-widec
+ make
+}
+
+package() {
+ cd "$builddir"
+ 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() {
+ pkgdesc="$pkgdesc (other terminfo files)"
+ depends="$pkgname-terminfo-base"
+ rm -rf $subpkgdir
+ mkdir -p $subpkgdir/usr/share
+ mv $pkgdir/usr/share/terminfo $subpkgdir/usr/share
+}
+
+libs() {
+ pkgdesc="Ncurses libraries"
+ depends="$pkgname-terminfo-base"
+ provides="ncurses-widec-libs=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"/usr/
+ mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
+}
+
+base() {
+ pkgdesc="Descriptions of common terminals"
+ mkdir -p "$subpkgdir"/etc
+ mv "$pkgdir"/etc/terminfo "$subpkgdir"/etc/
+}
+
+static() {
+ pkgdesc="Static libraries for the ncurses library"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
+}
+
+sha512sums="f233a0630df01d96e01c5fabfb8a3d96860c9d8827c910019af410ee1b3190979a8f357ca292b083914c5ef41532f068d46685d4919b4c1d9258add5fb4dc343 ncurses-6.0-20180121.tgz"