tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
fluffychat-web: init at 1.14.1
hacker1024
2 years ago
62029c27
f51a0b05
+44
-17
2 changed files
expand all
collapse all
unified
split
pkgs
applications
networking
instant-messengers
fluffychat
default.nix
top-level
all-packages.nix
+42
-17
pkgs/applications/networking/instant-messengers/fluffychat/default.nix
···
1
{ lib
0
2
, fetchFromGitHub
3
, imagemagick
4
, mesa
···
7
, pulseaudio
8
, makeDesktopItem
9
, gnome
0
0
10
}:
11
12
let
13
libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ];
14
in
15
-
flutter313.buildFlutterApplication rec {
16
-
pname = "fluffychat";
17
version = "1.14.1";
18
19
src = fetchFromGitHub {
···
30
wakelock_windows = "sha256-Dfwe3dSScD/6kvkP67notcbb+EgTQ3kEYcH7wpra2dI=";
31
};
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
desktopItem = makeDesktopItem {
34
name = "Fluffychat";
35
exec = "@out@/bin/fluffychat";
···
39
categories = [ "Chat" "Network" "InstantMessaging" ];
40
};
41
42
-
nativeBuildInputs = [ imagemagick ];
43
-
runtimeDependencies = [ pulseaudio ];
44
-
extraWrapProgramArgs = "--prefix PATH : ${gnome.zenity}/bin";
45
postInstall = ''
46
FAV=$out/app/data/flutter_assets/assets/favicon.png
47
ICO=$out/share/icons
···
59
60
patchelf --add-rpath ${libwebrtcRpath} $out/app/lib/libwebrtc.so
61
'';
62
-
63
-
env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}";
64
-
65
-
meta = with lib; {
66
-
description = "Chat with your friends (matrix client)";
67
-
homepage = "https://fluffychat.im/";
68
-
license = licenses.agpl3Plus;
69
-
maintainers = with maintainers; [ mkg20001 gilice ];
70
-
platforms = [ "x86_64-linux" "aarch64-linux" ];
71
-
sourceProvenance = [ sourceTypes.fromSource ];
72
-
};
73
-
}
0
0
0
0
0
0
···
1
{ lib
2
+
, fetchzip
3
, fetchFromGitHub
4
, imagemagick
5
, mesa
···
8
, pulseaudio
9
, makeDesktopItem
10
, gnome
11
+
12
+
, flutterHostPlatform ? "linux"
13
}:
14
15
let
16
libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ];
17
in
18
+
flutter313.buildFlutterApplication (rec {
19
+
pname = "fluffychat-${flutterHostPlatform}";
20
version = "1.14.1";
21
22
src = fetchFromGitHub {
···
33
wakelock_windows = "sha256-Dfwe3dSScD/6kvkP67notcbb+EgTQ3kEYcH7wpra2dI=";
34
};
35
36
+
inherit flutterHostPlatform;
37
+
38
+
meta = with lib; {
39
+
description = "Chat with your friends (matrix client)";
40
+
homepage = "https://fluffychat.im/";
41
+
license = licenses.agpl3Plus;
42
+
maintainers = with maintainers; [ mkg20001 gilice ];
43
+
platforms = [ "x86_64-linux" "aarch64-linux" ];
44
+
sourceProvenance = [ sourceTypes.fromSource ];
45
+
};
46
+
} // lib.optionalAttrs (flutterHostPlatform == "linux") {
47
+
nativeBuildInputs = [ imagemagick ];
48
+
49
+
runtimeDependencies = [ pulseaudio ];
50
+
51
+
extraWrapProgramArgs = "--prefix PATH : ${gnome.zenity}/bin";
52
+
53
+
env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}";
54
+
55
desktopItem = makeDesktopItem {
56
name = "Fluffychat";
57
exec = "@out@/bin/fluffychat";
···
61
categories = [ "Chat" "Network" "InstantMessaging" ];
62
};
63
0
0
0
64
postInstall = ''
65
FAV=$out/app/data/flutter_assets/assets/favicon.png
66
ICO=$out/share/icons
···
78
79
patchelf --add-rpath ${libwebrtcRpath} $out/app/lib/libwebrtc.so
80
'';
81
+
} // lib.optionalAttrs (flutterHostPlatform == "web") {
82
+
prePatch =
83
+
# https://github.com/krille-chan/fluffychat/blob/v1.17.1/scripts/prepare-web.sh
84
+
let
85
+
# Use Olm 1.3.2, the oldest version, for FluffyChat 1.14.1 which depends on olm_flutter 1.2.0.
86
+
# In the future, this should be changed to use self.pubspecLock.dependencyVersions.flutter_olm as the script does.
87
+
olmVersion = "1.3.2";
88
+
olmJs = fetchzip {
89
+
url = "https://github.com/famedly/olm/releases/download/v${olmVersion}/olm.zip";
90
+
stripRoot = false;
91
+
hash = "sha256-Vl3Cp2OaYzM5CPOOtTHtUb1W48VXePzOV6FeiIzyD1Y=";
92
+
};
93
+
in
94
+
''
95
+
rm -r assets/js/package
96
+
cp -r '${olmJs}/javascript' assets/js/package
97
+
'';
98
+
})
+2
pkgs/top-level/all-packages.nix
···
3850
3851
fluffychat = callPackage ../applications/networking/instant-messengers/fluffychat { };
3852
0
0
3853
fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
3854
3855
gbl = callPackage ../tools/archivers/gbl {
···
3850
3851
fluffychat = callPackage ../applications/networking/instant-messengers/fluffychat { };
3852
3853
+
fluffychat-web = fluffychat.override { flutterHostPlatform = "web"; };
3854
+
3855
fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
3856
3857
gbl = callPackage ../tools/archivers/gbl {