add support for avif images

Fixes #138
This commit is contained in:
Henry Hiles 2026-10-16 20:35:42 -04:00
commit 6d42477041
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
10 changed files with 219 additions and 8 deletions

View file

@ -9,6 +9,7 @@
#include <app_links_linux/app_links_plugin_linux.h>
#include <dynamic_color/dynamic_color_plugin.h>
#include <file_selector_linux/file_selector_plugin.h>
#include <flutter_avif_linux/flutter_avif_linux_plugin.h>
#include <media_kit_libs_linux/media_kit_libs_linux_plugin.h>
#include <media_kit_video/media_kit_video_plugin.h>
#include <pasteboard/pasteboard_plugin.h>
@ -27,6 +28,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) flutter_avif_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterAvifLinuxPlugin");
flutter_avif_linux_plugin_register_with_registrar(flutter_avif_linux_registrar);
g_autoptr(FlPluginRegistrar) media_kit_libs_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "MediaKitLibsLinuxPlugin");
media_kit_libs_linux_plugin_register_with_registrar(media_kit_libs_linux_registrar);

View file

@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
app_links_linux
dynamic_color
file_selector_linux
flutter_avif_linux
media_kit_libs_linux
media_kit_video
pasteboard

View file

@ -9,6 +9,7 @@ let
];
cmakeVersions = [ "3.22.1" ];
platformVersions = [
"31"
"34"
"36"
];
@ -47,7 +48,17 @@ pkgs.mkShell {
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_HOME}/build-tools/36.0.0/aapt2";
}
// lib.optionalAttrs pkgs.stdenv.isLinux {
LD_LIBRARY_PATH = "./build/native_assets/linux:${lib.makeLibraryPath [ pkgs.zlib ]}";
};
// lib.optionalAttrs pkgs.stdenv.isLinux (
let
arch = if pkgs.stdenv.hostPlatform.isAarch64 then "arm64" else "x64";
in
{
LD_LIBRARY_PATH = lib.concatStringsSep ":" [
"./build/native_assets/linux"
"./build/linux/${arch}/debug/bundle/lib"
"./build/linux/${arch}/release/bundle/lib"
(lib.makeLibraryPath [ pkgs.zlib ])
];
}
);
}