leveldb.SlackBuild 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/sh
  2. #
  3. # Slackware build script for LevelDB
  4. # Written by Mário Antunes (mario.antunes@av.it.pt)
  5. PRGNAM=leveldb
  6. VERSION=${VERSION:-1.9.0}
  7. BUILD=${BUILD:-1}
  8. TAG=${TAG:-_SBo}
  9. if [ -z "$ARCH" ]; then
  10. case "$( uname -m )" in
  11. i?86) ARCH=i486 ;;
  12. arm*) ARCH=arm ;;
  13. *) ARCH=$( uname -m ) ;;
  14. esac
  15. fi
  16. CWD=$(pwd)
  17. TMP=${TMP:-/tmp/SBo}
  18. PKG=$TMP/package-$PRGNAM
  19. OUTPUT=${OUTPUT:-/tmp}
  20. if [ "$ARCH" = "i486" ]; then
  21. SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  22. LIBDIRSUFFIX=""
  23. elif [ "$ARCH" = "i686" ]; then
  24. SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  25. LIBDIRSUFFIX=""
  26. elif [ "$ARCH" = "x86_64" ]; then
  27. SLKCFLAGS="-O2 -fPIC"
  28. LIBDIRSUFFIX="64"
  29. else
  30. SLKCFLAGS="-O2"
  31. LIBDIRSUFFIX=""
  32. fi
  33. # Build with snappy
  34. SNAPPY=${SNAPPY:-no}
  35. set -e
  36. rm -rf $PKG
  37. mkdir -p $TMP $PKG $OUTPUT
  38. cd $TMP
  39. rm -rf $PRGNAM-$VERSION
  40. tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
  41. cd $PRGNAM-$VERSION
  42. chown -R root:root .
  43. find -L . \
  44. \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  45. -exec chmod 755 {} \; -o \
  46. \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  47. -exec chmod 644 {} \;
  48. echo "echo \"PLATFORM_CFLAGS+=$SLKCFLAGS\" >> build_config.mk" >> build_detect_platform
  49. echo "echo \"PLATFORM_CXXFLAGS+=$SLKCFLAGS\" >> build_config.mk" >> build_detect_platform
  50. make
  51. mkdir -p $PKG/usr/include/leveldb
  52. install include/leveldb/*.h $PKG/usr/include/leveldb
  53. mkdir -p $PKG/usr/lib$LIBDIRSUFFIX
  54. cp -a libleveldb.so* $PKG/usr/lib$LIBDIRSUFFIX
  55. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
  56. grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  57. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
  58. cp -a README $PKG/usr/doc/$PRGNAM-$VERSION
  59. cp -a doc/* $PKG/usr/doc/$PRGNAM-$VERSION
  60. find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;
  61. cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  62. mkdir -p $PKG/install
  63. cat $CWD/slack-desc > $PKG/install/slack-desc
  64. cd $PKG
  65. /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}