mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-18 02:05:51 +03:00
syncthing: fix build (#51866)
###### Motivation for this change fixes #51825 ###### Things done <!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. --> - [x] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS) - Built on platform(s) - [x] NixOS - [ ] macOS - [ ] other Linux distributions - [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) - [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"` - [ ] Tested execution of all binary files (usually in `./result/bin/`) - [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after) - [ ] Assured whether relevant documentation is up to date - [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md). ---
This commit is contained in:
parent
c89cbdcd48
commit
643fabf8ea
@ -1,8 +1,8 @@
|
||||
{ stdenv, lib, go, procps, removeReferencesTo, fetchFromGitHub }:
|
||||
{ buildGoPackage, fetchpatch, stdenv, lib, procps, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
common = { stname, target, patches ? [], postInstall ? "" }:
|
||||
stdenv.mkDerivation rec {
|
||||
common = { stname, target, postInstall ? "" }:
|
||||
buildGoPackage rec {
|
||||
version = "0.14.52";
|
||||
name = "${stname}-${version}";
|
||||
|
||||
@ -13,29 +13,36 @@ let
|
||||
sha256 = "1qzzbqfyjqlgzysyf6dr0xsm3gn35irmllxjjd94v169swvkk5kd";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
goPackagePath = "github.com/syncthing/syncthing";
|
||||
|
||||
buildInputs = [ go ];
|
||||
nativeBuildInputs = [ removeReferencesTo ];
|
||||
patches = [
|
||||
./add-stcli-target.patch
|
||||
(fetchpatch {
|
||||
url = "https://github.com/syncthing/syncthing/commit/e7072feeb7669948c3e43f55d21aec15481c33ba.patch";
|
||||
sha256 = "1pcybww2vdx45zhd1sd53v7fp40vfgkwqgy8flv7hxw2paq8hxd4";
|
||||
})
|
||||
];
|
||||
BUILD_USER="nix";
|
||||
BUILD_HOST="nix";
|
||||
|
||||
buildPhase = ''
|
||||
# Syncthing expects that it is checked out in $GOPATH, if that variable is
|
||||
# set. Since this isn't true when we're fetching source, we can explicitly
|
||||
# unset it and force Syncthing to set up a temporary one for us.
|
||||
env GOPATH= BUILD_USER=nix BUILD_HOST=nix go run build.go -no-upgrade -version v${version} build ${target}
|
||||
runHook preBuild
|
||||
pushd go/src/${goPackagePath}
|
||||
go run build.go -no-upgrade -version v${version} build ${target}
|
||||
popd
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 ${target} $out/bin/${target}
|
||||
pushd go/src/${goPackagePath}
|
||||
runHook preInstall
|
||||
install -Dm755 ${target} $bin/bin/${target}
|
||||
runHook postInstall
|
||||
popd
|
||||
'';
|
||||
|
||||
inherit postInstall;
|
||||
|
||||
preFixup = ''
|
||||
find $out/bin -type f -exec remove-references-to -t ${go} '{}' '+'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = https://www.syncthing.net/;
|
||||
description = "Open Source Continuous File Synchronization";
|
||||
@ -79,7 +86,6 @@ in {
|
||||
syncthing-cli = common {
|
||||
stname = "syncthing-cli";
|
||||
|
||||
patches = [ ./add-stcli-target.patch ];
|
||||
target = "stcli";
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user