solc.nix 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. { pkgs, fetchzip, fetchurl }:
  2. pkgs.stdenv.mkDerivation rec {
  3. pname = "solc";
  4. version = "0.8.26";
  5. src = fetchzip {
  6. url = "https://github.com/ethereum/solidity/releases/download/v0.8.26/solidity_0.8.26.tar.gz";
  7. sha256 = "sha256-4lrxwjEg1/TPWt2WB/kQNYvdOEt5aEbnGaEcNMz9pv4=";
  8. };
  9. range_pkg = fetchurl {
  10. url = "https://github.com/ericniebler/range-v3/archive/0.12.0.tar.gz";
  11. sha256 = "sha256-AVrbIwCpjt/OrwclvuwzN/VCr0kVzsTQuJ+giG9Lqcs=";
  12. };
  13. fmtlib_pkg = fetchurl {
  14. url = "https://github.com/fmtlib/fmt/archive/9.1.0.tar.gz";
  15. sha256 = "sha256-XepI0fzdw+xXHOIFjhORCg1Ka6tMwJqAnYsd0ciK5vI=";
  16. };
  17. json_pkg = fetchurl {
  18. url = "https://github.com/nlohmann/json/releases/download/v3.11.3/json.hpp";
  19. sha256 = "sha256-m+pMgGbvShwgayvlo2MC+JJvf9xgh69dILQX0M8QPqY=";
  20. };
  21. nativeBuildInputs = [ pkgs.cmake ];
  22. buildInputs = [ pkgs.boost ];
  23. cmakeFlags = [ "-DBoost_USE_STATIC_LIBS=OFF" ];
  24. patchPhase = ''
  25. mkdir -p deps/downloads
  26. mkdir -p deps/nlohmann/nlohmann
  27. cp ${range_pkg} deps/downloads/range-v3-0.12.0.tar.gz
  28. cp ${fmtlib_pkg} deps/downloads/fmt-9.1.0.tar.gz
  29. cp ${json_pkg} deps/nlohmann/nlohmann/json.hpp
  30. '';
  31. }