nix/pkgs: init envoy
This commit is contained in:
parent
8fa40565f6
commit
483786f792
3 changed files with 3056 additions and 0 deletions
|
@ -14,4 +14,5 @@
|
||||||
python-emv = import ./python-emv.nix args;
|
python-emv = import ./python-emv.nix args;
|
||||||
sheepshaver = import ./sheepshaver.nix args;
|
sheepshaver = import ./sheepshaver.nix args;
|
||||||
intermec-cups-driver = pkgs.callPackage ./intermec-cups-driver.nix {};
|
intermec-cups-driver = pkgs.callPackage ./intermec-cups-driver.nix {};
|
||||||
|
envoy = import ./envoy args;
|
||||||
} // (import ./heptapod-runner.nix args)
|
} // (import ./heptapod-runner.nix args)
|
||||||
|
|
2980
nix/pkgs/envoy/0001-quiche-update-QUICHE-tar-13949.patch
Normal file
2980
nix/pkgs/envoy/0001-quiche-update-QUICHE-tar-13949.patch
Normal file
File diff suppressed because it is too large
Load diff
75
nix/pkgs/envoy/default.nix
Normal file
75
nix/pkgs/envoy/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
{ pkgs, ... }:
|
||||||
|
with pkgs;
|
||||||
|
(buildBazelPackage rec {
|
||||||
|
pname = "envoy";
|
||||||
|
version = "1.16.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "envoyproxy";
|
||||||
|
repo = "envoy";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256:1b6nplf0pby1yjnsawbr5a6cnvs2ss38kxccgs4fvxv4b1m8h5d9";
|
||||||
|
|
||||||
|
extraPostFetch = ''
|
||||||
|
chmod -R +w $out
|
||||||
|
rm $out/.bazelversion
|
||||||
|
echo e98e41a8e168af7acae8079fc0cd68155f699aa3 > $out/SOURCE_VERSION
|
||||||
|
sed -i 's/GO_VERSION = ".*"/GO_VERSION = "host"/g' $out/bazel/dependency_imports.bzl
|
||||||
|
sed -i 's,#!/usr/bin/env python3,#!${python3}/bin/python,' $out/bazel/foreign_cc/luajit.patch
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-quiche-update-QUICHE-tar-13949.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
python3
|
||||||
|
go
|
||||||
|
ninja
|
||||||
|
];
|
||||||
|
|
||||||
|
fetchAttrs = {
|
||||||
|
sha256 = "sha256:0s8gzfmpwjrv5v1l9spbkpa03x561n98qwli7qbbq4rvdsq1j45p";
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
};
|
||||||
|
buildAttrs = {
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
dontUseNinjaInstall = true;
|
||||||
|
preConfigure = ''
|
||||||
|
sed -i 's,#!/usr/bin/env bash,#!${stdenv.shell},' $bazelOut/external/rules_foreign_cc/tools/build_defs/framework.bzl
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm0755 bazel-bin/source/exe/envoy-static $out/bin/envoy
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
fetchConfigured = true;
|
||||||
|
removeRulesCC = false;
|
||||||
|
removeLocalConfigCc = false;
|
||||||
|
removeLocal = false;
|
||||||
|
bazelTarget = "//source/exe:envoy-static";
|
||||||
|
bazelBuildFlags = [ "-c opt" "--spawn_strategy=standalone" "--verbose_failures" "--noexperimental_strict_action_env" ''--cxxopt=-Wno-maybe-uninitialized'' ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://envoyproxy.io";
|
||||||
|
description = "Cloud-native edge and service proxy";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ lukegb ];
|
||||||
|
};
|
||||||
|
}).overrideAttrs (old: {
|
||||||
|
preConfigure = (builtins.replaceStrings
|
||||||
|
[''ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink"'']
|
||||||
|
[
|
||||||
|
''
|
||||||
|
if readlink "$symlink" | grep -q "NIX_BUILD_TOP"; then
|
||||||
|
ln -sf $(readlink "$symlink" | sed "s,NIX_BUILD_TOP,$NIX_BUILD_TOP,") "$symlink"
|
||||||
|
fi
|
||||||
|
''
|
||||||
|
]
|
||||||
|
old.preConfigure);
|
||||||
|
})
|
Loading…
Reference in a new issue