summaryrefslogtreecommitdiff
path: root/system/mksh
diff options
context:
space:
mode:
authormarkus reichelt <slackbuilds@mareichelt.de>2011-07-20 09:32:26 -0300
committerRobby Workman <rworkman@slackbuilds.org>2011-07-21 22:52:14 -0500
commitaa23356ee86066ae161dec162335d75063295b04 (patch)
tree51b354dec6a25eb9a8df151af3bfb0c6652440d0 /system/mksh
parent5b215cf10e23a02c03c6c96c3496efa4180003e4 (diff)
downloadslackbuilds-aa23356ee86066ae161dec162335d75063295b04.tar.gz
system/mksh: Added (MirBSD Korn Shell)
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
Diffstat (limited to 'system/mksh')
-rw-r--r--system/mksh/README9
-rw-r--r--system/mksh/TaC-mksh.txt258
-rw-r--r--system/mksh/doinst.sh3
-rw-r--r--system/mksh/mksh.SlackBuild116
-rw-r--r--system/mksh/mksh.info10
-rw-r--r--system/mksh/slack-desc19
6 files changed, 415 insertions, 0 deletions
diff --git a/system/mksh/README b/system/mksh/README
new file mode 100644
index 0000000000..50ef0f21d9
--- /dev/null
+++ b/system/mksh/README
@@ -0,0 +1,9 @@
+mksh is a successor to the Public Domain Korn Shell (pdksh)
+
+Pass UTF8=no to the script so that mksh does never assume
+that the terminal is in UTF-8 mode.
+
+Pass STATIC=yes to the script to create a static build.
+
+Pass DIET=yes to the script in order to use dietlibc (this
+requires dietlibc, also available on SBo)
diff --git a/system/mksh/TaC-mksh.txt b/system/mksh/TaC-mksh.txt
new file mode 100644
index 0000000000..5e59d2a528
--- /dev/null
+++ b/system/mksh/TaC-mksh.txt
@@ -0,0 +1,258 @@
+Terms and Conditions - The MirBSD Korn Shell
+============================================
+
+The MirBSD Korn Shell (mksh) consists of a number of "source" files,
+which are provided by upstream in a number of places. This file will
+list the files belonging to mksh or being part of it and the licence
+terms and conditions that apply to them, in one single central place
+for packagers' convenience. This list aims to be authoritative. (Yet
+as it was compiled by a human, there may be bugs, please report them
+if any are found. We don't think so though.)
+
+All paths are relative to The MirOS Project's CVS repository.
+
+
+The following files form The MirBSD Korn Shell R39c:
+- build system, testsuite
+ * mksh/Build.sh
+ * mksh/check.pl
+ * mksh/check.t
+- documentation, configuration
+ * mksh/dot.mkshrc
+ * mksh/mksh.1
+- source code
+ * mksh/edit.c
+ * mksh/emacsfn.h
+ * mksh/eval.c
+ * mksh/exec.c
+ * mksh/expr.c
+ * mksh/funcs.c
+ * mksh/histrap.c
+ * mksh/jobs.c
+ * mksh/lalloc.c
+ * mksh/lex.c
+ * mksh/main.c
+ * mksh/misc.c
+ * mksh/sh.h
+ * mksh/sh_flags.h
+ * mksh/shf.c
+ * mksh/syn.c
+ * mksh/tree.c
+ * mksh/var.c
+ * mksh/var_spec.h
+- upstream provided packaging
+ * contrib/hosted/tg/deb/mksh/debian/** (Debian)
+ * mksh/Makefile (MirBSD only, not part of mksh)
+ * ports/shells/mksh/DEINSTALL
+ * ports/shells/mksh/DESCR (official)
+ * ports/shells/mksh/INSTALL
+ * ports/shells/mksh/Makefile
+ * ports/shells/mksh/PLIST
+ * ports/shells/mksh/distinfo (official)
+ * src/distrib/special/mksh/Makefile (for the MirBSD installer)
+- website (informal)
+ * www/data/tag_mksh.cfg (internal)
+ * www/files/TaC-mksh.txt (this file)
+ * www/pics/mksh.svg (logo source code)
+ * www/pics/mksh128x100.png (logo compiled version)
+ * www/src/mksh.hts (primary webpage)
+ * www/src/mksh_bld.hts (supplemental webpage)
+ * www/src/mksh_old.hts (supplemental webpage)
+
+All of these files are covered by The MirOS Licence (Appendix A) ex-
+cept the upstream provided packaging, some of which were copied from
+other places (specifically some of the Debian packaging) and most of
+which do not require a copyright licence.
+
+The mksh author acknowledges the contribution from the Public Domain
+Korn Shell and everyone who contributed to its various incarnations,
+including patches, which have found their way into mksh (not all are
+even known, but they gave up copyright anyway). The patches and sug-
+gestions from other developers, users and other shells' authors were
+also welcome.
+
+
+The following files belong to mksh and are distributed inside of its
+distfile, but are not part of it. They are provided for convenience,
+because they are required on many operating environments for mksh or
+some of its features to function:
+- source code
+ * mksh/setmode.c (needed for the optional mknod builtin)
+ * mksh/strlcpy.c (always needed)
+
+These files are covered by seperate licences in addition (Appendices
+B and C). Some operating environments already provide their functio-
+nality, such as the BSDs and OSX libc, or the Debian/freedesktop.org
+libbsd package. The files are not compiled into the resulting binary
+if their respective functionality is already provided.
+
+
+The following files belong to mksh in a less close way, as they pro-
+vide additional functionality less closely coupled or not always de-
+sired. These are not included in the mksh distfile:
+- source code
+ * contrib/code/Snippets/arc4random.c (somewhat portable arc4random
+ implementation on top of /dev/urandom - for $RANDOM reads)
+ * contrib/hosted/tg/arc4rootdom.c (an even less portable implemen-
+ tation of a4r_pushb for *WRT/Android/... - for $RANDOM writes)
+ * contrib/hosted/tg/deb/klibc/arc4random.c (part of my klibc patch
+ providing arc4random API on top of jrand48 for small size)
+ * src/usr.bin/printf/printf.c (slightly modified UCB printf utili-
+ ty code - for the optional, undesired printf(1) builtin)
+ *DO NOT* INCLUDE printf AS A SHELL BUILT-IN UNLESS YOU ABSOLUTE-
+ LY MUST (otherwise, the preferrable /usr/bin/printf is called)
+
+The arc4rootdom.c file is covered by the MirOS Licence (Appendix A).
+The klibc/arc4random.c file is also covered by The MirOS Licence but
+dual-licenced with klibc's as we hope it gets included. The printf.c
+file is covered by the UCB's three-clause BSD licence (Appendix B).
+
+The arc4random.c file is a conglomerate of The MirOS Licence as well
+as another but many people have touched this code so there are other
+versions of it around with differing terms. See Appendix D for ours.
+
+
+The MirOS Licence also applies as a collective-work copyright on The
+MirBSD Korn Shell.
+
+Note that these appendices may represent the terms and conditions of
+more than one file, hence the actual wording of the files was folded
+into one representation, with different copyright holders and years,
+separated if merging was undesirable.
+
+
+Appendix A - The MirOS Licence (OSI approved)
+==============================
+
+The MirBSD Korn Shell (mksh) is
+Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Thorsten "mirabilos" Glaser <tg@mirbsd.org>
+All rights reserved.
+
+The mksh logo is
+Copyright © 2008, 2009
+ Lukas U. <smultron@midnightbsd.org>
+Copyright © 2008, 2009
+ Thorsten "mirabilos" Glaser <tg@mirbsd.org>
+
+The arc4random for *WRT, Android, klibc functions are
+Copyright © 2009
+ Thorsten "mirabilos" Glaser <tg@mirbsd.org>
+
+
+Provided that these terms and disclaimer and all copyright notices
+are retained or reproduced in an accompanying document, permission
+is granted to deal in this work without restriction, including un‐
+limited rights to use, publicly perform, distribute, sell, modify,
+merge, give away, or sublicence.
+
+This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
+the utmost extent permitted by applicable law, neither express nor
+implied; without malicious intent or gross negligence. In no event
+may a licensor, author or contributor be held liable for indirect,
+direct, other damage, loss, or other issues arising in any way out
+of dealing in the work, even if advised of the possibility of such
+damage or existence of a defect, except proven that it results out
+of said person’s immediate fault when using the work as intended.
+
+
+Appendix B - The UCB (3-clause BSD) licence (OSI approved)
+===========================================
+
+printf.c is
+Copyright (c) 1989
+ The Regents of the University of California.
+All rights reserved.
+
+setmode.c is
+Copyright (c) 1989, 1993, 1994
+ The Regents of the University of California.
+All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Dave Borman at Cray Research, Inc.
+
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+Appendix C - ISC Licence (OSI approved)
+========================
+
+strlcpy.c is
+Copyright (c) 2006, 2008, 2009
+ Thorsten Glaser <tg@mirbsd.org>
+Copyright (c) 1998
+ Todd C. Miller <Todd.Miller@courtesan.com>
+
+
+Permission to use, copy, modify, and 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.
+
+
+Appendix D - Licence of mircvs://contrib/code/Snippets/arc4random.c
+===================================================================
+
+/*-
+ * Arc4 random number generator for OpenBSD.
+ * Copyright 1996 David Mazieres <dm@lcs.mit.edu>.
+ *
+ * Modification and redistribution in source and binary forms is
+ * permitted provided that due credit is given to the author and the
+ * OpenBSD project by leaving this copyright notice intact.
+ */
+
+/*-
+ * This code is derived from section 17.1 of Applied Cryptography,
+ * second edition, [...]
+ *
+ * RC4 is a registered trademark of RSA Laboratories.
+ */
+
+/*-
+ * Modified by Robert Connolly from OpenBSD lib/libc/crypt/arc4random.c v1.11.
+ * This is arc4random(3) using urandom.
+ */
+
+arc4random_uniform() is derived from code written by
+ Damien Miller <djm@openbsd.org>
+published under the ISC licence (see Appendix C).
+
+arc4random.c additionally is Copyright © 2008, 2009
+ Thorsten Glaser <tg@mirbsd.org>
+and covered by the MirOS Licence (see Appendix A).
+
+
+_________________________________________________________________
+$MirOS: www/files/TaC-mksh.txt,v 1.3 2011/03/21 16:22:58 tg Exp $
diff --git a/system/mksh/doinst.sh b/system/mksh/doinst.sh
new file mode 100644
index 0000000000..83ded97792
--- /dev/null
+++ b/system/mksh/doinst.sh
@@ -0,0 +1,3 @@
+if ! grep -q '/bin/mksh' etc/shells ; then
+ echo "/bin/mksh" >> etc/shells
+fi
diff --git a/system/mksh/mksh.SlackBuild b/system/mksh/mksh.SlackBuild
new file mode 100644
index 0000000000..22356d82e1
--- /dev/null
+++ b/system/mksh/mksh.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Slackware build script for mksh
+
+# Copyright (c) 2011 Markus Reichelt, Aachen, DE
+# All rights reserved.
+#
+# Permission to use, copy, modify, and 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.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# markus reichelt, slackbuilds@mareichelt.de, 0xCCEEF115
+# 2011 Mar 20 - initial release
+# 2011 Jun 13 - adapted to R40
+
+PRGNAM=mksh
+VERSION=${VERSION:-R40}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM
+gzip -dc $CWD/$PRGNAM-$VERSION.cpio.gz | cpio -mid
+cd $PRGNAM
+
+if [ "$UTF8" = "no" ]; then
+ CPPFLAGS="${CPPFLAGS} -DMKSH_ASSUME_UTF8=0"
+fi
+
+if [ "$STATIC" = "yes" ]; then
+ LDFLAGS="${LDFLAGS} -static"
+ CPPFLAGS="${CPPFLAGS} -DMKSH_NOPWNAM"
+fi
+
+if [ "$DIET" = "yes" ]; then
+ CC="diet gcc -nostdinc"
+else
+ CC="gcc"
+fi
+
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+mkdir build
+cd build
+
+LDFLAGS=$LDFLAGS \
+CPPFLAGS=$CPPFLAGS \
+CFLAGS=$SLKCFLAGS \
+CC=$CC \
+ sh ../Build.sh -r -c combine
+
+ginstall -D -m 755 mksh $PKG/bin/mksh
+ginstall -D -m 644 ../mksh.1 $PKG/usr/man/man1/mksh.1
+ginstall -D -m 644 ../dot.mkshrc $PKG/etc/skel/.mkshrc
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $CWD/TaC-mksh.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/mksh/mksh.info b/system/mksh/mksh.info
new file mode 100644
index 0000000000..dc18280a9c
--- /dev/null
+++ b/system/mksh/mksh.info
@@ -0,0 +1,10 @@
+PRGNAM="mksh"
+VERSION="R40"
+HOMEPAGE="http://mirbsd.de/mksh/"
+DOWNLOAD="http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R40.cpio.gz"
+MD5SUM="395a6c5f39c7e2afd8f6504d90ca90bd"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="markus reichelt"
+EMAIL="slackbuilds@mareichelt.de"
+APPROVED="Niels Horn"
diff --git a/system/mksh/slack-desc b/system/mksh/slack-desc
new file mode 100644
index 0000000000..44fb3c612f
--- /dev/null
+++ b/system/mksh/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mksh: mksh (MirBSD Korn Shell)
+mksh:
+mksh: mksh is a successor to the Public Domain Korn Shell (pdksh)
+mksh:
+mksh: Homepage: http://mirbsd.de/mksh/
+mksh:
+mksh:
+mksh:
+mksh:
+mksh:
+mksh: