From 5f2951bea2faf1280206ffd512a5281c404c49a6 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 23 Mar 2016 07:32:44 -0400 Subject: [PATCH] libgpg-error: Fix posix lock objet on aarch64 Bump build revision on dependant packages since this changes the libgpg ABI. --- packages/gnupg2/build.sh | 1 + packages/libassuan/build.sh | 1 + packages/libgcrypt/build.sh | 1 + packages/libgpg-error/build.sh | 21 ++++++++++++------ .../lock-obj-pub.aarch64-unknown-linux-android.h | 25 ++++++++++++++++++++++ packages/libksba/build.sh | 2 +- packages/pinentry/build.sh | 1 + 7 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h diff --git a/packages/gnupg2/build.sh b/packages/gnupg2/build.sh index a6c5973f..7a564b6d 100755 --- a/packages/gnupg2/build.sh +++ b/packages/gnupg2/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/ TERMUX_PKG_DESCRIPTION="Implementation of the OpenPGP standard for encrypting and signing data and communication" TERMUX_PKG_VERSION=2.1.11 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libassuan,libbz2,libgcrypt,libksba,libnpth,readline,pinentry" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-ldap --disable-sqlite" diff --git a/packages/libassuan/build.sh b/packages/libassuan/build.sh index b208b361..7f4e7e20 100644 --- a/packages/libassuan/build.sh +++ b/packages/libassuan/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/related_software/libassuan/ TERMUX_PKG_DESCRIPTION="Library implementing the Assuan IPC protocol used between most newer GnuPG components" TERMUX_PKG_VERSION=2.4.2 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_RM_AFTER_INSTALL="bin/libassuan-config" TERMUX_PKG_DEPENDS="libgpg-error" diff --git a/packages/libgcrypt/build.sh b/packages/libgcrypt/build.sh index d71c0883..f6288ea1 100755 --- a/packages/libgcrypt/build.sh +++ b/packages/libgcrypt/build.sh @@ -1,4 +1,5 @@ TERMUX_PKG_VERSION=1.6.5 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/libgcrypt/ TERMUX_PKG_DESCRIPTION="General purpose cryptographic library based on the code from GnuPG" TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${TERMUX_PKG_VERSION}.tar.bz2 diff --git a/packages/libgpg-error/build.sh b/packages/libgpg-error/build.sh index abdf5eac..30f57791 100755 --- a/packages/libgpg-error/build.sh +++ b/packages/libgpg-error/build.sh @@ -1,12 +1,21 @@ -TERMUX_PKG_VERSION=1.21 TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/related_software/libgpg-error/ TERMUX_PKG_DESCRIPTION="Small library that defines common error values for all GnuPG components" +TERMUX_PKG_VERSION=1.21 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_RM_AFTER_INSTALL="share/common-lisp" -termux_step_post_configure () { - # To fix non-arm builds, see: - # https://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028203.html - # https://gitorious.org/vlc/vlc/commit/3054560987971aff19c496db38834458f8c29377 - cp $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.linux-android.h +termux_step_post_extract_package () { + # Upstream only has Android definitions for platform-specific lock objects. + # See https://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028203.html + # for how to generate a lock-obj header file on devices. + + # For aarch64 this was generated on a device: + cp $TERMUX_PKG_BUILDER_DIR/lock-obj-pub.aarch64-unknown-linux-android.h $TERMUX_PKG_SRCDIR/src/syscfg/ + + if [ $TERMUX_ARCH = i686 ]; then + # Android i686 has same config as arm (verified by generating a file on a i686 device): + cp $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h \ + $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.linux-android.h + fi } diff --git a/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h b/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h new file mode 100644 index 00000000..6a0fe2ce --- /dev/null +++ b/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h @@ -0,0 +1,25 @@ +## lock-obj-pub.armv8l-unknown-linux-gnu.h +## File created by gen-posix-lock-obj - DO NOT EDIT +## To be included by mkheader into gpg-error.h + +typedef struct +{ + long _vers; + union { + volatile char _priv[40]; + long _x_align; + long *_xp_align; + } u; +} gpgrt_lock_t; + +#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0}}} +## +## Local Variables: +## mode: c +## buffer-read-only: t +## End: +## diff --git a/packages/libksba/build.sh b/packages/libksba/build.sh index ce2e062c..dbe641ad 100755 --- a/packages/libksba/build.sh +++ b/packages/libksba/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://gnupg.org/related_software/libksba/ TERMUX_PKG_DESCRIPTION="Library for using X.509 certificates and CMS (Cryptographic Message Syntax) easily accessible" TERMUX_PKG_VERSION=1.3.3 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libksba/libksba-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libgpg-error" TERMUX_PKG_RM_AFTER_INSTALL=bin/ksba-config diff --git a/packages/pinentry/build.sh b/packages/pinentry/build.sh index 3a7a7c89..11b8e472 100644 --- a/packages/pinentry/build.sh +++ b/packages/pinentry/build.sh @@ -1,5 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://www.gnupg.org/related_software/pinentry/index.html TERMUX_PKG_DESCRIPTION="Dialog allowing secure password entry" TERMUX_PKG_VERSION=0.9.7 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libandroid-support, libassuan, ncurses" -- 2.11.0