s243a

synergy.SlackBuild Draft#2

Mar 29th, 2021 (edited)
2,068
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.47 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # Slackware build script for "synergy".
  4.  
  5. # Copyright 2013-2015 Marcel Saegebarth <[email protected]>
  6. # All rights reserved.
  7. #
  8. # Redistribution and use in source and binary forms, with or without
  9. # modification, are permitted provided that the following conditions are
  10. # met:
  11. #
  12. # * Redistributions of source code must retain the above copyright
  13. # notice, this list of conditions and the following disclaimer.
  14. #
  15. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  16. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  17. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  18. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  19. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  20. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  21. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  22. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  23. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  25. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26.  
  27. PRGNAM=synergy-core
  28. VERSION_DEFAULT="1.13.2.1"
  29. REV_DEFAULT=snapshot
  30. #Keep these two lines commented out to  pull the info from the source.
  31. #VERSION=${VERSION:-"$VERSION_DEFAULT"}
  32. #REV=${REV:-snapshot}
  33. BUILD=${BUILD:-1}
  34. BUILD="-${BUILD#-}"
  35. TAG=${TAG:-_SBo}
  36. CLEAN_TMP=no # Review TMP folder prior to chaning this to yes.
  37. TMP=/mnt/home/git/synergy
  38. #PKG=$TMP/package-$PRGNAM
  39. PKG_DIR_CMD='$TMP/${PRGNAM}_${VERSION}${BUILD}_${ARCH}' #Eval Later once we know the version
  40. #OUTPUT=${OUTPUT:-/tmp}
  41. OUTPUT=${OUTPUT:-$tmp}
  42. FIX_PERMS=no
  43. APPLY_PATCH=no
  44. BUILD_BINARIES=no
  45. #COMMIT_NAME="$PRGNAM-$VERSION-$REV"
  46. COMMIT_NAME=synergy-core
  47. CLEAN_COMMIT=no
  48. #BUILD_OPTION=mv #reconfigure with rm or mv. Use make to use existing config
  49. if [ -z "$ARCH" ]; then
  50.   case "$( uname -m )" in
  51.     i?86) ARCH=i486 ;;
  52.     arm*) ARCH=arm ;;
  53.        *) ARCH=$( uname -m ) ;;
  54.   esac
  55. fi
  56.  
  57. CWD=$(pwd)
  58. #TMP=${TMP:-/mnt/home/tmp/SBo}
  59.  
  60.  
  61. if [ "$ARCH" = "i486" ]; then
  62.   SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  63.   LIBDIRSUFFIX=""
  64. elif [ "$ARCH" = "i686" ]; then
  65.   SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  66.   LIBDIRSUFFIX=""
  67. elif [ "$ARCH" = "x86_64" ]; then
  68.   SLKCFLAGS="-O2 -fPIC"
  69.   LIBDIRSUFFIX="64"
  70. else
  71.   SLKCFLAGS="-O2"
  72.   LIBDIRSUFFIX=""
  73. fi
  74.  
  75. set -e
  76.  
  77. [ "$CLEAN_TMP" = yes ] && rm -rf $TMP
  78. mkdir -p $TMP $OUTPUT
  79. cd $TMP
  80. [ "$CLEAN_COMMIT" = yes ] && rm -rf "$COMMIT_NAME"
  81. if [ "$CLEAN_COMMIT" = yes ]; then
  82.   rm -rf "$COMMIT_NAME"
  83. fi
  84. #tar xvf $CWD/$PRGNAM-v$VERSION-$REV-Source.tar.gz
  85. if [ "$EXTRACT_OR_CLONE" = yes ]; then
  86.   if [ -e tar xvf $CWD/$PRGNAM-$VERSION-$REV.tar.gz ]; then
  87.     tar xvf $CWD/$PRGNAM-$VERSION-$REV.tar.gz #modified by s243a
  88.       mv "COMMIT_NAME" "$COMMIT_NAME"    
  89.   elif [ -e tar xvf $CWD/$PRGNAM-$VERSION.tar.gz ]; then
  90.     tar xvf $CWD/$PRGNAM-$VERSION.tar.gz #modified by s243a
  91.       mv "COMMIT_NAME" "$COMMIT_NAME"  
  92.   elif [ -e tar xvf $CWD/$PRGNAM-$VERSION.tar.gz ]; then
  93.     tar xvf $CWD/$PRGNAM.tar.gz #modified by s243a
  94.       mv "COMMIT_NAME" "$COMMIT_NAME"  
  95.   elif [ -e tar xvf $CWD/$PRGNAM*.tar* ]; then
  96.     fname="$(ls -1 $CWD/$PRGNAM*.tar*)"
  97.     fname="$(basename fname)"
  98.     tar xvf $CWD/$fname #modified by s243a
  99.       mv "COMMIT_NAME" "$COMMIT_NAME"  
  100.   else
  101.     git clone git@github.com:symless/synergy-core.git "$COMMIT_NAME"
  102.   fi
  103.  
  104. fi
  105.  
  106. cd $COMMIT_NAME
  107. [ "$DO_chown" = yes ] && [ "$EXTRACT_OR_CLONE" = yes ] && chown -R root:root .
  108. if [ "$FIX_PERMS" = yes -a "$EXTRACT_OR_CLONE" = yes ] || [ "$FIX_PERMS" = always ]; then  
  109.   find -L . \
  110.  \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  111.   -o -perm 511 \) -exec chmod 755 {} \; -o \
  112.  \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  113.   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
  114. fi
  115.   # Thanks Christoph Willing
  116. if [ "$APPLY_PATCH" = yes  -a "$EXTRACT_OR_CLONE" = yes ] ||  [ "$APPLY_PATCH" = always ]; then
  117.   patch -p0 < $CWD/010_include_dns_sd.diff
  118. fi
  119. [ "$APPLY_PATCH" = yes ] && patch -p0 < $CWD/010_include_dns_sd.diff
  120. #sh hm.sh configure --generator=1 --release
  121. #CXXFLAGS="$SLKCFLAGS" sh hm.sh build
  122. export CXXFLAGS="$SLKCFLAGS"
  123. #cd synergy-core
  124. if [ "$BUILD_OPTION" = mv ] && [ -d build ]; then
  125.   mv build build_old_"$(date +%s)"
  126. elif [ "$BUILD_OPTION" = rm ] && [ -d build ]; then
  127.   rm build
  128. fi
  129. [ ! -d build ] && mkdir build
  130. cd build
  131.  
  132. [ ! -e Makefile ] && cmake ..
  133.  
  134. if [ ! -d bin ] && [ ! "$(ls -A bin)" ]; then
  135.  make
  136. fi
  137. if [ -z "$VERSION" ] && [ -f version ]; then
  138.   source version
  139.   VERSION="$SYNERGY_VERSION_MAJOR"."$SYNERGY_VERSION_MINOR"."$SYNERGY_VERSION_PATCH"."$SYNERGY_VERSION_BUILD"
  140.   REV="$SYNERGY_VERSION_STAGE"
  141. else
  142.   VERSION="$VERSION_DEFAULT"
  143.   REV="$REV_DEFAULT"
  144. fi
  145. PKG="$(eval "echo $PKG_DIR_CMD")"
  146. [ ! -d "$PKG" ] && mkdir $PKG
  147. # installation not implemented
  148. mkdir -p $PKG/usr/bin $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/man/man1 \
  149. $PKG/usr/share/icons/hicolor/256x256 $PKG/usr/share/applications
  150.  
  151. for file in synergy synergyc synergyd synergys syntool; do #usynergy
  152.   install -s -m 0755 $TMP/$COMMIT_NAME/build/bin/$file $PKG/usr/bin
  153. done
  154.  
  155. for file in synergy.conf.example synergy.conf.example-advanced synergy.conf.example-basic ; do
  156.   install -m 0644 $TMP/$COMMIT_NAME/doc/$file $PKG/usr/doc/$PRGNAM-$VERSION
  157. done
  158.  
  159. for file in ChangeLog LICENSE README.md ; do #COMPILE INSTALL
  160.   install -m 0644 $TMP/$COMMIT_NAME/$file $PKG/usr/doc/$PRGNAM-$VERSION
  161. done
  162.  
  163. for file in synergyc.man synergys.man ; do
  164.   install -m 0644 $TMP/$COMMIT_NAME/doc/$file $PKG/usr/man/man1
  165. done
  166. find $PKG/usr/man/man1 -type f -name "*.man" -exec rename '.man' '.1' {} \;
  167. find $PKG/usr/man/man1 -type f -name "*.?" -exec gzip -9f {} \;
  168.  
  169. install -m 0644 $TMP/$COMMIT_NAME/res/synergy.ico \
  170. $PKG/usr/share/icons/hicolor/256x256
  171.  
  172. install -D -m 0644 $TMP/$COMMIT_NAME/res/synergy.desktop \
  173. $PKG/usr/share/applications
  174.  
  175. #cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
  176.  
  177. #mkdir -p $PKG/install
  178. #cat $CWD/slack-desc > $PKG/install/slack-desc
  179. #cat $CWD/doinst.sh > $PKG/install/doinst.sh
  180.  
  181. #cd $PKG
  182. #/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
  183. echo "${PRGNAM}-${VERSION}|${PRGNAM}|${VERSION}|${BUILD#-}|Utility|6132K||${PRGNAM}_${VERSION}${BUILD}_${ARCH}.pet||Keyboard and mouse sharing solution|ubuntu|focal||" > "$PKG/pet.specs"
  184. dir2pet -k -x -s "${PRGNAM}_${VERSION}${BUILD}_${ARCH}"
  185.  
Add Comment
Please, Sign In to add comment