diff options
author | Marie Ramlow <me@nycode.dev> | 2024-06-11 20:36:24 +0200 |
---|---|---|
committer | Marie Ramlow <me@nycode.dev> | 2024-06-17 09:50:09 +0200 |
commit | a5a093288ed7a8cda825912dbbc99f26609d59ed (patch) | |
tree | 07392c3eda2c7d01143b5e77d81c37a28dde48a5 /pkgs | |
parent | 11eb12b0cafd044ebdfd7353bd1aafb56976b232 (diff) |
androidndkPkgs: remove code duplication
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/androidndk-pkgs/default.nix | 74 |
1 files changed, 9 insertions, 65 deletions
diff --git a/pkgs/development/androidndk-pkgs/default.nix b/pkgs/development/androidndk-pkgs/default.nix index 8aa7eefe4215e..3e90aefc31f1c 100644 --- a/pkgs/development/androidndk-pkgs/default.nix +++ b/pkgs/development/androidndk-pkgs/default.nix @@ -1,41 +1,9 @@ { lib, androidenv, buildPackages, pkgs, targetPackages }: -{ - "21" = +let + makeNdkPkgs = ndkVersion: let - ndkVersion = "21.0.6113669"; - - buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages { - includeNDK = true; - inherit ndkVersion; - }; - - androidComposition = androidenv.composeAndroidPackages { - includeNDK = true; - inherit ndkVersion; - }; - in - import ./androidndk-pkgs.nix { - inherit lib; - inherit (buildPackages) - makeWrapper autoPatchelfHook; - inherit (pkgs) - stdenv - runCommand wrapBintoolsWith wrapCCWith; - # buildPackages.foo rather than buildPackages.buildPackages.foo would work, - # but for splicing messing up on infinite recursion for the variants we - # *dont't* use. Using this workaround, but also making a test to ensure - # these two really are the same. - buildAndroidndk = buildAndroidComposition.ndk-bundle; - androidndk = androidComposition.ndk-bundle; - targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_21 then targetPackages.androidndkPkgs_21 else throw "androidndkPkgs_21: no targetPackages, use `buildPackages.androidndkPkgs_21"; - }; - - "23b" = - let - ndkVersion = "23.1.7779620"; - buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages { includeNDK = true; inherit ndkVersion; @@ -45,6 +13,7 @@ includeNDK = true; inherit ndkVersion; }; + majorVersion = lib.versions.major ndkVersion; in import ./androidndk-pkgs.nix { inherit lib; @@ -59,37 +28,12 @@ # these two really are the same. buildAndroidndk = buildAndroidComposition.ndk-bundle; androidndk = androidComposition.ndk-bundle; - targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_23b then targetPackages.androidndkPkgs_23b else throw "androidndkPkgs_23b: no targetPackages, use `buildPackages.androidndkPkgs_23b"; - }; - - "24" = - let - ndkVersion = "24.0.8215888"; - - buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages { - includeNDK = true; - inherit ndkVersion; - }; - - androidComposition = androidenv.composeAndroidPackages { - includeNDK = true; - inherit ndkVersion; - }; - in - import ./androidndk-pkgs.nix { - inherit lib; - inherit (buildPackages) - makeWrapper autoPatchelfHook; - inherit (pkgs) - stdenv - runCommand wrapBintoolsWith wrapCCWith; - # buildPackages.foo rather than buildPackages.buildPackages.foo would work, - # but for splicing messing up on infinite recursion for the variants we - # *dont't* use. Using this workaround, but also making a test to ensure - # these two really are the same. - buildAndroidndk = buildAndroidComposition.ndk-bundle; - androidndk = androidComposition.ndk-bundle; - targetAndroidndkPkgs = if targetPackages ? androidndkPkgs_24 then targetPackages.androidndkPkgs_24 else throw "androidndkPkgs_24: no targetPackages, use `buildPackages.androidndkPkgs_24"; + targetAndroidndkPkgs = if targetPackages ? "androidndkPkgs_${majorVersion}" then targetPackages."androidndkPkgs_${majorVersion}" else throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}"; }; +in +{ + "21" = makeNdkPkgs "21.0.6113669"; + "23b" = makeNdkPkgs "23.1.7779620"; + "24" = makeNdkPkgs "24.0.8215888"; } |