aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev/perl/perl-class-accessor-chained/Manifest23
-rw-r--r--dev/perl/perl-class-accessor-chained/perl-class-accessor-chained.SlackBuild232
-rw-r--r--dev/perl/perl-class-accessor/Manifest23
-rw-r--r--dev/perl/perl-class-accessor/perl-class-accessor.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-event-ical/Manifest23
-rw-r--r--dev/perl/perl-datetime-event-ical/perl-datetime-event-ical.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-event-recurrence/Manifest23
-rw-r--r--dev/perl/perl-datetime-event-recurrence/perl-datetime-event-recurrence.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-format-ical/Manifest23
-rw-r--r--dev/perl/perl-datetime-format-ical/perl-datetime-format-ical.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-locale/Manifest23
-rw-r--r--dev/perl/perl-datetime-locale/perl-datetime-locale.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-span/Manifest23
-rw-r--r--dev/perl/perl-datetime-span/perl-datetime-span.SlackBuild232
-rw-r--r--dev/perl/perl-datetime-timezone/Manifest23
-rw-r--r--dev/perl/perl-datetime-timezone/perl-datetime-timezone.SlackBuild232
-rw-r--r--dev/perl/perl-datetime/Manifest23
-rw-r--r--dev/perl/perl-datetime/perl-datetime.SlackBuild232
-rw-r--r--dev/perl/perl-ical-parser/Manifest23
-rw-r--r--dev/perl/perl-ical-parser/perl-ical-parser.SlackBuild232
-rw-r--r--dev/perl/perl-io-string/Manifest23
-rw-r--r--dev/perl/perl-io-string/perl-io-string.SlackBuild226
-rw-r--r--dev/perl/perl-list-moreutils/Manifest23
-rw-r--r--dev/perl/perl-list-moreutils/perl-list-moreutils.SlackBuild232
-rw-r--r--dev/perl/perl-params-validate/Manifest23
-rw-r--r--dev/perl/perl-params-validate/perl-params-validate.SlackBuild232
-rw-r--r--dev/perl/perl-set-infinite/Manifest23
-rw-r--r--dev/perl/perl-set-infinite/perl-set-infinite.SlackBuild232
-rw-r--r--dev/perl/perl-vfile-asdata/Manifest23
-rw-r--r--dev/perl/perl-vfile-asdata/perl-vfile-asdata.SlackBuild232
30 files changed, 3819 insertions, 0 deletions
diff --git a/dev/perl/perl-class-accessor-chained/Manifest b/dev/perl/perl-class-accessor-chained/Manifest
new file mode 100644
index 00000000..851f7f38
--- /dev/null
+++ b/dev/perl/perl-class-accessor-chained/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Class-Accessor-Chained-0.01.tar.gz 2322 MD5 9825a1f30a70e55e61bb5660b2bd7365 RMD160 8b0363acde31f0f4d42f6ecc9bc3cb4e8c516c37 SHA1 dd90a490e68b3f0906fb2a4aeff3213f9e669645 SHA256 a5bf49d3804f83ad25a1b16f327d14d4cbee2270132104b28705031dbccc34d2 SHA512 b2728d12dd3bd01169b43ef6cc5d0e8f82660ed80f5473415025ce3d5e93c059cd9ef4fbad2b0481e0efc7478cbdff7bec0042ea3bd6bddac51d78ee5bf25a04
+MKBUILD perl-class-accessor-chained.mkbuild 2612 MD5 bf73448fefa516d2b4c3618e39284c0a RMD160 14d9c58d3869a4bf95ce8041774b029ee390cf7d SHA1 6030a6b4933a037de2b679a74e955e2bce8d4744 SHA256 2030ff6d0f06208359e50b5ff1cc20e1cc437f57e14d2a2fd2b98e6f28bba6e9 SHA512 da6287a62dbb1322a551864fcc9a90d6447514cade380f2e4245188d22a28177743c56a14d7e29073b01e7efed03602d8d82ea9c1e4f1989a46edbb8592fc4ca
+SLACKBUILD perl-class-accessor-chained.SlackBuild 7421 MD5 65724466bd4df97bf620b950ebbdd8e2 RMD160 b6f6f528aa3b5998098dac1a24cf60cc5cb7932d SHA1 76326648a22daf86ab0771e6e4c40971be0ccfee SHA256 0cdb25849ad64c191c5ae2aa479175e3b97c247c3d812fbfcc8ec0e4db3f947d SHA512 397b67aea23a17324d2209545700541ccfbc690218a526bd1efa91f4c000d3ee2d3b095b459afe0b7e2c95672c05a2faaef276cc0e180e3f602efb8fe4a9d0d9
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvPpHAAoJEEHL93ESzgeiKPwQAIX+TZfFInQI7Lz5eKCJoOkX
+eHEdEESAitKuiVTb6fON4qyx1LIlyLAkzl43t3B0vSpVtUjvc0Kcti28YWVxH6uy
+i+HPg4nUCrjjC7xJuOhvU54/Ew1KyjhcC4+ci7WVRjmIjQ78k2jz6dzNVadAWV1D
+XQZCyw6rY5/6MSqA5aEiH/PGaLItvi/Q+gVZc83FvwZyvZPfBYkyA9lD/C0D7tEh
+6k1c5oQV1j/wpcc6ktBgTu+GC3cpJUu1VOIzQKmoIXd6DZUrU2C6fHG4LmMwckDl
++SgnSwozD8BZZoF65+PfHmDInj2oYEz0HE7+dwLGCDZBoPgg/BgDtMuaUokh3pPH
+91v0AzAOs8McLp00RVp6F2DC9XjQ9F9blHD3oYael8wte00InM7cz+9hjMieZpY6
+htRbK6pSv9vWEyWB+AeEtvnfVmmj4ig3bHPQEwDbpuXr1SNWQbY1noOL20xJowFG
+RY6AD5gvuMBzytePFTbUl1u0RK+oTYox2crZ37A+gwzuTmylOXRYkfeDIwtiEtqN
+vD0z105tUqXkLUKa7MxTo1ZO6D8zLlOFEyWJafD+yGAeq31kqHD1+ZqOziP1B8a9
+SOzV/klSmaeelJFSgHpbGy/P7p6uYqpzVPjyjWiI5IN3TmwllDp8PyMP+V7bX+X1
+Xlqc980txNqbBlQ01Ijh
+=+ZvA
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-class-accessor-chained/perl-class-accessor-chained.SlackBuild b/dev/perl/perl-class-accessor-chained/perl-class-accessor-chained.SlackBuild
new file mode 100644
index 00000000..fe2cafeb
--- /dev/null
+++ b/dev/perl/perl-class-accessor-chained/perl-class-accessor-chained.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-class-accessor-chained.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-class-accessor-chained.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-class-accessor-chained, by Silvio Rhatto
+# requires:
+# tested: perl-class-accessor-chained-0.01
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Class-Accessor-Chained"
+PKG_NAME="perl-class-accessor-chained"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.01}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-class-accessor-chained"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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----------------------------------|
+perl-class-accessor-chained: perl-class-accessor-chained
+perl-class-accessor-chained:
+perl-class-accessor-chained: perl-class-accessor-chained makes chained accessors
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+perl-class-accessor-chained:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-class-accessor/Manifest b/dev/perl/perl-class-accessor/Manifest
new file mode 100644
index 00000000..9703d437
--- /dev/null
+++ b/dev/perl/perl-class-accessor/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Class-Accessor-0.34.tar.gz 12315 MD5 0d9640d237a13276145f7e44b4855b89 RMD160 545371b2656d317cb8eac019e73a7221f2cb71b3 SHA1 e91317b429f5618c4d0264c699a1f266635f87df SHA256 cdb1e0cdf8380fb9b63b44c33ce5afc1068736d55ac5904bf0eaa1efc1c3cefc SHA512 a2978e5b8a7b080ef85e2b2499ee7263c9b5b8a70effc00a04e18fe92694fd59331b50b8162d3b8a6cb48ebedccca3b4780ec0984e6b8728b130a49781e35ee4
+MKBUILD perl-class-accessor.mkbuild 2469 MD5 6f7dcf9d0297be65929e4ef713bdd099 RMD160 a3f133650ecc4af2c14ecb0f763dcab7e1c7f3b4 SHA1 1c335171c21f0e38dfe670415fde3a210c0a876a SHA256 454af9b75a54aea510a2ad14070b34fb7029acf41dea6f5e8a9d115fdbf8bebb SHA512 716aa2b79fa73902b2617d30305c885b8a3034418225df4761b05ba65523ca98dc21d042381cecf8e149958070dcbcc1029805388e13b3fb568fbdd440e0a8bf
+SLACKBUILD perl-class-accessor.SlackBuild 7246 MD5 2fe2b0b962c6e448bbdc7ac4554aab4d RMD160 6dde251a534f3c2ad40a25829ce05325ae133510 SHA1 e8092816d377a99a86863365470ede281f73c6b0 SHA256 07974fd3d456fb6110b0c39e42b37674490d527bceddb3199b20fe054c9b627f SHA512 e7ee5de7e51498ddc3809695862fdb82b101d6bbd5218613bb632b1502b02868405c29685f8c4c0ed37521feb5dce3c85e33d683a28a3ae4b999805b292f6601
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvPtcAAoJEEHL93ESzgeiBMMP/3rP5a7YRfbm2GHGYKeGWDCe
+hw5lpiVF9SjE+nJ8MLTgMPFbEjs7tPSndEDar4QGcWRRJXcFtoIwnCw1UIvV+Qb8
+sG62V3hn/mRFDCMRUKbzb0jGXRCLI+pgmRAvKWgJTntX8QPDc244bvhiFF68kHCv
+7N4ZVFevw5zXEJzDyPFujranN8/CKJYTuJHrsNgFUlGrdU/sC7UAxcI7phFcd6hI
+W4aUgud3ACfGkg7v0bkP82gFsjGFwSbyh45ChKG63hi8CqhrhqJmhBBj8YmLT1rL
+Y9GyNo0ADZSbAw6yU0L9yqJSSdFnAUO/aCiQq99uCDvnpqaC/VdmqfYk/F5m0WUl
++MIERIPBdOvauAXJzbUnmpuIrd26zsY9/hMih7qqp9GVG+gP9Y8bgBeOO1v2zQCh
+0tRVbxTmSwmJpVCfcssHo1j6qtNisfqDAsqujnzjvsI0qLqXzlwdn2FruoE1Su6I
+wiIltKou7e100lk05lkYzORok1eKR0+boujta9EgW0kpaWehi3cgzyCNsqM9rz0o
+ie8k/ZOzAs4liIb0cBnTI+LlyxiRcG269KRdJP7lqwYJupYtgocTcu6ZHmgNJnvA
+Z9Bv+a21fxurUyqqcS3fEESS3B+ZPEG68EUJ3MGDJKYDDhbWWdbj/oBHTQhPq741
+ivB8w++OH1EJqp8aNmea
+=L3V6
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-class-accessor/perl-class-accessor.SlackBuild b/dev/perl/perl-class-accessor/perl-class-accessor.SlackBuild
new file mode 100644
index 00000000..4bd95a85
--- /dev/null
+++ b/dev/perl/perl-class-accessor/perl-class-accessor.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-class-accessor.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-class-accessor.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-class-accessor, by Silvio Rhatto
+# requires:
+# tested: perl-class-accessor-0.34
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Class-Accessor"
+PKG_NAME="perl-class-accessor"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.34}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-class-accessor"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/K/KA/KASEI/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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------------------------------------------|
+perl-class-accessor: perl-class-accessor
+perl-class-accessor:
+perl-class-accessor: Automated accessor generation
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+perl-class-accessor:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-event-ical/Manifest b/dev/perl/perl-datetime-event-ical/Manifest
new file mode 100644
index 00000000..acf7c3cb
--- /dev/null
+++ b/dev/perl/perl-datetime-event-ical/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-Event-ICal-0.09.tar.gz 24169 MD5 a68e58f5aac48a739249118d078e9947 RMD160 be33d39ca2ab04d066e6e4e1a1f38e809ebaa0cc SHA1 46333f2609b8999a84b9cb73a6687f36e1567be5 SHA256 683706433917693f9704be2782f0813f47dbeac6b98860654e3c264d7206f0c8 SHA512 6ef626cf987bf776b160a394b6390f4f84b84d36c3ea53c5464fa7099927fe924ce89a934973d8cd201905366c1b2cdac3ca40549f4d80ff1d13d30aa2b67170
+MKBUILD perl-datetime-event-ical.mkbuild 2574 MD5 558fdbcc74a7dc75a36fedc8116936dc RMD160 afeb6c4211e8a6a151bfa49ba64ecc5603ca7add SHA1 d1698cca4cd1c839cd83aff37aef194c1b1a9ca2 SHA256 ff5dff0d1918e1f05c5ce25343f4a4013681b0b9259a7794e13d42ad635297ac SHA512 7d07c5848755af96bd31c6c420e438625f8fceadbae26ba91fbbeb0a7cf81d8db44eb17a9dcc0e5ae31902f916e53b9707609acfc4e1236918d96ade3b21f1da
+SLACKBUILD perl-datetime-event-ical.SlackBuild 7371 MD5 b056395136bcc46d57204a0275c787ea RMD160 b1bbc630e34a29439a36ac75424ff67d48c1b6f2 SHA1 5ff69bf9f43c3ddc5560e26bf57530df7b3135d2 SHA256 f6b36d0a3a86e790f56277b47270b516e6313a3adb1151e31f7a81735594c120 SHA512 f546ab7ea62cc9847a4ce2662a7132bd6ff6fb473e161df2ca4ae757cd3793c9cfbd51c5e825a46a969d0251db06a504d7dff32e144e900603e68b0be890c554
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMzaAAoJEEHL93ESzgei8moP/jCxVE//zeCXwpQy6YW+axrF
+EohCvoRBy7RgJVc+jMkrfXAyAunpNX+OlK0EFRFrvMiKofLS0tnTi8tKGcJjX8b9
+v6zQG5c4cHuU8Ib4cMUeeqGTb5lUU2UQxSdZ3C8MAx9DfCmhh1XTkOqgteEERthC
+bC9df74pux1M/leAupTRXWzAR6grcJs418/SLvUtB2OrjuS135rowXXdDOP2yD2z
+A4LuJ7VVG37zfMQJPQ/bPRRD1vaIEGHA5cr5J4JtKt2BQ386hyg6BjU8sv585ylI
+91cg6pArLncBgFqk+hxtyZUatF6QcVr+p/z1DE8pB/RpjjYn/cd6/2NTS6ei0vtD
+zU57oMr1qYk3EJxjiR97hfsc/cnjsS472CuAXp8El+N5k4T/QPnAmKBm1Xveif8x
+HSZn4mYRoPorpdtRxUrHuO+BvMAQgSApSyB6ktZPNJJUEht6vGwtgXJXvQOJRixs
+PA5HYKKadRVaTnnodJqxvFSGg39vLbLdpv7TI+5stnADXGejDGfou6j9lK5rmnwF
++EwHsXhqqTVExUvtaFzvHTcbUNaA/jpIzPHDEbbU543RqFBU81WEtbe12ZCmMkgu
+1d40ju+QOHo83dCMS6n+GUu31v5i/fbEFOEvOjb/b+0oV5uRTk25T+qhDYJbwlHh
+0NkE/Ky9iV2pGNEHLqVo
+=W0AP
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-event-ical/perl-datetime-event-ical.SlackBuild b/dev/perl/perl-datetime-event-ical/perl-datetime-event-ical.SlackBuild
new file mode 100644
index 00000000..4f2c315c
--- /dev/null
+++ b/dev/perl/perl-datetime-event-ical/perl-datetime-event-ical.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-event-ical.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-event-ical.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-event-ical, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-event-ical-0.09
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-Event-ICal"
+PKG_NAME="perl-datetime-event-ical"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.09}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-event-ical"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/F/FG/FGLOCK/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-------------------------------------|
+perl-datetime-event-ical: perl-datetime-event-ical
+perl-datetime-event-ical:
+perl-datetime-event-ical: Perl DateTime extension for computing rfc2445 recurrences.
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+perl-datetime-event-ical:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-event-recurrence/Manifest b/dev/perl/perl-datetime-event-recurrence/Manifest
new file mode 100644
index 00000000..75c79d59
--- /dev/null
+++ b/dev/perl/perl-datetime-event-recurrence/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-Event-Recurrence-0.16.tar.gz 23915 MD5 9a08830b081a93619f4a8564063e3bf0 RMD160 f92993367afd99a6025a0569cb1bab8b496d98f7 SHA1 f8233f39e02d6c56e9609e6f41e95a56cfc7dab0 SHA256 3872e0126cd9527a918d3e537f85342d1fbb1e6a9ae5833262201b31879f8609 SHA512 23ad739f6eedbbca63d42d0c0c7ba295e976669e5ab40bf882c6d52ea352654ae2c155825ddbd0c53dce1cde16ab340020ceedf6b36d4de58680e08b39535bb5
+MKBUILD perl-datetime-event-recurrence.mkbuild 2662 MD5 33106b0b07112c2156e56a7386f223bc RMD160 9939cffb6c9aa449ba588bd3d69ec568b2b3f91f SHA1 e33af8bbcc24f53edccb9e094104c594df699aea SHA256 a1759fbabc7e4c464b00f59ade9514d5a11255816793e84ac35d96bb948fca03 SHA512 b0bb05446a05ab24789d8c826d9c875ed307eb304007d1dd383de822ecd081e13d09e3cf1a43bc1452ee303964454be989d59e1bdd8da2004f55b0fff84fbbca
+SLACKBUILD perl-datetime-event-recurrence.SlackBuild 7483 MD5 b800627ad6601fb0f2e8d8e39b9d2f93 RMD160 e8a27286de7ff9d05164527648b4fabb0439c50e SHA1 2e9549b685ac943e1cc84480010566ea06bb5815 SHA256 975a71e04e840116f3a602e28dc4962924a39b0291bb841a6c6142c5c55dfe57 SHA512 7e6922790caeaededa7051121ccb643e6043dcd476e6d24c9c34389ad70622c60d1ba94cdb4d35b73479e5e8d9d56b0d190d4d7fabf7b52d325a50c774bde5d2
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvM1UAAoJEEHL93ESzgeiQd8QAJDcCNtdOzIvWz3WuJQHXtyL
+vAwl7YBvXMw229pifVWDbMIvW07Z9/DcF3Oc6XeibAujFQa5X9mM0R6E5R8eQwVD
+5QXa/H7jvnM2sxkUsTvO7R8Be6wRM73IkwKS4R+ywtr7QRGsmbJ+3RDtP1eR2s2P
+eLpz42T+KScI+X3xp4742offDmZJSvtuZ7oMN3uG2u9lbDqPRSOCBpyQkSNx4Oqp
+EKCinCO7Qi3hudgRjgsQPDAbXLrQWIJY3K6A/TUxmQumQstMiD0NL5wRMQxGKVVO
+K836RymWYPlq5VvSVIpdfmwyplewf6V7rIWTogwPgWZ6U258zgzviUYONOH+H82l
+lFS5adDYlCsV6BK0nBPnHQnQg4rMu0qcQZ/VNQUnQ3oQWI2gzn7Mgfux7VkHpLKY
+ANeDRawnAtsn/c41LFhcm8KBmCUlYsd/pODfH1LKVbCtlHkWKZInTILUHY6smsPa
+ntmoIodEcBHN5v+AfYQAPfoaFOEXZGwIeI33awhYEamFEv149pwEyHmUtrmQdcnj
+LLvFOe64g38m1qLsQjVimFHyURyMhDDbDf44JdE66GKaUxV5iR6FUWLmyCR8Ut6C
+DsxbT1ztCfDhC73t9wVU6vL/sKmrAlc/EJX1oMR6hOR4/30Dcf8dABGPghy2VtAE
+3FMknMmE8JZJ2HiaeFZb
+=Ps2N
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-event-recurrence/perl-datetime-event-recurrence.SlackBuild b/dev/perl/perl-datetime-event-recurrence/perl-datetime-event-recurrence.SlackBuild
new file mode 100644
index 00000000..d8be508b
--- /dev/null
+++ b/dev/perl/perl-datetime-event-recurrence/perl-datetime-event-recurrence.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-event-recurrence.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-event-recurrence.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-event-recurrence, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-event-recurrence-0.16
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-Event-Recurrence"
+PKG_NAME="perl-datetime-event-recurrence"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.16}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-event-recurrence"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/F/FG/FGLOCK/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-------------------------------|
+perl-datetime-event-recurrence: perl-datetime-event-recurrence
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence: DateTime::Set extension for create basic recurrence sets
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+perl-datetime-event-recurrence:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-format-ical/Manifest b/dev/perl/perl-datetime-format-ical/Manifest
new file mode 100644
index 00000000..0cc9943d
--- /dev/null
+++ b/dev/perl/perl-datetime-format-ical/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-Format-ICal-0.09.tar.gz 16794 MD5 17bb64bfb515f2db365ba5bb5a68a143 RMD160 f243f1b9e4a016d9e04dda4fa25278be27895380 SHA1 5801d622b44c6856127623323b1712411f251160 SHA256 8b09f6539f5e9c0df0e6135031699ed4ef9eef8165fc80aefeecc817ef997c33 SHA512 f9af7bbb4770333cac5747a030105ecf1758c728628366c90074b15b3fc5c22b0ab72e8815b18a02a69fc1b4873ef4fc60af19771d1af3c6d166d798453b3d94
+MKBUILD perl-datetime-format-ical.mkbuild 2583 MD5 844a4594fe492534d59ce12ce304924d RMD160 87c2f7f1b9e4ba3a63727a80c180da0cf0aa7da4 SHA1 98390dbb78256e4a4d8bd5fb2bf70a247db7bdb1 SHA256 cee8c647bbdf8fd6e2b2013d9c374316a11ecbe9042121264688cb743de20707 SHA512 476eefe43e9e479e45add3e9aedea812f4fbcae7bbdfc86e8010966c1cc8efdd0ab9739f15f3ceed68d0629c6b367b7d37e151419a54733995d3aaba2626c1db
+SLACKBUILD perl-datetime-format-ical.SlackBuild 7384 MD5 e8f1da3fb707d186553028098520f967 RMD160 bcfbf3857590b97d83a5ecd9ca734ab328a1ddc6 SHA1 1a6fa79335fc0e2ddeba350a8e4c941a9aef539d SHA256 20b3a6b1f51c11ceec56393ab1dabbfc34de743abb9c807471e667cc14693c65 SHA512 aa14c9a40aa3f579915b482e9c5de824eafb4e3af99d7d7e9fcfcab5de338f34f8a1b010f24b38c2b9034aa6a1713af3cd3c306457eb0e1b7d545cf05b95514c
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKu+OSAAoJEEHL93ESzgeiPL8P/Ann3rHoWAs0EGN7R4SbQiYW
+2UfyYsmCcjqORzB4zaDXbwgucOHYy4/+D8Nh9YAYx8OMwaG0jYIwQ+htBPhQ0xqa
+zs2qEeQ85hBSUNt2UMH2flawsoS4vAzBTOnvFB6JfUaNEA8y3F1j89JOa0kxX9B1
+CzX3oQmjimMQbTgW4/gpJMR6dCX6ppJNS1wIovsqG7l/YqbZn7MZOAaXVtMJVIwy
+Xf4LQ6l0CpXhHhnrjKL8cX9z6zHQS1Qf2atW+aAMh7DF/uQn33vxUAUQ8vGqXL+V
+vfzdmcFy0zyp8talrV+kUGG6xrixlY3AEW6L2tIWs/+PAJ+IBrqAfaf6IJQa9zY7
+h2g4eP/ASdX/D+5qlV1vL/D3opYBZ2ucOkY55ylMldFWgVb7WDtEzAIrC8pQXpBl
+3+//TUGMnMTgaauu+J5LnzDSchuoRt96YPo8ZH3dO+hhgLDsnpRatgde9dUJ6v8l
+mcetImPEgch/mR/+9l+/rDF4i2X7Y/1d4EeQGqECkAItefRuO8JkYL0ilrjKNJKB
+xRUyxgi3aibj4rp/u6uneuuaCIikfSrEFUtgQsUslD40zSs2QVaxbQblPrZES5RM
+xQMehOvrvT7PnkXM2zLZ4wldvNzHU+oGdbHBvU9SKZzOuSsoFY+ozEVxi2lZC4dE
+OMa8synvG8udvF/2rhHK
+=U00T
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-format-ical/perl-datetime-format-ical.SlackBuild b/dev/perl/perl-datetime-format-ical/perl-datetime-format-ical.SlackBuild
new file mode 100644
index 00000000..38443a55
--- /dev/null
+++ b/dev/perl/perl-datetime-format-ical/perl-datetime-format-ical.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-format-ical.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-format-ical.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-format-ical, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-format-ical-0.09
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-Format-ICal"
+PKG_NAME="perl-datetime-format-ical"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.09}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-format-ical"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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------------------------------------|
+perl-datetime-format-ical: perl-datetime-format-ical
+perl-datetime-format-ical:
+perl-datetime-format-ical: Parse and format iCal datetime and duration strings
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+perl-datetime-format-ical:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-locale/Manifest b/dev/perl/perl-datetime-locale/Manifest
new file mode 100644
index 00000000..0fa10acc
--- /dev/null
+++ b/dev/perl/perl-datetime-locale/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-Locale-0.44.tar.gz 1055901 MD5 f2e4ba9f2de67d2296c92da2e7c8b27d RMD160 1d3ca4e6e6cddb700e6a4ae0b9befe267b415402 SHA1 3d1feb233e0d5d86e4d7142a4ab90aca3943ed28 SHA256 747bd50ef3a22c9cb25436d437266ce71de626b08c873c142952b2fbe5d9c4dd SHA512 fd99833024b4840650566789bbf888c7eb2c38c809eea0e9e479f81af1251dee534b26b8c598c30127e1de3c36397070fc84ea05de7f468570c0825a7c2d929e
+MKBUILD perl-datetime-locale.mkbuild 2493 MD5 dc31f9a0d51420e74538d21b2fee289c RMD160 d1ea6a8a33480f369cd5f34ddacca8d75f8170a0 SHA1 f51b8cfa8061e549e96f2c15ff1f2d49e71bddf9 SHA256 5f36aba63e11b543644572ae67e0d41c73898b3282b84851fd76d2c43dc3247a SHA512 5e2b2e68966fe457ae504ad80e936dd5f5d7fd576eda316164c00d3b8f336a79740fe74f1e72dc4fdf3f0df836d106d9506c777b7cdbe353340506036bb4ddda
+SLACKBUILD perl-datetime-locale.SlackBuild 7274 MD5 2ba61023c196a8e8c8913a733225911b RMD160 48bd87826981a66d77da6fdc653c94eed09ff7da SHA1 a88a8acc5d1fd44ff8c08fb34b41149dae2d62b1 SHA256 3cf567b5e9543e50e3885c09e1fe8868a1de0406ccc1d8a9678f251c149c7f9c SHA512 5f1db185316629e14ca9f034f1eb90388acf46f4b30b3e4ba757ee8607479dfc51c9b7643c4f93eef0fbbcadaa4512ed88eaceac6229f48223ae5a009d181107
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMWnAAoJEEHL93ESzgeirOQQAJ24PQNHUTGFLyZc5fERxYh9
+VRMIv8xBBIKKo2xahTu1FH4cFBpnqd7LDWrJN2oBIlSVoIGcmFXGif4AB2bqmvhQ
+Ktj1BEufs9VCb1GtqEU92w+/S+CZGeX/bLzOaCe+J5k9f+fyIP5VtGjZvIIjW9+n
+UJiwZSJ0oyLO/39RzKHuLIrkxl9QSOb/nltCUh+C/m2PcRpw6xdxoX7/2xzWbksj
+i7j0bVuAG2mH/m0MH4IB9ZOcWyc9+6PGLMS8LEBc6+4tyydcydTJfAkalQbpE8Wr
+i/Z2ceFYSodu823PeBPVs6i0pYN3agPactNO3IiFU8PKe6jWECjJne1npWQmdNnu
+UCyV+4PuH9MOszavLRg7JLhEtEKdzQqKlO7ewKUVxgICzLurGk1ts3NALYtCUzvK
+eQuJ2AFiz3m2Knjufky0TiVd7ITRJs3jPHDyHAQIIWZ438T8gIuQPOe8gaHs4O9A
+wVtaGHAXclxM3CmOIox4jLJgYs4CInEFGyEUCTC8qxFlK+xt84POXigU98k0ZTiZ
+U71KMibisNVXQ9g8pYBxeFjcHqgDF1FNmgRuSixJRbUVkoB3msWMmY+UMAlu4PjQ
+9zyKk3FFGQBVGSsF2nIKmESxv08vNol4p9Y0Y38znrzyFBzfJuhScQiMvBWMHkN8
+YPNk3a/hyR1xLhxBjcQ2
+=7Iel
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-locale/perl-datetime-locale.SlackBuild b/dev/perl/perl-datetime-locale/perl-datetime-locale.SlackBuild
new file mode 100644
index 00000000..36b1b854
--- /dev/null
+++ b/dev/perl/perl-datetime-locale/perl-datetime-locale.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-locale.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-locale.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-locale, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-locale-0.44
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-Locale"
+PKG_NAME="perl-datetime-locale"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.44}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-locale"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-----------------------------------------|
+perl-datetime-locale: perl-datetime-locale
+perl-datetime-locale:
+perl-datetime-locale: Localization support for DateTime.pm
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+perl-datetime-locale:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-span/Manifest b/dev/perl/perl-datetime-span/Manifest
new file mode 100644
index 00000000..96e311e5
--- /dev/null
+++ b/dev/perl/perl-datetime-span/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-Set-0.28.tar.gz 42743 MD5 b0f4ccdf212fcfa2fb0d8be855904b65 RMD160 41c06cfbd5a1356f3bfc401f47ae86059a9cfb60 SHA1 172950e75e0ea860807cc110d1474c7c7e2b8fec SHA256 70c1d10ddc1d2b5a042d6518baf1745307a4a937618cc858ec7a82bf6996c754 SHA512 c70c4a7622930fb75a95d75961d4f21904954233dab321bf6868dd827e4e99fbc036440610c16b634bde481abd752610cc1584e7ee2052fe7920912cb94fa354
+MKBUILD perl-datetime-span.mkbuild 2439 MD5 531a97945f03f127d8f6d95cbb04c3d9 RMD160 d3f431369162338bbe8417cb98f56dbf685e1e21 SHA1 9b56083374e55dd0e13e6cc46fd9520782e40cee SHA256 7ffc44c85c9b7383829c7f402f009ef1984ea10884370768f3fa48ec86c48f37 SHA512 50806dbcd141560a6c406f90e2d19ae8f8df3a48db3b5fa427c664080c0c91d859e03d5f1e5e8a045263dd41ffd32c0547e9747f80fcef2edb5c9b0586dff22f
+SLACKBUILD perl-datetime-span.SlackBuild 7212 MD5 40c74ae9735f60a85afb4971e087104f RMD160 68792c5c29687af701dad8fcd02d0938553ab1a1 SHA1 4ed19ed02128521ed243893adb27e8ec60885da2 SHA256 d56be4c427f07ba8aea33a6e162f754625653fced30fe66fbc4357b7c3295fa3 SHA512 ffd5da27b1e478b7b6fc64e7c99cc8ea8301c05f7d075c26e140c0ff5ad5854efe5b876566919d7e0e86699e040536de5450bb23ee1417fd3946c22effc438cb
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMuhAAoJEEHL93ESzgeiOuIP/2VnYYJtzZl+p3fjSGftjehV
+DgEaus+zyrlN+Woa0iOplQ4ywnKPYoBq+DJdfz5pJh3YAbA6+r83S9e+e42tlOU+
+7rmQbG95QLjas4VRKpMI7yD6LtLTjb6j69qixZQfJU38YKebJ+qQgyeHO7QNXYu2
+o8DzkyHgUOdWH3SUL0Tqvreqk6xVJsOG70ll8NbU9dKREz3X/dIdnqu1q1kKdiKU
+y1f1cuwR2Wn0GbUs3tuwOJDxZzuGyqFoTeC7hCb6jomRK/f/LnU/U4hmwlRaa8+M
+v+vAHAv12iVlJVSGAq96iaNbPWvYHtDLyG5yqZifM73LX+SKGQoDy4H6fs4pjENp
+IjrtyIeU1PxUvyld5s8fUEcXgN+BsGQiIze2k37eXYKvIuYa540FSZ0EEJEXw7Mu
+5AbWTpOeNdtlVWJBDDvRrFmkwbH1LjJP88YsL4gpjjBuedxlKt9/eqUgq79XTqBv
+7RWZSqKaKpkQWob+1CatvINv4jZy0tKCeD0norOBhw7iOgB+PsWAgMnty7WMB4It
+3QVkN/d68AW8T0MFZdQnNrIDi8gA32qe7izosZkeJsc9DNsSMqc0SHMeTqTiL+gA
+urKd1isw0KkIYE32+Hc0NILQqY3lD4wb3Zh3luN3Eh41zWKYZFhs5K1rs4fVX7uB
+gJYp9x0yqPpDS3qxNyKb
+=9952
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-span/perl-datetime-span.SlackBuild b/dev/perl/perl-datetime-span/perl-datetime-span.SlackBuild
new file mode 100644
index 00000000..c9b3022d
--- /dev/null
+++ b/dev/perl/perl-datetime-span/perl-datetime-span.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-span.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-span.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-span, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-span-0.28
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-Set"
+PKG_NAME="perl-datetime-span"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.28}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-span"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/F/FG/FGLOCK/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-------------------------------------------|
+perl-datetime-span: perl-datetime-span
+perl-datetime-span:
+perl-datetime-span: Datetime spans
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+perl-datetime-span:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime-timezone/Manifest b/dev/perl/perl-datetime-timezone/Manifest
new file mode 100644
index 00000000..58de677a
--- /dev/null
+++ b/dev/perl/perl-datetime-timezone/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-TimeZone-0.98.tar.gz 510585 MD5 cdeb427e1e1f15864e8ad28487d1eb64 RMD160 958bd1cf5424bf30de9b9f92309668b648046298 SHA1 ffe4fdaed9e6745b4368adf4b28ebb8fcfc314e7 SHA256 910aee82a9f6aba91366793c6a14b8bf67476ced766742013071dce75dae6f1f SHA512 1d36f78aecffcca9f5eda682bc49dba5eac6fdff43b561c44af9e11d98cfff55ee3fd7ae88efccd1a6574b09e897113b88a2c5a4c0719486ad3352959d9b5ee5
+MKBUILD perl-datetime-timezone.mkbuild 2526 MD5 e5f8bb02e5bb80d4ccbfd8a5e02f9e88 RMD160 20ada48e754eedfe6d6a85b46fd326824c1ba457 SHA1 cc1eec89f852f4a442fc6471aa325c6c959b2652 SHA256 f1c4b1f0be5f72af769bdb58741f89ae5383fe172b70ed096ca9132ef9eae218 SHA512 98f79ec61de06d1440d509cc8ddaa4fe6dbd4fa1444a01c2c7f09b6a38560b490fbb1e7cdbfc3b11f735425367167fa0764e0863ea28d04ba826681f5736d48b
+SLACKBUILD perl-datetime-timezone.SlackBuild 7315 MD5 37d81d790d521f9490c22b47617b95b1 RMD160 f6ba8284eb631f1621013fb48cdbde98f94488e8 SHA1 f86f597e166d88edb206f26d2308ddb49dce0d02 SHA256 1b462ae53bdf88ed93080c59390530e4e4f36cd5f605ec399059f95e24d4a830 SHA512 a8620d8299e2b8976bcfb7a25957644c4c16eca8cffc8d835f427c9dcaeaeee35c7d68c96447827d3fcc89565d6a7fb639c5278d93dbcb88be31bb6986cbbdc6
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMsgAAoJEEHL93ESzgeioDkQAJNCAVXyLBiFvba258Yk2sW9
++zotM+sMP/o4zMv0+q6JqFNTfjsK60vRs5m6lHBgy9DHlsuWTfed01zzT8Zn/xtU
+ixzvsjwz0SsQ2BnPTrVoUJqj+qw+kRF+elkvY7HE7dCEcrE0dSZWC0rak4ZqpkRu
+QFWtRpHE4Pp/9ffuWHBVyHA+UMF7nrBZi8g3UbmfFp8IXDcKiKognNp/RxbQvZrX
+1X+boxAKgrOOHocV5UhvW/4MdSTs72hqi65OftduzreT+/bQ0q/RYrUZft5LTVsL
+f4pe7nsLN5ee0W6TI5DJiaRukfP6uJjqBM1HArfd3MUerQqmOj/A79jiCwVlKZj8
+Z9MsWwRSch4T+Jq6BjJZy7ehZyOHB5jXzFvF06YbNw6H2Y5SGw1LxWjYwIig/fLO
+7lw/ySt3DEjUDuHvvk8jw3Kd7eXABQf8qqLkID+UlSZYs2909+TUwfyZ7lyeXKUS
+0iu4z8yayRQqd9JlWTbLZm0/JZ458cSONcy2Wbqs4KSQZVWTGNZ+g1NeUNQkVszI
+z9iUzpRPINFMLHSo/urDu6UtIsgxcJJs5H4M7Y64T33/heBN0xSHT0OJQQ81whMi
+EYvcPtmTMzNFqCWBBdGrdjw8QY1rbc3SB7PPYlTdy4IeyP86gkp3r60GbNtBKihC
+k4BUFseJMVTu/QMIZJs9
+=qYDx
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime-timezone/perl-datetime-timezone.SlackBuild b/dev/perl/perl-datetime-timezone/perl-datetime-timezone.SlackBuild
new file mode 100644
index 00000000..919bbbd3
--- /dev/null
+++ b/dev/perl/perl-datetime-timezone/perl-datetime-timezone.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime-timezone.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime-timezone.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime-timezone, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-timezone-0.98
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime-TimeZone"
+PKG_NAME="perl-datetime-timezone"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.98}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime-timezone"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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---------------------------------------|
+perl-datetime-timezone: perl-datetime-timezone
+perl-datetime-timezone:
+perl-datetime-timezone: Time zone object base class and factory
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+perl-datetime-timezone:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-datetime/Manifest b/dev/perl/perl-datetime/Manifest
new file mode 100644
index 00000000..4b9adc8c
--- /dev/null
+++ b/dev/perl/perl-datetime/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST DateTime-0.50.tar.gz 137754 MD5 d7cf8bdbb3e55dda31f8bbea6cafad2f RMD160 8ce6016216cc6b2ae8e1b18d95c9986c43af426b SHA1 20eea7116ad8a7a1995f6ff5e4984372f5d79a01 SHA256 5b96a033589be67f58f8fcd037f651ac2b2a3da832720fd8c79c38e79c31c752 SHA512 59a6b409721802111d3c0cd55fd2a2220e998d900abb75efbbc5a41ce116dbba3959672ad737ad831bf446786333bec086e8e6edc8937debe6381714485b1bed
+MKBUILD perl-datetime.mkbuild 2374 MD5 b2396209ea25bf8133f7a407bd2fb9f4 RMD160 3acd20ac3af8f6cda257b7e781f3174640819018 SHA1 a4fc40bb3e6bc5f4b2e8adce12bf33b4c672c78c SHA256 6215f67e03430b1d6a1638fa262600b026b14ca75c15959b63964e894d7e93ef SHA512 002907d54cf56e8202b533c9cf4045ab2629c84a160956a015732a3aab593b3b9521b6ec0fd12e8716995dec7f0e2bc62d13fc366a7fa5493ec6dc718a8ab8d4
+SLACKBUILD perl-datetime.SlackBuild 7127 MD5 564098234f3c4f1afaf08b0964f81aff RMD160 c5a506ff7476af8182a01e2f14a35bc0f3897eeb SHA1 938c8cebd920b7427a9b9fe870bafc301d58b928 SHA256 3e2826ff41b5c0c4d209ad22646a06e3089bf2c07e2951b6837e86a178de90e2 SHA512 4ffd2e02626819ee459c5bc70e7472d0ee70d8f3cb8305f733fff09ee9905105a5cb1b8766440159d94b880464a2fae061e75636a48f21df0db4ae28c6188390
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvLmUAAoJEEHL93ESzgeivEIP/RfCsdaIRSUjPOz1qr7KO/ME
+QbjryzV/nFNsO0yloJKSIKykXGzzCV0Gr2j1ol765SQCss3Fr8Jl/N5MzqQ20SR/
+fThkta1/Qm+VysXwCyXgKvJqfSz1HZpBC7DXCWVNbUrrOuzSMoZdJ/nGd/L9BZlc
+sijDbHb7poP/zTHHB6Y17FcAQ9JNCV6+LItkXz5c0zC7sXqUNbAjbUMd+KkT8HgV
+1VyJl+sVgbdbQXbscQY5kCFc248FYe+Q/2BH6hb1cO44F5Z831rbLr5GcM1d4Pxi
+TFmsY5MB/bcDRE8fLATnJqURA0xzt1bbo2zr7vNgbWz1svzVTysYClYffit9UXxR
+uH0xBuIDwiu0QMM/duRGQQMmElTQas9NLAzsXu3rG1cyaB6heuf71g4xijikohZb
+c8+DoNyJ2O2gG51jfnW/qeUtKslxQzftKDBEZaKC5Bht6jcrzPIe4vEyNe7i6BiM
+5VZJ25GgmPMepjHKYGeIUviqm8hbHHPvNWg5dJcDosYqdEIAolg6719i7FxCJnfr
+zAUCCHEUFHp4J+Z6QWObhNFAhQ6cP5CK6gWVruhRGS/e9xIi9ZgUiE3PGUsGwZm/
+x/T8dIFznhmxirK8rSjK++RHtR4dNgjkjNseF5mbaPpGNLOEJ65mupE97W60VD9N
+FttuIXEekZMuuJUg6Q0z
+=e2gm
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-datetime/perl-datetime.SlackBuild b/dev/perl/perl-datetime/perl-datetime.SlackBuild
new file mode 100644
index 00000000..56256906
--- /dev/null
+++ b/dev/perl/perl-datetime/perl-datetime.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-datetime.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-datetime.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-datetime, by Silvio Rhatto
+# requires:
+# tested: perl-datetime-0.50
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DateTime"
+PKG_NAME="perl-datetime"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.50}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-datetime"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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------------------------------------------------|
+perl-datetime: perl-datetime
+perl-datetime:
+perl-datetime: A date and time object
+perl-datetime:
+perl-datetime:
+perl-datetime:
+perl-datetime:
+perl-datetime:
+perl-datetime:
+perl-datetime:
+perl-datetime:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-ical-parser/Manifest b/dev/perl/perl-ical-parser/Manifest
new file mode 100644
index 00000000..c43115d4
--- /dev/null
+++ b/dev/perl/perl-ical-parser/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST iCal-Parser-1.16.tar.gz 32523 MD5 5a796fd5c8f9593fc45a123d1054a2a7 RMD160 1547dd59b77b6f7ad080ebeef1ef4f78faa571f2 SHA1 8a7ca51750a61a5a46486aed16396517ea64dec7 SHA256 de4bc3cb1bb296e3babc3fbe07a972ff93af32cfbcf545cbefe406dfb6f75098 SHA512 719815e8dc3b270ee5c5c778720dc8c5296d553e17cdcc2dd72414e112965eae2f56581e8ef6dab048faeb7a205fbc345a14d522a02cb3a7be93513b4e7ff18b
+MKBUILD perl-ical-parser.mkbuild 2441 MD5 d58760f3054081a0f8efc6a659281d6a RMD160 89a47ae9f736a73dfc4551ab7ecc3301704ac2e9 SHA1 a2c246248b12ef6f2091bf715e9edc1e8342c403 SHA256 3bc4b7f1222858220a99ea20cd57ea82b74a072dc42092b6dc061115be4451ac SHA512 73e73a198f294105ae2cabc49567ae9a7132eae410dc2b69cff62ddc3a0b2fac2738d2985e1da545bc80488446c3abee7537fa67597725f1934690091462ea4f
+SLACKBUILD perl-ical-parser.SlackBuild 7206 MD5 c0826b3dbf0443a67f7962556645cb6e RMD160 ab9f5e32079a2acc1f201f24e1f6322f0dabcc04 SHA1 ae51850cb8a6c3920f07e73a8a5907a6596aca75 SHA256 cf120ebd0b2994af972170476924d9c98e5185912ce7bd7e4ff399a934ef0648 SHA512 1798ddadccac7cb815b2da7204b2a85da784b1506ec29bd6e9fac010f11d486d7a404add6825c0ef021a141ffad31f825e3b82b026361892462a05e709955568
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKu+H+AAoJEEHL93ESzgeiIjwP/RiQxoO9+Aqdxqnzf4ThC2BX
+BqffL54rtXTsP+HbR4QTUl15qh6ihogvvacq92bZ1eNg3Xv9Pzip/1f3N4Maw3i2
+qWj3GeOv8rtLaB1+Rwo84zrm/FB2wnXiJ24zs8PkGGSG6kghqr+Bpi9R4zEQc/dV
+1YTloo422X4S/SwMyqRsYR8CmLRqXsRZq82dvn0fZEJet6IbFoDqKcPBKS51THn6
+aT4YC60unuuhpQUhF8aiN6ZDEmJbysDPRMTQEeqOeJew70K2Vo9eZcApA2GvDxJS
+R3X2g2iB4p3TqwH6iGk0hjMw1h/ML6D4GV5syF2N2vH565rxh4PS9eSOm94e4TVa
+i3uNpuEmikw9YhkgmmozSAD97tJQ993Xt1h+sHKrqr7ZfWJwzPnMOTWy0icqidAm
+xCe0vpvZeyaV7gC69A8SWbhO+fq+f08ueu8zZogdiuFuSZfeAmYFq6+4h33bBdoE
++isGq9ghOBdKO9Sn9cFARHqMw/VNfpWCUNZeYtmCUGGSONALejhvPid29dKkVKaP
+u0PjlMXrPGdmFz3CvLkPyAQNvhtsoenWC6NrJq3Z8mzUeM7aMuqzTGQ3RbVf0qog
+4HIKEkg25a/XVFHwRL7EQ/fuYFk5B1QueetGSzrJkzCMhW1GPE56aeWSs1CxVVGY
+IF7zK2y2Mk07SfRMJbeU
+=/h67
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-ical-parser/perl-ical-parser.SlackBuild b/dev/perl/perl-ical-parser/perl-ical-parser.SlackBuild
new file mode 100644
index 00000000..2b71f6a3
--- /dev/null
+++ b/dev/perl/perl-ical-parser/perl-ical-parser.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-ical-parser.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-ical-parser.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-ical-parser, by Silvio Rhatto
+# requires:
+# tested: perl-ical-parser-1.16
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="iCal-Parser"
+PKG_NAME="perl-ical-parser"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.16}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-ical-parser"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/R/RF/RFRANKEL/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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---------------------------------------------|
+perl-ical-parser: perl-ical-parser
+perl-ical-parser:
+perl-ical-parser: Parse iCalendar files into a data structure
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+perl-ical-parser:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-io-string/Manifest b/dev/perl/perl-io-string/Manifest
new file mode 100644
index 00000000..0f87a2b2
--- /dev/null
+++ b/dev/perl/perl-io-string/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST IO-String-1.08.tar.gz 7480 MD5 250e5424f290299fc3d6b5d1e9da3835 RMD160 9a89f1a8189be9fccffee50790f5839e6dddeae7 SHA1 1a8cea5b19b6abb7f3731d6804073c0dd911d944 SHA256 2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0 SHA512 0aae1711a2bad2a239d90ca7ceb685938e509dbefb05d6c6717796a04ce1956006f67a7a203eaa9d9718b77b5cea9b7d493091b88d9542068f0829aae3a37376
+MKBUILD perl-io-string.mkbuild 2328 MD5 6c861d84cfad24145d526afc889b7ff4 RMD160 2617b8ae930697b936a8a6923344efda664ccf41 SHA1 29a7f3dcaced21e63265db96500b227dde6477da SHA256 085ece4ba6a318697a73d8c6d82ca9352bad5cb20a62558d840a6baac6a7439e SHA512 da82fd50b4e928544abadf5bcefb5e9be1f517ac3d0679d72ab10e954a189506d3c2f7bf45143a560eeb953b2ae8cab4dc0a0029f547e3d5c58ccda2b903e038
+SLACKBUILD perl-io-string.SlackBuild 7007 MD5 107ef0ebe704135674701d3cde422631 RMD160 cb7ec40e2dfa7754687505d00b68acebe8a27f25 SHA1 51b4dd8c896b1dfebc7734812a5f2474ca7b9a87 SHA256 a856bf8d589fb15d4a851874bd3761b80715367ce13d8c6684c178775de25018 SHA512 396643f18a340588c52be7f226870369d4184ab48d7232219baa060793db9e271ce0d82d814fa973aa6948cd33f42d873c11e270ab81b569d212f9880a5a89a9
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvQBuAAoJEEHL93ESzgeiy24QALHhYJqVXw2T9WGrw1z66LK4
+OR6a/VbcZT/4Iqr6D27PxpMGvcagmB5eq34MMSyQvldl32L9bkkAwNnXiBv+HmwF
+y90Di5Aw5ASHoHIcy2bQhNMMKCbVVvwIef4xkUkX9wYefGQV07GNFBsnWhTELn8H
+UeVYSOhjdMFiJjNU+IfC//PhEADyfZWJ5e5l+qWCEQJ1n8spTohR5jYiIc2czgm0
+kkOgmROxdL4b2wO5pjH+djY6H7KajCIbJ1fqmidpUJxq4pATuf/HU7AADMqz4dEm
+SBf2RyqFeBWBUNMwsH/JFVkSWFoeThGYhEZ4K+VXBrXUPg80Ox6T0HtCUke7s3cG
+uM0Uh/9u0hGomKUbzGnIiW4WVhAikiX9HDZbSJpDCgu6NY8BfjkzHBtMh/RrpC/C
+WCaHuIzDGdk+4FGfn/a9XVh+dAlA9azOEQvN78U8ahJYkeCbv0S5RfEenlUvA3pt
+SAU7OY65l77nrfFqALN5drcqcf2y8SyonJRBqcf5Sv1dcW/n1dVQqRIkDMUt9Jrt
+FqtGBGsL6SEn5QkdvCh4e3XZ54pra0fnlatRzAIZkFGOir7taBvvtFqzf+m2YGJc
+t1C8ml33K+f1actexPa3kOHMMFzRjfWZtBW5IrlboIflvB/JSAsV51BxUcyK6cqQ
+uaTv8nfq2DtDq/k0eQ9L
+=9aZF
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-io-string/perl-io-string.SlackBuild b/dev/perl/perl-io-string/perl-io-string.SlackBuild
new file mode 100644
index 00000000..14ca9600
--- /dev/null
+++ b/dev/perl/perl-io-string/perl-io-string.SlackBuild
@@ -0,0 +1,226 @@
+#!/bin/bash
+#
+# perl-io-string.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-io-string.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-io-string, by Silvio Rhatto
+# requires:
+# tested: perl-io-string-1.08
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="IO-String"
+PKG_NAME="perl-io-string"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.08}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-io-string"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-----------------------------------------------|
+perl-io-string: perl-io-string
+perl-io-string:
+perl-io-string: Emulate file interface for in-core strings
+perl-io-string:
+perl-io-string:
+perl-io-string:
+perl-io-string:
+perl-io-string:
+perl-io-string:
+perl-io-string:
+perl-io-string:
+EODESC
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-list-moreutils/Manifest b/dev/perl/perl-list-moreutils/Manifest
new file mode 100644
index 00000000..cff6debe
--- /dev/null
+++ b/dev/perl/perl-list-moreutils/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST List-MoreUtils-0.22.tar.gz 22570 MD5 3a6ec506f40662ab1296c48c5eb72016 RMD160 f84b40511381d1bbd1bb9422237b6548ca7511b5 SHA1 36dd11bf03459a34391d84d9dd89ac721eadd2dc SHA256 b4948b26851d9d9ac611eb487ecb92815dc3c5ee64e414bc67211b48590f62b7 SHA512 14961a73f467dd8562d235d015efd0e8c89dbf2a5938810790ee7a3bd03787f605e700970b060d64cbb5352dba92bc460e1e6959b92efe7de676dcae0f2dea8e
+MKBUILD perl-list-moreutils.mkbuild 2484 MD5 6d7f89c81727cee249fa2862689d4c9c RMD160 0457cf709c2e62aae18ffe4c774c0e3678235a83 SHA1 0e0a702ea86a39d93e17b71bdafe3a7b53348d0f SHA256 c41cc0ef9955094477b604bcabeb2df3545e2a3ee300b46792a9f72d5792fb57 SHA512 2a46b59ca7ba2892f011df9de12b10220250fd5b80066ab7aba4b86ebfc8b651cba5b64b595ecced588b4130dd80c7d12004bd48876713a77745edf4d2a93d5f
+SLACKBUILD perl-list-moreutils.SlackBuild 7261 MD5 91b305b0e6d026ba738f3e6e1640de34 RMD160 b465b11487db87f7d6e7fdee0b2d73ee9d773959 SHA1 9e809aaf5eec24d9576a06f75a0bd271b60e3c34 SHA256 cd88afb2179d1a94bb3828f4f93851c6b413b0842aa56a77d867f4f1bd36d056 SHA512 3e906def302afaa359b02579cf8ac9fff4cf16af30e8239ec358a3cf86c9c0c80b4f9a9d848ab23988389833c5343e65737a3d91c883cf93d5004c1fc329428a
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMpDAAoJEEHL93ESzgei4esP/1fnIfeMbJI+K/ShyMbX5mar
+cFBWjh5EXuNG86X3MAD2VZsKeuR5h92EVVw2RioKbtb6wy6Pya55/vqrxZ1zLfj6
+EHliWJqTyOYQ9pHF18Idms3Z4kcP5g0h0nWqOgU3L+UG4zqavsJ04TdNXOWmkQDr
+txotfkAWZ5jN8+v4VdBttlY4Ps1czWorEXoaSSCjFi1TEgiqia42sjGy8JSQuq8B
+l9lUilolGfQ6j36E8fuKCknYOhH7sNCs1fNg6m1NyFRfroj9RtF7aEWF1TEYB9A4
+tEhOhdi4UQoVhmHmfVQ3fK/Cvi12vJn12OJkulLAMr/YSSlKeoocLGzlaHuVbA33
+Gqu28G5Pydn6ecpwoMBFv06osMNOuKzuSlKsoH/Ek44SVR2qVLzrvajXNB2R7M5Q
+glE9bEUf7ok3A3AOjnY1K79lo06vkSuj+l5iiC0L0kFyXzkb0pL+aUwHIVIbKzC4
+J0rTDPQfcKxlzScLGTFgzqyK+Ydh7aeVrxT4hy/PspI+UOWLSLTnrLSbEFw3gIdA
+DVcRMFcsFbfV+DOc8Xv5RvLaJIjw+rxJ9vL54Xfj8+RcTbp8GkWL8JDjnyuUYSC6
+GzQgd4fKINpS9gUptmsJohzmoO4QgQ55OxyfTwj7IYAJ0FoKPb22cCEQdol1STXR
+IjHxKUUOy8YLUJ7D6gto
+=KmVQ
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-list-moreutils/perl-list-moreutils.SlackBuild b/dev/perl/perl-list-moreutils/perl-list-moreutils.SlackBuild
new file mode 100644
index 00000000..e6ce0948
--- /dev/null
+++ b/dev/perl/perl-list-moreutils/perl-list-moreutils.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-list-moreutils.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-list-moreutils.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-list-moreutils, by Silvio Rhatto
+# requires:
+# tested: perl-list-moreutils-0.22
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="List-MoreUtils"
+PKG_NAME="perl-list-moreutils"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.22}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-list-moreutils"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/V/VP/VPARSEVAL/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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------------------------------------------|
+perl-list-moreutils: perl-list-moreutils
+perl-list-moreutils:
+perl-list-moreutils: Provide the stuff missing in List::Util
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+perl-list-moreutils:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-params-validate/Manifest b/dev/perl/perl-params-validate/Manifest
new file mode 100644
index 00000000..48f1aca6
--- /dev/null
+++ b/dev/perl/perl-params-validate/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Params-Validate-0.91.tar.gz 89148 MD5 22c5467a1d4673374a1b7b2dbcfd473e RMD160 05518278394840da68065ce0c8f280394c1133f9 SHA1 d4377c17a248489b14ae5947f633275615cf38a5 SHA256 3b309a3533ee7f185ecb12e6d9feb0949ada3898497195e17acf37b7eee810c8 SHA512 171d68fa265c3ae9a90ad297f1c224a534957057c10a3299c437fe007ffc3cda4227bb6ca21c6a1775e0d4861ada67ac1583ad682a388ed0fdc436690bab58c7
+MKBUILD perl-params-validate.mkbuild 2492 MD5 bcc3903d3baa733d581af1f2d824ab07 RMD160 f11b6d0a2a6ff00a8699e773e738a1be291feca0 SHA1 50a900294f619225324f2d5d5879d669bae31fdb SHA256 04d8f72ef8d33993a01d7b136fd076674d410b95fbb49f7198bfd409c6343119 SHA512 640b55d6d5d084a5da075b641b993859fd9dfde0c09350dacdeb2c8ea5fbc582d631cd66b3b68debc042083d5044d9a45265eb399e68ef70c695370544d0f98b
+SLACKBUILD perl-params-validate.SlackBuild 7273 MD5 c1180f2cd8d8bf1589e553578fc721b6 RMD160 8639a409c75b433dcde14d9c8f9bd5258bc0f19a SHA1 fd5a05d485ee391b1d68c0a22027253e8fffd167 SHA256 0ecd8f7e5a5fea4a17812f81a968f12e5cbd9e9c1ed0aa723c04ae2f41e083b0 SHA512 0eb780610def34471daba452e4d300a5925dff03605f190aa71f29c41f4737a4c502ce0378a0469aa70034e1eb2acc0540939431bcb1cfb365852a732b1c28ff
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMOOAAoJEEHL93ESzgeiiW4P/jreORu3UzNYRmgCM2oEhT8O
+37oCi/wrobHqLtDd06UNTU/2NcM5TKgbBI46cSgFlIPAWGuu2LnLF1SFiw9b8s2o
+yiZTvnLHJ7sRcsm/fcKF7BYm+KAdehSmRmkFQWAiaj0IhxdSHoT8hRKfh7rAt5em
+hcAD9okyiELl1TXOWqQfRz8hsDTkVO8jWoMzyJ0TTzGUDDgYII0RMsLad/WMnSLO
+xVrkjn0iUTzvNHsDEy4cum+lDtzCk5b6Z13tWzYcmVtynsK4i41mutzIzLNFi2Ag
+OX331SiXkbby53lcMHB5tgK4D6uTLpn3qIP525pNk5Us+QI229zD5SYAe+Q8rQN4
+KIa0aNE7DRUFLyKa2Ggvk+7t2d3b034geAYFPO3YFYhSq13bzI8aSyhsnTyDC3Yi
+7+ny9a7Zsd4LNIkcYlKwcceG8xUk3l6v35ClOBvP6nOACVTq/dis5YzPan6qm9gL
+ZeoAeTw8BMQ/1H8SydkrXAEbWN5WJvm6VnxMJ7I7eD9m9sQGVAc5poVfpUNxZAab
+mXowm7k1Z8H1W2hYxWNdwEFQCep6x89MIAxu7Nq0hMUZ3Xm7QvpNWyfCtHS1OR7w
+byoIqUlOHKitL3lAiDErKVjTitBz+JwYhvorHQ/qMF2hWZvnCuOn7UVb7gFOE1Wj
+chVHjDSViVXhYv/tu8SS
+=NJI4
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-params-validate/perl-params-validate.SlackBuild b/dev/perl/perl-params-validate/perl-params-validate.SlackBuild
new file mode 100644
index 00000000..ab5bc70f
--- /dev/null
+++ b/dev/perl/perl-params-validate/perl-params-validate.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-params-validate.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-params-validate.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-params-validate, by Silvio Rhatto
+# requires:
+# tested: perl-params-validate-0.91
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Params-Validate"
+PKG_NAME="perl-params-validate"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.91}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-params-validate"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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-----------------------------------------|
+perl-params-validate: perl-params-validate
+perl-params-validate:
+perl-params-validate: Validate method/function parameters
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+perl-params-validate:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-set-infinite/Manifest b/dev/perl/perl-set-infinite/Manifest
new file mode 100644
index 00000000..50e3505a
--- /dev/null
+++ b/dev/perl/perl-set-infinite/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Set-Infinite-0.63.tar.gz 49960 MD5 8c573e00f3152db222de08b104b74c31 RMD160 e26858f41536c9d70c4ec834924555ff1c68840f SHA1 4732c8826fb3c8baf78bee0ec17111a4a6d3bb4e SHA256 5c9039ff2afed512783808e5b4e588f40000390533f20278d047c3dec851097c SHA512 9b67ffd6dbb0045d9c313a1e07b3455832be0bd2ac20ed9fd85bdd5b07d9809b8c4fdb44e36957dbb6ff21eaee6ef651cd34905b5466ac81f20068e4a0b3b746
+MKBUILD perl-set-infinite.mkbuild 2428 MD5 3d3d1b2fc9202686ece78edbed520f4a RMD160 4b91f4343d918ef7061cf2d6c4d0f27901225e75 SHA1 dcdc75a2506f11f4be5e45ef29959fa114200777 SHA256 453d99a6b925c861756738e8b7e7fcd6bf5abd3855c23b64c741d3b00722fa20 SHA512 99d1d4e15e683fcfd4b42b7de9863e747c96028d99f228049afd43a598824592e5b5e9869fe857e1640e31abb89896a5cb7f6b1327e7778c3e5f265b002df591
+SLACKBUILD perl-set-infinite.SlackBuild 7197 MD5 79e3c351d9135b7126b86eed6f989434 RMD160 44fc39798b444361eb28408c076a0372592ab1e5 SHA1 a8e5f9d8899ca4ab05afcb08509afcac0278dfd3 SHA256 4493b966d797e776cdcee9e7f30092abcc2c13856fa44afe273dfa9d356e5c97 SHA512 309c7403d676ebd7940eb60f2f848650211f1c773d2390cf93364ab8a5c5e8378439b988732b7e67c654606f1fd0007aef3a44b186adfa737e631dde5c6a7b67
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvMwkAAoJEEHL93ESzgeiSLcP/1DbW5OeIEEt1P/oGBgrE9+2
+PYWv5BQMtn54ZWglUpIJwicvUIK8twgvEA5l3sGA5c+0AR3KRyTZ/+kkYdSc7cNL
+EA/I75O4MY4Q1FrzKEQJFMOgJkytu9DQuMaPzz7fkZDj2P85smYfZyDzCLo9nsaF
+9WOHwkV78gAhtHWDIO+PfkXfTr0gnkqGQR1tdONagzHCOREvn8dh24sFXPrXRdLJ
+TZGOkHRQ0KnE+cK72xNmdvzW6SljCD5wSxNDHM6p4x+R9rWVgURVU4JF/fO+YuMs
+JiNIHJRxgmbt0gEhLPGBY8+XPQNfmIYmrD1k76XY5s//6BovdZ9O4SQHk/M+zb0M
+CbypoC1kRYOx3heRTOpsC5NcN7Pulw4NiWE0XLa1majL8j3y7DiDvdIsSGwH+lU1
+uK6fAzakL5EBgIjcMQv4FFoveR3rqSOvZfk/9R1rapSZgxPhfnjdA3HSQZ3Y0ZNu
+1Ugi8UKdCmJbzn6Nv8U+gZ5VmenRWOsM11OMV9YuwkYf8PUFdlxbqNtdUWxPrFft
+tY1gDjT2HqLXaKGEwK+H8phdF+39cyGe/hccE6O0YqTSdlJeEbE8CYva8unfsvyu
+CpdDX7USjckHiiwA/SgKOFeFQsrdqTwN7viFxAF4jfyrG7lxl1+HJGTdC7koJ8ef
+TPSZX9Dm7peQ5DkNd1zN
+=nMyd
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-set-infinite/perl-set-infinite.SlackBuild b/dev/perl/perl-set-infinite/perl-set-infinite.SlackBuild
new file mode 100644
index 00000000..1efa0865
--- /dev/null
+++ b/dev/perl/perl-set-infinite/perl-set-infinite.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-set-infinite.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-set-infinite.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-set-infinite, by Silvio Rhatto
+# requires:
+# tested: perl-set-infinite-0.63
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Set-Infinite"
+PKG_NAME="perl-set-infinite"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.63}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-set-infinite"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/F/FG/FGLOCK/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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--------------------------------------------|
+perl-set-infinite: perl-set-infinite
+perl-set-infinite:
+perl-set-infinite: Sets of intervals
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+perl-set-infinite:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/perl/perl-vfile-asdata/Manifest b/dev/perl/perl-vfile-asdata/Manifest
new file mode 100644
index 00000000..8a86443f
--- /dev/null
+++ b/dev/perl/perl-vfile-asdata/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST Text-vFile-asData-0.05.tar.gz 36669 MD5 3e2ec1f22562dc3d92ababac4f882bed RMD160 2728d6a1d72257b8ba69020f973ad0989277d285 SHA1 e214d3f22b9d261f0a587d68314d76d68739ef0e SHA256 e46da5bd367f60d8b030ae7d3ca500c7b50b38edcae0bfa1616ef53932f10f20 SHA512 086320bd1b801c3be59ac50f2839f95e9d12e0fcbc151afde39f0c7ee90fa46e2512988fd7b51738b7ad89059a58108dffa8ab8aa8a24e9b710623c642173ff1
+MKBUILD perl-vfile-asdata.mkbuild 2464 MD5 1b5d1bf354a4a6688a722e75703b2b33 RMD160 07081656e7279d6e223df24068883b4d0da67be0 SHA1 07e7b47eba913589b7fb43ed9b7521e5ba18f8b2 SHA256 d2014e64fa0237fa24dfcb34e108d4702add9b935baab2c9f69b89f162935666 SHA512 cee797afe3d6101c0d8806845e85e1f3dcab823abaad4d578f6f93df6221b7a304c68e4ef2779b7ce3dea8b8618f87c8f49b3735ff171c5b4eda5b5a8b16b0d3
+SLACKBUILD perl-vfile-asdata.SlackBuild 7233 MD5 78c4f97cfb948e12c611020115d9ced8 RMD160 d6ea095c7ab7a3f21b7beccb50f4405aea473fb9 SHA1 27c157150074feb3205104eb340d722a996be50e SHA256 82ebe903ab0c884085adb7783d3f57e17fb22a3b4d53b843c5506fd0c8087cb8 SHA512 a668672150405dcb3872938a0ca60d88cf05f1c407a3fd736c1670b98edeedebbc4b7bb1d49ead92ad8b2d6331cad1d4aae8c0a2ad0158db04107fe273cabc05
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBCAAGBQJKvPkJAAoJEEHL93ESzgeiK74QAILvFig5TNOO/a4dNGalJg8z
+FBfzOVqXa1BU+oUw0b8vjOhJy7NAOPw6dorDjgBMdfIJhgR+lascna93MsUFmFS+
+ScSDyLr17OwaQPFCwfDCu92i7nZwCqJ7BUYdHX5hTiBJPNNT1RVAnYR0DThyCg5P
+N/R8vF0P4rIjOy/mW0R0W51u8EOpW/lWnrHxepHLHr2xtQwP6riWYdmQBE3W5htX
+zP59OSn+A/AnWLzlPCqb7+ymQE2ATRUSPupQZPHExrak8X7K5ZuO4H2j7xqDmgVs
+1pVNQBWDlvf0CCPzrBJQl0mnnd5xJXzqJiuhayY7CNrg49S4XlOdXeCjqLJvdCy2
+//hldMn4whaMVjQlAqTzpFKwBViA07f56z8V4UmRz6+6I2T/ifH1abw1l1f9u3PT
+BuQHESCja8YBsryJaRC2EBcQh/FPeWd9++8K1goAHhsUxFxQTw6rp+PRa0uCpLYu
+XxiCfkx68kQJ9ieXeNy4CnTBU6sNNqqJnepxIpE8SoeYE7cslVm1r9aGdOn2nX3g
+AmUh1oOSfOzX02FrFmspnd+KOdbaMx5VguS0pG/DYcHOfpuMv3vpnB2uYB4Y16BX
+j73CKEe+NW5TiCWcLdMRIwgv8Vm6Scvg9WdDmKxAc+9BjcFwCP+/LOeRJ/K5Rw5m
+gbnFM7ZfF75cb3Do8b8d
+=ZVDw
+-----END PGP SIGNATURE-----
diff --git a/dev/perl/perl-vfile-asdata/perl-vfile-asdata.SlackBuild b/dev/perl/perl-vfile-asdata/perl-vfile-asdata.SlackBuild
new file mode 100644
index 00000000..f7320d19
--- /dev/null
+++ b/dev/perl/perl-vfile-asdata/perl-vfile-asdata.SlackBuild
@@ -0,0 +1,232 @@
+#!/bin/bash
+#
+# perl-vfile-asdata.SlackBuild is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or any later version.
+#
+# perl-vfile-asdata.SlackBuild is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for perl-vfile-asdata, by Silvio Rhatto
+# requires:
+# tested: perl-vfile-asdata-0.05
+# model: perl.mkSlackBuild $Rev: 796 $
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Text-vFile-asData"
+PKG_NAME="perl-vfile-asdata"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.05}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+SLACKBUILD_PATH=${SLACKBUILD_PATH:="dev/perl/perl-vfile-asdata"}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 sha1 sha256 sha512 rmd160; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+cd "$PKG_SRC"
+
+# Configure
+perl Makefile.PL || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Fix .packlist
+string="`echo $PKG | sed -e 's/\//\\\\\//g'`"
+for file in `find $PKG -name .packlist`; do
+ sed -e "s/^$string//g" $file > $file.tmp
+ mv $file.tmp $file
+done
+
+# Strip binaries
+( cd "$PKG"
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+ if [ -f "$doc" ]; then
+ cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+ fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# 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--------------------------------------------|
+perl-vfile-asdata: perl-vfile-asdata
+perl-vfile-asdata:
+perl-vfile-asdata: parse vFile formatted files into data structures
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+perl-vfile-asdata:
+EODESC
+
+# Copy slack-required
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+if [ -f "$CWD/slack-required" ]; then
+ cp $CWD/slack-required $PKG/install
+fi
+
+# Build the package
+cd "$PKG"
+mkdir -p $REPOS/$SLACKBUILD_PATH
+makepkg -l y -c n "$REPOS/$SLACKBUILD_PATH/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+ rm -rf "$PKG_WORK" "$PKG"
+fi