summaryrefslogtreecommitdiff
path: root/multilib/lib32-openssl
diff options
context:
space:
mode:
Diffstat (limited to 'multilib/lib32-openssl')
-rw-r--r--multilib/lib32-openssl/PKGBUILD56
-rw-r--r--multilib/lib32-openssl/ca-dir.patch33
-rw-r--r--multilib/lib32-openssl/no-rpath.patch11
3 files changed, 100 insertions, 0 deletions
diff --git a/multilib/lib32-openssl/PKGBUILD b/multilib/lib32-openssl/PKGBUILD
new file mode 100644
index 000000000..2f5fd6a6d
--- /dev/null
+++ b/multilib/lib32-openssl/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 39457 2011-02-10 15:44:47Z bluewind $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+_pkgbasename=openssl
+pkgname=lib32-$_pkgbasename
+_ver=1.0.0d
+# use a pacman compatible version scheme
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+pkgrel=1
+pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (32-bit)'
+arch=('x86_64')
+url='https://www.openssl.org'
+license=('custom:BSD')
+depends=(lib32-zlib $_pkgbasename)
+optdepends=('ca-certificates' perl gcc-multilib)
+options=('!makeflags')
+source=("https://www.openssl.org/source/${_pkgbasename}-${_ver}.tar.gz"
+ 'no-rpath.patch'
+ 'ca-dir.patch')
+md5sums=('40b6ea380cc8a5bf9734c2f8bf7e701e'
+ 'dc78d3d06baffc16217519242ce92478'
+ '3bf51be3a1bbd262be46dc619f92aa90')
+
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd $srcdir/$_pkgbasename-$_ver
+
+ # remove rpath: http://bugs.archlinux.org/task/14367
+ patch -p0 -i $srcdir/no-rpath.patch
+ # set ca dir to /etc/ssl by default
+ patch -p0 -i $srcdir/ca-dir.patch
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure linux-elf --prefix=/usr --openssldir=/etc/ssl --libdir=lib32 \
+ shared zlib enable-md2 -Wa,--noexecstack
+
+ make
+
+ # the test fails due to missing write permissions in /etc/ssl
+ # revert this patch for make test
+ #patch -p0 -R -i $srcdir/ca-dir.patch
+ #make test
+ #patch -p0 -i $srcdir/ca-dir.patch
+}
+
+package() {
+ cd $srcdir/$_pkgbasename-$_ver
+ make INSTALL_PREFIX=$pkgdir install
+
+ rm -rf "${pkgdir}"/usr/{include,share,bin} "$pkgdir/etc"
+ mkdir -p "$pkgdir/usr/share/licenses"
+ ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
+}
diff --git a/multilib/lib32-openssl/ca-dir.patch b/multilib/lib32-openssl/ca-dir.patch
new file mode 100644
index 000000000..41d1386d3
--- /dev/null
+++ b/multilib/lib32-openssl/ca-dir.patch
@@ -0,0 +1,33 @@
+--- apps/CA.pl.in 2006-04-28 02:30:49.000000000 +0200
++++ apps/CA.pl.in 2010-04-01 00:35:02.600553509 +0200
+@@ -53,7 +53,7 @@
+ $X509="$openssl x509";
+ $PKCS12="$openssl pkcs12";
+
+-$CATOP="./demoCA";
++$CATOP="/etc/ssl";
+ $CAKEY="cakey.pem";
+ $CAREQ="careq.pem";
+ $CACERT="cacert.pem";
+--- apps/CA.sh 2009-10-15 19:27:47.000000000 +0200
++++ apps/CA.sh 2010-04-01 00:35:02.600553509 +0200
+@@ -68,7 +68,7 @@
+ X509="$OPENSSL x509"
+ PKCS12="openssl pkcs12"
+
+-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
++if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
+ CAKEY=./cakey.pem
+ CAREQ=./careq.pem
+ CACERT=./cacert.pem
+--- apps/openssl.cnf 2009-04-04 20:09:43.000000000 +0200
++++ apps/openssl.cnf 2010-04-01 00:35:02.607220681 +0200
+@@ -39,7 +39,7 @@
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
diff --git a/multilib/lib32-openssl/no-rpath.patch b/multilib/lib32-openssl/no-rpath.patch
new file mode 100644
index 000000000..ebd95e23d
--- /dev/null
+++ b/multilib/lib32-openssl/no-rpath.patch
@@ -0,0 +1,11 @@
+--- Makefile.shared.no-rpath 2005-06-23 22:47:54.000000000 +0200
++++ Makefile.shared 2005-11-16 22:35:37.000000000 +0100
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to