uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
102
pkgs/applications/networking/syncthing/default.nix
Normal file
102
pkgs/applications/networking/syncthing/default.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
{ buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }:
|
||||
|
||||
let
|
||||
common = { stname, target, postInstall ? "" }:
|
||||
buildGoModule rec {
|
||||
pname = stname;
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "syncthing";
|
||||
repo = "syncthing";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QJevD/meVPEHnfwT1Eu3cwfVFU+ab/16eJBl6cuhGdA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-NuiT2GytWaGkgSyl+qoe9DjCCL7wSHc6FU8C6rsy6Vc=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
BUILD_USER = "nix";
|
||||
BUILD_HOST = "nix";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
go run build.go -no-upgrade -version v${version} build ${target}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 ${target} $out/bin/${target}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
inherit postInstall;
|
||||
|
||||
passthru.tests = with nixosTests; {
|
||||
init = syncthing-init;
|
||||
relay = syncthing-relay;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://syncthing.net/";
|
||||
description = "Open Source Continuous File Synchronization";
|
||||
changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ joko peterhoeg andrew-d ];
|
||||
mainProgram = target;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
syncthing = common {
|
||||
stname = "syncthing";
|
||||
target = "syncthing";
|
||||
|
||||
postInstall = ''
|
||||
# This installs man pages in the correct directory according to the suffix
|
||||
# on the filename
|
||||
for mf in man/*.[1-9]; do
|
||||
mantype="$(echo "$mf" | awk -F"." '{print $NF}')"
|
||||
mandir="$out/share/man/man$mantype"
|
||||
install -Dm644 "$mf" "$mandir/$(basename "$mf")"
|
||||
done
|
||||
|
||||
'' + lib.optionalString (stdenv.isLinux) ''
|
||||
mkdir -p $out/lib/systemd/{system,user}
|
||||
|
||||
substitute etc/linux-systemd/system/syncthing-resume.service \
|
||||
$out/lib/systemd/system/syncthing-resume.service \
|
||||
--replace /usr/bin/pkill ${procps}/bin/pkill
|
||||
|
||||
substitute etc/linux-systemd/system/syncthing@.service \
|
||||
$out/lib/systemd/system/syncthing@.service \
|
||||
--replace /usr/bin/syncthing $out/bin/syncthing
|
||||
|
||||
substitute etc/linux-systemd/user/syncthing.service \
|
||||
$out/lib/systemd/user/syncthing.service \
|
||||
--replace /usr/bin/syncthing $out/bin/syncthing
|
||||
'';
|
||||
};
|
||||
|
||||
syncthing-discovery = common {
|
||||
stname = "syncthing-discovery";
|
||||
target = "stdiscosrv";
|
||||
};
|
||||
|
||||
syncthing-relay = common {
|
||||
stname = "syncthing-relay";
|
||||
target = "strelaysrv";
|
||||
|
||||
postInstall = lib.optionalString (stdenv.isLinux) ''
|
||||
mkdir -p $out/lib/systemd/system
|
||||
|
||||
substitute cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
|
||||
$out/lib/systemd/system/strelaysrv.service \
|
||||
--replace /usr/bin/strelaysrv $out/bin/strelaysrv
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue