tvl-depot/third_party/overlays/ecl-static.nix
sterni 526295a71d chore(3p/sources): Bump channels & overlays
- Adjust to ecl 23.9.9 release

- Regenerate go protos after protoc-gen-go update

- Drop dhall fork which hasn't kept up with 1.42.*

- Address new clippy warnings:

  - Variant naming of Error::ValidationError
  - Simplify .try_into().unwrap()
  - Drop unnecessary identity function
  - Test module must be last in file
  - Drop unused `pub use`

- Update agenix to 0.15.0. Current master has a installCheckPhase that
  doesn't work with C++ Nix 2.3.*:
  a23aa271be (commitcomment-137185861)

Change-Id: Ic29eef20d6fd1362ce1031364a5ca6b4edf195bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10615
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-01-19 21:47:32 +00:00

28 lines
1 KiB
Nix

{ ... }:
self: super:
{
# Statically linked ECL with statically linked dependencies.
# Works quite well, but solving this properly in a nixpkgs
# context will require figuring out cross compilation (for
# pkgsStatic), so we're gonna use this override for now.
#
# Note that ecl-static does mean that we have things
# statically linked against GMP and ECL which are LGPL.
# I believe this should be alright: The way ppl are gonna
# interact with the distributed binaries (i. e. the binary
# cache) is Nix in the depot monorepo, so the separability
# requirement should be satisfied: Source code or overriding
# would be available as ways to swap out the used GMP in the
# program.
# See https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic
ecl-static = (super.pkgsMusl.ecl.override {
inherit (self.pkgsStatic) gmp libffi boehmgc;
}).overrideAttrs (drv: rec {
configureFlags = drv.configureFlags ++ [
"--disable-shared"
"--with-dffi=no" # will fail at runtime anyways if statically linked
];
});
}