Skip to content

Commit 15b8fc3

Browse files
authored
Fixes #1348 sat solver: nimble reinstalls dependencies from git repositories each rebuild (#1356)
* Fixes #1348 sat solver: nimble reinstalls dependencies from git repositories each rebuild * Removes log * removes log
1 parent 48ce3e1 commit 15b8fc3

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/nimblepkg/nimblesat.nim

+8-5
Original file line numberDiff line numberDiff line change
@@ -705,8 +705,9 @@ proc solveLocalPackages*(rootPkgInfo: PackageInfo, pkgList: seq[PackageInfo], so
705705
if solvedPkg.pkgName.isNim and systemNimCompatible:
706706
continue #Dont add nim from the solution as we will use system nim
707707
for pkgInfo in pkgList:
708-
if pkgInfo.basicInfo.name == solvedPkg.pkgName and pkgInfo.basicInfo.version == solvedPkg.version:
709-
result.incl pkgInfo
708+
if (pkgInfo.basicInfo.name == solvedPkg.pkgName or pkgInfo.metadata.url == solvedPkg.pkgName) and
709+
(pkgInfo.basicInfo.version == solvedPkg.version or solvedPkg.version in pkgInfo.metadata.specialVersions):
710+
result.incl pkgInfo
710711

711712
proc solvePackages*(rootPkg: PackageInfo, pkgList: seq[PackageInfo], pkgsToInstall: var seq[(string, Version)], options: Options, output: var string, solvedPkgs: var seq[SolvedPackage]): HashSet[PackageInfo] =
712713
var root: PackageMinimalInfo = rootPkg.getMinimalInfo(options)
@@ -721,10 +722,12 @@ proc solvePackages*(rootPkg: PackageInfo, pkgList: seq[PackageInfo], pkgsToInsta
721722
if solvedPkg.pkgName == root.name: continue
722723
var foundInList = false
723724
for pkgInfo in pkgList:
724-
if pkgInfo.basicInfo.name == solvedPkg.pkgName and pkgInfo.basicInfo.version == solvedPkg.version:
725-
result.incl pkgInfo
726-
foundInList = true
725+
if (pkgInfo.basicInfo.name == solvedPkg.pkgName or pkgInfo.metadata.url == solvedPkg.pkgName) and
726+
(pkgInfo.basicInfo.version == solvedPkg.version or solvedPkg.version in pkgInfo.metadata.specialVersions):
727+
result.incl pkgInfo
728+
foundInList = true
727729
if not foundInList:
730+
# displayInfo(&"Coudlnt find {solvedPkg.pkgName}", priority = HighPriority)
728731
if solvedPkg.pkgName.isNim and systemNimCompatible:
729732
continue #Skips systemNim
730733
pkgsToInstall.addUnique((solvedPkg.pkgName, solvedPkg.version))

0 commit comments

Comments
 (0)