From 0f1ad4eafa422290e6371ee951547853994da59d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Mon, 12 Sep 2022 14:28:26 +0200 Subject: [PATCH] x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jakub SokoĊ‚owski --- nix/mobile_bkp.nix | 56 ++++++++++++++++++++++++++++++++++++++++++++++ nix/mobile_mod.nix | 44 +++++++++++++++++------------------- nix/mobile_pkg.nix | 10 ++++----- 3 files changed, 81 insertions(+), 29 deletions(-) create mode 100644 nix/mobile_bkp.nix diff --git a/nix/mobile_bkp.nix b/nix/mobile_bkp.nix new file mode 100644 index 00000000..b4fe1ee7 --- /dev/null +++ b/nix/mobile_bkp.nix @@ -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 + #''; +} diff --git a/nix/mobile_mod.nix b/nix/mobile_mod.nix index 51bda0c8..37441a8c 100644 --- a/nix/mobile_mod.nix +++ b/nix/mobile_mod.nix @@ -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 - #''; } diff --git a/nix/mobile_pkg.nix b/nix/mobile_pkg.nix index e924bada..aeeb6bdd 100644 --- a/nix/mobile_pkg.nix +++ b/nix/mobile_pkg.nix @@ -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 \