nixpkgs/pkgs/by-name/sc/scion/package.nix
matthewcroughan b7bd9f06e0 scion: use mattn/go-sqlite3 instead of modernc.org/sqlite
This may help with path database corruption issues during power outage.
mattn/go-sqlite3 is a CGO wrapper for the official sqlite
implementation, whereas modernc/sqlite is transpiled from C
2024-07-03 09:08:58 +02:00

52 lines
1.2 KiB
Nix

{ lib
, buildGoModule
, fetchFromGitHub
, nixosTests
}:
let
version = "0.11.0";
in
buildGoModule {
pname = "scion";
inherit version;
src = fetchFromGitHub {
owner = "scionproto";
repo = "scion";
rev = "v${version}";
hash = "sha256-JemqSr1XBwW1hLuWQrApY/hqLj/VpW3xSJedVIoFSiY=";
};
vendorHash = "sha256-akFbHgo8xI2/4aQsyutjhXPM5d0A3se3kG/6Ebw1Qcs=";
excludedPackages = [ "acceptance" "demo" "tools" "pkg/private/xtest/graphupdater" ];
postInstall = ''
set +e
mv $out/bin/gateway $out/bin/scion-ip-gateway
mv $out/bin/dispatcher $out/bin/scion-dispatcher
mv $out/bin/router $out/bin/scion-router
mv $out/bin/control $out/bin/scion-control
mv $out/bin/daemon $out/bin/scion-daemon
set -e
'';
doCheck = true;
tags = [ "sqlite_mattn" ];
passthru.tests = {
inherit (nixosTests) scion-freestanding-deployment;
};
meta = with lib; {
description = "Future Internet architecture utilizing path-aware networking";
homepage = "https://scion-architecture.net/";
platforms = platforms.unix;
license = licenses.asl20;
maintainers = with maintainers; [ sarcasticadmin matthewcroughan ];
};
}