From 75b2f60bf15a9d49859b262a47da30ec70614a5e Mon Sep 17 00:00:00 2001 From: kitsunyan Date: Sat, 17 Mar 2018 23:55:48 +0300 Subject: Check conflicting targets before building --- src/package.nim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/package.nim') diff --git a/src/package.nim b/src/package.nim index 483c058..5683d5f 100644 --- a/src/package.nim +++ b/src/package.nim @@ -162,6 +162,24 @@ proc isProvidedBy*(package: PackageReference, by: PackageReference): bool = else: false +proc toPackageReference*(dependency: ptr AlpmDependency): PackageReference = + let op = case dependency.depmod: + of AlpmDepMod.eq: some(ConstraintOperation.eq) + of AlpmDepMod.ge: some(ConstraintOperation.ge) + of AlpmDepMod.le: some(ConstraintOperation.le) + of AlpmDepMod.gt: some(ConstraintOperation.gt) + of AlpmDepMod.lt: some(ConstraintOperation.lt) + else: none(ConstraintOperation) + + let description = if dependency.desc != nil: some($dependency.desc) else: none(string) + ($dependency.name, description, op.map(o => (o, $dependency.version))) + +template toPackageReference*(pkg: ptr AlpmPackage): PackageReference = + ($pkg.name, none(string), some((ConstraintOperation.eq, $pkg.version))) + +template toPackageReference*(pkg: PackageInfo): PackageReference = + (pkg.name, none(string), some((ConstraintOperation.eq, pkg.version))) + proc parseSrcInfoKeys(srcInfo: string): tuple[baseSeq: ref seq[SrcInfoPair], table: OrderedTable[string, ref seq[SrcInfoPair]]] = var table = initOrderedTable[string, ref seq[SrcInfoPair]]() -- cgit v1.2.3-70-g09d2