diff gnu/ncurses/ncurses.sh @ 1114:6de02aa035d2

gnu: move GNU packages to this category
author David Demelier <markand@malikania.fr>
date Thu, 19 Sep 2019 15:09:24 +0200
parents lib/ncurses/ncurses.sh@ddab65a5b3f5
children 297b5eef115e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnu/ncurses/ncurses.sh	Thu Sep 19 15:09:24 2019 +0200
@@ -0,0 +1,72 @@
+#!/bin/busybox sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=ncurses
+PKGVERSION=6.1
+PKGREVISION=1
+PKGLICENSE="MIT"
+PKGSUMMARY="curses library"
+PKGDOWNLOAD="https://ftp.gnu.org/pub/gnu/$PKGNAME/$PKGNAME-$PKGVERSION.tar.gz"
+
+: ${CHOST:=$(uname -m)-linux-musl}
+: ${CBUILD:=$(uname -m)-linux-musl}
+: ${CC:=clang}
+: ${CFLAGS:=-O2}
+: ${LDFLAGS:=}
+: ${LIBS:=}
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvf $PKGNAME-$PKGVERSION.tar.gz
+	cd $PKGNAME-$PKGVERSION
+
+	# --enable-overwrite: required when prefix is not /usr.
+	# --enable-pc-files: lots of packages require this.
+	# --enable-widec: some packages require this it (e.g. neomutt).
+	# --with-manpage-format=normal: vpk compress by itself.
+	CC="$CC" \
+	CFLAGS="$CFLAGS" \
+	LDFLAGS="$LDFLAGS" \
+	LIBS="$LIBS" \
+	./configure \
+		--build=$CBUILD \
+		--host=$CHOST \
+		--enable-overwrite \
+		--enable-pc-files \
+		--enable-widec \
+		--prefix= \
+		--with-manpage-format=normal \
+		--with-pkg-config-libdir=/lib/pkgconfig \
+		--with-shared \
+		--without-debug
+	make
+	make install DESTDIR=$DESTDIR
+
+	# For each wide library, create a input link.
+	for lib in ncurses ncurses++ form panel menu; do
+		echo "INPUT(-l${lib}w)" > $DESTDIR/lib/lib${lib}.so
+		ln -s ${lib}w.pc $DESTDIR/lib/pkgconfig/${lib}.pc
+	done
+
+	# Create a legacy libcurses library.
+	echo "INPUT(-lncursesw)" > $DESTDIR/lib/libcursesw.so
+	ln -s libncurses.so $DESTDIR/lib/libcurses.so
+
+	cd ..
+	rm -rf $PKGNAME-$PKGVERSION
+}