From a18507cc3aaac534476963c068ba8b12fdb0b4e3 Mon Sep 17 00:00:00 2001 From: "Alexander \"PapaTutuWawa" Date: Sun, 6 Aug 2023 12:23:46 +0200 Subject: [PATCH] chore(flake): Update flake --- .gitlint | 2 +- flake.lock | 124 +++++++++++++++++++++++++++++++++++++++++++++-------- flake.nix | 66 +++++++++++++++++----------- 3 files changed, 149 insertions(+), 43 deletions(-) diff --git a/.gitlint b/.gitlint index b4ea8e9..316d017 100644 --- a/.gitlint +++ b/.gitlint @@ -7,7 +7,7 @@ line-length=72 [title-trailing-punctuation] [title-hard-tab] [title-match-regex] -regex=^((feat|fix|chore|refactor|docs|release|test)\((meta|tests|style|docs|xep|core|example|all)+(,(meta|tests|style|docs|xep|core|example|all))*\)|release): [A-Z0-9].*$ +regex=^((feat|fix|chore|refactor|docs|release|test)\((meta|tests|style|docs|xep|core|example|all|flake)+(,(meta|tests|style|docs|xep|core|example|all|flake))*\)|release): [A-Z0-9].*$ [body-trailing-whitespace] diff --git a/flake.lock b/flake.lock index 7ddaa21..2becad2 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,72 @@ { "nodes": { - "flake-utils": { + "android-nixpkgs": { + "inputs": { + "devshell": "devshell", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1689798050, + "narHash": "sha256-ZyFPra7N0MF803o55dYQQyX9b/BmXr6QTCyN7slRThY=", + "owner": "tadfisher", + "repo": "android-nixpkgs", + "rev": "9aa0e2990da86de8ca203af313668851dcb9ea6e", + "type": "github" + }, + "original": { + "owner": "tadfisher", + "repo": "android-nixpkgs", + "type": "github" + } + }, + "devshell": { + "inputs": { + "nixpkgs": [ + "android-nixpkgs", + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1688380630, + "narHash": "sha256-8ilApWVb1mAi4439zS3iFeIT0ODlbrifm/fegWwgHjA=", + "owner": "numtide", + "repo": "devshell", + "rev": "f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -17,27 +77,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1676076353, - "narHash": "sha256-mdUtE8Tp40cZETwcq5tCwwLqkJVV1ULJQ5GKRtbshag=", - "owner": "AtaraxiaSjel", + "lastModified": 1689679375, + "narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "5deb99bdccbbb97e7562dee4ba8a3ee3021688e6", + "rev": "684c17c429c42515bafb3ad775d2a710947f3d67", "type": "github" }, "original": { - "owner": "AtaraxiaSjel", - "ref": "update/flutter", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs_2": { "locked": { - "lastModified": 1680273054, - "narHash": "sha256-Bs6/5LpvYp379qVqGt9mXxxx9GSE789k3oFc+OAL07M=", + "lastModified": 1689752456, + "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3364b5b117f65fe1ce65a3cdd5612a078a3b31e3", + "rev": "7f256d7da238cb627ef189d56ed590739f42f13b", "type": "github" }, "original": { @@ -49,9 +109,39 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "android-nixpkgs": "android-nixpkgs", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 446533a..a456520 100644 --- a/flake.nix +++ b/flake.nix @@ -1,38 +1,48 @@ { description = "moxxmpp"; inputs = { - nixpkgs.url = "github:AtaraxiaSjel/nixpkgs/update/flutter"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + android-nixpkgs.url = "github:tadfisher/android-nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, nixpkgs-unstable, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { + outputs = { self, nixpkgs, android-nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let + pkgs = import nixpkgs { inherit system; config = { android_sdk.accept_license = true; allowUnfree = true; + + # Fix to allow building the NDK package + # TODO: Remove once https://github.com/tadfisher/android-nixpkgs/issues/62 is resolved + permittedInsecurePackages = [ + "python-2.7.18.6" + ]; }; }; - unstable = import nixpkgs-unstable { - inherit system; - }; - android = pkgs.androidenv.composeAndroidPackages { - # TODO: Find a way to pin these - #toolsVersion = "26.1.1"; - #platformToolsVersion = "31.0.3"; - #buildToolsVersions = [ "31.0.0" ]; - #includeEmulator = true; - #emulatorVersion = "30.6.3"; - platformVersions = [ "28" ]; - includeSources = false; - includeSystemImages = true; - systemImageTypes = [ "default" ]; - abiVersions = [ "x86_64" ]; - includeNDK = false; - useGoogleAPIs = false; - useGoogleTVAddOns = false; - }; + # Everything to make Flutter happy + sdk = android-nixpkgs.sdk.${system} (sdkPkgs: with sdkPkgs; [ + cmdline-tools-latest + build-tools-30-0-3 + build-tools-33-0-2 + build-tools-34-0-0 + platform-tools + emulator + patcher-v4 + platforms-android-28 + platforms-android-29 + platforms-android-30 + platforms-android-31 + platforms-android-33 + + # For flutter_zxing + cmake-3-18-1 + #ndk-21-4-7075529 + (ndk-21-4-7075529.overrideAttrs (old: { + buildInputs = old.buildInputs ++ [ pkgs.python27 ]; + })) + ]); + lib = pkgs.lib; pinnedJDK = pkgs.jdk17; pythonEnv = pkgs.python3.withPackages (ps: with ps; [ @@ -51,7 +61,7 @@ }; devShell = let - prosody-newer-community-modules = unstable.prosody.overrideAttrs (old: { + prosody-newer-community-modules = pkgs.prosody.overrideAttrs (old: { communityModules = pkgs.fetchhg { url = "https://hg.prosody.im/prosody-modules"; rev = "e3a3a6c86a9f"; @@ -71,7 +81,7 @@ }; in pkgs.mkShell { buildInputs = with pkgs; [ - flutter pinnedJDK android.platform-tools dart # Dart + flutter37 pinnedJDK sdk dart # Dart gitlint # Code hygiene ripgrep # General utilities @@ -103,7 +113,13 @@ CPATH = "${pkgs.xorg.libX11.dev}/include:${pkgs.xorg.xorgproto}/include"; LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ atk cairo epoxy gdk-pixbuf glib gtk3 harfbuzz pango ]; + ANDROID_SDK_ROOT = "${sdk}/share/android-sdk"; + ANDROID_HOME = "${sdk}/share/android-sdk"; JAVA_HOME = pinnedJDK; + + # Fix an issue with Flutter using an older version of aapt2, which does not know + # an used parameter. + GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${sdk}/share/android-sdk/build-tools/34.0.0/aapt2"; }; }); }