diff options
author | Eric Hameleers <alien@slackware.com> | 2011-08-26 19:50:44 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2011-08-26 19:50:44 +0000 |
commit | fb02bbeca402850fed7027a26581062e2dbac2da (patch) | |
tree | 1a07da95a8dc567549de9e5e56af9825c4e70dd5 /lua/build/lua.SlackBuild | |
parent | 32796987dab2d911b753cd3bc129757f4ec9362b (diff) | |
download | asb-fb02bbeca402850fed7027a26581062e2dbac2da.tar.gz asb-fb02bbeca402850fed7027a26581062e2dbac2da.tar.xz |
Rebuilt for Slackware 13.37 using an official patch
Diffstat (limited to '')
-rwxr-xr-x | lua/build/lua.SlackBuild | 125 |
1 files changed, 74 insertions, 51 deletions
diff --git a/lua/build/lua.SlackBuild b/lua/build/lua.SlackBuild index 6e7d7bc1..733abdf1 100755 --- a/lua/build/lua.SlackBuild +++ b/lua/build/lua.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright (c) 2009 Eric Hameleers, Eindhoven, NL +# Copyright 2009, 2011 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -24,14 +24,17 @@ # # Slackware SlackBuild script # =========================== -# By: Eric Hameleers <alien@slackware.com> -# For: lua -# Descr: a powerful, fast, lightweight, embeddable scripting language -# URL: http://www.lua.org/ -# Needs: -# Changelog: -# 5.1.4-1: 28/Jul/2009 by Eric Hameleers, Eindhoven, NL -# * Initial build. +# By: Eric Hameleers <alien@slackware.com> +# For: lua +# Descr: a powerful, fast, lightweight, embeddable scripting language +# URL: http://www.lua.org +# Needs: +# Changelog: +# 5.1.4-1: 28/Jul/2009 by Eric Hameleers, Eindhoven, NL +# * Initial build. +# 5.1.4-2: 26/Aug/2011 by Eric Hameleers <alien@slackware.com> +# * Rebuilt for Slackware 13.37 using an official patch which +# squashes several bugs. # # Run 'sh lua.SlackBuild' to build a Slackware package. # The package (.tgz) and .txt file as well as build logs are created in /tmp . @@ -43,8 +46,7 @@ PRGNAM=lua VERSION=${VERSION:-5.1.4} -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:" -j4 "} TAG=${TAG:-alien} @@ -59,35 +61,51 @@ TMP=${TMP:-/tmp/build} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz" -SRCURL="http://www.lua.org/ftp/${PRGNAM}-${VERSION}.tar.gz" +# Input URL: http://www.lua.org/ftp/lua-5.1.4.tar.gz +SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz" +SRCURL[0]="http://www.lua.org/ftp/${PRGNAM}-${VERSION}.tar.gz" + +# Official patch to fix several bugs: +SOURCE[0]="$SRCDIR/patch-${PRGNAM}-${VERSION}-3" +SRCURL[0]="http://www.lua.org/ftp/patch-${PRGNAM}-${VERSION}-3" ## ## --- with a little luck, you won't have to edit below this point --- ## ## -# Exit the script on errors: -set -e -trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR -# Catch unitialized variables: -set -u -P1=${1:-1} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi case "$ARCH" in i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKLDFLAGS=""; LIBDIRSUFFIX="" ;; - s390) SLKCFLAGS="-O2" - SLKLDFLAGS=""; LIBDIRSUFFIX="" - ;; - powerpc) SLKCFLAGS="-O2" - SLKLDFLAGS=""; LIBDIRSUFFIX="" - ;; x86_64) SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" ;; + *) SLKCFLAGS="-O2" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; esac +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 + # Create working directories: mkdir -p $OUTPUT # place for the package to be saved mkdir -p $TMP/tmp-$PRGNAM # location to build the source @@ -98,23 +116,26 @@ rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log # remove old log files # Source file availability: -if ! [ -f ${SOURCE} ]; then - if ! [ "x${SRCURL}" == "x" ]; then +for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do + if ! [ -f ${SOURCE[$i]} ]; then + echo "Source '$(basename ${SOURCE[$i]})' not available yet..." # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT - [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" - echo "Source '$(basename ${SOURCE})' not available yet..." - echo "Will download file to $(dirname $SOURCE)" - wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true - if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then - echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." - mv -f "${SOURCE}" "${SOURCE}".FAIL + [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})" + if [ -f ${SOURCE[$i]} ]; then echo "Ah, found it!"; continue; fi + if ! [ "x${SRCURL[$i]}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE[$i])" + wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true + if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then + echo "Fail to download '$(basename ${SOURCE[$i]})'. Aborting the build." + mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL + exit 1 + fi + else + echo "File '$(basename ${SOURCE[$i]})' not available. Aborting the build." exit 1 fi - else - echo "File '$(basename ${SOURCE})' not available... aborting the build." - exit 1 fi -fi +done if [ "$P1" == "--download" ]; then echo "Download complete." @@ -129,10 +150,13 @@ echo "++" cd $TMP/tmp-$PRGNAM echo "Extracting the source archive(s) for $PRGNAM..." -tar -xvf ${SOURCE} +tar -xvf ${SOURCE[0]} cd ${PRGNAM}-${VERSION} -# These patches are needed to build a sane Slackware package: +# Official patch: +cat ${SOURCE[1]} | patch -p0 --verbose 2>&1 | tee $OUTPUT/patch-$PRGNAM.log + +# These fixes are needed to build a sane Slackware package: sed -i "s/-DLUA_USE_LINUX/\"-DLUA_USE_LINUX $SLKCFLAGS\"/g" src/Makefile sed -i "s#/lib#/lib${LIBDIRSUFFIX}#g" Makefile sed -i "/^INSTALL_TOP=/s#/usr/local#/usr#" Makefile @@ -142,7 +166,7 @@ cat $SRCDIR/lua-5.1.4-shared.diff | patch -p1 --verbose \ 2>&1 | tee $OUTPUT/patch-$PRGNAM.log chown -R root:root . -chmod -R u+w,go+r-w,a-s . +chmod -R u+w,go+r-w,a+X-s . echo Building ... @@ -160,11 +184,7 @@ ldconfig -n $PKG/usr/lib${LIBDIRSUFFIX} # Add documentation: mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true -cat $SRCDIR/$(basename $0) | sed \ - -e "/^VERSION=/s/:-.*}/:-$VERSION}/" \ - -e "/^ARCH=/s/:-.*}/:-$ARCH}/" \ - -e "/^BUILD=/s/:-.*}/:-$BUILD}/" \ - > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION find $PKG/usr/doc -type f -exec chmod 644 {} \; @@ -174,9 +194,9 @@ if [ -d $PKG/usr/man ]; then for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done fi -# Strip binaries: -find $PKG | xargs file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +# Strip binaries (if any): +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true # Add a package description: mkdir -p $PKG/install @@ -184,9 +204,12 @@ cat $SRCDIR/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG -makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log cd $OUTPUT -md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz.md5 +md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5 cd - cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt +# Restore the original umask: +umask ${_UMASK_} + |