diff options
author | Martchus | 2019-09-09 22:52:01 +0200 |
---|---|---|
committer | Martchus | 2019-09-09 22:52:01 +0200 |
commit | c02b3dec88cbfa1461d716b40d17764c35c8f1e2 (patch) | |
tree | f4fbc96db4ebc86733de579c762f57d338f6d202 /PKGBUILD | |
download | aur-c02b3dec88cbfa1461d716b40d17764c35c8f1e2.tar.gz |
Initial import
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..73d5e04454d3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,92 @@ +# $Id$ +# Maintainer: Martchus <martchus@gmx.net> + +_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 +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') +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') +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" + + ./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-} + + # 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 + + # 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 +} + +package() { + cd "$srcdir/$_pkgname-$_ver" + source "$srcdir/setenv-android.sh" + + # 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 + + # 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 {} \; +} |