azure-storage-azcopy: 10.27.1 -> 10.28.0 (#377459)
[NixPkgs.git] / pkgs / by-name / fl / flet-client-flutter / package.nix
blob7bd3d5847bfa4307657d2e169c2a5066f7fe8333
1 { lib
2 , fetchFromGitHub
3 , pkg-config
4 , flutter324
5 , gst_all_1
6 , libunwind
7 , makeWrapper
8 , mimalloc
9 , orc
10 , yq
11 , runCommand
12 , gitUpdater
13 , mpv-unwrapped
14 , libplacebo
15 , _experimental-update-script-combinators
16 , flet-client-flutter
17 , fletTarget ? "linux"
20 flutter324.buildFlutterApplication rec {
21   pname = "flet-client-flutter";
22   version = "0.25.2";
24   src = fetchFromGitHub {
25     owner = "flet-dev";
26     repo = "flet";
27     tag = "v${version}";
28     hash = "sha256-bD44MCRZPXB/xuw2vBCzNbRNSVgdc4GyyWg3F2adxKk=";
29   };
31   sourceRoot = "${src.name}/client";
33   cmakeFlags = [
34     "-DMIMALLOC_LIB=${mimalloc}/lib/mimalloc.o"
35   ];
37   targetFlutterPlatform = fletTarget;
39   pubspecLock = lib.importJSON ./pubspec.lock.json;
41   nativeBuildInputs = [
42     makeWrapper
43     mimalloc
44     pkg-config
45   ];
47   buildInputs = [
48     mpv-unwrapped
49     gst_all_1.gst-libav
50     gst_all_1.gst-plugins-base
51     gst_all_1.gst-vaapi
52     gst_all_1.gstreamer
53     libunwind
54     orc
55     mimalloc
56   ]
57     ++ mpv-unwrapped.buildInputs
58     ++ libplacebo.buildInputs
59   ;
61   passthru = {
62     pubspecSource = runCommand "pubspec.lock.json" {
63         buildInputs = [ yq ];
64         inherit (flet-client-flutter) src;
65       } ''
66       cat $src/client/pubspec.lock | yq > $out
67     '';
69     updateScript = _experimental-update-script-combinators.sequence [
70       (gitUpdater { rev-prefix = "v"; })
71       (_experimental-update-script-combinators.copyAttrOutputToFile "flet-client-flutter.pubspecSource" ./pubspec.lock.json)
72     ];
73   };
75   meta = {
76     description = "Framework that enables you to easily build realtime web, mobile, and desktop apps in Python. The frontend part";
77     homepage = "https://flet.dev/";
78     changelog = "https://github.com/flet-dev/flet/releases/tag/v${version}";
79     license = lib.licenses.asl20;
80     maintainers = with lib.maintainers; [ heyimnova lucasew ];
81     mainProgram = "flet";
82   };