Fix pinning system on devel (#820)

This commit is contained in:
Tanguy 2022-12-14 12:10:00 +01:00 committed by GitHub
parent a17cad710c
commit fe7a69e389
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 105 additions and 103 deletions

20
.pinned
View File

@ -1,16 +1,16 @@
bearssl;https://github.com/status-im/nim-bearssl@#f4c4233de453cb7eac0ce3f3ffad6496295f83ab bearssl;https://github.com/status-im/nim-bearssl@#a647994910904b0103a05db3a5ec1ecfc4d91a88
chronicles;https://github.com/status-im/nim-chronicles@#32ac8679680ea699f7dbc046e8e0131cac97d41a chronicles;https://github.com/status-im/nim-chronicles@#32ac8679680ea699f7dbc046e8e0131cac97d41a
chronos;https://github.com/status-im/nim-chronos@#6525f4ce1d1a7eba146e5f1a53f6f105077ae686 chronos;https://github.com/status-im/nim-chronos@#75d030ff71264513fb9701c75a326cd36fcb4692
dnsclient;https://github.com/ba0f3/dnsclient.nim@#fcd7443634b950eaea574e5eaa00a628ae029823 dnsclient;https://github.com/ba0f3/dnsclient.nim@#fcd7443634b950eaea574e5eaa00a628ae029823
faststreams;https://github.com/status-im/nim-faststreams@#6112432b3a81d9db116cd5d64c39648881cfff29 faststreams;https://github.com/status-im/nim-faststreams@#b42daf41d8eb4fbce40add6836bed838f8d85b6f
httputils;https://github.com/status-im/nim-http-utils@#e88e231dfcef4585fe3b2fbd9b664dbd28a88040 httputils;https://github.com/status-im/nim-http-utils@#a85bd52ae0a956983ca6b3267c72961d2ec0245f
json_serialization;https://github.com/status-im/nim-json-serialization@#e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4 json_serialization;https://github.com/status-im/nim-json-serialization@#a7d815ed92f200f490c95d3cfd722089cc923ce6
metrics;https://github.com/status-im/nim-metrics@#0a6477268e850d7bc98347b3875301524871765f metrics;https://github.com/status-im/nim-metrics@#21e99a2e9d9f80e68bef65c80ef781613005fccb
nimcrypto;https://github.com/cheatfate/nimcrypto@#24e006df85927f64916e60511620583b11403178 nimcrypto;https://github.com/cheatfate/nimcrypto@#24e006df85927f64916e60511620583b11403178
secp256k1;https://github.com/status-im/nim-secp256k1@#c7f1a37d9b0f17292649bfed8bf6cef83cf4221f secp256k1;https://github.com/status-im/nim-secp256k1@#fd173fdff863ce2e211cf64c9a03bc7539fe40b0
serialization;https://github.com/status-im/nim-serialization@#60a5bd8ac0461dfadd3069fd9c01a7734f205995 serialization;https://github.com/status-im/nim-serialization@#d77417cba6896c26287a68e6a95762e45a1b87e5
stew;https://github.com/status-im/nim-stew@#23da07c9b59c0ba3d4efa7e4e6e2c4121ae5a156 stew;https://github.com/status-im/nim-stew@#7184d2424dc3945657884646a72715d494917aad
testutils;https://github.com/status-im/nim-testutils@#dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34 testutils;https://github.com/status-im/nim-testutils@#dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34
unittest2;https://github.com/status-im/nim-unittest2@#da8398c45cafd5bd7772da1fc96e3924a18d3823 unittest2;https://github.com/status-im/nim-unittest2@#da8398c45cafd5bd7772da1fc96e3924a18d3823
websock;https://github.com/status-im/nim-websock@#acbe30e9ca1e51dcbbfe4c552ee6f16c7eede538 websock;https://github.com/status-im/nim-websock@#691f069b209d372b1240d5ae1f57fb7bbafeaba7
zlib;https://github.com/status-im/nim-zlib@#6a6670afba6b97b29b920340e2641978c05ab4d8 zlib;https://github.com/status-im/nim-zlib@#6a6670afba6b97b29b920340e2641978c05ab4d8

View File

@ -139,9 +139,13 @@ task install_pinned, "Reads the lockfile":
# Remove the automatically installed deps # Remove the automatically installed deps
# (inefficient you say?) # (inefficient you say?)
let allowedDirectories = toInstall.mapIt(it[0] & "-" & it[1].split('@')[1]) let nimblePkgs =
for dependency in listDirs("nimbledeps/pkgs"): if system.dirExists("nimbledeps/pkgs"): "nimbledeps/pkgs"
if dependency.extractFilename notin allowedDirectories: else: "nimbledeps/pkgs2"
for dependency in listDirs(nimblePkgs):
let filename = dependency.extractFilename
if toInstall.anyIt(filename.startsWith(it[0]) and
filename.endsWith(it[1].split('#')[^1])) == false:
rmDir(dependency) rmDir(dependency)
task unpin, "Restore global package use": task unpin, "Restore global package use":

View File

@ -2,53 +2,68 @@
"version": 1, "version": 1,
"packages": { "packages": {
"unittest2": { "unittest2": {
"version": "0.0.4", "version": "0.0.5",
"vcsRevision": "f180f596c88dfd266f746ed6f8dbebce39c824db", "vcsRevision": "da8398c45cafd5bd7772da1fc96e3924a18d3823",
"url": "https://github.com/status-im/nim-unittest2.git", "url": "https://github.com/status-im/nim-unittest2",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [], "dependencies": [],
"checksums": { "checksums": {
"sha1": "fa309c41eaf6ef57895b9e603f2620a2f6e11780" "sha1": "b3f8493a4948989ef3e645a38b23aad77e851e26"
}
},
"testutils": {
"version": "0.5.0",
"vcsRevision": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34",
"url": "https://github.com/status-im/nim-testutils",
"downloadMethod": "git",
"dependencies": [
"unittest2"
],
"checksums": {
"sha1": "756d0757c4dd06a068f9d38c7f238576ba5ee897"
} }
}, },
"stew": { "stew": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "6ad35b876fb6ebe0dfee0f697af173acc47906ee", "vcsRevision": "7184d2424dc3945657884646a72715d494917aad",
"url": "https://github.com/status-im/nim-stew.git", "url": "https://github.com/status-im/nim-stew",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [], "dependencies": [
"unittest2"
],
"checksums": { "checksums": {
"sha1": "46d58c4feb457f3241e3347778334e325dce5268" "sha1": "f3125ed2fd126dfd3edbaea14275abd9fa57d703"
} }
}, },
"bearssl": { "bearssl": {
"version": "0.1.5", "version": "0.2.0",
"vcsRevision": "ba80e2a0d7ae8aab666cee013e38ff8d33a3e5e7", "vcsRevision": "a647994910904b0103a05db3a5ec1ecfc4d91a88",
"url": "https://github.com/status-im/nim-bearssl", "url": "https://github.com/status-im/nim-bearssl",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"unittest2" "unittest2"
], ],
"checksums": { "checksums": {
"sha1": "383abd5becc77bf8e365b780a29d20529e1d9c4c" "sha1": "d634751df2716ea9975912a2d5d0a090bb6bcfa9"
} }
}, },
"httputils": { "httputils": {
"version": "0.3.0", "version": "0.3.0",
"vcsRevision": "689da19e9e9cfff4ced85e2b25c6b2b5598ed079", "vcsRevision": "a85bd52ae0a956983ca6b3267c72961d2ec0245f",
"url": "https://github.com/status-im/nim-http-utils.git", "url": "https://github.com/status-im/nim-http-utils",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"stew" "stew",
"unittest2"
], ],
"checksums": { "checksums": {
"sha1": "4ad3ad68d13c50184180ab4b2eacc0bd7ed2ed44" "sha1": "92933b21bcd29335f68e377e2b2193fa331e28b3"
} }
}, },
"chronos": { "chronos": {
"version": "3.0.11", "version": "3.0.11",
"vcsRevision": "17fed89c99beac5a92d3668d0d3e9b0e4ac13936", "vcsRevision": "75d030ff71264513fb9701c75a326cd36fcb4692",
"url": "https://github.com/status-im/nim-chronos.git", "url": "https://github.com/status-im/nim-chronos",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"stew", "stew",
@ -57,52 +72,27 @@
"unittest2" "unittest2"
], ],
"checksums": { "checksums": {
"sha1": "f6fffc87571e5f76af2a77c4ebcc0e00909ced4e" "sha1": "57a674ba3c1a57a694fa7810d93ceb68f338a861"
}
},
"metrics": {
"version": "0.0.1",
"vcsRevision": "71e0f0e354e1f4c59e3dc92153989c8b723c3440",
"url": "https://github.com/status-im/nim-metrics",
"downloadMethod": "git",
"dependencies": [
"chronos"
],
"checksums": {
"sha1": "86da251fe532ef2163da30343688ab1c148c0340"
}
},
"testutils": {
"version": "0.4.2",
"vcsRevision": "aa6e5216f4b4ab5aa971cdcdd70e1ec1203cedf2",
"url": "https://github.com/status-im/nim-testutils",
"downloadMethod": "git",
"dependencies": [
"unittest2"
],
"checksums": {
"sha1": "94427e0cce0e0c5841edcd3a6530b4e6b857a3cb"
} }
}, },
"faststreams": { "faststreams": {
"version": "0.3.0", "version": "0.3.0",
"vcsRevision": "1b561a9e71b6bdad1c1cdff753418906037e9d09", "vcsRevision": "b42daf41d8eb4fbce40add6836bed838f8d85b6f",
"url": "https://github.com/status-im/nim-faststreams.git", "url": "https://github.com/status-im/nim-faststreams",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"stew", "stew",
"testutils",
"chronos", "chronos",
"unittest2" "unittest2"
], ],
"checksums": { "checksums": {
"sha1": "97edf9797924af48566a0af8267203dc21d80c77" "sha1": "62f7ac8fb200a8ecb9e6c63f5553a7dad66ae613"
} }
}, },
"serialization": { "serialization": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "fcd0eadadde0ee000a63df8ab21dc4e9f015a790", "vcsRevision": "d77417cba6896c26287a68e6a95762e45a1b87e5",
"url": "https://github.com/status-im/nim-serialization.git", "url": "https://github.com/status-im/nim-serialization",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"faststreams", "faststreams",
@ -110,70 +100,72 @@
"stew" "stew"
], ],
"checksums": { "checksums": {
"sha1": "fef59519892cac70cccd81b612085caaa5e3e6cf" "sha1": "e17244c6654de22254acb9bcf71d8ddbeca8b2aa"
}
},
"metrics": {
"version": "0.0.1",
"vcsRevision": "21e99a2e9d9f80e68bef65c80ef781613005fccb",
"url": "https://github.com/status-im/nim-metrics",
"downloadMethod": "git",
"dependencies": [
"chronos"
],
"checksums": {
"sha1": "ab1c994bbcd6b04f2500f05d8ea4e463f33dd310"
}
},
"nimcrypto": {
"version": "0.5.4",
"vcsRevision": "24e006df85927f64916e60511620583b11403178",
"url": "https://github.com/cheatfate/nimcrypto",
"downloadMethod": "git",
"dependencies": [],
"checksums": {
"sha1": "a4db2105de265930f1578bb7957f49fa39b10d9b"
} }
}, },
"json_serialization": { "json_serialization": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "c5f0e2465e8375dfc7aa0f56ccef67cb680bc6b0", "vcsRevision": "a7d815ed92f200f490c95d3cfd722089cc923ce6",
"url": "https://github.com/status-im/nim-json-serialization.git", "url": "https://github.com/status-im/nim-json-serialization",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"serialization", "serialization",
"stew" "stew"
], ],
"checksums": { "checksums": {
"sha1": "d89d79d0679a3a41b350e3ad4be56c0308cc5ec6" "sha1": "50fc34a992ef3df68a7bee88af096bb8ed42572f"
} }
}, },
"chronicles": { "chronicles": {
"version": "0.10.2", "version": "0.10.3",
"vcsRevision": "1682096306ddba8185dcfac360a8c3f952d721e4", "vcsRevision": "32ac8679680ea699f7dbc046e8e0131cac97d41a",
"url": "https://github.com/status-im/nim-chronicles.git", "url": "https://github.com/status-im/nim-chronicles",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"testutils", "testutils",
"json_serialization" "json_serialization"
], ],
"checksums": { "checksums": {
"sha1": "9a5bebb76b0f7d587a31e621d260119279e91c76" "sha1": "79f09526d4d9b9196dd2f6a75310d71a890c4f88"
}
},
"asynctest": {
"version": "0.3.1",
"vcsRevision": "5347c59b4b057443a014722aa40800cd8bb95c69",
"url": "https://github.com/status-im/asynctest.git",
"downloadMethod": "git",
"dependencies": [],
"checksums": {
"sha1": "53e0b610d13700296755a4ebe789882cae47a3b9"
}
},
"nimcrypto": {
"version": "0.5.4",
"vcsRevision": "a5742a9a214ac33f91615f3862c7b099aec43b00",
"url": "https://github.com/cheatfate/nimcrypto",
"downloadMethod": "git",
"dependencies": [],
"checksums": {
"sha1": "f76c87707cd4e96355b8bb6ef27e7f8b0aac1e08"
} }
}, },
"zlib": { "zlib": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "74cdeb54b21bededb5a515d36f608bc1850555a2", "vcsRevision": "6a6670afba6b97b29b920340e2641978c05ab4d8",
"url": "https://github.com/status-im/nim-zlib", "url": "https://github.com/status-im/nim-zlib",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"stew" "stew"
], ],
"checksums": { "checksums": {
"sha1": "01d330dc4c1924e56b1559ee73bc760e526f635c" "sha1": "2621e46369be2a6846713e8c3d681a5bba3e0325"
} }
}, },
"websock": { "websock": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "73edde4417f7b45003113b7a34212c3ccd95b9fd", "vcsRevision": "691f069b209d372b1240d5ae1f57fb7bbafeaba7",
"url": "https://github.com/status-im/nim-websock", "url": "https://github.com/status-im/nim-websock",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
@ -181,36 +173,35 @@
"httputils", "httputils",
"chronicles", "chronicles",
"stew", "stew",
"asynctest",
"nimcrypto", "nimcrypto",
"bearssl", "bearssl",
"zlib" "zlib"
], ],
"checksums": { "checksums": {
"sha1": "ec2b137543f280298ca48de9ed4461a033ba88d3" "sha1": "c71edfce064e7c0cadde0e687c6edc0caaf9ec07"
} }
}, },
"dnsclient": { "dnsclient": {
"version": "0.1.2", "version": "0.3.2",
"vcsRevision": "fbb76f8af8a33ab818184a7d4406d9fee20993be", "vcsRevision": "fcd7443634b950eaea574e5eaa00a628ae029823",
"url": "https://github.com/ba0f3/dnsclient.nim.git", "url": "https://github.com/ba0f3/dnsclient.nim",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [], "dependencies": [],
"checksums": { "checksums": {
"sha1": "663239a914c814204b30dda6e0902cc0fbd0b8ee" "sha1": "146aa4a8d512a3a786c5bf54311b79900166d9d7"
} }
}, },
"secp256k1": { "secp256k1": {
"version": "0.5.2", "version": "0.5.2",
"vcsRevision": "5340cf188168d6afcafc8023770d880f067c0b2f", "vcsRevision": "fd173fdff863ce2e211cf64c9a03bc7539fe40b0",
"url": "https://github.com/status-im/nim-secp256k1.git", "url": "https://github.com/status-im/nim-secp256k1",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [ "dependencies": [
"stew", "stew",
"nimcrypto" "nimcrypto"
], ],
"checksums": { "checksums": {
"sha1": "ae9cbea4487be94a06653ffee075a7f1bd1e231e" "sha1": "657c79f6f2b1b6da92a9cda81ffc9f95d26443cb"
} }
} }
} }

View File

@ -13,8 +13,15 @@ createDir("nimbledeps")
discard execCmd("nimble install -dy") discard execCmd("nimble install -dy")
var allDeps: Table[string, string] var allDeps: Table[string, string]
for (_, dependency) in walkDir("nimbledeps/pkgs"): let nimblePkgs =
let fileContent = parseJson(readFile(dependency & "/nimblemeta.json")) if dirExists("nimbledeps/pkgs"): "nimbledeps/pkgs"
else: "nimbledeps/pkgs2"
for (_, dependency) in walkDir(nimblePkgs):
let
jsonContent = parseJson(readFile(dependency & "/nimblemeta.json"))
fileContent =
if "metaData" in jsonContent: jsonContent["metaData"]
else: jsonContent
let url = fileContent.getOrDefault("url").getStr("") let url = fileContent.getOrDefault("url").getStr("")
var version = fileContent.getOrDefault("vcsRevision").getStr("") var version = fileContent.getOrDefault("vcsRevision").getStr("")
var packageName = dependency.split('/')[^1].split('-')[0] var packageName = dependency.split('/')[^1].split('-')[0]