summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2019-09-14 20:26:53 +0200
committerMartchus2019-09-14 20:26:53 +0200
commit3fe8c771bc3cfaf309d2f7a2b3d870db5a3e95e8 (patch)
tree71a1b8a43260ac93b722b2f3a787625266b3ee98
parent590ba67cf05bbde62794c26c43e289963448b2d1 (diff)
downloadaur-3fe8c771bc3cfaf309d2f7a2b3d870db5a3e95e8.tar.gz
Use android-environment
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD95
2 files changed, 43 insertions, 58 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e4c8b9f6bb5..ae971cf0817 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,12 @@
pkgbase = android-armv7a-eabi-openssl
pkgdesc = The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (Android, armv7a-eabi)
pkgver = 1.1.1.c
- pkgrel = 1
+ pkgrel = 2
url = https://www.openssl.org
arch = any
license = custom:BSD
+ makedepends = android-environment
+ makedepends = android-sdk-build-tools
depends = android-sdk
depends = android-ndk
conflicts = android-openssl-armeabi-v7a
@@ -15,12 +17,10 @@ pkgbase = android-armv7a-eabi-openssl
options = !emptydirs
source = https://www.openssl.org/source/openssl-1.1.1c.tar.gz
source = https://www.openssl.org/source/openssl-1.1.1c.tar.gz.asc
- source = setenv-android.sh
validpgpkeys = 8657ABB260F056B1E5190839D9C4D26D0E604491
validpgpkeys = 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C
sha256sums = f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90
sha256sums = SKIP
- sha256sums = SKIP
pkgname = android-armv7a-eabi-openssl
diff --git a/PKGBUILD b/PKGBUILD
index 0bf541888d0..4a1cc672f46 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,90 +3,75 @@
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
-_android_toolchain=arm-linux-androideabi
_android_platform=21 # https://developer.android.com/about/dashboards/
_android_platform_arch=arch-arm
-_android_platform_dir=android-$_android_platform/${_android_platform_arch}
_pkgname=openssl
_ver=1.1.1c
-_pref=/opt/android-libs/$_pkg_arch
-
-# export Android configuration
-export ANDROID_MINIMUM_PLATFORM=$_android_platform
-export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/android-ndk}
-export ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk}
-export ANDROID_EABI=llvm
-export ANDROID_ARCH=${_android_platform_arch}
pkgname=android-$_pkg_arch-$_pkgname
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
-pkgrel=1
+pkgrel=2
pkgdesc="The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (Android, $_pkg_arch)"
arch=('any')
url='https://www.openssl.org'
license=('custom:BSD')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
depends=('android-sdk' 'android-ndk')
+makedepends=('android-environment' 'android-sdk-build-tools')
conflicts=("android-$_pkgname-$_android_arch")
replaces=("android-$_pkgname-$_android_arch")
-source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz"
- "https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz.asc"
- 'setenv-android.sh')
+source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz"{,.asc})
sha256sums=('f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90'
- 'SKIP'
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C')
build() {
- cd "$srcdir/$_pkgname-$_ver"
-
- # don't use -mandroid flag (Clang as provided by the NDK does not like it)
- sed -i -e 's/-mandroid//' Configurations/15-android.conf
-
- source "$srcdir/setenv-android.sh"
+ cd "$srcdir/$_pkgname-$_ver"
+ source android-env ${_pkg_arch}
+ export PATH="$ANDROID_TOOLCHAIN/bin:$PATH"
- ./Configure \
- --prefix="$_pref" \
- --openssldir="$_pref" \
- --gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \
- --sysroot=$ANDROID_NDK_ROOT/platforms/$_android_platform_dir/usr \
- -isystem"$ANDROID_NDK_ROOT/sysroot/usr/include" \
- -isystem"$ANDROID_NDK_ROOT/sysroot/usr/include/${_ANDROID_EABI%-*}" \
- -Wl,--no-allow-shlib-undefined \
- -Wl,--no-undefined \
- no-stdio \
- no-ui \
- threads \
- shared \
- android-${ANDROID_ARCH##arch-}
+ # don't use -mandroid flag (Clang as provided by the NDK does not like it)
+ sed -i -e 's/-mandroid//' Configurations/15-android.conf
- # ensure the libraries are not versioned (setting CALC_VERSIONS doesn't work for some reason)
- sed -i -e 's/\.\$(SHLIB_MAJOR)\.\$(SHLIB_MINOR)//g' Makefile
- sed -i -e 's/\.\$(SHLIB_VERSION_NUMBER)//g' Makefile
+ ./Configure \
+ --prefix="${ANDROID_PREFIX}" \
+ --openssldir="${ANDROID_PREFIX}" \
+ -D__ANDROID_API__=$_android_platform \
+ -Wl,--no-allow-shlib-undefined \
+ -Wl,--no-undefined \
+ no-stdio \
+ no-ui \
+ threads \
+ shared \
+ android-${_android_platform_arch##arch-}
- # get rid of debug printing so the library doesn't depend on stdio (no-stdio and no-ui are not entirely sufficient)
- sed -i -e 's/\#define TEST_ENG_OPENSSL_RC4_P_INIT//' crypto/engine/eng_openssl.c
+ # get rid of debug printing so the library doesn't depend on stdio (no-stdio and no-ui are not entirely sufficient)
+ sed -i -e 's/\#define TEST_ENG_OPENSSL_RC4_P_INIT//' crypto/engine/eng_openssl.c
- # build only libraries
- make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs
+ # build only libraries
+ make depend
+ make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" SHLIB_VERSION_NUMBER= SHLIB_EXT=.so build_libs
}
package() {
- cd "$srcdir/$_pkgname-$_ver"
- source "$srcdir/setenv-android.sh"
+ cd "$srcdir/$_pkgname-$_ver"
+ source android-env ${_pkg_arch}
+ export PATH="$ANDROID_TOOLCHAIN:$PATH"
- # install header files, libraries and license
- for lib in libcrypto.{a,so} libssl.{a,so}; do
- install -D -m0644 $lib "$pkgdir/$_pref/lib/$lib"
- done
- mkdir -p "$pkgdir/$_pref/include"
- cp -r include/openssl "$pkgdir/$_pref/include"
- install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ # install header files, libraries and license
+ for lib in libcrypto.{a,so} libssl.{a,so}; do
+ install -D -m0644 $lib "$pkgdir/${ANDROID_PREFIX_LIB}/$lib"
+ done
+ for pc in libcrypto.pc libssl.pc openssl.pc; do
+ install -D -m0644 $pc "$pkgdir/${ANDROID_PREFIX_LIB}/pkgconfig/$pc"
+ done
+ mkdir -p "$pkgdir/${ANDROID_PREFIX_INCLUDE}"
+ cp -r include/openssl "$pkgdir/${ANDROID_PREFIX_INCLUDE}"
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
- # strip binaries
- local strip_path=$ANDROID_TOOLCHAIN/${CROSS_COMPILE}strip
- find "$pkgdir" -name 'lib*.so' -type f -exec "$strip_path" --strip-unneeded {} \;
- find "$pkgdir" -name 'lib*.a' -type f -exec "$strip_path" -g {} \;
+ # strip binaries
+ find "$pkgdir" -name 'lib*.so' -type f -exec "$ANDROID_STRIP" --strip-unneeded {} \;
+ find "$pkgdir" -name 'lib*.a' -type f -exec "$ANDROID_STRIP" -g {} \;
}