portager-0.1.1.0: DSL for configuring Gentoo portage

Copyright(C) 2017 Jiri Marsicek
LicenseBSD-style (see the file LICENSE)
MaintainerJiri Marsicek <jiri.marsicek@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Portager.Flatten

Description

This module provides functionality for converting Packages to FlatPackages.

Synopsis

Documentation

mergeLists :: Ord a => [a] -> [a] -> [a] Source #

Merges two lists together, if both lists are sorted in ascending order, the result will be also sorted in ascending order.

merge :: (Ord a, Semigroup a, Eq b) => (a -> b) -> Set a -> Set a -> Set a Source #

Merges two sets together, performing sconcat on elements that are determined to be equal by result of a function given in argument.

mergePackages :: Set FlatPackage -> Set FlatPackage -> Set FlatPackage Source #

Performs merge of two sets of FlatPackages where equality is determined by Atom. See merge.

flattenPackage :: Set Use -> Package -> FlatPackage Source #

Converts a Package to a FlatPackage with globals Use flags applied. Package Use flags take precedence before globals Use flags.

flatten :: Set Use -> Package -> Set FlatPackage Source #

Converts a Package to a list of FlatPackages with set Use flags applied.

flattenPackages :: Set Use -> [Package] -> Set FlatPackage Source #

Convert a list of Packages to a list of FlatPackages with set Use flags applied. See flatten for details on how a single Package is converted to a list of FlatPackages.

flattenSet :: PackageSet -> Set FlatPackage Source #

Converts a PackageSet to a list of FlatPackages. See flattenPackages for details on how list of Packages is converted to a list of FlatPackages.