aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xapp/crypt/gnupg2/gnupg2.SlackBuild160
-rw-r--r--app/crypt/gnupg2/slack-required5
-rwxr-xr-xdev/libs/libassuan/libassuan.SlackBuild148
-rw-r--r--dev/libs/libassuan/slack-required1
-rwxr-xr-xdev/libs/libgcrypt/libgcrypt.SlackBuild183
-rw-r--r--dev/libs/libgcrypt/slack-desc19
-rw-r--r--dev/libs/libgcrypt/slack-required1
-rwxr-xr-xdev/libs/libgpg-error/libgpg-error.SlackBuild182
-rw-r--r--dev/libs/libgpg-error/slack-desc19
-rw-r--r--dev/libs/libgpg-error/slack-required3
-rwxr-xr-xdev/libs/libksba/libksba.SlackBuild148
-rw-r--r--dev/libs/libksba/slack-required1
-rwxr-xr-xdev/libs/libpth/libpth.SlackBuild166
13 files changed, 849 insertions, 187 deletions
diff --git a/app/crypt/gnupg2/gnupg2.SlackBuild b/app/crypt/gnupg2/gnupg2.SlackBuild
new file mode 100755
index 00000000..d18c0f2a
--- /dev/null
+++ b/app/crypt/gnupg2/gnupg2.SlackBuild
@@ -0,0 +1,160 @@
+#!/bin/bash
+#
+# SlackBuild for gnupg2 (GNU Privacy Guard v2):
+# http://www.gnupg.org/
+#
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, gzip, wget
+#
+
+CWD=`pwd`
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+SRC_NAME="gnupg"
+PKG_NAME="gnupg2"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=2.0.1}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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
+
+# Clean up any leftovers of previous builds
+rm -rf $SRC_NAME-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
+mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re
+oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V
+JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ
+tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm
+BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg
+xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo
+FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU
+z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw=
+=3fgc
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="ftp://ftp.gnupg.org/gcrypt/gnupg/$SRC"
+
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
+
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
+
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $SRC_NAME-$VERSION
+CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR \
+ --enable-static-rnd=linux --enable-noexecstack || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+
+# 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 gpg2, gpgv2, gpg-agent, and gpgsm already suid root
+chmod 4755 $PKG/$PREFIX/bin/{gpg2,gpgv2,gpg-agent,gpgsm}
+
+# Compress info and man pages
+mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/
+mv -f $PKG/$PREFIX/share/man $PKG/$PREFIX/
+mv -f $PKG/$PREFIX/share/gnupg $PKG/$PREFIX/share/gnupg2
+rm -rf $PKG/$PREFIX/info/dir
+gzip -9 $PKG/$PREFIX/info/*
+gzip -9 $PKG/$PREFIX/man/*/*
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README* THANKS TODO VERSION"
+mkdir -p $PKG/$PREFIX/doc/$PKG_NAME-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PKG_NAME-$VERSION
+( cd $PKG/$PREFIX/doc/$PKG_NAME-$VERSION
+ ln -sf /$PREFIX/share/$PKG_NAME/FAQ .
+ ln -sf /$PREFIX/share/$PKG_NAME/faq.html .
+)
+
+# Add slack-desc file
+mkdir -p $PKG/install
+cat << EOF > $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--------------------------------------------------------|
+gnupg2: gnupg2 (The GNU Privacy Guard v2)
+gnupg2:
+gnupg2: The GNU Privacy Guard (GnuPG) is GNU's tool for secure communication
+gnupg2: and data storage. It can be used to encrypt data, create digital
+gnupg2: signatures, help authenticating using Secure Shell and to provide a
+gnupg2: framework for public key cryptography. It includes an advanced key
+gnupg2: management facility and is compliant with the OpenPGP and S/MIME
+gnupg2: standards.
+gnupg2:
+gnupg2: For more information, http://www.gnupg.org/
+gnupg2:
+EOF
+
+# Build the package
+cd $PKG
+makepkg -l y -c n $REPOS/$PKG_NAME-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+# Delete build directory, if requested
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $PKG
+fi
diff --git a/app/crypt/gnupg2/slack-required b/app/crypt/gnupg2/slack-required
new file mode 100644
index 00000000..95078e30
--- /dev/null
+++ b/app/crypt/gnupg2/slack-required
@@ -0,0 +1,5 @@
+libpth >= 1.3.7
+libgpg-error >= 1.4
+libgcrypt >= 1.2.0
+libassuan >= 1.0.1
+libksba >= 1.0.0
diff --git a/dev/libs/libassuan/libassuan.SlackBuild b/dev/libs/libassuan/libassuan.SlackBuild
new file mode 100755
index 00000000..ad0b9886
--- /dev/null
+++ b/dev/libs/libassuan/libassuan.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+#
+# SlackBuild for libassuan:
+# http://www.gnupg.org/(en)/related_software/libassuan/
+#
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, gzip, wget
+#
+
+CWD=`pwd`
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+PACKAGE="libassuan"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=1.0.1}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PACKAGE}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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
+
+# Clean up any leftovers of previous builds
+rm -rf $PACKAGE-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
+mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re
+oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V
+JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ
+tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm
+BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg
+xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo
+FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU
+z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw=
+=3fgc
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$PACKAGE-$VERSION.tar.bz2"
+URL="ftp://ftp.gnupg.org/gcrypt/libassuan/$SRC"
+
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
+
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
+
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
+CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+
+# 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
+)
+
+# Compress info pages
+mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/
+rm -rf $PKG/$PREFIX/info/dir
+gzip -9 $PKG/$PREFIX/info/*
+
+# Install documentation
+DOCS="AUTHORS COPYING* ChangeLog INSTALL NEWS README* THANKS TODO VERSION"
+mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+
+# Add slack-desc file
+mkdir -p $PKG/install
+cat << EOF > $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-----------------------------------------------------|
+libassuan: libassuan
+libassuan:
+libassuan: Libassuan is a small library implementing the so-called Assuan
+libassuan: protocol. This protocol is used for IPC between most newer GnuPG
+libassuan: components. Both, server and client side functions are provided.
+libassuan:
+libassuan: For more information,
+libassuan: http://www.gnupg.org/(en)/related_software/libassuan/
+libassuan:
+libassuan:
+libassuan:
+EOF
+
+# Build the package
+cd $PKG
+makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+# Delete build directory, if requested
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $PKG
+fi
diff --git a/dev/libs/libassuan/slack-required b/dev/libs/libassuan/slack-required
new file mode 100644
index 00000000..93bd56be
--- /dev/null
+++ b/dev/libs/libassuan/slack-required
@@ -0,0 +1 @@
+libpth
diff --git a/dev/libs/libgcrypt/libgcrypt.SlackBuild b/dev/libs/libgcrypt/libgcrypt.SlackBuild
index c64ed336..29c047d5 100755
--- a/dev/libs/libgcrypt/libgcrypt.SlackBuild
+++ b/dev/libs/libgcrypt/libgcrypt.SlackBuild
@@ -1,109 +1,148 @@
#!/bin/bash
#
-# slackbuild for libgcrypt from http://www.slacky.it/download/libraries/libgcrypt/1.2.2/src
-#
-# Heavily based on the Slackware 10.2 SlackBuild
+# SlackBuild for libgcrypt:
# http://directory.fsf.org/security/libgcrypt.html
#
-# small changes by rhatto
-#
-# TODO: check source signature
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, gzip, wget
#
CWD=`pwd`
+# Look for slackbuildrc
if [ -f ~/.slackbuildrc ]; then
source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
source /etc/slackbuildrc
fi
-# default settings
+# Set variables
PACKAGE="libgcrypt"
ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.2.2}
-BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+VERSION=${VERSION:=1.2.3}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PACKAGE}
REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
-if [ "$ARCH" == "x86_64" ]; then
- LIBDIR=/usr/lib64
-else
- LIBDIR=/usr/lib
-fi
-
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-NAME="$PACKAGE"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="ftp://ftp.gnupg.org/gcrypt/$PACKAGE/$SRC"
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
- tarflag="j"
-else
- tarflag="z"
-fi
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
- wget "$URL" -O "$SRC_DIR/$SRC"
- wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"
-fi
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mcpu=i686"
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
fi
-TMP="$TMP/$PACKAGE"
-PKG=$TMP/package-$PACKAGE
-rm -rf $TMP
+# 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
+
+# Clean up any leftovers of previous builds
+rm -rf $PACKAGE-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re
+oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V
+JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ
+tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm
+BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg
+xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo
+FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU
+z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw=
+=3fgc
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$PACKAGE-$VERSION.tar.bz2"
+URL="ftp://ftp.gnupg.org/gcrypt/libgcrypt/$SRC"
+
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
-cd $TMP
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $NAME-$VERSION
-chown -R root.root .
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr --libdir="$LIBDIR" \
---disable-static \
---enable-m-guard \
---program-prefix="" \
---program-suffix="" \
-$ARCH-slackware-linux
-make || exit 32
-make install DESTDIR=$PKG
-mkdir -p $PKG/usr/doc/$NAME-$VERSION
-cp -a AUTHORS BUGS COPYING* NEWS README* THANKS TODO VERSION \
- $PKG/usr/doc/$NAME-$VERSION
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR \
+ --enable-m-guard --enable-noexecstack || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+# 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
+ 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
)
-gzip $PKG/usr/info/*.info
-rm $PKG/usr/info/dir
-chown -R root.bin $PKG/usr/bin
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cd $CWD
-cp -a *.SlackBuild slack-desc $PKG/usr/doc/$NAME-$VERSION
-chown -R root.root $PKG/usr/doc/$NAME-$VERSION
-echo 'chroot . /sbin/ldconfig' > $PKG/install/doinst.sh
+# Compress info pages
+rm -rf $PKG/$PREFIX/info/dir
+gzip -9 $PKG/$PREFIX/info/*
+
+# Install documentation
+DOCS="AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS README* THANKS TODO VERSION"
+mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+
+# Add slack-desc file
+mkdir -p $PKG/install
+cat << EOF > $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-----------------------------------------------------|
+libgcrypt: libgcrypt (Cryptographic library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose cryptographic library based on the
+libgcrypt: code from GnuPG. It provides functions for all cryptographic
+libgcrypt: building blocks: symmetric ciphers, hash algorithms, MACs, public
+libgcrypt: key algorithms, large integer functions, random numbers and a lot
+libgcrypt: of supporting functions.
+libgcrypt:
+libgcrypt: For more information,
+libgcrypt: http://directory.fsf.org/security/libgcrypt.html
+libgcrypt:
+EOF
+
+# Build the package
cd $PKG
-#requiredbuilder -v -y $PKG
-
-makepkg -l y -c n $REPOS/$NAME-$VERSION-$ARCH-$BUILD.tgz
+makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Delete build directory, if requested
if [ "$CLEANUP" == "yes" ]; then
- rm -rf $TMP
+ rm -rf $PKG
fi
diff --git a/dev/libs/libgcrypt/slack-desc b/dev/libs/libgcrypt/slack-desc
deleted file mode 100644
index a4bfb8bf..00000000
--- a/dev/libs/libgcrypt/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-libgcrypt: LibGcrypt
-libgcrypt:
-libgcrypt: Libgcrypt is a general purpose crypto library based on the code
-libgcrypt: used in GnuPG. We can't start with a new version number because
-libgcrypt: libgcrypt was part of gnupg 1.1 and some applications already used
-libgcrypt: it and tested for the version number. We believe that the API can
-libgcrypt: stay as it is, except that new functions may be added in the
-libgcrypt: future.
-libgcrypt:
-libgcrypt:
-libgcrypt:
diff --git a/dev/libs/libgcrypt/slack-required b/dev/libs/libgcrypt/slack-required
new file mode 100644
index 00000000..b60218b4
--- /dev/null
+++ b/dev/libs/libgcrypt/slack-required
@@ -0,0 +1 @@
+libgpg-error >= 0.5
diff --git a/dev/libs/libgpg-error/libgpg-error.SlackBuild b/dev/libs/libgpg-error/libgpg-error.SlackBuild
index dafd558b..95431a71 100755
--- a/dev/libs/libgpg-error/libgpg-error.SlackBuild
+++ b/dev/libs/libgpg-error/libgpg-error.SlackBuild
@@ -1,113 +1,143 @@
#!/bin/bash
#
-# slackbuild for libgpg-error from
-# http://www.slacky.it/download/libraries/libgpg-error/1.3/src/libgpg-error.SlackBuild
+# SlackBuild for libgpg-error:
+# http://www.gnupg.org/(en)/related_software/libgpg-error/
#
-# Heavily based on the Slackware 10.2 SlackBuild
-# http://www.gnupg.org/(en)/download/index.html
-#
-# small changes by rhatto
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, wget
#
-CWD="`pwd`"
+CWD=`pwd`
+# Look for slackbuildrc
if [ -f ~/.slackbuildrc ]; then
source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
source /etc/slackbuildrc
fi
-# default settings
+# Set variables
PACKAGE="libgpg-error"
ARCH=${ARCH:=i486}
VERSION=${VERSION:=1.4}
-BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PACKAGE}
REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
-if [ "$ARCH" == "x86_64" ]; then
- LIBDIR=/usr/lib64
-else
- LIBDIR=/usr/lib
-fi
-
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-#KEY="http://..."
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ftp.gnupg.org/GnuPG/libgpg-error/$SRC"
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
- tarflag="j"
-else
- tarflag="z"
-fi
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
- wget "$URL" -O "$SRC_DIR/$SRC"
- wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"
-fi
-
-# TODO: signature checking
-#if [ ! -f "$SRC_DIR/$PACKAGE-key.asc" ]; then
-# wget "$KEY" -O "$SRC_DIR/$PACKAGE-key.asc" && gpg --import $SRC_DIR/$PACKAGE-key.asc
-#fi
-
-gpg --verify $SRC_DIR/$SRC.sig $SRC || echo WARNING: Could not check signature or WRONG signature found.
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
-NAME="$PACKAGE"
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mcpu=i686"
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
+ LIBDIR="$PREFIX/lib64"
fi
-TMP="$TMP/$PACKAGE"
-PKG=$TMP/package-libgpg-error
-rm -rf $TMP
+# 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
+
+# Clean up any leftovers of previous builds
+rm -rf $PACKAGE-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re
+oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V
+JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ
+tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm
+BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg
+xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo
+FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU
+z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw=
+=3fgc
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$PACKAGE-$VERSION.tar.bz2"
+URL="http://ftp.gnupg.org/GnuPG/libgpg-error/$SRC"
-cd $TMP
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
+
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
-tar xvf$tarflag $SRC_DIR/$NAME-$VERSION.tar.bz2
-cd $NAME-$VERSION
-chown -R root.root .
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
CFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr --libdir=$LIBDIR \
---disable-static \
---program-prefix="" \
---program-suffix="" \
-$ARCH-slackware-linux
-make || exit 32
-make install DESTDIR=$PKG
-mkdir -p $PKG/usr/doc/$NAME-$VERSION
-cp -a ABOUT-NLS AUTHORS ChangeLog COPYING* INSTALL NEWS README $PKG/usr/doc/$NAME-$VERSION
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+# 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
+ 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
)
-chown -R root.bin $PKG/usr/bin
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING* INSTALL NEWS README"
+mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+
+# Add slack-desc file
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
-cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild
-echo 'chroot . /sbin/ldconfig' > $PKG/install/doinst.sh
+cat << EOF > $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--------------------------------------------------|
+libgpg-error: libgpg-error
+libgpg-error:
+libgpg-error: Libgpg-error is a small library that defines common error values
+libgpg-error: for all GnuPG components. Among these are GPG, GPGSM, GPGME,
+libgpg-error: GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard
+libgpg-error: Daemon and possibly more in the future.
+libgpg-error:
+libgpg-error: For more information,
+libgpg-error: http://www.gnupg.org/(en)/related_software/libgpg-error/
+libgpg-error:
+libgpg-error:
+EOF
+
+# Build the package
cd $PKG
-# requiredbuilder -v -y -s $CWD $PKG
-
-makepkg -l y -c n $REPOS/$NAME-$VERSION-$ARCH-$BUILD.tgz
+makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Delete build directory, if requested
if [ "$CLEANUP" == "yes" ]; then
- rm -rf $TMP
+ rm -rf $PKG
fi
-
diff --git a/dev/libs/libgpg-error/slack-desc b/dev/libs/libgpg-error/slack-desc
deleted file mode 100644
index 4628b081..00000000
--- a/dev/libs/libgpg-error/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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-------------------------------------------------------|
-libgpg-error: libgpg-error
-libgpg-error:
-libgpg-error: This is a library that defines common error values for all GnuPG
-libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
-libgpg-error: pinentry, SmartCard Daemon and possibly more in the future.
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error: \ No newline at end of file
diff --git a/dev/libs/libgpg-error/slack-required b/dev/libs/libgpg-error/slack-required
index dc80d9bb..cf6f4e85 100644
--- a/dev/libs/libgpg-error/slack-required
+++ b/dev/libs/libgpg-error/slack-required
@@ -1 +1,2 @@
-glibc-solibs >= 2.3.5-i486-5
+glibc >= 2.1
+bison >= 1.26
diff --git a/dev/libs/libksba/libksba.SlackBuild b/dev/libs/libksba/libksba.SlackBuild
new file mode 100755
index 00000000..864bc628
--- /dev/null
+++ b/dev/libs/libksba/libksba.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+#
+# SlackBuild for libksba:
+# http://www.gnupg.org/(en)/related_software/libksba/
+#
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, gzip, wget
+#
+
+CWD=`pwd`
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+PACKAGE="libksba"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=1.0.1}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PACKAGE}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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
+
+# Clean up any leftovers of previous builds
+rm -rf $PACKAGE-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
+mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re
+oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V
+JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ
+tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm
+BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg
+xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo
+FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU
+z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw=
+=3fgc
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$PACKAGE-$VERSION.tar.bz2"
+URL="ftp://ftp.gnupg.org/gcrypt/libksba/$SRC"
+
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
+
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
+
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
+CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+
+# 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
+)
+
+# Compress info pages
+mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/
+rm -rf $PKG/$PREFIX/info/dir
+gzip -9 $PKG/$PREFIX/info/*
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO VERSION"
+mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION
+
+# Add slack-desc file
+mkdir -p $PKG/install
+cat << EOF > $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-------------------------------------------------------|
+libksba: libksba
+libksba:
+libksba: Libksba is a library to make the tasks of working with X.509
+libksba: certificates, CMS data and related objects more easy. It provides a
+libksba: highlevel interface to the implemented protocols and presents the data
+libksba: in a consistent way.
+libksba:
+libksba: For more information,
+libksba: http://www.gnupg.org/(en)/related_software/libksba/
+libksba:
+libksba:
+EOF
+
+# Build the package
+cd $PKG
+makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+# Delete build directory, if requested
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $PKG
+fi
diff --git a/dev/libs/libksba/slack-required b/dev/libs/libksba/slack-required
new file mode 100644
index 00000000..4d292ccf
--- /dev/null
+++ b/dev/libs/libksba/slack-required
@@ -0,0 +1 @@
+libgpg-error >= 1.2
diff --git a/dev/libs/libpth/libpth.SlackBuild b/dev/libs/libpth/libpth.SlackBuild
new file mode 100755
index 00000000..a95d2e94
--- /dev/null
+++ b/dev/libs/libpth/libpth.SlackBuild
@@ -0,0 +1,166 @@
+#!/bin/bash
+#
+# SlackBuild for pth (GNU Portable Threads):
+# http://www.gnu.org/software/pth/
+#
+# Author: Luis ( luis at riseup d0t net )
+# Required binaries: gpg, gzip, wget
+#
+
+CWD=`pwd`
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# Set variables
+SRC_NAME="pth"
+PKG_NAME="libpth"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=2.0.7}
+BUILD=${BUILD:=1ls}
+SRC_DIR=${SRC_DIR:=$CWD}
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR=$PREFIX/lib
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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
+
+# Clean up any leftovers of previous builds
+rm -rf $SRC_NAME-$VERSION
+rm -rf $PKG
+mkdir -p $SRC_DIR
+mkdir -p $PKG
+mkdir -p $REPOS
+
+# Import (minimized) signing key from
+# http://www.gnupg.org/(en)/signature_key.html
+gpg --import << EOGPG
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBDxKtR0RBACh9cmwVQjGuRAH9zEIV6s5ZhNRjG0Mk9sGjwkP1bXRHhRq64Dp
+iCnqSZvlBVLBSOB48YHEj5tQayjxIoLR1R79o2uA99/SuSAtmByKk1rrrLGyb8Hp
+KKGWLPITnY8on0Lwj36lGXWkbjdSPneEX61FkOtZ47tyLePXSZy9twU8dwCgj0R3
+Z2f3x7d0u1IXonA4v/m3EIED/2lTlAOVtlewlMAsNWlH5HL7HInbtWSNJTebszix
+qivgZ3yuI+/aGNECYmK/SDia0s9BUto2ih0t+Hdo6Tw5nEivEFfYTl4gOjg+yYu1
+7RgjRAAwiDirni7BfleChztiovaVOVWIW/vs3HMY+nbgkqcjMyWqhC/7c2RL+5jQ
+enHHA/0cK4SWrC4pL2syPxwQFDmWSYz80dh5kPTUkXG09BEZ3fvnlNs1m6c2ALdf
+B8LiKlxUqZn+/hrNcbkByq/CJG+oiY0omJUyFzIbmu5t9aKhl8UpQ0+91j7aVTya
+5XfyQnNdtSi1hvcxvMyjI2wfUNrKzNFK3WQ/9P2lADnp8G8j7bQpUmFsZiBTLiBF
+bmdlbHNjaGFsbCA8cnNlQGVuZ2Vsc2NoYWxsLmNvbT6IXwQTEQIAFwUCPEq1HQUL
+BwoDBAMVAwIDFgIBAheAABIJEG50SsupwJ4wB2VHUEcAAQHzlQCfYaJnY4MWESnO
+g4vBoDFt9uAIM9gAn3szlXmMoNFCSKyvJRYDcfH/E8fHuQINBDxKtT4QCAC0My97
+Ek/z0LRlMPoBMNbZZyq7waa8+SB3ponfh6o1O5Ce6FRyP3IqxzAvo2eMV0IvwyAy
+9EcyxuKAsL53NadbRUEy2q9bJECn/AlbIHiJvriSQstzWCEyBVRsH2wHi3YGns7c
+saNs4e7pDKaf5vedqeca8OpJ4bj8U1kiebGzz7qqalmpSF6czUbFZppL5C7n6PVR
+PtJGoB2u3fS6aOJgpndhsiHupNHWYB8/tUGeAysDYESx9rhasPVhehC8mpHiwHAb
+kxHalAnbJI8YZ0MFAqOr8fPPVDzO8ArsbkjuKHGgQvkV38Gsn+SnPDExobvBCCI4
+8hBkcbVtCrzV8gLfAAMHCACKajjfnpQ1HX70bHF/a9i99/OtldwoarMu3enEp5iu
+5kMIH6Nh67WUcl79xX08/AWJUcJgI8n4oE4HAhXi4sTWl+4MnNoYls9qnpVLNmHh
+c4dhRDAHdHVRsVT1vXNpUckfLxj4j37w9BRNuQCMLYSYdeKy1ENNZrOgh2WOLDTn
+tH8mlIb3fIXQ0EY78uC16MtPL/Q5Z9FL9DvJiIe+6XoLXJhuKTk6svztWN+T4Ix0
+8e8GT6YZysKE85OUeJqMqQXUdzReIG5qRqrNT984AXJdMwsjEbrsjLgETDyyqmqF
+uDg9DiusvaMuhgNxLpTnmUTo3xOKwkdY93UfDYhbEwNpiE4EGBECAAYFAjxKtT4A
+EgkQbnRKy6nAnjAHZUdQRwABASWPAJoCqfTDhzFQOngPku+kWHdajWj1pgCeIIKl
+ZKGPGjkCEUGma0qd+GUAh4A=
+=rGe0
+-----END PGP PUBLIC KEY BLOCK-----
+EOGPG
+
+# Dowload source and its signature, if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://ftp.gnu.org/gnu/pth/$SRC"
+
+if [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+if [ ! -f "$SRC_DIR/$SRC.sig" ]; then
+ wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
+fi
+
+# Check source's signature
+gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
+
+# Untar, configure, compile and install
+tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $SRC_NAME-$VERSION
+CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF
+make || exit $ERROR_MAKE
+make test
+make install DESTDIR=$PKG || exit $ERROR_INSTALL
+
+# 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
+)
+
+# Compress man pages
+gzip -9 $PKG/$PREFIX/man/*/*
+
+# Install documentation
+DOCS="ANNOUNCE AUTHORS COPYING ChangeLog HACKING HISTORY INSTALL NEWS PORTING \
+ README SUPPORT TESTS THANKS USERS"
+mkdir -p $PKG/$PREFIX/doc/$PKG_NAME-$VERSION
+cp -a $DOCS $PKG/$PREFIX/doc/$PKG_NAME-$VERSION
+
+# Add slack-desc file
+mkdir -p $PKG/install
+cat << EOF > $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--------------------------------------------------------|
+libpth: libpth (The GNU Portable Threads)
+libpth:
+libpth: Pth is a very portable POSIX/ANSI-C based library for Unix platforms
+libpth: which provides non-preemptive priority-based scheduling for multiple
+libpth: threads of execution ("multithreading") inside server applications.
+libpth: All threads run in the same address space of the server application,
+libpth: but each thread has its own individual program-counter, run-time
+libpth: stack, signal mask and errno variable.
+libpth:
+libpth: For more information, http://www.gnu.org/software/pth/
+libpth:
+EOF
+
+# Build the package
+cd $PKG
+makepkg -l y -c n $REPOS/$PKG_NAME-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+# Delete build directory, if requested
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $PKG
+fi