diff options
author | Martchus | 2019-09-14 20:27:00 +0200 |
---|---|---|
committer | Martchus | 2019-09-14 20:27:00 +0200 |
commit | 51b2ee8d573a06876759b8da33a341580dddc7f9 (patch) | |
tree | 15552d3653d6ac1ea887ef224798c507a93d19f0 | |
parent | c02b3dec88cbfa1461d716b40d17764c35c8f1e2 (diff) | |
download | aur-51b2ee8d573a06876759b8da33a341580dddc7f9.tar.gz |
Use android-environment
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 95 |
2 files changed, 43 insertions, 58 deletions
@@ -1,10 +1,12 @@ pkgbase = android-x86-openssl pkgdesc = The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (Android, x86) 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-x86 @@ -15,12 +17,10 @@ pkgbase = android-x86-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-x86-openssl @@ -3,90 +3,75 @@ _pkg_arch=x86 _android_arch=x86 -_android_toolchain=$_pkg_arch-linux-android _android_platform=22 # https://developer.android.com/about/dashboards/ _android_platform_arch=arch-x86 -_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 {} \; } |