60 lines
1.8 KiB
Nix
60 lines
1.8 KiB
Nix
{
|
|
cwtch,
|
|
fetchgit,
|
|
flutter,
|
|
lib,
|
|
tor,
|
|
}:
|
|
let
|
|
runtimeBinDependencies = [
|
|
tor
|
|
];
|
|
in
|
|
flutter.buildFlutterApplication rec {
|
|
pname = "cwtch-ui";
|
|
version = "1.15.1";
|
|
# This Gitea instance has archive downloads disabled, so: fetchgit
|
|
src = fetchgit {
|
|
url = "https://git.openprivacy.ca/cwtch.im/cwtch-ui";
|
|
rev = "v${version}";
|
|
hash = "sha256-+UtWhQMhm0UjY0kx3B5TwcBFhUfJma3rpeYls4XWy7I=";
|
|
};
|
|
|
|
# NOTE: The included pubspec.json does not exactly match the upstream
|
|
# pubspec.lock. With Flutter 3.24, a newer version of material_color_utilities
|
|
# is required than the upstream locked version. From a checkout of cwtch-ui
|
|
# 1.15.1, I ran `flutter pub upgrade material_color_utilities` on 2024-10-17.
|
|
# This upgraded material_color_utilities and its dependencies.
|
|
pubspecLock = lib.importJSON ./pubspec.json;
|
|
gitHashes = {
|
|
flutter_gherkin = "sha256-Y8tR84kkczQPBwh7cGhPFAAqrMZKRfGp/02huPaaQZg=";
|
|
};
|
|
|
|
flutterBuildFlags = [
|
|
"--dart-define"
|
|
"BUILD_VER=${version}"
|
|
"--dart-define"
|
|
"BUILD_DATE=1980-01-01-00:00"
|
|
];
|
|
|
|
# These things are added to LD_LIBRARY_PATH, but not PATH
|
|
runtimeDependencies = [ cwtch ];
|
|
|
|
extraWrapProgramArgs = "--prefix PATH : ${lib.makeBinPath runtimeBinDependencies}";
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/share/applications
|
|
substitute linux/cwtch.template.desktop "$out/share/applications/cwtch.desktop" \
|
|
--replace-fail PREFIX "$out"
|
|
'';
|
|
|
|
meta = {
|
|
description = "Messaging app built on the cwtch decentralized, privacy-preserving, multi-party messaging protocol";
|
|
homepage = "https://cwtch.im/";
|
|
changelog = "https://docs.cwtch.im/changelog";
|
|
license = lib.licenses.mit;
|
|
mainProgram = "cwtch";
|
|
platforms = [ "x86_64-linux" ];
|
|
maintainers = [ lib.maintainers.gmacon ];
|
|
};
|
|
}
|