diff options
Diffstat (limited to 'system/execline')
-rw-r--r-- | system/execline/README | 26 | ||||
-rw-r--r-- | system/execline/execline.SlackBuild | 42 | ||||
-rw-r--r-- | system/execline/execline.info | 10 | ||||
-rw-r--r-- | system/execline/slack-desc | 14 |
4 files changed, 69 insertions, 23 deletions
diff --git a/system/execline/README b/system/execline/README index 567b32fdb9..c3019a5055 100644 --- a/system/execline/README +++ b/system/execline/README @@ -1,4 +1,4 @@ -execline is a (non-interactive) scripting language, like sh ; but its +execline is a (non-interactive) scripting language, like sh; but its syntax is quite different from a traditional shell syntax. The execlineb program is meant to be used as an interpreter for a text file; the other commands are essentially useful inside an execlineb @@ -9,6 +9,26 @@ getopt-style option handling, filename globbing, and more. Meanwhile, its syntax is far more logic and predictable than the shell's syntax, and has no security issues. -execline requires skalibs at build time but not at run time. +NOTE: +Upstream recommends building skarnet.org softwares with static libraries +as most of skarnet.org softwares are small enough that using shared +libraries are generally not worth using. Therefore, by default, shared +libraries are not built and binaries are linked against the static +versions of the skarnet.org libraries. -execline installs into /command to match the skarnet.org examples. +If you want to also build the shared libraries, pass BUILD_SHARED=yes +environment variable to the SlackBuild script like below: + + BUILD_SHARED=yes ./execline.SlackBuild + +Similarly, to avoid building the static libraries, you can pass +BUILD_STATIC=no to the script. For example, to only build the shared +libraries and not the static ones, you can do something like: + + BUILD_SHARED=yes BUILD_STATIC=no ./execline.SlackBuild + +If you just want to build and use skarnet.org softwares, building only +the static libraries should be sufficient. + +If you want the binaries to be linked against the shared versions of the +skarnet.org libraries, pass LINK_SHARED=yes to the script. diff --git a/system/execline/execline.SlackBuild b/system/execline/execline.SlackBuild index d072a3d95d..9cb78443e7 100644 --- a/system/execline/execline.SlackBuild +++ b/system/execline/execline.SlackBuild @@ -3,6 +3,7 @@ # Slackware build script for execline # Copyright 2019 Sean MacLennan Ottawa, Canada +# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +24,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=execline -VERSION=${VERSION:-2.5.0.1} +VERSION=${VERSION:-2.5.3.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -54,6 +55,29 @@ else LIBDIRSUFFIX="" fi +# By default, only static libraries are built. If you need to build the shared libraries, just pass +# BUILD_SHARED=yes to this script +BUILD_STATIC=${BUILD_STATIC:-yes} +BUILD_SHARED=${BUILD_SHARED:-no} + +if [ "$BUILD_STATIC" = "no" ]; then + LIBS_CONF="--disable-static" +fi + +if [ "$BUILD_SHARED" = "yes" ]; then + LIBS_CONF="--enable-shared $LIBS_CONF" +fi + +# By default, all binaries are linked against the static versions of the skarnet.org libraries +# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries +# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be +# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script +LINK_SHARED=${LINK_SHARED:-no} + +if [ "$LINK_SHARED" = "yes" ]; then + LIBS_CONF="--disable-allstatic $LIBS_CONF" +fi + set -e rm -rf $PKG @@ -72,17 +96,19 @@ find -L . \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ - --bindir=/command \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --dynlibdir=/usr/lib${LIBDIRSUFFIX} \ - --build=$ARCH-slackware-linux + --dynlibdir=/lib${LIBDIRSUFFIX} \ + --bindir=/bin \ + --libexecdir=/usr/libexec \ + --libdir=/usr/lib${LIBDIRSUFFIX}/execline \ + --includedir=/usr/include \ + --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \ + --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \ + $LIBS_CONF make +make strip make install DESTDIR=$PKG -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a AUTHORS COPYING INSTALL NEWS README doc examples $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/system/execline/execline.info b/system/execline/execline.info index 50e218698b..5ab58d0201 100644 --- a/system/execline/execline.info +++ b/system/execline/execline.info @@ -1,10 +1,10 @@ PRGNAM="execline" -VERSION="2.5.0.1" +VERSION="2.5.3.0" HOMEPAGE="https://skarnet.org/software/execline/" -DOWNLOAD="https://skarnet.org/software/execline/execline-2.5.0.1.tar.gz" -MD5SUM="fffc9f3fe0e7611d297a86e478c81ff5" +DOWNLOAD="https://skarnet.org/software/execline/execline-2.5.3.0.tar.gz" +MD5SUM="6ec5184d7948b350b2dc4e1c700668fd" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="skalibs" -MAINTAINER="Sean MacLennan" -EMAIL="seanm@seanm.ca" +MAINTAINER="Muhammad Mahendra Subrata" +EMAIL="mumahendras3@gmail.com" diff --git a/system/execline/slack-desc b/system/execline/slack-desc index 87fd38cafa..9d0df0b9fb 100644 --- a/system/execline/slack-desc +++ b/system/execline/slack-desc @@ -8,12 +8,12 @@ |-----handy-ruler------------------------------------------------------| execline: execline (non-interactive scripting language) execline: -execline: The execlineb program is meant to be used as an interpreter for a -execline: text file; the other commands are essentially useful inside an -execline: execlineb script. execline is as powerful as a shell: it features -execline: conditional loops, getopt-style option handling, filename globbing, -execline: and more. Meanwhile, its syntax is far more logic and predictable -execline: than the shell's syntax, and has no security issues. +execline: execline is a (non-interactive) scripting language, like sh; but its +execline: syntax is quite different from a traditional shell syntax. It is as +execline: powerful as a shell: it features conditional loops, getopt-style +execline: option handling, filename globbing, and more. Meanwhile, its syntax is +execline: far more logic and predictable than the shell's syntax, and has no +execline: security issues. execline: -execline: https://skarnet.org/software/execline/ +execline: Homepage: https://skarnet.org/software/execline/ execline: |