From 646a5c1cbfd95873950a87b5f75d52073a967023 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Mon, 28 May 2018 19:12:29 +0000 Subject: Mon May 28 19:12:29 UTC 2018 a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded. --- source/ap/ksh93/ksh93.SlackBuild | 221 +++++++++++++-------------------------- 1 file changed, 73 insertions(+), 148 deletions(-) (limited to 'source/ap/ksh93/ksh93.SlackBuild') diff --git a/source/ap/ksh93/ksh93.SlackBuild b/source/ap/ksh93/ksh93.SlackBuild index 44db3a9e3..3a002035e 100755 --- a/source/ap/ksh93/ksh93.SlackBuild +++ b/source/ap/ksh93/ksh93.SlackBuild @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash # Copyright 2001 BSDi, Inc. Concord, CA, USA # Copyright 2004 Slackware Linux, Inc. Concord, CA, USA -# Copyright 2007, 2008, 2009, 2010, 2013, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007, 2008, 2009, 2010, 2013, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,13 +21,12 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) -VERSION=2012-08-01 -PKGVER=2012_08_01 -# Not packaged? -# Seems to conflict with locations already used by glibc. -#KSHLOCALE=2010-02-02 -BUILD=${BUILD:-2} +PKGNAM=ksh93 +SRCNAM=att-ast +VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -39,27 +38,44 @@ if [ -z "$ARCH" ]; then esac fi -# ast considers this an i386 arch, so we'll humor it -# but package with our real arch label... -if [ "$ARCH" = "x86_64" ]; then - SARCH=i386-64 +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" else - SARCH=i386 + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi -CWD=$(pwd) -TMP=/tmp/build-ksh93 -PKG=/tmp/package-ksh93 +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM -rm -rf $TMP $PKG +rm -rf $PKG mkdir -p $TMP $PKG -cd $TMP -mkdir -p ast-base/lib/package/tgz -cp $CWD/*.tgz ast-base/lib/package/tgz -cd ast-base/ - -tar -xzf lib/package/tgz/INIT.$VERSION.tgz || exit 1 +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1 +cd $SRCNAM-$VERSION || exit 1 chown -R root:root . find . \ @@ -68,114 +84,37 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -/bin/ksh bin/package read || exit 1 - -zcat $CWD/patches/ksh-20070328-builtins.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20100826-fixregr.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20080202-manfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20100202-pathvar.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20100621-fdstatus.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-rmdirfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-cdfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-cdfix2.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-tabfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20130214-fixkill.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-kshmfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-memlik.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-forkbomb.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-macro.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20130628-longer.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-mlikfiks.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-covsfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20100621-manfix3.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-nomulti.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-fd2lost.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-memlik3.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-filecomsubst.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-crash.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-sufix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-argvfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20140301-fikspand.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-roundit.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-heresub.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20140415-hokaido.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-tpstl.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-mtty.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-manfix4.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-fununset.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-cdfix3.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-locking.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20130613-cdfix4.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-retfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-oldenvinit.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-noexeccdfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-cdfork.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-emptyarrayinit.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-xufix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-assoc-unset-leak.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-alarmifs.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20140929-safefd.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-trapcom.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-lexfix.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20140801-arraylen.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-diskfull.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/ksh-20120801-nohupfork.patch.gz | patch -p1 --verbose || exit 1 - -#/dev/fd test does not work because of mock -sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options - -# sh/main.c was not using CCFLAGS -sed -i '/-c sh\/main.c/s|${mam_cc_FLAGS} |${mam_cc_FLAGS} ${CCFLAGS} |p' src/cmd/ksh93/Mamfile - -# disable register for debugging -sed -i 1i"#define register" src/lib/libast/include/ast.h - -/bin/ksh ./bin/package -/bin/ksh ./bin/package make mamake ||: -/bin/ksh ./bin/package make mamake ||: -export CC=gcc -/bin/ksh ./bin/package make -S || exit 1 - +# Configure, build, and install: +export CC=clang +export CFLAGS="$SLKCFLAGS" +mkdir build +cd build +meson setup \ + --prefix=/usr \ + --libdir=lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --includedir=/usr/include \ + --datadir=/usr/share \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --buildtype=release \ + .. || exit 1 + ninja || exit 1 + DESTDIR=$PKG ninja install || exit 1 +cd .. + +# Stuff we don't ship: +rm -f $PKG/usr/bin/pty +rm -f $PKG/usr/bin/shcomp + +# Move the shell into /bin: mkdir -p $PKG/bin -cp arch/linux.$SARCH/bin/ksh $PKG/bin/ksh.new +mv --verbose $PKG/usr/bin/ksh $PKG/bin/ksh.new || exit 1 +rmdir $PKG/usr/bin || exit 1 strip --strip-unneeded $PKG/bin/ksh.new - -#cp arch/linux.$SARCH/lib/libshell.so.1.1 /usr/lib -#cp arch/linux.$SARCH/lib/libshell.a /usr/lib -#cp arch/linux.$SARCH/lib/libast.so.5.4 /usr/lib -#cp arch/linux.$SARCH/lib/libast.a /usr/lib -#cp arch/linux.$SARCH/src/cmd/ksh93/cc-g,-fpic/libshell.so.1.1 /usr/lib -#cp arch/linux.$SARCH/src/cmd/ksh93/cc-g,-fpic/libshell.a /usr/lib -#cp arch/linux.$SARCH/src/lib/libast/libast.so.5.4 /usr/lib -#cp arch/linux.$SARCH/src/cmd/ksh93/cc-g,-fpic/libast.a /usr/lib -#strip /usr/lib/libast.so.5.4 /usr/lib/libshell.so.1.1 - -mkdir -p $PKG/usr/man/man1 -sed -e "s#\.nr Z 0#\.nr Z 1#g" src/cmd/ksh93/sh.1 > \ - $PKG/usr/man/man1/ksh.1 -#mkdir -p $PKG/usr/man/man1 -#cp src/cmd/ksh93/shell.3 $PKG/usr/man/man3 -#cp src/cmd/ksh93/nval.3 $PKG/usr/man/man3 -gzip -9 $PKG/usr/man/man?/* - -# Install locale files: -mkdir -p $PKG/usr/share -cp -a share/lib/locale $PKG/usr/share -chown -R root:root $PKG/usr/share -( cd $PKG/usr/share - find . -type d -exec chmod 755 {} \; - find . -type f -exec chmod 644 {} \; -) - -#cp src/cmd/ksh93/include/shell.h /usr/include - -# If anyone is actually using the ksh libraries, drop me some mail -# and explain which libs you use and what they're for. As it is, I -# don't see a compeling reason to include them, as ksh itself doesn't -# use them. -#( cd /usr/lib ; ln -sf libshell.so.1.1 libshell.so ) -#( cd /usr/lib rm -rf libast.so ; ln -sf libast.so.5.4 libast.so ) - ( cd $PKG/bin ; ln -sf ksh rksh ) ( cd $PKG/usr/man/man1 ; ln -sf ksh.1.gz rksh.1.gz ) @@ -184,24 +123,10 @@ mkdir -p $PKG/usr/doc/ksh93-$VERSION cp -a COMPATIBILITY DESIGN OBSOLETE PROMO.mm README RELEASE* TYPES \ $PKG/usr/doc/ksh93-$VERSION ) -( cd /tmp/build-ksh93/ast-base - mkdir -p $PKG/usr/doc/ksh93-$VERSION/LICENSE - cp -a README $PKG/usr/doc/ksh93-$VERSION/LICENSE - cp -a $CWD/EPL-1.0 $PKG/usr/doc/ksh93-$VERSION - chmod 644 $PKG/usr/doc/ksh93-$VERSION/EPL-1.0 - # ast-ksh-locale is still covered by the CPL: - cp -a $CWD/CPL $PKG/usr/doc/ksh93-$VERSION - chmod 644 $PKG/usr/doc/ksh93-$VERSION/CPL - chown root:root $PKG/usr/doc/ksh93-$VERSION/CPL - #cp -a lib/package/LICENSES/ast $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE.ast - cp -a lib/package/*.lic $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE.ast ) - -chown -R root:root $PKG/usr/doc/ksh93-$VERSION -find $PKG/usr/doc/ksh93-$VERSION -type f -exec chmod 644 "{}" \; -find $PKG/usr/doc/ksh93-$VERSION -type d -exec chmod 755 "{}" \; - -#chmod 755 $PKG/usr/lib/libshell.so.1.1 -#chmod 755 $PKG/usr/lib/libast.so.5.4 +mkdir -p $PKG/usr/doc/ksh93-$VERSION/LICENSE +cp -a lib/package/LICENSES/* $PKG/usr/doc/ksh93-$VERSION/LICENSE +find . -name "*.def" -exec cp -a "{}" $PKG/usr/doc/ksh93-$VERSION/LICENSE \; +find . -name "*.lic" -exec cp -a "{}" $PKG/usr/doc/ksh93-$VERSION/LICENSE \; mkdir -p $PKG/install cat <> $PKG/install/doinst.sh @@ -229,5 +154,5 @@ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n /tmp/ksh93-$PKGVER-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n /tmp/ksh93-$VERSION-$ARCH-$BUILD.txz -- cgit v1.2.3