nixpkgs/pkgs/tools/networking/cjdns/default.nix
Martin Weinelt c705239a5d
cjdns: don't set -Wno-error=stringop-overread with gcc<11
The build would error out on aarch64-linux with

> cc1: error: '-Werror=stringop-overread': no option -Wstringop-overread
2022-04-17 02:57:07 +02:00

46 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, nodejs, which, python3, util-linux, nixosTests }:
stdenv.mkDerivation rec {
pname = "cjdns";
version = "21.1";
src = fetchFromGitHub {
owner = "cjdelisle";
repo = "cjdns";
rev = "cjdns-v${version}";
sha256 = "NOmk+vMZ8i0E2MjrUzksk+tkJ9XVVNEXlE5OOTNa+Y0=";
};
buildInputs = [ which python3 nodejs ] ++
# for flock
lib.optional stdenv.isLinux util-linux;
NIX_CFLAGS_COMPILE = [
"-O2"
"-Wno-error=array-bounds"
"-Wno-error=stringop-overflow"
"-Wno-error=stringop-truncation"
] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [
"-Wno-error=stringop-overread"
];
buildPhase =
lib.optionalString stdenv.isAarch32 "Seccomp_NO=1 "
+ "bash do";
installPhase = ''
install -Dt "$out/bin/" cjdroute makekeys privatetopublic publictoip6
mkdir -p $out/share/cjdns
cp -R tools node_build node_modules $out/share/cjdns/
'';
passthru.tests.basic = nixosTests.cjdns;
meta = with lib; {
homepage = "https://github.com/cjdelisle/cjdns";
description = "Encrypted networking for regular people";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ ehmry ];
platforms = platforms.linux;
};
}