ion.SlackBuild 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #!/bin/sh
  2. # Slackware build script for ion
  3. # Written by Vasilis Papavasileiou <el03020 at mail dot ntua dot gr>
  4. # Updated by Jorge Gajon <gajon@gajon.org> for Slackware64 compatibility
  5. # Modified by the SlackBuilds.org project
  6. # (assumed to be in public domain per our submission policy)
  7. PRGNAM=ion
  8. VERSION=${VERSION:-3_20090110}
  9. BUILD=${BUILD:-3}
  10. TAG=${TAG:-_SBo}
  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. CWD=$(pwd)
  19. TMP=${TMP:-/tmp/SBo}
  20. PKG=$TMP/package-$PRGNAM
  21. OUTPUT=${OUTPUT:-/tmp}
  22. SRC_VERSION=$(echo $VERSION | tr _ -)
  23. if [ "$ARCH" = "i586" ]; then
  24. SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  25. LIBDIRSUFFIX=""
  26. elif [ "$ARCH" = "i686" ]; then
  27. SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  28. LIBDIRSUFFIX=""
  29. elif [ "$ARCH" = "x86_64" ]; then
  30. SLKCFLAGS="-O2 -fPIC"
  31. LIBDIRSUFFIX="64"
  32. else
  33. SLKCFLAGS="-O2"
  34. LIBDIRSUFFIX=""
  35. fi
  36. set -e
  37. rm -rf $PKG
  38. mkdir -p $TMP $PKG $OUTPUT
  39. cd $TMP
  40. rm -rf $PRGNAM-$SRC_VERSION
  41. tar xvf $CWD/$PRGNAM-$SRC_VERSION.tar.gz
  42. cd $PRGNAM-$SRC_VERSION
  43. chown -R root:root .
  44. find -L . \
  45. \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  46. -o -perm 511 \) -exec chmod 755 {} \; -o \
  47. \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  48. -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  49. # Patch system.mk after filtering it through sed to replace a few path issues,
  50. # x86_64-specific things, and add optimization flags
  51. sed -e "s%@VERSION@%$VERSION%g" -e "s%@LIBDIRSUFFIX@%$LIBDIRSUFFIX%g" \
  52. $CWD/system.mk.diff | patch -p1
  53. make -j1 OPTS="$SLKCFLAGS"
  54. # The Makefile doesn't support DESTDIR :/
  55. make install \
  56. BINDIR=$PKG/usr/bin \
  57. ETCDIR=$PKG/etc/ion3 \
  58. SHAREDIR=$PKG/usr/share/ion3 \
  59. MANDIR=$PKG/usr/man \
  60. DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION \
  61. INCDIR=$PKG/usr/include/ion3 \
  62. LIBDIR=$PKG/usr/lib${LIBDIRSUFFIX} \
  63. LOCALEDIR=$PKG/usr/share/locale
  64. # Install an xinitrc file so that ion will show up in xwmconfig
  65. # We also need to patch the reference to the X11 lib directory when
  66. # running on x86_64.
  67. install -D -m 0755 $CWD/xinitrc.ion $PKG/etc/X11/xinit/xinitrc.ion.new
  68. cd $PKG/etc/ion3
  69. for f in * ; do mv $f $f.new ; done
  70. cd -
  71. # Add ion3 as a valid session in login managers
  72. install -D -m 0755 $CWD/ion3.desktop $PKG/usr/share/xsessions/ion3.desktop
  73. find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  74. | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  75. find $PKG/usr/man -type f -exec gzip -9 {} \;
  76. cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  77. mkdir -p $PKG/install
  78. cat $CWD/slack-desc > $PKG/install/slack-desc
  79. cat $CWD/doinst.sh > $PKG/install/doinst.sh
  80. cd $PKG
  81. /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}