diff --git a/.gitignore b/.gitignore index 69106b9df..7430c3e99 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,6 @@ coverage_html_report/ .qmake.stash main-qt waku_handler.moc.cpp + +# Nix build result +result diff --git a/flake.nix b/flake.nix index 419c1d6f7..760f49337 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,7 @@ src = self; targets = ["libwaku-android-arm64"]; androidArch = "aarch64-linux-android"; + abidir = "arm64-v8a"; zerokitPkg = zerokit.packages.${system}.zerokit-android-arm64; }; default = libwaku-android-arm64; diff --git a/nix/default.nix b/nix/default.nix index a9d31b46d..29eec844d 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -10,6 +10,7 @@ "x86_64-linux" "aarch64-linux" ], androidArch, + abidir, zerokitPkg, }: @@ -32,6 +33,7 @@ in stdenv.mkDerivation rec { buildInputs = with pkgs; [ openssl gmp + zip ]; # Dependencies that should only exist in the build environment. @@ -62,6 +64,7 @@ in stdenv.mkDerivation rec { ANDROID_NDK_HOME="${pkgs.androidPkgs.ndk}"; NIMFLAGS = "-d:disableMarchNative -d:git_revision_override=${revision}"; XDG_CACHE_HOME = "/tmp"; + androidManifest = ""; makeFlags = targets ++ [ "V=${toString verbosity}" @@ -98,8 +101,10 @@ in stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/build/android - cp -r ./build/android/* $out/build/android/ + mkdir -p $out/jni + cp -r ./build/android/${abidir}/* $out/jni/ + echo '${androidManifest}' > $out/jni/AndroidManifest.xml + cd $out && zip -r libwaku.aar * ''; meta = with pkgs.lib; {