nixpkgs/pkgs/by-name/ri/ricochet-refresh/package.nix
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00

83 lines
2.1 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
qt5,
openssl,
protobuf,
pkg-config,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ricochet-refresh";
version = "3.0.25";
src = fetchFromGitHub {
owner = "blueprint-freespeech";
repo = "ricochet-refresh";
rev = "v${finalAttrs.version}-release";
fetchSubmodules = true;
hash = "sha256-MXbsNrF3y2DimXUuf6XbqqCxcNsTGfNHSAMstdX1MoU=";
};
sourceRoot = "${finalAttrs.src.name}/src";
strictDeps = true;
buildInputs =
(with qt5; [
qtbase
qttools
qtmultimedia
qtquickcontrols2
qtwayland
])
++ [
openssl
protobuf
];
nativeBuildInputs = [
pkg-config
protobuf
cmake
qt5.wrapQtAppsHook
];
enableParallelBuilding = true;
cmakeBuildType = "MinSizeRel";
# https://github.com/blueprint-freespeech/ricochet-refresh/blob/main/BUILDING.md
cmakeFlags = [
(lib.cmakeBool "RICOCHET_REFRESH_INSTALL_DESKTOP" true)
(lib.cmakeBool "USE_SUBMODULE_FMT" true)
];
meta = {
description = "Secure chat without DNS or WebPKI";
mainProgram = "ricochet-refresh";
longDescription = ''
Ricochet Refresh is a peer-to-peer messenger app that uses Tor
to connect clients.
When you start Ricochet Refresh it creates a Tor hidden
service on your computer. The address of this hidden service
is your anonymous identity on the Tor network and how others
will be able to communicate with you. When you start a chat
with one of your contacts a Tor circuit is created between
your machine and the your contact's machine.
The original Ricochet uses onion "v2" hashed-RSA addresses,
which are no longer supported by the Tor network. Ricochet
Refresh upgrades the original Ricochet protocol to use the
current onion "v3" ed25519 addresses.
'';
homepage = "https://www.ricochetrefresh.net/";
downloadPage = "https://github.com/blueprint-freespeech/ricochet-refresh/releases";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
};
})