Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Slackware build script for sparsehash
  4. #
  5. # PirateLeft 2014 KaMii
  6. # All wrongs reserved
  7. #
  8. # I dont give a flying fuck what you do with this script, hack it, sell it, compile it,
  9. # delete it, fap to it.
  10. #
  11. # 1. Redistribution consequences:
  12. #
  13. # YOU MUST GIVE CREDIT TO THE ORIGINAL AUTHOR OF THIS SCRIPT WITH A COPY OF THIS MESSAGE.
  14. # USING THIS SCRIPT IS YOUR BUSINESS. NO ONE IS FORCING YOU TO USE IT, SO IF YOUR COMPUTER
  15. # BLOWS UP AND EVERYONE ON PLANET EARTH IS KILLED IN THE PROCESS, DO NOT BLAME ANYONE BUT
  16. # YOURSELF FOR BEING TOO STUPID TO RTFM BEFORE EXECUTING THIS SCRIPT. I WILL STOP WRITING
  17. # DISCLAIMER INFORMATION NOW IN CAPITAL LETTERS BECAUSE I KNOW NO ONE EVEN READS THIS SHIT
  18. # ANYMORE.
  19.  
  20. # HOMEPAGE="https://code.google.com/p/sparsehash/"
  21.  
  22. #Variables
  23.  
  24. PRGNAM=sparsehash
  25. VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
  26. BUILD=${BUILD:-1}
  27. TAG=${TAG:-_KaMii}
  28. NUMJOBS=${NUMJOBS:--j7}
  29. DOWNLOAD="https://sparsehash.googlecode.com/files/sparsehash-2.0.2.tar.gz"
  30. SHA1="12c7552400b3e20464b3362286653fc17366643e"
  31. DEPENDENCIES=""
  32. DOCS="AUTHORS COPYING Changelog INSTALL NEWS README TODO"
  33.  
  34. ##
  35. ## DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ##
  36. ## YOU HAVE BEEN WARNED ##
  37. ## NSA IS WATCHING ##
  38. ##
  39.  
  40. CWD=$(pwd)
  41. TMP=${TMP:-/tmp/SBo}
  42. PKG=$TMP/package-$PRGNAM
  43. OUTPUT=${OUTPUT:-/tmp}
  44. TARBALL=$( basename $DOWNLOAD)
  45. SUM=$( sha1sum $TARBALL | cut -d' ' -f1 )
  46.  
  47. MARCH=$( uname -m )
  48. if [ -z "$ARCH" ]; then
  49. case "$MARCH" in
  50. i?86) export ARCH=i486 ;;
  51. armv7hl) export ARCH=$MARCH ;;
  52. armv6hl) export ARCH=$MARCH ;;
  53. arm*) export ARCH=arm ;;
  54. # Unless $ARCH is already set, use uname -m for all other archs:
  55. *) export ARCH=$MARCH ;;
  56. esac
  57. fi
  58.  
  59. case "$ARCH" in
  60. i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  61. SLKLDFLAGS=""; LIBDIRSUFFIX=""
  62. ;;
  63. x86_64) SLKCFLAGS="-O2 -fPIC"
  64. SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
  65. ;;
  66. armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
  67. SLKLDFLAGS=""; LIBDIRSUFFIX=""
  68. ;;
  69. armv6hl) SLKCFLAGS="-O2 -march=armv6 -mfpu=vfp -mfloat-abi=hard"
  70. SLKLDFLAGS=""; LIBDIRSUFFIX=""
  71. ;;
  72. *) SLKCFLAGS="-O2"
  73. SLKLDFLAGS=""; LIBDIRSUFFIX=""
  74. ;;
  75. esac
  76.  
  77. case "ARCH" in
  78. arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
  79. *) TARGET=$ARCH-slackware-linux ;;
  80. esac
  81.  
  82. rm -rf $PKG
  83. mkdir -p $TMP $PKG $OUTPUT
  84. cd $TMP || exit 1
  85. rm -rf sparsehash-$VERSION
  86. if [ ! -e $TARBALL ]; then wget $DOWNLOAD; fi
  87. if [ "$SHA1" != "$SUM"
  88. ]; then echo "Checksum doesn't match, aborting"; exit 1;
  89. fi
  90. tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1
  91. cd $PRGNAM-$VERSION || exit 1
  92. chown -R root:root .
  93. chmod -R u+w,go+r-w,a+X-s .
  94. find -L . \
  95. \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  96. -o -perm 511 \) -exec chmod 755 {} \; -o \
  97. \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  98. -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  99.  
  100. CFLAGS="$SLKCFLAGS" \
  101. ./configure \
  102. --prefix=/usr \
  103. --libdir=/usr/lib${LIBDIRSUFFIX} \
  104. --sysconfdir=/etc \
  105. --localstatedir=/var/lib \
  106. --build=$ARCH-slackware-linux \
  107. || exit 1
  108.  
  109. make || exit 1
  110. make install DESTDIR=$PKG || exit 1
  111.  
  112. find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  113. | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  114.  
  115. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
  116. cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
  117. cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  118. chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
  119. find $PKG/usr/doc -type f -exec chmod 644 {} \;
  120.  
  121. # Add a package description:
  122. mkdir -p $PKG/install
  123. cat $SRCDIR/slack-desc > $PKG/install/slack-desc
  124.  
  125. # Package it up
  126. cd $PKG
  127. makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
  128. cd $OUTPUT
  129. md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5
  130. cd -
  131. cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement