Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2022-09-12 14:28:26 +02:00
parent 44ba85f436
commit 0f1ad4eafa
No known key found for this signature in database
GPG Key ID: FE65CD384D5BF7B4
3 changed files with 81 additions and 29 deletions

56
nix/mobile_bkp.nix Normal file
View File

@ -0,0 +1,56 @@
{ lib, pkgs, callPackage, buildGoModule }:
let
androidPkgs = pkgs.androidenv.composeAndroidPackages {
includeNDK = true;
ndkVersion = "22.1.7171670";
};
androidSdk = androidPkgs.androidsdk;
gomobile = pkgs.gomobile.override { inherit androidPkgs; };
in buildGoModule {
pname = "go-waku";
version = "devel";
vendorSha256 = "sha256-+W5PnVmD4oPh3a8Ik9Xn3inCI8shqEsdlkG/d6PQntk=";
doCheck = false;
src = ./..;
#extraSrcPaths = [ gomobile ];
nativeBuildInputs = [ gomobile pkgs.openjdk8 pkgs.strace ];
# We can't symlink gomobile src in vendor created by buildGoModule.
proxyVendor = true;
ANDROID_HOME = "${androidSdk}/libexec/android-sdk";
ANDROID_NDK_HOME = "${androidSdk}/libexec/android-sdk/ndk-bundle";
GO111MODULE = "off";
#GOMOBILE = gomobile;
#GOFLAGS = [ "-mod=mod" ];
buildPhase = ''
gomobile bind -v -x \
-target=android/arm64 \
-androidapi=23 \
-ldflags="-s -w" \
-o ./build/lib/go-waku.aar \
./mobile || echo WTF
'';
installPhase = ''
mkdir -p $out
mv strace.log $out/strace.log
'';
# TEMP
allowGoReference = true;
#buildPhase = ''
# echo $ANDROID_HOME
# gomobile bind -x \
# -target=ios \
# -iosversion=8.0 \
# -ldflags="-s -w" \
# -o ./build/lib/go-waku.xcframework \
# ./mobile
#'';
}

View File

@ -1,4 +1,4 @@
{ lib, pkgs, callPackage, buildGoModule }:
{ pkgs, buildGoModule }:
let
androidPkgs = pkgs.androidenv.composeAndroidPackages {
@ -11,31 +11,37 @@ let
in buildGoModule {
pname = "go-waku";
version = "devel";
vendorSha256 = "sha256-+U8mlEK7HvCtssI8VDqxGaOvi+IU0+cr4isZLl9sB4o=";
deleteVendor = true;
goPkgPath = "github.com/status-im/go-waku";
vendorSha256 = "sha256-+W5PnVmD4oPh3a8Ik9Xn3inCI8shqEsdlkG/d6PQntk=";
doCheck = false;
proxyVendor = true;
src = ./..;
nativeBuildInputs = [ pkgs.gomobile pkgs.openjdk8 ];
# We can't symlink gomobile src in vendor created by buildGoModule.
proxyVendor = true;
nativeBuildInputs = with pkgs; [ gomobile openjdk8 ];
ANDROID_HOME = "${androidSdk}/libexec/android-sdk";
#GOFLAGS = "-mod=mod";
#overrideModAttrs = (_: {
# postBuild = ''
# echo 'WTF ------------------------------------------------------'
# go install golang.org/x/mobile/cmd/gomobile
# echo 'WTF ------------------------------------------------------'
# '';
#});
# Correct GOPATH necessary to avoid error:
# `no exported names in the package "_/build/go-waku/mobile"`
preBuild = ''
export GO111MODULE=off
mkdir -p /build/go/src/github.com/status-im
mv /build/go-waku /build/go/src/github.com/status-im/
cd /build/go/src/github.com/status-im/go-waku
postConfigure = ''
cd "$NIX_BUILD_TOP"
mkdir -p "go/src/$(dirname "$goPkgPath")"
mv "$sourceRoot" "go/src/$goPkgPath"
cd go/src/$goPkgPath/mobile
'';
buildPhase = ''
runHook preBuild
gomobile bind -x \
GO111MODULE=off gomobile bind -x \
-target=android/arm64 \
-androidapi=23 \
-ldflags="-s -w" \
@ -47,14 +53,4 @@ in buildGoModule {
mkdir -p $out
mv go-waku.aar $out/
'';
#buildPhase = ''
# echo $ANDROID_HOME
# gomobile bind -x \
# -target=ios \
# -iosversion=8.0 \
# -ldflags="-s -w" \
# -o ./build/lib/go-waku.xcframework \
# ./mobile
#'';
}

View File

@ -2,11 +2,7 @@
let
androidPkgs = pkgs.androidenv.composeAndroidPackages {
toolsVersion = "26.1.1";
platformToolsVersion = "33.0.1";
buildToolsVersions = [ "31.0.0" ];
platformVersions = [ "30" ];
cmakeVersions = [ "3.18.1" ];
platformVersions = [ "23" ];
ndkVersion = "22.1.7171670";
includeNDK = true;
};
@ -25,6 +21,10 @@ in buildGoPackage rec {
ANDROID_HOME = "${androidSdk}/libexec/android-sdk";
buildPhase = ''
echo GOPATH: $GOPATH
echo PWD: $PWD
ls -l go/src/${goPackagePath}
set -x
gomobile bind -x \
-target=android/arm64 \
-androidapi=23 \