diff --git a/srcpkgs/ksh/template b/srcpkgs/ksh/template index e1a1c40cd6..57025160c5 100644 --- a/srcpkgs/ksh/template +++ b/srcpkgs/ksh/template @@ -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 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() {