[arch-commits] Commit in android-tools/trunk (3 files)
Anatol Pomozov
anatolik at archlinux.org
Sat May 16 03:35:12 UTC 2020
Date: Saturday, May 16, 2020 @ 03:35:12
Author: anatolik
Revision: 628148
Use Android's version of boringssl project
This helps to avoid reading a file with commit sha1 and then checking out upstream
with this sha1. We will checkout Android's git repository by its tag directly.
Android removes third_pary directory so we have to adjust CMakeLists.txt and use
system version of the libraries.
Added:
android-tools/trunk/boringssl-disable-thirdpartydeps.patch
Modified:
android-tools/trunk/PKGBUILD
android-tools/trunk/generate_build.rb
----------------------------------------+
PKGBUILD | 16 ++++++++++------
boringssl-disable-thirdpartydeps.patch | 24 ++++++++++++++++++++++++
generate_build.rb | 10 +++++-----
3 files changed, 39 insertions(+), 11 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-05-16 02:33:17 UTC (rev 628147)
+++ PKGBUILD 2020-05-16 03:35:12 UTC (rev 628148)
@@ -17,7 +17,7 @@
makedepends=(git clang gtest ruby cmake ninja go vim)
provides=(fastboot adb)
conflicts=(fastboot adb)
-_boringssl_commit=$(curl https://android.googlesource.com/platform/external/boringssl/+/refs/tags/$tag/BORINGSSL_REVISION?format=TEXT | base64 -d)
+#_boringssl_commit=$(curl https://android.googlesource.com/platform/external/boringssl/+/refs/tags/$tag/BORINGSSL_REVISION?format=TEXT | base64 -d)
source=(git+https://android.googlesource.com/platform/frameworks/base#tag=$tag
git+https://android.googlesource.com/platform/frameworks/native#tag=$tag
git+https://android.googlesource.com/platform/system/core#tag=$tag
@@ -27,8 +27,8 @@
git+https://android.googlesource.com/platform/external/f2fs-tools#tag=$tag
git+https://android.googlesource.com/platform/external/e2fsprogs#tag=$tag
git+https://android.googlesource.com/platform/external/avb#tag=$tag
- #git+https://android.googlesource.com/platform/external/boringssl#tag=$tag
- git+https://boringssl.googlesource.com/boringssl#commit=$_boringssl_commit
+ git+https://android.googlesource.com/platform/external/boringssl#tag=$tag
+ #git+https://boringssl.googlesource.com/boringssl#commit=$_boringssl_commit
generate_build.rb
# deployagent.jar is a library built from Android sources.
# Building this java library requires a lot of dependencies:
@@ -43,6 +43,7 @@
# cp ./target/product/generic/system/framework/deployagent.jar .
deployagent.jar
fix_build_core.patch
+ boringssl-disable-thirdpartydeps.patch
bash_completion.fastboot)
# Bash completion file was taken from https://github.com/mbrubeck/android-completion
sha1sums=('SKIP'
@@ -55,9 +56,10 @@
'SKIP'
'SKIP'
'SKIP'
- '930c5d4b94f7cc09087fe599d4b868e7187abd74'
+ '4aec96639c5a16e75fac907bc5a8ea6a7efca047'
'd9dfac30245faa0a96968b96f3acd9ad536f4910'
'70abd4483233ee481490b3369dbdd4977772c57f'
+ '1c025855a3e7ea351685843a0df45c52a7e674dd'
'7004dbd0c193668827174880de6f8434de8ceaee')
prepare() {
@@ -70,11 +72,13 @@
cd "$srcdir"/mkbootimg
sed -i 's|/usr/bin/env python$|/usr/bin/env python2|g' unpack_bootimg.py
- mkdir -p "$srcdir"/boringssl/build
+ cd "$srcdir"/boringssl
+ patch -p1 < ../../boringssl-disable-thirdpartydeps.patch
+ mkdir -p "$srcdir"/boringssl/src/build
}
build() {
- (cd "$srcdir"/boringssl/build && cmake -GNinja ..; ninja crypto/libcrypto.a ssl/libssl.a)
+ (cd "$srcdir"/boringssl/src/build && cmake -GNinja ..; ninja crypto/libcrypto.a ssl/libssl.a)
PLATFORM_TOOLS_VERSION="$pkgver-$pkgrel" ./generate_build.rb > build.ninja
ninja
Added: boringssl-disable-thirdpartydeps.patch
===================================================================
--- boringssl-disable-thirdpartydeps.patch (rev 0)
+++ boringssl-disable-thirdpartydeps.patch 2020-05-16 03:35:12 UTC (rev 628148)
@@ -0,0 +1,24 @@
+commit a05f7bad3f07a4041e7011a629858a8b0921e9e0
+Author: Anatol Pomozov <anatol.pomozov at gmail.com>
+Date: Fri May 15 20:04:43 2020 -0700
+
+ Do not use third-party dependency as it is missing in Android's version of the repo
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 75bf9981..9ec8e81b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -562,13 +562,6 @@ if(USE_CUSTOM_LIBCXX)
+ target_link_libraries(libcxx libcxxabi)
+ endif()
+
+-# Add minimal googletest targets. The provided one has many side-effects, and
+-# googletest has a very straightforward build.
+-add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc)
+-target_include_directories(boringssl_gtest PRIVATE third_party/googletest)
+-
+-include_directories(third_party/googletest/include)
+-
+ # Declare a dummy target to build all unit tests. Test targets should inject
+ # themselves as dependencies next to the target definition.
+ add_custom_target(all_tests)
Modified: generate_build.rb
===================================================================
--- generate_build.rb 2020-05-16 02:33:17 UTC (rev 628147)
+++ generate_build.rb 2020-05-16 03:35:12 UTC (rev 628148)
@@ -113,7 +113,7 @@
transport_local.cpp
types.cpp
)
-libadbd = compile(expand("core/adb", adbdfiles), '-DPLATFORM_TOOLS_VERSION="\"$PLATFORM_TOOLS_VERSION\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include -Icore/diagnose_usb/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include', :order_deps => [key_type_h])
+libadbd = compile(expand("core/adb", adbdfiles), '-DPLATFORM_TOOLS_VERSION="\"$PLATFORM_TOOLS_VERSION\"" -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/src/include -Icore/diagnose_usb/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include', :order_deps => [key_type_h])
apkent_h, apkent_c, apkent_o = protoc("core/adb/fastdeploy/proto/ApkEntry.proto")
app_processes_h, app_processes_c, app_processes_o = protoc("core/adb/proto/app_processes.proto")
@@ -164,7 +164,7 @@
tls/adb_ca_list.cpp
tls/tls_connection.cpp
)
-libadb = compile(expand("core/adb", adbfiles), "-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/include -Ibase/libs/androidfw/include -Inative/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include -Icore/adb/pairing_connection/include -Icore/libziparchive/include -Icore/adb/pairing_auth/include",
+libadb = compile(expand("core/adb", adbfiles), "-D_GNU_SOURCE -DADB_HOST=1 -Icore/include -Icore/base/include -Icore/adb -Icore/libcrypto_utils/include -Iboringssl/src/include -Ibase/libs/androidfw/include -Inative/include -Icore/adb/crypto/include -Icore/adb/proto -Icore/adb/tls/include -Icore/adb/pairing_connection/include -Icore/libziparchive/include -Icore/adb/pairing_auth/include",
:order_deps => [apkent_h, key_type_h, app_processes_h, adb_known_hosts_h, pairing_h, deployagent_inc, deployagentscript_inc])
androidfwfiles = %w(
LocaleData.cpp
@@ -223,11 +223,11 @@
libcryptofiles = %w(
android_pubkey.c
)
-libcrypto = compile(expand("core/libcrypto_utils", libcryptofiles), "-Icore/libcrypto_utils/include -Iboringssl/include")
+libcrypto = compile(expand("core/libcrypto_utils", libcryptofiles), "-Icore/libcrypto_utils/include -Iboringssl/src/include")
# TODO: make subninja working
-#boringssl = subninja('boringssl/build/', ['ssl/libssl.a'])
-boringssl = ["boringssl/build/crypto/libcrypto.a", "boringssl/build/ssl/libssl.a"]
+#boringssl = subninja('boringssl/src/build/', ['ssl/libssl.a'])
+boringssl = ["boringssl/src/build/crypto/libcrypto.a", "boringssl/src/build/ssl/libssl.a"]
boringssl_ldflags = "-Wl,--whole-archive " + boringssl.join(" ") + " -Wl,--no-whole-archive"
fastbootfiles = %w(
More information about the arch-commits
mailing list