summaryrefslogtreecommitdiff
path: root/core/openssl
diff options
context:
space:
mode:
Diffstat (limited to 'core/openssl')
-rw-r--r--core/openssl/PKGBUILD31
-rw-r--r--core/openssl/gnu-linux-mips64el-gcc.patch10
2 files changed, 30 insertions, 11 deletions
diff --git a/core/openssl/PKGBUILD b/core/openssl/PKGBUILD
index d64577707..a0343e153 100644
--- a/core/openssl/PKGBUILD
+++ b/core/openssl/PKGBUILD
@@ -8,7 +8,7 @@ _ver=1.0.1
pkgver=$_ver
pkgrel=1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url='https://www.openssl.org'
license=('custom:BSD')
depends=('perl')
@@ -16,27 +16,20 @@ optdepends=('ca-certificates')
options=('!makeflags')
backup=('etc/ssl/openssl.cnf')
source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
- "https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz.asc"
'fix-manpages.patch'
'no-rpath.patch'
+ 'gnu-linux-mips64el-gcc.patch'
'ca-dir.patch')
md5sums=('134f168bc2a8333f19f81d684841710b'
'efbe93c11747fed52e60567819409d8a'
'5bbc0655bda2af95bc8eb568963ce8ba'
'dc78d3d06baffc16217519242ce92478'
+ 'd7115f0cc44df346d7b68c681819f94b'
'3bf51be3a1bbd262be46dc619f92aa90')
build() {
cd $srcdir/$pkgname-$_ver
- if [ "${CARCH}" == 'x86_64' ]; then
- openssltarget='linux-x86_64'
- optflags='enable-ec_nistp_64_gcc_128'
- elif [ "${CARCH}" == 'i686' ]; then
- openssltarget='linux-elf'
- optflags=''
- fi
-
# avoid conflicts with other man pages
# see http://www.linuxfromscratch.org/patches/downloads/openssl/
patch -p1 -i $srcdir/fix-manpages.patch
@@ -44,11 +37,27 @@ build() {
patch -p0 -i $srcdir/no-rpath.patch
# set ca dir to /etc/ssl by default
patch -p0 -i $srcdir/ca-dir.patch
+
+ patch -p0 -i $srcdir/gnu-linux-mips64el-gcc.patch
+
+ case "${CARCH}" in
+ 'x86_64')
+ openssltarget='linux-x86_64' ;;
+ optflags='enable-ec_nistp_64_gcc_128'
+ 'i686')
+ openssltarget='linux-elf' ;;
+ 'mips64el')
+# ./config
+ # Broken.
+ # openssltarget='gnu-linux-mips64el-gcc' ;;
+ openssltarget='linux-generic32' ;;
+ esac
+
# mark stack as non-executable: http://bugs.archlinux.org/task/12434
./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
shared zlib enable-md2 ${optflags} \
"${openssltarget}" \
- -Wa,--noexecstack "${CFLAGS}" "${LDFLAGS}"
+ -Wa,--noexecstack "${CFLAGS}" "${LDFLAGS}"
make depend
make
diff --git a/core/openssl/gnu-linux-mips64el-gcc.patch b/core/openssl/gnu-linux-mips64el-gcc.patch
new file mode 100644
index 000000000..412ea873f
--- /dev/null
+++ b/core/openssl/gnu-linux-mips64el-gcc.patch
@@ -0,0 +1,10 @@
+--- Configure.orig 2011-09-23 10:49:56.725704188 -0300
++++ Configure 2011-09-23 11:01:00.377697297 -0300
+@@ -337,6 +337,7 @@
+ # *-generic* is endian-neutral target, but ./config is free to
+ # throw in -D[BL]_ENDIAN, whichever appropriate...
+ "linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"gnu-linux-mips64el-gcc","gcc:-mabi=n32 -O3 -DTERMIO -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips3_asm}:dlfcn:linux-shared:-fPIC::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
+ "linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ # It's believed that majority of ARM toolchains predefine appropriate -march.
+ # If you compiler does not, do complement config command line with one!