From f46179268655a3177fec7d1b60b2c701c859ce7e Mon Sep 17 00:00:00 2001 From: Ivan Bobev Date: Sat, 27 Jul 2019 22:01:16 +0300 Subject: [PATCH] Fix multiple installs of the same package When one package is dependency both of some other package and some other dependency of the other package it has been downloaded and installed multiple times. Resolves #678 --- src/nimble.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/nimble.nim b/src/nimble.nim index f62795b..999595e 100644 --- a/src/nimble.nim +++ b/src/nimble.nim @@ -156,7 +156,8 @@ proc processDeps(pkginfo: PackageInfo, options: Options): seq[PackageInfo] = "dependencies for $1@$2" % [pkginfo.name, pkginfo.specialVersion], priority = HighPriority) - var pkgList = getInstalledPkgsMin(options.getPkgsDir(), options) + var pkgList {.global.}: seq[tuple[pkginfo: PackageInfo, meta: MetaData]] = @[] + once: pkgList = getInstalledPkgsMin(options.getPkgsDir(), options) var reverseDeps: seq[tuple[name, version: string]] = @[] for dep in pkginfo.requires: if dep.name == "nimrod" or dep.name == "nim":