From 6ea2308054cacbdeb287d5b2b4566c55b380d8d2 Mon Sep 17 00:00:00 2001 From: huangyi Date: Fri, 16 Feb 2024 14:53:14 +0800 Subject: [PATCH] Problem: rustc in nixpkgs is too old Solution: - update nixpkgs to release-23.11 re-enable dapp update pystarport fix chain-main fix chain-main update chain-main fix build fix win bundle fix release.sh on apple silicon try our luck on mac Problem: cross-compiling macos binaries is problematic in recent nixpkgs Solution: - use the github macos-14 arm mac runner to build arm mac binaries --- .github/workflows/build.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/release.yml | 10 ++- default.nix | 9 +- flake.lock | 8 +- flake.nix | 2 +- go.mod | 2 +- integration_tests/poetry.lock | 141 ++++++++++++++++++++++--------- integration_tests/pyproject.toml | 8 +- integration_tests/shell.nix | 1 - nix/build_overlay.nix | 11 --- nix/bundle-win-exe.nix | 6 +- nix/default.nix | 7 +- nix/go-ethereum.nix | 2 +- nix/sources.json | 26 ++++-- nix/testenv.nix | 3 +- nix/zstd.nix | 122 -------------------------- scripts/release.sh | 6 +- 18 files changed, 160 insertions(+), 208 deletions(-) delete mode 100644 nix/zstd.nix diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f8d1b2f036..3ea8267815 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, macos-14] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ba26597e8a..e97d1a26ca 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -17,7 +17,7 @@ concurrency: jobs: golangci: name: Run golangci-lint - runs-on: ubuntu-latest + runs-on: macos-latest timeout-minutes: 40 steps: - uses: actions/setup-go@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2af34340f3..8c04205fee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,7 +48,10 @@ jobs: release-macos: # runs sequentially to avoid creating duplicated release needs: ["release"] - runs-on: macos-latest + strategy: + matrix: + runner: [macos-latest, macos-14] + runs-on: ${{ matrix.runner }} environment: release steps: - uses: actions/checkout@v3 @@ -86,10 +89,11 @@ jobs: done # update checksum and upload - sha256sum *.tar.gz > "checksums-darwin.txt" + CHKFILE="checksums-darwin-$(uname -p).txt" + sha256sum *.tar.gz > "$CHKFILE" echo 'FILES<> $GITHUB_ENV ls -1 *.tar.gz >> $GITHUB_ENV - echo "checksums-darwin.txt" >> $GITHUB_ENV + echo "$CHKFILE" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV cat $GITHUB_ENV - name: upload binaries diff --git a/default.nix b/default.nix index 7a7afd1bb3..29a246e11f 100644 --- a/default.nix +++ b/default.nix @@ -43,13 +43,14 @@ buildGoApplication rec { subPackages = [ "cmd/cronosd" ]; buildFlags = lib.optionalString coverage "-cover"; CGO_ENABLED = "1"; - CGO_LDFLAGS = + CGO_LDFLAGS = lib.optionalString (rocksdb != null) ( if static then "-lrocksdb -pthread -lstdc++ -ldl -lzstd -lsnappy -llz4 -lbz2 -lz" else if stdenv.hostPlatform.isWindows then "-lrocksdb-shared" - else "-lrocksdb -pthread -lstdc++ -ldl"; + else "-lrocksdb -pthread -lstdc++ -ldl" + ); - postFixup = lib.optionalString stdenv.isDarwin '' - ${stdenv.cc.targetPrefix}install_name_tool -change "@rpath/librocksdb.8.dylib" "${rocksdb}/lib/librocksdb.dylib" $out/bin/cronosd + postFixup = lib.optionalString (stdenv.isDarwin && rocksdb != null) '' + ${stdenv.cc.bintools.targetPrefix}install_name_tool -change "@rpath/librocksdb.8.dylib" "${rocksdb}/lib/librocksdb.dylib" $out/bin/cronosd ''; doCheck = false; diff --git a/flake.lock b/flake.lock index 451785e22c..e6c1782cb1 100644 --- a/flake.lock +++ b/flake.lock @@ -56,16 +56,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682584936, - "narHash": "sha256-WM3Ww2o/86MBaPvWTCaAKlfZsgPc2onD/BIpCW3ecG0=", + "lastModified": 1708053705, + "narHash": "sha256-K6kCu54cOM3zSUkVmfB9zPqWyKFpEkMkDLbRl9sxES4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e190995db93b479d4b8f2a5b115f7a60214e7215", + "rev": "0ed7136921ea094c771db674c9d2566b14852a01", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.11", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 861d116d38..49ece2e61b 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.11"; flake-utils.url = "github:numtide/flake-utils"; nix-bundle-exe = { url = "github:3noch/nix-bundle-exe"; diff --git a/go.mod b/go.mod index e1cc29595f..f9bcdb8150 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/crypto-org-chain/cronos/v2 -go 1.20 +go 1.21 require ( cosmossdk.io/api v0.3.1 diff --git a/integration_tests/poetry.lock b/integration_tests/poetry.lock index a35fc72cd5..ddfddffd50 100644 --- a/integration_tests/poetry.lock +++ b/integration_tests/poetry.lock @@ -653,22 +653,21 @@ tomli = "*" [[package]] name = "flake8-isort" -version = "4.1.1" -description = "flake8 plugin that integrates isort ." +version = "6.1.1" +description = "flake8 plugin that integrates isort" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "flake8-isort-4.1.1.tar.gz", hash = "sha256:d814304ab70e6e58859bc5c3e221e2e6e71c958e7005239202fee19c24f82717"}, - {file = "flake8_isort-4.1.1-py3-none-any.whl", hash = "sha256:c4e8b6dcb7be9b71a02e6e5d4196cefcef0f3447be51e82730fb336fff164949"}, + {file = "flake8_isort-6.1.1-py3-none-any.whl", hash = "sha256:0fec4dc3a15aefbdbe4012e51d5531a2eb5fa8b981cdfbc882296a59b54ede12"}, + {file = "flake8_isort-6.1.1.tar.gz", hash = "sha256:c1f82f3cf06a80c13e1d09bfae460e9666255d5c780b859f19f8318d420370b3"}, ] [package.dependencies] -flake8 = ">=3.2.1,<5" -isort = ">=4.3.5,<6" -testfixtures = ">=6.8.0,<7" +flake8 = "*" +isort = ">=5.0.0,<6" [package.extras] -test = ["pytest-cov"] +test = ["pytest"] [[package]] name = "flake8-polyfill" @@ -894,20 +893,17 @@ requests = ">=2.11" [[package]] name = "isort" -version = "5.10.1" +version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false -python-versions = ">=3.6.1,<4.0" +python-versions = ">=3.8.0" files = [ - {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, - {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3,<0.5.0)"] -pipfile-deprecated-finder = ["pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "jsonmerge" @@ -954,14 +950,97 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "lru-dict" -version = "1.1.7" +version = "1.3.0" description = "An Dict like LRU container." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "lru-dict-1.1.7.tar.gz", hash = "sha256:45b81f67d75341d4433abade799a47e9c42a9e22a118531dcb5e549864032d7c"}, + {file = "lru-dict-1.3.0.tar.gz", hash = "sha256:54fd1966d6bd1fcde781596cb86068214edeebff1db13a2cea11079e3fd07b6b"}, + {file = "lru_dict-1.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4073333894db9840f066226d50e6f914a2240711c87d60885d8c940b69a6673f"}, + {file = "lru_dict-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0ad6361e4dd63b47b2fc8eab344198f37387e1da3dcfacfee19bafac3ec9f1eb"}, + {file = "lru_dict-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c637ab54b8cd9802fe19b260261e38820d748adf7606e34045d3c799b6dde813"}, + {file = "lru_dict-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fce5f95489ca1fc158cc9fe0f4866db9cec82c2be0470926a9080570392beaf"}, + {file = "lru_dict-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2bf2e24cf5f19c3ff69bf639306e83dced273e6fa775b04e190d7f5cd16f794"}, + {file = "lru_dict-1.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e90059f7701bef3c4da073d6e0434a9c7dc551d5adce30e6b99ef86b186f4b4a"}, + {file = "lru_dict-1.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ecb7ae557239c64077e9b26a142eb88e63cddb104111a5122de7bebbbd00098"}, + {file = "lru_dict-1.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6af36166d22dba851e06a13e35bbf33845d3dd88872e6aebbc8e3e7db70f4682"}, + {file = "lru_dict-1.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ee38d420c77eed548df47b7d74b5169a98e71c9e975596e31ab808e76d11f09"}, + {file = "lru_dict-1.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0e1845024c31e6ff246c9eb5e6f6f1a8bb564c06f8a7d6d031220044c081090b"}, + {file = "lru_dict-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3ca5474b1649555d014be1104e5558a92497509021a5ba5ea6e9b492303eb66b"}, + {file = "lru_dict-1.3.0-cp310-cp310-win32.whl", hash = "sha256:ebb03a9bd50c2ed86d4f72a54e0aae156d35a14075485b2127c4b01a3f4a63fa"}, + {file = "lru_dict-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:04cda617f4e4c27009005d0a8185ef02829b14b776d2791f5c994cc9d668bc24"}, + {file = "lru_dict-1.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:20c595764695d20bdc3ab9b582e0cc99814da183544afb83783a36d6741a0dac"}, + {file = "lru_dict-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d9b30a8f50c3fa72a494eca6be5810a1b5c89e4f0fda89374f0d1c5ad8d37d51"}, + {file = "lru_dict-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9710737584650a4251b9a566cbb1a86f83437adb209c9ba43a4e756d12faf0d7"}, + {file = "lru_dict-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b84c321ae34f2f40aae80e18b6fa08b31c90095792ab64bb99d2e385143effaa"}, + {file = "lru_dict-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eed24272b4121b7c22f234daed99899817d81d671b3ed030c876ac88bc9dc890"}, + {file = "lru_dict-1.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd13af06dab7c6ee92284fd02ed9a5613a07d5c1b41948dc8886e7207f86dfd"}, + {file = "lru_dict-1.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1efc59bfba6aac33684d87b9e02813b0e2445b2f1c444dae2a0b396ad0ed60c"}, + {file = "lru_dict-1.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:cfaf75ac574447afcf8ad998789071af11d2bcf6f947643231f692948839bd98"}, + {file = "lru_dict-1.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c95f8751e2abd6f778da0399c8e0239321d560dbc58cb063827123137d213242"}, + {file = "lru_dict-1.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:abd0c284b26b5c4ee806ca4f33ab5e16b4bf4d5ec9e093e75a6f6287acdde78e"}, + {file = "lru_dict-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a47740652b25900ac5ce52667b2eade28d8b5fdca0ccd3323459df710e8210a"}, + {file = "lru_dict-1.3.0-cp311-cp311-win32.whl", hash = "sha256:a690c23fc353681ed8042d9fe8f48f0fb79a57b9a45daea2f0be1eef8a1a4aa4"}, + {file = "lru_dict-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:efd3f4e0385d18f20f7ea6b08af2574c1bfaa5cb590102ef1bee781bdfba84bc"}, + {file = "lru_dict-1.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c279068f68af3b46a5d649855e1fb87f5705fe1f744a529d82b2885c0e1fc69d"}, + {file = "lru_dict-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:350e2233cfee9f326a0d7a08e309372d87186565e43a691b120006285a0ac549"}, + {file = "lru_dict-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4eafb188a84483b3231259bf19030859f070321b00326dcb8e8c6cbf7db4b12f"}, + {file = "lru_dict-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73593791047e36b37fdc0b67b76aeed439fcea80959c7d46201240f9ec3b2563"}, + {file = "lru_dict-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1958cb70b9542773d6241974646e5410e41ef32e5c9e437d44040d59bd80daf2"}, + {file = "lru_dict-1.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc1cd3ed2cee78a47f11f3b70be053903bda197a873fd146e25c60c8e5a32cd6"}, + {file = "lru_dict-1.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82eb230d48eaebd6977a92ddaa6d788f14cf4f4bcf5bbffa4ddfd60d051aa9d4"}, + {file = "lru_dict-1.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5ad659cbc349d0c9ba8e536b5f40f96a70c360f43323c29f4257f340d891531c"}, + {file = "lru_dict-1.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ba490b8972531d153ac0d4e421f60d793d71a2f4adbe2f7740b3c55dce0a12f1"}, + {file = "lru_dict-1.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:c0131351b8a7226c69f1eba5814cbc9d1d8daaf0fdec1ae3f30508e3de5262d4"}, + {file = "lru_dict-1.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0e88dba16695f17f41701269fa046197a3fd7b34a8dba744c8749303ddaa18df"}, + {file = "lru_dict-1.3.0-cp312-cp312-win32.whl", hash = "sha256:6ffaf595e625b388babc8e7d79b40f26c7485f61f16efe76764e32dce9ea17fc"}, + {file = "lru_dict-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf9da32ef2582434842ab6ba6e67290debfae72771255a8e8ab16f3e006de0aa"}, + {file = "lru_dict-1.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c265f16c936a8ff3bb4b8a4bda0be94c15ec28b63e99fdb1439c1ffe4cd437db"}, + {file = "lru_dict-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:784ca9d3b0730b3ec199c0a58f66264c63dd5d438119c739c349a6a9be8e5f6e"}, + {file = "lru_dict-1.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e13b2f58f647178470adaa14603bb64cc02eeed32601772ccea30e198252883c"}, + {file = "lru_dict-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ffbce5c2e80f57937679553c8f27e61ec327c962bf7ea0b15f1d74277fd5363"}, + {file = "lru_dict-1.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7969cb034b3ccc707aff877c73c225c32d7e2a7981baa8f92f5dd4d468fe8c33"}, + {file = "lru_dict-1.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca9ab676609cce85dd65d91c275e47da676d13d77faa72de286fbea30fbaa596"}, + {file = "lru_dict-1.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f27c078b5d75989952acbf9b77e14c3dadc468a4aafe85174d548afbc5efc38b"}, + {file = "lru_dict-1.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6123aefe97762ad74215d05320a7f389f196f0594c8813534284d4eafeca1a96"}, + {file = "lru_dict-1.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cd869cadba9a63e1e7fe2dced4a5747d735135b86016b0a63e8c9e324ab629ac"}, + {file = "lru_dict-1.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:40a8daddc29c7edb09dfe44292cf111f1e93a8344349778721d430d336b50505"}, + {file = "lru_dict-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a03170e4152836987a88dcebde61aaeb73ab7099a00bb86509d45b3fe424230"}, + {file = "lru_dict-1.3.0-cp38-cp38-win32.whl", hash = "sha256:3b4f121afe10f5a82b8e317626eb1e1c325b3f104af56c9756064cd833b1950b"}, + {file = "lru_dict-1.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:1470f5828c7410e16c24b5150eb649647986e78924816e6fb0264049dea14a2b"}, + {file = "lru_dict-1.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a3c9f746a9917e784fffcedeac4c8c47a3dbd90cbe13b69e9140182ad97ce4b7"}, + {file = "lru_dict-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2789296819525a1f3204072dfcf3df6db8bcf69a8fc740ffd3de43a684ea7002"}, + {file = "lru_dict-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:170b66d29945391460351588a7bd8210a95407ae82efe0b855e945398a1d24ea"}, + {file = "lru_dict-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774ca88501a9effe8797c3db5a6685cf20978c9cb0fe836b6813cfe1ca60d8c9"}, + {file = "lru_dict-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:df2e119c6ae412d2fd641a55f8a1e2e51f45a3de3449c18b1b86c319ab79e0c4"}, + {file = "lru_dict-1.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28aa1ea42a7e48174bf513dc2416fea7511a547961e678dc6f5670ca987c18cb"}, + {file = "lru_dict-1.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9537e1cee6fa582cb68f2fb9ce82d51faf2ccc0a638b275d033fdcb1478eb80b"}, + {file = "lru_dict-1.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:64545fca797fe2c68c5168efb5f976c6e1459e058cab02445207a079180a3557"}, + {file = "lru_dict-1.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a193a14c66cfc0c259d05dddc5e566a4b09e8f1765e941503d065008feebea9d"}, + {file = "lru_dict-1.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:3cb1de0ce4137b060abaafed8474cc0ebd12cedd88aaa7f7b3ebb1ddfba86ae0"}, + {file = "lru_dict-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8551ccab1349d4bebedab333dfc8693c74ff728f4b565fe15a6bf7d296bd7ea9"}, + {file = "lru_dict-1.3.0-cp39-cp39-win32.whl", hash = "sha256:6cb0be5e79c3f34d69b90d8559f0221e374b974b809a22377122c4b1a610ff67"}, + {file = "lru_dict-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9f725f2a0bdf1c18735372d5807af4ea3b77888208590394d4660e3d07971f21"}, + {file = "lru_dict-1.3.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f8f7824db5a64581180ab9d09842e6dd9fcdc46aac9cb592a0807cd37ea55680"}, + {file = "lru_dict-1.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acd04b7e7b0c0c192d738df9c317093335e7282c64c9d1bb6b7ebb54674b4e24"}, + {file = "lru_dict-1.3.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5c20f236f27551e3f0adbf1a987673fb1e9c38d6d284502cd38f5a3845ef681"}, + {file = "lru_dict-1.3.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca3703ff03b03a1848c563bc2663d0ad813c1cd42c4d9cf75b623716d4415d9a"}, + {file = "lru_dict-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a9fb71ba262c6058a0017ce83d343370d0a0dbe2ae62c2eef38241ec13219330"}, + {file = "lru_dict-1.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f5b88a7c39e307739a3701194993455968fcffe437d1facab93546b1b8a334c1"}, + {file = "lru_dict-1.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2682bfca24656fb7a643621520d57b7fe684ed5fa7be008704c1235d38e16a32"}, + {file = "lru_dict-1.3.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96fc87ddf569181827458ec5ad8fa446c4690cffacda66667de780f9fcefd44d"}, + {file = "lru_dict-1.3.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcec98e2c7da7631f0811730303abc4bdfe70d013f7a11e174a2ccd5612a7c59"}, + {file = "lru_dict-1.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6bba2863060caeaedd8386b0c8ee9a7ce4d57a7cb80ceeddf440b4eff2d013ba"}, + {file = "lru_dict-1.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3c497fb60279f1e1d7dfbe150b1b069eaa43f7e172dab03f206282f4994676c5"}, + {file = "lru_dict-1.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d9509d817a47597988615c1a322580c10100acad10c98dfcf3abb41e0e5877f"}, + {file = "lru_dict-1.3.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0213ab4e3d9a8d386c18e485ad7b14b615cb6f05df6ef44fb2a0746c6ea9278b"}, + {file = "lru_dict-1.3.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b50fbd69cd3287196796ab4d50e4cc741eb5b5a01f89d8e930df08da3010c385"}, + {file = "lru_dict-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5247d1f011f92666010942434020ddc5a60951fefd5d12a594f0e5d9f43e3b3b"}, ] +[package.extras] +test = ["pytest"] + [[package]] name = "mccabe" version = "0.6.1" @@ -1383,8 +1462,8 @@ tomlkit = "^0.7.0" [package.source] type = "git" url = "https://github.com/crypto-com/pystarport.git" -reference = "39ecbd29fcdd50cb3015524c13755fda05bdf23d" -resolved_reference = "39ecbd29fcdd50cb3015524c13755fda05bdf23d" +reference = "403b845" +resolved_reference = "403b84548623d8139082689e38a7a786efa1d3ac" [[package]] name = "pytest" @@ -1647,22 +1726,6 @@ files = [ {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"}, ] -[[package]] -name = "testfixtures" -version = "6.18.5" -description = "A collection of helpers and mock objects for unit tests and doc tests." -optional = false -python-versions = "*" -files = [ - {file = "testfixtures-6.18.5-py2.py3-none-any.whl", hash = "sha256:7de200e24f50a4a5d6da7019fb1197aaf5abd475efb2ec2422fdcf2f2eb98c1d"}, - {file = "testfixtures-6.18.5.tar.gz", hash = "sha256:02dae883f567f5b70fd3ad3c9eefb95912e78ac90be6c7444b5e2f46bf572c84"}, -] - -[package.extras] -build = ["setuptools-git", "twine", "wheel"] -docs = ["django", "django (<2)", "mock", "sphinx", "sybil", "twisted", "zope.component"] -test = ["django", "django (<2)", "mock", "pytest (>=3.6)", "pytest-cov", "pytest-django", "sybil", "twisted", "zope.component"] - [[package]] name = "toml" version = "0.10.2" @@ -1953,4 +2016,4 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>= [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "d61d73ac475c7c53d42477873b678d71abe1091d1c448e65eb61bae48843197a" +content-hash = "0d32f399fc5d6d3118b9c7df963b4c5593111eca97aa838129d86dd1c96022e4" diff --git a/integration_tests/pyproject.toml b/integration_tests/pyproject.toml index 91c0aed2ed..14b80f7153 100644 --- a/integration_tests/pyproject.toml +++ b/integration_tests/pyproject.toml @@ -11,7 +11,7 @@ pytest-github-actions-annotate-failures = "^0.1.1" flake8 = "^4.0.1" black = "^22.3.0" flake8-black = "^0.3.2" -flake8-isort = "^4.1.1" +flake8-isort = "^6.1.1" pep8-naming = "^0.11.1" protobuf = "^3.13.0" grpcio = "^1.53.2" @@ -20,7 +20,7 @@ python-dateutil = "^2.8.1" web3 = "^6.0.0b6" eth-bloom = "^1.0.4" python-dotenv = "^0.19.2" -pystarport = { git = "https://github.com/crypto-com/pystarport.git", branch = "main", rev = "39ecbd29fcdd50cb3015524c13755fda05bdf23d" } +pystarport = { git = "https://github.com/crypto-com/pystarport.git", branch = "main", rev = "403b845" } websockets = "^10.3" toml = "^0.10.2" pysha3 = "^1.0.2" @@ -33,5 +33,5 @@ flaky = "^3.7.0" [tool.poetry.dev-dependencies] [build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/integration_tests/shell.nix b/integration_tests/shell.nix index 25eb185fe3..fe275138a5 100644 --- a/integration_tests/shell.nix +++ b/integration_tests/shell.nix @@ -10,7 +10,6 @@ pkgs.mkShell { (pkgs.callPackage ../. { coverage = true; }) # cronosd pkgs.start-scripts pkgs.go-ethereum - pkgs.gorc pkgs.cosmovisor pkgs.poetry pkgs.nodejs diff --git a/nix/build_overlay.nix b/nix/build_overlay.nix index 6875e06dc0..476654e669 100644 --- a/nix/build_overlay.nix +++ b/nix/build_overlay.nix @@ -1,15 +1,4 @@ # some basic overlays nessesary for the build final: super: { - # include the fix: https://github.com/NixOS/nixpkgs/pull/211515 - zstd = final.callPackage ./zstd.nix { - cmake = final.buildPackages.cmakeMinimal; - }; rocksdb = final.callPackage ./rocksdb.nix { }; - go_1_20 = super.go_1_20.overrideAttrs (prev: rec { - version = "1.20.4"; - src = final.fetchurl { - url = "https://go.dev/dl/go${version}.src.tar.gz"; - hash = "sha256-nzSs4Sh2S3o6SyOLgFhWzBshhDBN+eVpCCWwcQ9CAtY="; - }; - }); } diff --git a/nix/bundle-win-exe.nix b/nix/bundle-win-exe.nix index ac67b4eda7..44bcf323d7 100644 --- a/nix/bundle-win-exe.nix +++ b/nix/bundle-win-exe.nix @@ -20,9 +20,9 @@ runCommand "tarball-${cronosd.name}" "${zlib}/bin/zlib1.dll" "${zstd.bin}/bin/libzstd.dll" "${windows.mingw_w64_pthreads}/bin/libwinpthread-1.dll" - "${windows.mcfgthreads}/bin/mcfgthread-12.dll" - "${stdenv.cc.cc}/x86_64-w64-mingw32/lib/libgcc_s_seh-1.dll" - "${stdenv.cc.cc}/x86_64-w64-mingw32/lib/libstdc++-6.dll" + "${windows.mcfgthreads}/bin/libmcfgthread-1.dll" + "${stdenv.cc.cc.lib}/x86_64-w64-mingw32/lib/libgcc_s_seh-1.dll" + "${stdenv.cc.cc.lib}/x86_64-w64-mingw32/lib/libstdc++-6.dll" ]; } '' mkdir -p $out diff --git a/nix/default.nix b/nix/default.nix index 87203b0fa8..82383bcb6f 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -13,6 +13,7 @@ import sources.nixpkgs { flake-compat = import sources.flake-compat; chain-maind = pkgs.callPackage sources.chain-main { rocksdb = null; }; }) # update to a version that supports eip-1559 + (import "${sources.poetry2nix}/overlay.nix") (import "${sources.gomod2nix}/overlay.nix") (pkgs: _: import ./scripts.nix { @@ -43,11 +44,11 @@ import sources.nixpkgs { }) (_: pkgs: { test-env = pkgs.callPackage ./testenv.nix { }; }) (_: pkgs: { - cosmovisor = pkgs.buildGo118Module rec { + cosmovisor = pkgs.buildGo120Module rec { name = "cosmovisor"; src = sources.cosmos-sdk + "/cosmovisor"; subPackages = [ "./cmd/cosmovisor" ]; - vendorSha256 = "sha256-OAXWrwpartjgSP7oeNvDJ7cTR9lyYVNhEM8HUnv3acE="; + vendorHash = "sha256-OAXWrwpartjgSP7oeNvDJ7cTR9lyYVNhEM8HUnv3acE="; doCheck = false; }; }) @@ -56,7 +57,7 @@ import sources.nixpkgs { name = "rly"; src = sources.relayer; subPackages = [ "." ]; - vendorSha256 = "sha256-5s5URiAZk59mOfZdUcqYAB/IvzFuBiQH5jDBuh6huTE="; + vendorHash = "sha256-5s5URiAZk59mOfZdUcqYAB/IvzFuBiQH5jDBuh6huTE="; doCheck = false; GOWORK = "off"; postInstall = '' diff --git a/nix/go-ethereum.nix b/nix/go-ethereum.nix index 560ef62131..b8651acaf1 100644 --- a/nix/go-ethereum.nix +++ b/nix/go-ethereum.nix @@ -19,7 +19,7 @@ buildGoModule rec { sha256 = "sha256-mZ11xan3MGgaUORbiQczKrXSrxzjvQMhZbpHnEal11Y="; }; - vendorSha256 = "sha256-rjSGR2ie5sFK2OOo4HUZ6+hrDlQuUDtyTKn0sh8jFBY="; + vendorHash = "sha256-rjSGR2ie5sFK2OOo4HUZ6+hrDlQuUDtyTKn0sh8jFBY="; doCheck = false; diff --git a/nix/sources.json b/nix/sources.json index 2d500d2127..4146dc75df 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -5,10 +5,10 @@ "homepage": "https://crypto.org", "owner": "crypto-org-chain", "repo": "chain-main", - "rev": "02455a4eafa8f2f6e4bd4aa9886904cfd3d518aa", - "sha256": "0ndlld82xw5004ma97ap6z6vhfsbkcma8yhvw891l3bf98rfllgk", + "rev": "04e8e094b7d51a8cf92b74c789394b7b34987b10", + "sha256": "1yqd2i8dwphjhdsvl3v7l8gvrjjl6i6pj4nq58lwcf3s6nhwy6d5", "type": "tarball", - "url": "https://github.com/crypto-org-chain/chain-main/archive/02455a4eafa8f2f6e4bd4aa9886904cfd3d518aa.tar.gz", + "url": "https://github.com/crypto-org-chain/chain-main/archive/04e8e094b7d51a8cf92b74c789394b7b34987b10.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "cosmos-sdk": { @@ -97,15 +97,27 @@ "url_template": "https://github.com///archive/.tar.gz" }, "nixpkgs": { - "branch": "master", + "branch": "release-23.11", "description": "Nix Packages collection", "homepage": "", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90aa73fc8e1550b16d1ebdc436e48d9951f7989b", - "sha256": "0jh4npbcqjlszhnaz5mkziv5g1p5ig6wqp68yjxkjllsc7vhsrw6", + "rev": "0ca77ade2a34c5466be6d54f1267507860c95da8", + "sha256": "11q88xx5njl31h3qrc213qx43yi9fqlfrbfwv2h5dgamgbpp2jk9", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/0ca77ade2a34c5466be6d54f1267507860c95da8.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "poetry2nix": { + "branch": "master", + "description": "Convert poetry projects to nix automagically [maintainer=@adisbladis] ", + "homepage": "", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "4eb2ac54029af42a001c9901194e9ce19cbd8a40", + "sha256": "16fi71fpywiqsya1z99kkb14dansyrmkkrb2clzs3b5qqx673wf4", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/90aa73fc8e1550b16d1ebdc436e48d9951f7989b.tar.gz", + "url": "https://github.com/nix-community/poetry2nix/archive/4eb2ac54029af42a001c9901194e9ce19cbd8a40.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "relayer": { diff --git a/nix/testenv.nix b/nix/testenv.nix index e951eccb7f..092e4337ec 100644 --- a/nix/testenv.nix +++ b/nix/testenv.nix @@ -7,12 +7,13 @@ poetry2nix.mkPoetryEnv { let buildSystems = { eth-bloom = [ "setuptools" ]; - pystarport = [ "poetry" ]; + pystarport = [ "poetry-core" ]; cprotobuf = [ "setuptools" ]; durations = [ "setuptools" ]; multitail2 = [ "setuptools" ]; pytest-github-actions-annotate-failures = [ "setuptools" ]; flake8-black = [ "setuptools" ]; + flake8-isort = [ "hatchling" ]; multiaddr = [ "setuptools" ]; }; in diff --git a/nix/zstd.nix b/nix/zstd.nix deleted file mode 100644 index ff88600568..0000000000 --- a/nix/zstd.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, bash -, gnugrep -, fixDarwinDylibNames -, file -, fetchpatch -, legacySupport ? false -, static ? stdenv.hostPlatform.isStatic - # these need to be ran on the host, thus disable when cross-compiling -, buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform -, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform -, nix-update-script -}: - -stdenv.mkDerivation rec { - pname = "zstd"; - version = "1.5.2"; - - src = fetchFromGitHub { - owner = "facebook"; - repo = "zstd"; - rev = "v${version}"; - sha256 = "sha256-yJvhcysxcbUGuDOqe/TQ3Y5xyM2AUw6r1THSHOqmUy0="; - }; - - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; - buildInputs = lib.optional stdenv.hostPlatform.isUnix bash; - - patches = [ - # This patches makes sure we do not attempt to use the MD5 implementation - # of the host platform when running the tests - ./playtests-darwin.patch - ]; - - postPatch = lib.optionalString (!static) '' - substituteInPlace build/cmake/CMakeLists.txt \ - --replace 'message(SEND_ERROR "You need to build static library to build tests")' "" - substituteInPlace build/cmake/tests/CMakeLists.txt \ - --replace 'libzstd_static' 'libzstd_shared' - sed -i \ - "1aexport ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH=$PWD/build_/lib" \ - tests/playTests.sh - ''; - - LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; - - cmakeFlags = lib.attrsets.mapAttrsToList - (name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") - { - BUILD_SHARED = !static; - BUILD_STATIC = static; - BUILD_CONTRIB = buildContrib; - PROGRAMS_LINK_SHARED = !static; - LEGACY_SUPPORT = legacySupport; - BUILD_TESTS = doCheck; - }; - - cmakeDir = "../build/cmake"; - dontUseCmakeBuildDir = true; - preConfigure = '' - mkdir -p build_ && cd $_ - ''; - - checkInputs = [ file ]; - inherit doCheck; - checkPhase = '' - runHook preCheck - # Patch shebangs for playTests - patchShebangs ../programs/zstdgrep - ctest -R playTests # The only relatively fast test. - runHook postCheck - ''; - - preInstall = '' - mkdir -p $bin/bin - substituteInPlace ../programs/zstdgrep \ - --replace ":-grep" ":-${gnugrep}/bin/grep" \ - --replace ":-zstdcat" ":-$bin/bin/zstdcat" - - substituteInPlace ../programs/zstdless \ - --replace "zstdcat" "$bin/bin/zstdcat" - '' + lib.optionalString buildContrib ( - '' - cp contrib/pzstd/pzstd $bin/bin/pzstd - '' + lib.optionalString stdenv.isDarwin '' - install_name_tool -change @rpath/libzstd.1.dylib $out/lib/libzstd.1.dylib $bin/bin/pzstd - '' - ); - - outputs = [ "bin" "dev" ] - ++ lib.optional stdenv.hostPlatform.isUnix "man" - ++ [ "out" ]; - - passthru = { - updateScript = nix-update-script { - attrPath = pname; - }; - }; - - meta = with lib; { - description = "Zstandard real-time compression algorithm"; - longDescription = '' - Zstd, short for Zstandard, is a fast lossless compression algorithm, - targeting real-time compression scenarios at zlib-level compression - ratio. Zstd can also offer stronger compression ratio at the cost of - compression speed. Speed/ratio trade-off is configurable by small - increment, to fit different situations. Note however that decompression - speed is preserved and remain roughly the same at all settings, a - property shared by most LZ compression algorithms, such as zlib. - ''; - homepage = "https://facebook.github.io/zstd/"; - changelog = "https://github.com/facebook/zstd/blob/v${version}/CHANGELOG"; - license = with licenses; [ bsd3 ]; # Or, at your opinion, GPL-2.0-only. - - platforms = platforms.all; - maintainers = with maintainers; [ orivej ]; - }; -} diff --git a/scripts/release.sh b/scripts/release.sh index 9b50bebdc7..68f35ab61d 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -37,7 +37,11 @@ if [[ "$build_platform" == "x86_64-linux" ]]; then elif [[ "$build_platform" == "aarch64-linux" ]]; then hosts="Linux_arm64,native Linux_x86_64,gnu64 Windows_x86_64,mingwW64" elif [[ "$build_platform" == "x86_64-darwin" ]]; then - hosts="Darwin_x86_64,native Darwin_arm64,aarch64-darwin" + hosts="Darwin_x86_64,native" +elif [[ "$build_platform" == "aarch64-darwin" ]]; then + # cross compiling to x86_64-darwin from aarch64-darwin is not supported + # see: https://github.com/NixOS/nixpkgs/issues/180771 + hosts="Darwin_arm64,native" else echo "don't support build platform: $build_platform" exit 1