misc/par2cmdline-tbb: Added (a multithreaded version of par2cmdline)

Signed-off-by: Erik Hanson <erik@slackbuilds.org>
This commit is contained in:
powtrix 2012-02-20 16:40:32 -06:00 committed by Erik Hanson
parent e6f1ecf787
commit 0b73ea5934
5 changed files with 167 additions and 0 deletions

View File

@ -0,0 +1,12 @@
par2cmdline with Intel Thread Building Blocks 2.0
This is a concurrent (multithreaded) version of par2cmdline 0.4, a utility
to create and repair data files using Reed Solomon coding. par2 parity
archives are commonly used on Usenet posting to allow corrupted postings to
be repaired instead of needing the original poster to repost the corrupted
file(s).
Note: if you have installed the par2cmdline package this one will overwrite
the par2 binary file, so do not install both versions.
This requires tbb.

View File

@ -0,0 +1,44 @@
diff -Nru par2cmdline-0.4-tbb-20100203.bad/commandline.cpp par2cmdline-0.4-tbb-20100203/commandline.cpp
--- par2cmdline-0.4-tbb-20100203.bad/commandline.cpp 2009-02-03 03:13:53.000000000 -0200
+++ par2cmdline-0.4-tbb-20100203/commandline.cpp 2012-01-16 22:20:31.364121046 -0200
@@ -24,6 +24,7 @@
// Copyright (c) 2007 Intel Corp.
#include "par2cmdline.h"
+#include <memory>
#if __APPLE__
#include <sys/types.h>
diff -Nru par2cmdline-0.4-tbb-20100203.bad/par2cmdline.cpp par2cmdline-0.4-tbb-20100203/par2cmdline.cpp
--- par2cmdline-0.4-tbb-20100203.bad/par2cmdline.cpp 2009-02-03 03:14:52.000000000 -0200
+++ par2cmdline-0.4-tbb-20100203/par2cmdline.cpp 2012-01-16 22:20:04.448120187 -0200
@@ -24,6 +24,7 @@
// Copyright (c) 2007 Intel Corp.
#include "par2cmdline.h"
+#include <memory>
#ifdef _MSC_VER
#ifdef _DEBUG
diff -Nru par2cmdline-0.4-tbb-20100203.bad/par2creator.cpp par2cmdline-0.4-tbb-20100203/par2creator.cpp
--- par2cmdline-0.4-tbb-20100203.bad/par2creator.cpp 2008-10-09 10:37:56.000000000 -0300
+++ par2cmdline-0.4-tbb-20100203/par2creator.cpp 2012-01-16 22:21:30.151122853 -0200
@@ -30,6 +30,7 @@
// par2cmdline-0.4-tbb is available at http://chuchusoft.com/par2_tbb
#include "par2cmdline.h"
+#include <memory>
#if WANT_CONCURRENT
#if CONCURRENT_PIPELINE
diff -Nru par2cmdline-0.4-tbb-20100203.bad/par2repairer.cpp par2cmdline-0.4-tbb-20100203/par2repairer.cpp
--- par2cmdline-0.4-tbb-20100203.bad/par2repairer.cpp 2009-02-03 03:14:42.000000000 -0200
+++ par2cmdline-0.4-tbb-20100203/par2repairer.cpp 2012-01-16 22:21:15.992122418 -0200
@@ -30,6 +30,7 @@
// par2cmdline-0.4-tbb is available at http://chuchusoft.com/par2_tbb
#include "par2cmdline.h"
+#include <memory>
//static unsigned gti;
//static tbb::atomic<unsigned> gti;

View File

@ -0,0 +1,82 @@
#!/bin/sh
# Slackware build script for par2cmdline tbb
# Written by powtrix (@gmail.com)
PRGNAM=par2cmdline-tbb
VERSION=0.4_tbb_20100203
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
DIRNAME=$(echo $PRGNAM | tr -d "\-tbb")
SRCVERSION=$(echo $VERSION | tr _ -)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -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 $DIRNAME-$SRCVERSION
tar xvf $CWD/$DIRNAME-$SRCVERSION.tar.gz
patch -p0 -i $CWD/memory.patch
cd $TMP/$DIRNAME-$SRCVERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
sed -i 's/ln -f/ln -sf/g' Makefile # make symbolic links instead of hard links
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$DIRNAME-$VERSION
cp -a \
AUTHORS COPYING ChangeLog INSTALL PORTING README{,_FIRST.txt} ROADMAP \
$PKG/usr/doc/$DIRNAME-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$DIRNAME-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$DIRNAME-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="par2cmdline-tbb"
VERSION="0.4_tbb_20100203"
HOMEPAGE="http://chuchusoft.com/par2_tbb/"
DOWNLOAD="http://chuchusoft.com/par2_tbb/par2cmdline-0.4-tbb-20100203.tar.gz"
MD5SUM="b1052a08c3c6eac8a7a0605addb161e7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="powtrix"
EMAIL="powtrix@gmail.com"
APPROVED="Erik Hanson"

View File

@ -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 ':'.
|-----handy-ruler----------------------------------------------------|
par2cmdline-tbb: par2cmdline-tbb (a multithreaded version of par2cmdline)
par2cmdline-tbb:
par2cmdline-tbb: This is a concurrent (multithreaded) version of par2cmdline,
par2cmdline-tbb: a utility to create and repair data files using Reed Solomon
par2cmdline-tbb: coding. par2 parity archives are commonly used on Usenet
par2cmdline-tbb: postings to allow corrupted postings to be repaired instead
par2cmdline-tbb: of needing the original poster to repost the corrupted file(s).
par2cmdline-tbb: This version has been modified to utilise the Intel Threading
par2cmdline-tbb: Building Blocks 2.2 library.
par2cmdline-tbb:
par2cmdline-tbb: Home page: http://chuchusoft.com/par2_tbb/index.html