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.
		
		
		
		
		
			
		
			
				
					
					
						
							113 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							113 lines
						
					
					
						
							3.1 KiB
						
					
					
				| #!/bin/sh | |
|  | |
| # Slackware build script for rubygem-slop3 | |
| 
 | |
| # Copyright 2016  Dimitris Zlatanidis  Orestiada, Greece | |
| # 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=rubygem-slop3 | |
| VERSION=${VERSION:-3.4.7} | |
| BUILD=${BUILD:-1} | |
| TAG=${TAG:-_SBo} | |
| 
 | |
| SRCNAM=slop | |
| 
 | |
| 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 | |
| 
 | |
| DESTDIR=$( ruby -r rbconfig -e ' | |
| include RbConfig | |
| printf("%s/%s/gems/%s\n", | |
| 	CONFIG["libdir"], | |
| 	CONFIG["RUBY_INSTALL_NAME"], | |
| 	CONFIG["ruby_version"] | |
|       ) | |
| ') | |
| 
 | |
| gem specification $CWD/$SRCNAM-$VERSION.gem | \ | |
| 	ruby -r yaml -r rbconfig -e ' | |
| c = RbConfig::CONFIG | |
| path = sprintf("%s/%s/gems/%s", | |
|         c["libdir"], | |
|         c["RUBY_INSTALL_NAME"], | |
|         c["ruby_version"]) | |
| sys_gemspecs = Dir.glob(path + "/specifications/**/*.gemspec").map {|g| gs = Gem::Specification.load(g); gs.name } | |
| obj = Gem::Specification.from_yaml($stdin) | |
| obj.dependencies.each {|dep| | |
|         if not(dep.type == :runtime) | |
|                 next | |
|         end | |
|         if not(sys_gemspecs.include?(dep.name)) | |
|                 $stderr.write("WARNING: #{dep.name} gem not found\n") | |
|                 sleep 0.5 | |
|         end | |
|  | |
| }' | |
| 
 | |
| gem install \ | |
| 	--local \ | |
| 	--no-update-sources \ | |
| 	--ignore-dependencies \ | |
| 	--backtrace \ | |
| 	--install-dir $PKG/$DESTDIR \ | |
| 	--bindir $PKG/usr/bin \ | |
| 	$CWD/$SRCNAM-$VERSION.gem | |
| 
 | |
| 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 | |
| 
 | |
| cd $PKG | |
| /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
 |