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.
		
		
		
		
		
			
		
			
				
					
					
						
							107 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							107 lines
						
					
					
						
							3.2 KiB
						
					
					
				| #!/bin/sh | |
|  | |
| # Slackware build script for haskell-monad-loops | |
| 
 | |
| # Copyright 2018 David Spencer, Baildon, West Yorkshire, U.K. | |
| # 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. | |
| 
 | |
| PRGNAM=haskell-monad-loops | |
| VERSION=${VERSION:-0.4.3} | |
| BUILD=${BUILD:-1} | |
| TAG=${TAG:-_SBo} | |
| 
 | |
| SRCNAM="$( echo $PRGNAM | cut -d- -f2- )" | |
| 
 | |
| GHC_VERSION=$(ghc --numeric-version) | |
| 
 | |
| if [ -z "$ARCH" ]; then | |
|   case "$( uname -m )" in | |
|     i?86) ARCH=i586 ;; | |
|     arm*) ARCH=arm ;; | |
|        *) ARCH=$( uname -m ) ;; | |
|   esac | |
| fi | |
| 
 | |
| CWD=$(pwd) | |
| 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 | |
| cd $TMP | |
| rm -rf $SRCNAM-$VERSION | |
| tar xvf $CWD/$SRCNAM-$VERSION.tar.gz | |
| cd $SRCNAM-$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 640 -o -perm 600 -o -perm 444 \ | |
|   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; | |
| 
 | |
| CFLAGS="$SLKCFLAGS" \ | |
| CXXFLAGS="$SLKCFLAGS" \ | |
| runghc Setup configure \ | |
|   --prefix=/usr \ | |
|   --libdir=/usr/lib${LIBDIRSUFFIX} \ | |
|   --libsubdir=ghc-${GHC_VERSION}/$SRCNAM-$VERSION \ | |
|   --enable-shared \ | |
|   --enable-library-profiling \ | |
|   --docdir=/usr/doc/$PRGNAM-$VERSION | |
| 
 | |
| runghc Setup build | |
| runghc Setup haddock | |
| runghc Setup copy --destdir=$PKG | |
| runghc Setup register --gen-pkg-config | |
| 
 | |
| PKGCONFD=/usr/lib${LIBDIRSUFFIX}/ghc-${GHC_VERSION}/package.conf.d | |
| PKGID=$( grep -E "^id: " $SRCNAM-$VERSION.conf | cut -d" " -f2 ) | |
| mkdir -p $PKG/$PKGCONFD | |
| mv $SRCNAM-$VERSION.conf $PKG/$PKGCONFD/$PKGID.conf | |
| 
 | |
| find $PKG -print0 | xargs -0 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 | |
| cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild | |
| 
 | |
| mkdir -p $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:-tgz}
 |