Browse Source
ruby/rubygem-multi_json: Added (interface to multiple JSON libs).
ruby/rubygem-multi_json: Added (interface to multiple JSON libs).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>pull/47/head
committed by
David Spencer
4 changed files with 150 additions and 0 deletions
-
3ruby/rubygem-multi_json/README
-
118ruby/rubygem-multi_json/rubygem-multi_json.SlackBuild
-
10ruby/rubygem-multi_json/rubygem-multi_json.info
-
19ruby/rubygem-multi_json/slack-desc
@ -0,0 +1,3 @@ |
|||||
|
A common interface to multiple JSON libraries, including Oj, Yajl, the |
||||
|
JSON gem (with C-extensions), the pure-Ruby JSON gem, |
||||
|
NSJSONSerialization, gson.rb, JrJackson, and OkJson. |
||||
@ -0,0 +1,118 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# Slackware build script for rubygem-multi_json |
||||
|
|
||||
|
# Copyright 2017 Jostein Berntsen <jbernts@broadpark.no> |
||||
|
# 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-multi_json |
||||
|
VERSION=${VERSION:-1.12.2} |
||||
|
BUILD=${BUILD:-1} |
||||
|
TAG=${TAG:-_SBo} |
||||
|
|
||||
|
SRCNAM=multi_json |
||||
|
|
||||
|
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 |
||||
|
|
||||
|
rm -rf $PKG/$DESTDIR/cache |
||||
|
|
||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION |
||||
|
tar -x -O --file=$CWD/$SRCNAM-$VERSION.gem data.tar.gz \ |
||||
|
| tar -xz -C $PKG/usr/doc/$PRGNAM-$VERSION --file=- \ |
||||
|
LICENSE.md CHANGELOG.md CONTRIBUTING.md README.md |
||||
|
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} |
||||
@ -0,0 +1,10 @@ |
|||||
|
PRGNAM="rubygem-multi_json" |
||||
|
VERSION="1.12.2" |
||||
|
HOMEPAGE="http://github.com/intridea/multi_json" |
||||
|
DOWNLOAD="https://rubygems.org/downloads/multi_json-1.12.2.gem" |
||||
|
MD5SUM="a2b27a06bdcc424a690d9676d02ac14e" |
||||
|
DOWNLOAD_x86_64="" |
||||
|
MD5SUM_x86_64="" |
||||
|
REQUIRES="" |
||||
|
MAINTAINER="Jostein Berntsen" |
||||
|
EMAIL="jbernts@broadpark.no" |
||||
@ -0,0 +1,19 @@ |
|||||
|
# HOW TO EDIT THIS FILE: |
||||
|
# The "handy ruler" below makes it easier to edit a package description. |
||||
|
# Line up the first '|' above the ':' following the base package name, and |
||||
|
# the '|' on the right side marks the last column you can put a character in. |
||||
|
# You must make exactly 11 lines for the formatting to be correct. It's also |
||||
|
# customary to leave one space after the ':' except on otherwise blank lines. |
||||
|
|
||||
|
|-----handy-ruler------------------------------------------------------| |
||||
|
rubygem-multi_json: rubygem-multi_json (common interface to multiple JSON libraries) |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: A common interface to multiple JSON libraries, including Oj, Yajl, |
||||
|
rubygem-multi_json: the JSON gem (with C-extensions), the pure-Ruby JSON gem, |
||||
|
rubygem-multi_json: NSJSONSerialization, gson.rb, JrJackson, and OkJson |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: |
||||
|
rubygem-multi_json: |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue