diff --git a/nimble.lock b/nimble.lock index 68c34cd..b2e6c80 100644 --- a/nimble.lock +++ b/nimble.lock @@ -1,16 +1,6 @@ { "version": 2, "packages": { - "nim": { - "version": "2.2.10", - "vcsRevision": "9fe2137fa2f3f66cf5a44f357d461829ac9e20c4", - "url": "https://github.com/nim-lang/Nim.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "17ec440fdb89f8903db29a17898af590087d2b64" - } - }, "unittest2": { "version": "0.2.5", "vcsRevision": "26f2ef3ae0ec72a2a75bfe557e02e88f6a31c189", @@ -181,7 +171,7 @@ } }, "cbor_serialization": { - "version": "#v0.3.0", + "version": "0.3.0", "vcsRevision": "1664160e04d153573373afddc552b9cbf6fbe4dc", "url": "https://github.com/vacp2p/nim-cbor-serialization", "downloadMethod": "git", @@ -254,7 +244,7 @@ } }, "ffi": { - "version": "#fix/foreign-host-concurrency-v0.2", + "version": "0.2.0", "vcsRevision": "c3d135f46f809e09602d44f48949c2a4b2688e37", "url": "https://github.com/logos-messaging/nim-ffi", "downloadMethod": "git", diff --git a/nix/default.nix b/nix/default.nix index 1ac95f1..c75c864 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -81,6 +81,7 @@ in stdenv.mkDerivation { version = "${version}-${revision}"; env = { + SDS_NIX_DEPS = "1"; NIMFLAGS = "-d:disableMarchNative"; ANDROID_SDK_ROOT = optionalString isAndroidBuild pkgs.androidPkgs.sdk; ANDROID_NDK_ROOT = optionalString isAndroidBuild pkgs.androidPkgs.ndk; diff --git a/nix/deps.nix b/nix/deps.nix index f728089..020b8bb 100644 --- a/nix/deps.nix +++ b/nix/deps.nix @@ -12,8 +12,22 @@ bearssl = pkgs.fetchgit { url = "https://github.com/status-im/nim-bearssl"; - rev = "11e798b62b8e6beabe958e048e9e24c7e0f9ee63"; - sha256 = "0qx36iiawrhmx9qjqcyfvz0134ph9dy8ryq3ch8d31gq6ir7aw84"; + rev = "22c6a76ce015bc07e011562bdcfc51d9446c1e82"; + sha256 = "1cvdd7lfrpa6asmc39al3g4py5nqhpqmvypc36r5qyv7p5arc8a3"; + fetchSubmodules = true; + }; + + testutils = pkgs.fetchgit { + url = "https://github.com/status-im/nim-testutils"; + rev = "6ce5e5e2301ccbc04b09d27ff78741ff4d352b4d"; + sha256 = "1vbkr6i5yxhc2ai3b7rbglhmyc98f99x874fqdp6a152a6kqgwxy"; + fetchSubmodules = true; + }; + + npeg = pkgs.fetchgit { + url = "https://github.com/zevv/npeg"; + rev = "409f6796d0e880b3f0222c964d1da7de6e450811"; + sha256 = "1h2f5znbpa3svk7wsw2axn8f7f59d23xq85z148kiv6fqh0ffwbm"; fetchSubmodules = true; }; @@ -26,36 +40,57 @@ stew = pkgs.fetchgit { url = "https://github.com/status-im/nim-stew"; - rev = "b66168735d6f3841c5239c3169d3fe5fe98b1257"; - sha256 = "10n71vfa6klzd9dmal96jy0hiqk04gaj8wc9g91z6fclryf0yq92"; + rev = "4382b18f04b3c43c8409bfcd6b62063773b2bbaa"; + sha256 = "0mx9g5m636h3sk5pllcpylk51brf7lx91izx3gc23k3ih3hrxyk2"; + fetchSubmodules = true; + }; + + httputils = pkgs.fetchgit { + url = "https://github.com/status-im/nim-http-utils"; + rev = "f142cb2e8bd812dd002a6493b6082827bb248592"; + sha256 = "03msj4zdxraz4qx9cidb17g7v0asazxv91nng6xxbzjxz0qaqxw6"; + fetchSubmodules = true; + }; + + chronos = pkgs.fetchgit { + url = "https://github.com/status-im/nim-chronos"; + rev = "45f43a9ad8bd8bcf5903b42f365c1c879bd54240"; + sha256 = "1v1n59zfzznp97pvwgs9kf136bqmv4x2s2y9f24msspa7qv27w39"; + fetchSubmodules = true; + }; + + metrics = pkgs.fetchgit { + url = "https://github.com/status-im/nim-metrics"; + rev = "a1296caf3ebb5f30f51a5feae7749a30df2824c2"; + sha256 = "02vxqy20g8012ks939ac25ksc25k727q84si0p2cmihy5bw1a3qm"; fetchSubmodules = true; }; faststreams = pkgs.fetchgit { url = "https://github.com/status-im/nim-faststreams"; - rev = "ce27581a3e881f782f482cb66dc5b07a02bd615e"; - sha256 = "0y6bw2scnmr8cxj4fg18w7f34l2bh9qwg5nhlgd84m9fpr5bqarn"; + rev = "50889cd16ec8771106cdd0eeea460039e8571e06"; + sha256 = "1hd4bhvw5lzwg924i8dif5mi61h0ayiplq38djvrdbfsjdhw2zvw"; fetchSubmodules = true; }; serialization = pkgs.fetchgit { url = "https://github.com/status-im/nim-serialization"; - rev = "b0f2fa32960ea532a184394b0f27be37bd80248b"; - sha256 = "0wip1fjx7ka39ck1g1xvmyarzq1p5dlngpqil6zff8k8z5skiz27"; - fetchSubmodules = true; - }; - - npeg = pkgs.fetchgit { - url = "https://github.com/zevv/npeg"; - rev = "409f6796d0e880b3f0222c964d1da7de6e450811"; - sha256 = "1h2f5znbpa3svk7wsw2axn8f7f59d23xq85z148kiv6fqh0ffwbm"; + rev = "4092500cea76154576539371709ae801afbd2a9d"; + sha256 = "04pz6d6p3nd1y2khbb667fcd6p2jk4bxv65iaffzq06bqqhalcwc"; fetchSubmodules = true; }; protobuf_serialization = pkgs.fetchgit { url = "https://github.com/status-im/nim-protobuf-serialization"; - rev = "d9aa950b9d9e8bfc8a201740042b5e8ea5880875"; - sha256 = "11hrqpq7dpdqfn71izmq7ysrdnh8gry0qvrgqdspcz2k2lifzz0c"; + rev = "cec5f1da897c0b3e6d3a1f2da6a36b4bbdc3a1a8"; + sha256 = "0dmrm8l1293fcmyzm4kmhwplyrd1clrjs8hpf9s9bpbyjw7vf927"; + fetchSubmodules = true; + }; + + cbor_serialization = pkgs.fetchgit { + url = "https://github.com/vacp2p/nim-cbor-serialization"; + rev = "1664160e04d153573373afddc552b9cbf6fbe4dc"; + sha256 = "0c1rj4fk0fcqvsf0yqhxvm8h10aww75gi4yfsjhlczh88ypywii2"; fetchSubmodules = true; }; @@ -66,13 +101,6 @@ fetchSubmodules = true; }; - testutils = pkgs.fetchgit { - url = "https://github.com/status-im/nim-testutils"; - rev = "e4d37dc1652d5c63afb89907efb5a5e812261797"; - sha256 = "0nv0a9jm5b1rn3y52cxvyj8xz3jg235mp0xbirfp2cda0icgy1si"; - fetchSubmodules = true; - }; - chronicles = pkgs.fetchgit { url = "https://github.com/status-im/nim-chronicles"; rev = "27ec507429a4eb81edc20f28292ee8ec420be05b"; @@ -80,27 +108,6 @@ fetchSubmodules = true; }; - httputils = pkgs.fetchgit { - url = "https://github.com/status-im/nim-http-utils"; - rev = "c53852d9e24205b6363bba517fa8ee7bde823691"; - sha256 = "1b332smfyp2yvhvfjrfqy4kvh9pc5w6hqh17f1yclz5z1j5xdpf1"; - fetchSubmodules = true; - }; - - chronos = pkgs.fetchgit { - url = "https://github.com/status-im/nim-chronos"; - rev = "0646c444fce7c7ed08ef6f2c9a7abfd172ffe655"; - sha256 = "1r499jl0lhnjq7hgddwgjl0gh3y1mprnqkhk0h6yh3cwgsmr5ym9"; - fetchSubmodules = true; - }; - - metrics = pkgs.fetchgit { - url = "https://github.com/status-im/nim-metrics"; - rev = "11d0cddfb0e711aa2a8c75d1892ae24a64c299fc"; - sha256 = "1jrf2cf7v3iqjsk6grzvivxic1shhaxnvab6d35rxs2kcy6b5dv0"; - fetchSubmodules = true; - }; - stint = pkgs.fetchgit { url = "https://github.com/status-im/nim-stint"; rev = "470b7892561b5179ab20bd389a69217d6213fe58"; @@ -117,8 +124,8 @@ ffi = pkgs.fetchgit { url = "https://github.com/logos-messaging/nim-ffi"; - rev = "d4c87c1f94c4678eea7d32a8f5f41c72420fadb6"; - sha256 = "14dm92l3wl8sc5a108612r1cgjvxksy2chzmn1asph6frl4lm641"; + rev = "c3d135f46f809e09602d44f48949c2a4b2688e37"; + sha256 = "0463f7xpnjh14caxlxi3ipvkp6csgadc83jvlg41idg494bp0g8s"; fetchSubmodules = true; }; diff --git a/sds.nimble b/sds.nimble index 904725c..fb4ce7f 100644 --- a/sds.nimble +++ b/sds.nimble @@ -16,7 +16,13 @@ requires "stew" requires "stint" requires "metrics" requires "results" -requires "https://github.com/logos-messaging/nim-ffi#fix/foreign-host-concurrency-v0.2" +# nim-ffi isn't in the nimble registry, so a plain `nimble` build fetches it by +# URL. The Nix build pre-populates deps offline (can't clone) and sets +# SDS_NIX_DEPS to resolve it by name from the installed pkgs2 instead. +when existsEnv("SDS_NIX_DEPS"): + requires "ffi >= 0.2.0" +else: + requires "https://github.com/logos-messaging/nim-ffi#v0.2.0-rc.1" requires "https://github.com/vacp2p/nim-cbor-serialization#v0.3.0" proc buildLibrary(