From ea6f3c43ed486f304366a013647aef8a59d2559d Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Tue, 16 Jan 2024 00:15:53 -0800 Subject: [PATCH] ricochet-refresh: init at 3.0.18 Co-authored-by: Anderson Torres --- pkgs/by-name/ri/ricochet-refresh/package.nix | 79 ++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 pkgs/by-name/ri/ricochet-refresh/package.nix diff --git a/pkgs/by-name/ri/ricochet-refresh/package.nix b/pkgs/by-name/ri/ricochet-refresh/package.nix new file mode 100644 index 000000000000..c90c6aabbd92 --- /dev/null +++ b/pkgs/by-name/ri/ricochet-refresh/package.nix @@ -0,0 +1,79 @@ +{ lib +, stdenv +, fetchFromGitHub +, qt5 +, openssl +, protobuf3_20 # https://github.com/blueprint-freespeech/ricochet-refresh/issues/178 +, pkg-config +, cmake +}: + +let + protobuf = protobuf3_20; +in +stdenv.mkDerivation (finalAttrs: { + pname = "ricochet-refresh"; + version = "3.0.18"; + + src = fetchFromGitHub { + owner = "blueprint-freespeech"; + repo = "ricochet-refresh"; + rev = "v${finalAttrs.version}-release"; + hash = "sha256-QN2cxcYWGoszPdrWv+4FoTGNjQViK/OwxbBC6uoDhfA="; + fetchSubmodules = true; + }; + + sourceRoot = "${finalAttrs.src.name}/src"; + + strictDeps = true; + + buildInputs = (with qt5; [ + qtbase + qttools + qtmultimedia + qtquickcontrols2 + qtwayland + ]) ++ [ + openssl + protobuf + ]; + + nativeBuildInputs = [ + pkg-config + cmake + qt5.wrapQtAppsHook + ]; + + enableParallelBuilding = true; + + # https://github.com/blueprint-freespeech/ricochet-refresh/blob/main/BUILDING.md + cmakeFlags = [ + (lib.cmakeFeature "CMAKE_BUILD_TYPE" "MinSizeRel") + (lib.cmakeBool "RICOCHET_REFRESH_INSTALL_DESKTOP" true) + (lib.cmakeBool "USE_SUBMODULE_FMT" true) + ]; + + meta = { + description = "Secure chat without DNS or WebPKI"; + 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.unix; + }; +})