xcape.SlackBuild 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/bash
  2. # Slackware build script for xcape
  3. # Maintained as of version 1.1 by SGMART <slackmart@gmail.com>
  4. # revision date: 2014/12/31
  5. cd $(dirname $0) ; CWD=$(pwd)
  6. PRGNAM=xcape
  7. VERSION=${VERSION:-1.2}
  8. BUILD=${BUILD:-1}
  9. TAG=${TAG:-_SBo}
  10. PKGTYPE=${PKGTYPE:-tgz}
  11. if [ -z "$ARCH" ]; then
  12. case "$( uname -m )" in
  13. i?86) ARCH=i586 ;;
  14. arm*) ARCH=arm ;;
  15. *) ARCH=$( uname -m ) ;;
  16. esac
  17. fi
  18. # If the variable PRINT_PACKAGE_NAME is set, then this script will report what
  19. # the name of the created package would be, and then exit. This information
  20. # could be useful to other scripts.
  21. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  22. echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  23. exit 0
  24. fi
  25. TMP=${TMP:-/tmp/SBo}
  26. PKG=$TMP/package-$PRGNAM
  27. OUTPUT=${OUTPUT:-/tmp}
  28. if [ "$ARCH" = "i586" ]; then
  29. SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  30. LIBDIRSUFFIX=""
  31. ARCHQUADLET=""
  32. elif [ "$ARCH" = "i686" ]; then
  33. SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  34. LIBDIRSUFFIX=""
  35. ARCHQUADLET=""
  36. elif [ "$ARCH" = "x86_64" ]; then
  37. SLKCFLAGS="-O2 -fPIC"
  38. LIBDIRSUFFIX="64"
  39. ARCHQUADLET=""
  40. else
  41. SLKCFLAGS="-O2"
  42. LIBDIRSUFFIX=""
  43. ARCHQUADLET=""
  44. fi
  45. set -e
  46. rm -rf $PKG
  47. mkdir -p $TMP $PKG $OUTPUT
  48. cd $TMP
  49. rm -rf $PRGNAM-$VERSION
  50. tar xvf $CWD/v$VERSION.tar.gz || tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
  51. cd $PRGNAM-$VERSION
  52. chown -R root:root .
  53. find -L . \
  54. \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  55. -o -perm 511 \) -exec chmod 755 {} \; -o \
  56. \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  57. -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  58. # Use "-j1" to avoid some warnings
  59. make -j1 LIBDIR=/usr/lib${LIBDIRSUFFIX}
  60. make install LIBDIR=/usr/lib${LIBDIRSUFFIX} DESTDIR=$PKG MANDIR=/man/man1
  61. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  62. | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  63. find $PKG/usr/man -type f -exec gzip -9 {} \;
  64. for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
  65. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
  66. cp -a $TMP/$PRGNAM-$VERSION/README.md $TMP/$PRGNAM-$VERSION/LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
  67. cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  68. mkdir -p $PKG/install
  69. cat $CWD/slack-desc > $PKG/install/slack-desc
  70. cd $PKG
  71. /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE