From 4f2c9242d82c342143afe5c195a5e75f2991a9bd Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 17 Aug 2018 23:43:56 +0200 Subject: [PATCH] openssl: Add 1.1.1 WIP disabled-packages/openssl --- .../Configurations-15-android.conf.patch | 18 ++++++++ disabled-packages/openssl/apps-ocsp.c.patch | 12 ++++++ disabled-packages/openssl/build.sh | 42 +++++++++++++++++++ disabled-packages/openssl/e_os.h.patch | 12 ++++++ .../openssl/openssl-tool.subpackage.sh | 3 ++ 5 files changed, 87 insertions(+) create mode 100644 disabled-packages/openssl/Configurations-15-android.conf.patch create mode 100644 disabled-packages/openssl/apps-ocsp.c.patch create mode 100755 disabled-packages/openssl/build.sh create mode 100644 disabled-packages/openssl/e_os.h.patch create mode 100644 disabled-packages/openssl/openssl-tool.subpackage.sh diff --git a/disabled-packages/openssl/Configurations-15-android.conf.patch b/disabled-packages/openssl/Configurations-15-android.conf.patch new file mode 100644 index 000000000..750fa00c7 --- /dev/null +++ b/disabled-packages/openssl/Configurations-15-android.conf.patch @@ -0,0 +1,18 @@ +diff -u -r ../openssl-1.1.1-pre8/Configurations/15-android.conf ./Configurations/15-android.conf +--- ../openssl-1.1.1-pre8/Configurations/15-android.conf 2018-06-20 14:48:09.000000000 +0000 ++++ ./Configurations/15-android.conf 2018-08-17 21:34:02.996980008 +0000 +@@ -127,10 +127,10 @@ + # systems are perfectly capable of executing binaries targeting + # Froyo. Keep in mind that in the nutshell Android builds are + # about JNI, i.e. shared libraries, not applications. +- cflags => add(sub { android_ndk()->{cflags} }), +- cppflags => add(sub { android_ndk()->{cppflags} }), +- cxxflags => add(sub { android_ndk()->{cflags} }), +- bn_ops => sub { android_ndk()->{bn_ops} }, ++ #cflags => add(sub { android_ndk()->{cflags} }), ++ #cppflags => add(sub { android_ndk()->{cppflags} }), ++ #cxxflags => add(sub { android_ndk()->{cflags} }), ++ #bn_ops => sub { android_ndk()->{bn_ops} }, + bin_cflags => "-pie", + enable => [ ], + }, diff --git a/disabled-packages/openssl/apps-ocsp.c.patch b/disabled-packages/openssl/apps-ocsp.c.patch new file mode 100644 index 000000000..67830f394 --- /dev/null +++ b/disabled-packages/openssl/apps-ocsp.c.patch @@ -0,0 +1,12 @@ +diff -u -r ../openssl-1.1.1-pre8/apps/ocsp.c ./apps/ocsp.c +--- ../openssl-1.1.1-pre8/apps/ocsp.c 2018-06-20 14:48:09.000000000 +0000 ++++ ./apps/ocsp.c 2018-08-17 21:17:37.915758081 +0000 +@@ -37,7 +37,7 @@ + # include + + # if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_NO_SOCK) \ +- && !defined(OPENSSL_NO_POSIX_IO) ++ && !defined(OPENSSL_NO_POSIX_IO) && !defined(__ANDROID__) + # define OCSP_DAEMON + # include + # include diff --git a/disabled-packages/openssl/build.sh b/disabled-packages/openssl/build.sh new file mode 100755 index 000000000..bdc5f566b --- /dev/null +++ b/disabled-packages/openssl/build.sh @@ -0,0 +1,42 @@ +TERMUX_PKG_HOMEPAGE=https://www.openssl.org/ +TERMUX_PKG_DESCRIPTION="Library implementing the SSL and TLS protocols as well as general purpose cryptography functions" +TERMUX_PKG_DEPENDS="ca-certificates" +TERMUX_PKG_VERSION=1.1.1~pre8 +TERMUX_PKG_SHA256=1205cd763dd92c910cc590658a5b0774599e8587d89d6debd948f242b949321e +TERMUX_PKG_SRCURL=https://www.openssl.org/source/openssl-${TERMUX_PKG_VERSION/\~/-}.tar.gz +TERMUX_PKG_RM_AFTER_INSTALL="bin/c_rehash etc/ssl/misc" +TERMUX_PKG_BUILD_IN_SRC=yes + +# Information about compilation and installation of openssl: +# http://wiki.openssl.org/index.php/Compilation_and_Installation + +termux_step_configure () { + CFLAGS+=" -DNO_SYSLOG" + + perl -p -i -e "s@TERMUX_CFLAGS@$CFLAGS@g" Configure + rm -Rf $TERMUX_PREFIX/lib/libcrypto.* $TERMUX_PREFIX/lib/libssl.* + test $TERMUX_ARCH = "arm" && TERMUX_OPENSSL_PLATFORM="android-armeabi" + test $TERMUX_ARCH = "aarch64" && TERMUX_OPENSSL_PLATFORM="android-arm64" + test $TERMUX_ARCH = "i686" && TERMUX_OPENSSL_PLATFORM="android-x86" + test $TERMUX_ARCH = "x86_64" && TERMUX_OPENSSL_PLATFORM="android-x86_64" + # If enabling zlib-dynamic we need "zlib-dynamic" instead of "no-comp no-dso": + ./Configure $TERMUX_OPENSSL_PLATFORM \ + --prefix=$TERMUX_PREFIX \ + --openssldir=$TERMUX_PREFIX/etc/tls \ + shared \ + no-comp \ + no-dso \ + no-hw \ + no-srp \ + no-tests +} + +termux_step_make () { + make depend + make -j 1 all +} + +termux_step_make_install () { + # "install_sw" instead of "install" to not install man pages: + make -j 1 install_sw MANDIR=$TERMUX_PREFIX/share/man MANSUFFIX=.ssl +} diff --git a/disabled-packages/openssl/e_os.h.patch b/disabled-packages/openssl/e_os.h.patch new file mode 100644 index 000000000..2d5b44969 --- /dev/null +++ b/disabled-packages/openssl/e_os.h.patch @@ -0,0 +1,12 @@ +diff -uNr openssl-1.0.2o/e_os.h openssl-1.0.2o.mod/e_os.h +--- openssl-1.0.2o/e_os.h 2018-03-27 16:54:46.000000000 +0300 ++++ openssl-1.0.2o.mod/e_os.h 2018-06-19 15:24:21.644044663 +0300 +@@ -90,7 +90,7 @@ + * sockets will be tried in the order listed in case accessing the device + * files listed in DEVRANDOM did not return enough entropy. + */ +-# define DEVRANDOM_EGD "/var/run/egd-pool","/dev/egd-pool","/etc/egd-pool","/etc/entropy" ++# define DEVRANDOM_EGD "@TERMUX_PREFIX@/var/run/egd-pool","/dev/egd-pool","@TERMUX_PREFIX@/etc/egd-pool","@TERMUX_PREFIX@/etc/entropy" + # endif + + # if defined(OPENSSL_SYS_VXWORKS) diff --git a/disabled-packages/openssl/openssl-tool.subpackage.sh b/disabled-packages/openssl/openssl-tool.subpackage.sh new file mode 100644 index 000000000..62ede318f --- /dev/null +++ b/disabled-packages/openssl/openssl-tool.subpackage.sh @@ -0,0 +1,3 @@ +TERMUX_SUBPKG_INCLUDE="bin" +TERMUX_SUBPKG_DESCRIPTION="The openssl command line cryptographic tool" +TERMUX_SUBPKG_DEPENDS="openssl"