ksh: fixes for musl.

This commit is contained in:
Christian Neukirchen 2015-05-23 21:33:14 +02:00
parent 4f9a2d524c
commit 931a41280f

View File

@ -2,7 +2,7 @@
pkgname=ksh
version=2012.08.01
_debpkgver=93u+20120801
revision=2
revision=3
wrksrc=${pkgname}-${_debpkgver}
register_shell="/bin/ksh"
short_desc="AT&T's Korn shell (ksh93)"
@ -11,15 +11,40 @@ license="custom"
homepage="http://www.kornshell.com/"
distfiles="${DEBIAN_SITE}/main/k/ksh/ksh_${_debpkgver}.orig.tar.gz"
checksum=052d598df7ed3cbd0fdf458b796262b0b59f4cd3305d970be1cc2287408dbfc9
nocross=yes
build_options="static"
case "$XBPS_TARGET_MACHINE" in
*-musl)
post_extract() {
# Don't rewrite xxx64 to xxx.
sed -i '/define.*off_t/d' src/lib/libast/include/ast_std.h
sed -i '/off_t/d' src/lib/libast/features/fs
sed -i '/define statvfs/d' src/lib/libast/features/fs
sed -i '/define.*64/d' src/cmd/ksh93/include/shell.h
# Don't let <stdio.h> define FILE.
sed -i '/include.*_nxt_wchar/i#define __DEFINED_FILE' \
src/lib/libast/features/wchar
sed -i '/define FILE/a#define __DEFINED_FILE' src/lib/libast/include/ast.h
# Redefine iswalpha.
sed -i 's/#define iswalpha(w)\(.*\)/static __inline__ int isalphaw(wint_t w) { return \1; }/' src/lib/libast/features/wctype
}
esac
do_build() {
if [ "$build_option_static" ]; then
LDFLAGS+=" -static"
fi
SHELL=/bin/sh bin/package make \
CC="/usr/bin/${CC}" LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}"
echo $CC
export SHELL=/bin/sh # bin/package breaks on bash
$SHELL bin/package make \
CC="${CC}" LDFLAGS="${LDFLAGS}" \
CFLAGS="${CFLAGS} -D_GNU_SOURCE" \
CCFLAGS="${CFLAGS} -D_GNU_SOURCE" \
HOSTTYPE="$($SHELL bin/package host canon $XBPS_CROSS_TRIPLET)"
}
do_install() {