You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							109 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							109 lines
						
					
					
						
							3.3 KiB
						
					
					
				| #!/bin/bash | |
|  | |
| # Slackware build script for smaragd (Emerald for KDE) | |
| 
 | |
| # Copyright 2021 Matt Dinslage, Springfield MO | |
| # All rights reserved. | |
| # | |
| # Redistribution and use of this script, with or without modification, is | |
| # permitted provided that the following conditions are met: | |
| # | |
| # 1. Redistributions of this script must retain the above copyright | |
| #    notice, this list of conditions and the following disclaimer. | |
| # | |
| #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED | |
| #  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
| #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO | |
| #  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | |
| #  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |
| #  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| #  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |
| #  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 
 | |
| cd $(dirname $0) ; CWD=$(pwd) | |
| 
 | |
| PRGNAM=smaragd | |
| VERSION=${VERSION:-0.1.1} | |
| BUILD=${BUILD:-1} | |
| TAG=${TAG:-_SBo} | |
| PKGTYPE=${PKGTYPE:-tgz} | |
| 
 | |
| if [ -z "$ARCH" ]; then | |
|   case "$( uname -m )" in | |
|     i?86) ARCH=i586 ;; | |
|     arm*) ARCH=arm ;; | |
|        *) ARCH=$( uname -m ) ;; | |
|   esac | |
| fi | |
| 
 | |
| # If the variable PRINT_PACKAGE_NAME is set, then this script will report what | |
| # the name of the created package would be, and then exit. This information | |
| # could be useful to other scripts. | |
| if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then | |
|   echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" | |
|   exit 0 | |
| fi | |
| 
 | |
| TMP=${TMP:-/tmp/SBo} | |
| PKG=$TMP/package-$PRGNAM | |
| OUTPUT=${OUTPUT:-/tmp} | |
| 
 | |
| if [ "$ARCH" = "i586" ]; then | |
|   SLKCFLAGS="-O2 -march=i586 -mtune=i686" | |
|   LIBDIRSUFFIX="" | |
| elif [ "$ARCH" = "i686" ]; then | |
|   SLKCFLAGS="-O2 -march=i686 -mtune=i686" | |
|   LIBDIRSUFFIX="" | |
| elif [ "$ARCH" = "x86_64" ]; then | |
|   SLKCFLAGS="-O2 -fPIC" | |
|   LIBDIRSUFFIX="64" | |
| else | |
|   SLKCFLAGS="-O2" | |
|   LIBDIRSUFFIX="" | |
| fi | |
| 
 | |
| set -e | |
| 
 | |
| rm -rf $PKG | |
| mkdir -p $TMP $PKG $OUTPUT | |
| rm -rf $TMP/$PRGNAM-$VERSION | |
| cd $TMP | |
| tar xvf $CWD/$PRGNAM-$VERSION.tar.gz | |
| cd $PRGNAM-$VERSION | |
| chown -R root:root . | |
| find -L . \ | |
|  \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ | |
|  -exec chmod 755 {} \; -o \ | |
|  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ | |
|  -exec chmod 644 {} \; | |
| 
 | |
| mkdir -p build | |
| cd build | |
|   cmake \ | |
|     -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ | |
|     -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ | |
|     -DCMAKE_INSTALL_PREFIX=/usr \ | |
|     -DLIB_SUFFIX=${LIBDIRSUFFIX} \ | |
|     -DMAN_INSTALL_DIR=/usr/man \ | |
|     -DCMAKE_BUILD_TYPE=Release .. | |
|   make | |
|   make install/strip DESTDIR=$PKG | |
| cd .. | |
| 
 | |
| find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | |
|   | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true | |
| 
 | |
| mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION | |
| cp -a \ | |
|   AUTHORS COPYING ChangeLog INSTALL NEWS NOTES README \ | |
|   $PKG/usr/doc/$PRGNAM-$VERSION | |
| cat $CWD/smaragd.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/smaragd.SlackBuild | |
| 
 | |
| mkdir $PKG/install | |
| cat $CWD/slack-desc > $PKG/install/slack-desc | |
| cat $CWD/doinst.sh > $PKG/install/doinst.sh | |
| 
 | |
| cd $PKG | |
| /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
 |