diff options
Diffstat (limited to 'core/openssl')
-rw-r--r-- | core/openssl/PKGBUILD | 35 | ||||
-rw-r--r-- | core/openssl/gnu-linux-mips64el-gcc.patch | 10 |
2 files changed, 35 insertions, 10 deletions
diff --git a/core/openssl/PKGBUILD b/core/openssl/PKGBUILD index 28986aebb..5ca2cbcb8 100644 --- a/core/openssl/PKGBUILD +++ b/core/openssl/PKGBUILD @@ -7,7 +7,7 @@ _ver=1.0.0h pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} 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') @@ -15,25 +15,19 @@ 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=('a5bc483c570f2ac3758ce5c19b667fab' - 'ed51bb7b3ed58f5e1e1b642050bdd7c1' '5bbc0655bda2af95bc8eb568963ce8ba' 'dc78d3d06baffc16217519242ce92478' + 'd7115f0cc44df346d7b68c681819f94b' '3bf51be3a1bbd262be46dc619f92aa90') build() { cd $srcdir/$pkgname-$_ver - if [ "${CARCH}" == 'x86_64' ]; then - openssltarget='linux-x86_64' - elif [ "${CARCH}" == 'i686' ]; then - openssltarget='linux-elf' - fi - # avoid conflicts with other man pages # see http://www.linuxfromscratch.org/patches/downloads/openssl/ patch -p1 -i $srcdir/fix-manpages.patch @@ -41,11 +35,32 @@ 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' ;; + 'i686') + openssltarget='linux-elf' ;; + 'mips64el') +# ./config + openssltarget='gnu-linux-mips64el-gcc' ;; + # openssltarget='linux-generic32' ;; + esac + # mark stack as non-executable: http://bugs.archlinux.org/task/12434 + if [ "$CARCH" = "mips64el" ]; then + ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \ + shared zlib enable-md2 \ + "${openssltarget}" -Wa,--noexecstack "${CFLAGS}" "${LDFLAGS}" + else ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \ shared zlib enable-md2 \ "${openssltarget}" \ - -Wa,--noexecstack "${CFLAGS}" "${LDFLAGS}" + -Wa,--noexecstack "${CFLAGS}" "${LDFLAGS}" + + fi 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! |