Links to sections here. Is this possible in Markdown?
This is a design document for version 2 of Aura. Note that specifications are written in present tense, as in, "Aura does this" even if at the time of writing those features aren't implemented yet. This is to ensure that the document can act as a reference for Aura's behaviour post-release.
- Installs prebuilt binaries available from Arch servers by default.
If the user specifies
--build, the package will be built manually via the ABS. If the user specifies--customizepkgand there is an executable file with the same name as the package in/etc/customizepkg.d/, the pacakage will be built manually via ABS.
- Builds manually by default, as there is no prebuilt alternative for the AUR.
- Information for all immediate dependencies for any given package can be output
in human-readable format by default with
-{A,M}d. - Adding
--recursivewill yield all dependencies and their dependencies as well. - Adding
--jsonwill output this information in JSON for use by other softare that may sit on top of Aura.
- If the user specifies
--customizepkgand there is a file with the same name as the package in/etc/customizepkg.d, thencustomizepkg -mis run in the directory downloaded from the ABS/AUR. - If the user specifies
--editwhen building, they will be prompted to edit each of the files present after download in the editor specifid by their local user's (non-sudo) $EDITOR variable. - If the user specifies
--namcapand either of the above steps took place,namcapis run on the modified PKGBUILD. - All of the above take place before dependency resolution, to give the user the chance to edit dependencies.
- All Strings are represented as
TextfromData.Text. This is available in thetextpackage from Hackage.
{-# LANGUAGE OverloadedStrings #-}should be used where appropriate for String literals being converted to Text automatically.
- All JSON input and output is handled through
aesonandaeson-pretty.
Information on other Hackage libraries used in Aura can be found here.
Aura must be available in the following forms:
haskell-auraAn AUR package pulled from Hackage, with all special install instructions contained inSetup.hs.auraWhat wasaura-binin Aura 1. A pre-built binary for those with no interest in Haskell. The oldaura-binpackage will be noted as depreciated, left as Aura 1, and removed from the AUR two months after the release of Aura 2.aura-gitthe same as is currently available. Should man page install instructions, etc., be inSetup.hsthe same ashaskell-aura?