depot/third_party/nixpkgs/pkgs/by-name/cw/cwtch-ui/package.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 ];
};
}