packages feed

cpkg 0.2.3.2 → 0.2.3.3

raw patch · 6 files changed

+139/−19 lines, 6 filesdep ~dhall

Dependency ranges changed: dhall

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # cpkg +## 0.2.3.3++  * Add `find` subcommand+ ## 0.2.3.2        * Add `.lz` support
app/Main.hs view
@@ -12,6 +12,9 @@ cpkgVersion :: V.Version cpkgVersion = P.version +-- dhallStandardVersion+-- dhallVersion+ data DumpTarget = Linker { _pkgGet :: String }                 | Compiler { _pkgGet :: String }                 | PkgConfig { _pkgGets :: [String] }@@ -26,6 +29,7 @@              | Dump { _dumpTarget :: DumpTarget, _host :: Maybe Platform }              | DumpCabal { _pkgGetsCabal :: [String], _host :: Maybe Platform }              | List { _packageSet :: Maybe String }+             | Find { _findPkg :: String }              | Nuke              | NukeCache              | GarbageCollect { _verbosity :: Verbosity }@@ -72,6 +76,7 @@     <> command "dump" (info dump (progDesc "Display flags to link against a particular library"))     <> command "dump-cabal" (info dumpCabal (progDesc "Display flags to use with cabal new-build"))     <> command "list" (info list (progDesc "List all available packages"))+    <> command "find" (info find (progDesc "Find a package and list information"))     <> command "nuke" (info (pure Nuke) (progDesc "Remove all globally installed libraries"))     <> command "nuke-cache" (info (pure NukeCache) (progDesc "Remove cached soure tarballs"))     <> command "garbage-collect" (info garbageCollect' (progDesc "Garbage collect redundant packages"))@@ -80,6 +85,13 @@ list :: Parser Command list = List <$> packageSet +find :: Parser Command+find = Find+    <$> argument str+        (metavar "PACKAGE"+        <> help "Name of package"+        )+ ftypeCompletions :: String -> Mod ArgumentFields a ftypeCompletions ext = completer . bashCompleter $ "file -X '!*." ++ ext ++ "' -o plusdirs" @@ -189,6 +201,7 @@         removeDirectoryRecursive pkgDir run NukeCache = cleanCache run (List pkSet) = displayPackageSet pkSet+run (Find pk) = displayPackage pk run (GarbageCollect v) = runPkgM v garbageCollect  main :: IO ()
cpkg.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.18 name:               cpkg-version:            0.2.3.2+version:            0.2.3.3 license:            BSD3 license-file:       LICENSE copyright:          Copyright: (c) 2018-2019 Vanessa McHale
pkgs/pkg-set.dhall view
@@ -1,4 +1,4 @@-{- Dhall prelue imports -}+ - Dhall prelue imports -} let concatMapSep = https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Text/concatMapSep in @@ -1041,12 +1041,19 @@     in      prelude.simplePackage { name = "imagemagick", version = v } ⫽-      { pkgUrl = "https://imagemagick.org/download/ImageMagick-${versionString}-21.tar.xz"-      , pkgSubdir = "ImageMagick-${versionString}-21"+      { pkgUrl = "https://imagemagick.org/download/ImageMagick-${versionString}-64.tar.xz"+      , pkgSubdir = "ImageMagick-${versionString}-64"+      , pkgDeps = [ prelude.unbounded "zlib"+                  , prelude.unbounded "libtool"+                  , prelude.unbounded "bzip2"+                  , prelude.unbounded "glib"+                  ]       , installCommand =           λ(cfg : types.BuildVars) →             prelude.defaultInstall cfg-              # [ prelude.symlink "include/ImageMagick-${major}/MagickWand" "include/wand" ]+              # [ prelude.symlink "include/ImageMagick-${major}/MagickWand" "include/wand"+                , prelude.symlinkBinary "bin/convert"+                ]       } in @@ -1375,7 +1382,9 @@               else [] : List Text           in           prelude.configureWithFlags ([ "--disable-makeinstall-chown", "--disable-bash-completion"] # crossFlags) cfg-      , pkgDeps = [ prelude.unbounded "ncurses" ]+      , pkgDeps = [ prelude.unbounded "ncurses"+                  , prelude.unbounded "pcre2"+                  ]       } in @@ -2238,7 +2247,7 @@ let gsl =   λ(v : List Natural) →     prelude.simplePackage { name = "gsl", version = v } ⫽-      { pkgUrl = "http://gnu.mirror.constant.com/gsl/gsl-${prelude.showVersion v}.tar.gz" }+      { pkgUrl = "http://mirror.keystealth.org/gnu/gsl/gsl-${prelude.showVersion v}.tar.gz" } in  let postgresql =@@ -3138,7 +3147,7 @@ let slowBuild =   λ(cfg : types.BuildVars) →     [ prelude.call { program = "cmake"-                    , arguments = [ "--build", ".", "--config", "Release", "--", "-j", "3" ]+                    , arguments = [ "--build", ".", "--config", "Release", "--", "-j", "2" ]                     , environment = prelude.defaultEnv                     , procDir = Some "build"                     }@@ -3149,7 +3158,7 @@   λ(v : List Natural) →     let versionString = prelude.showVersion v in     prelude.simplePackage { name = "clang", version = v } ⫽ prelude.cmakePackage ⫽-      { pkgUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${versionString}/cfe-${versionString}.src.tar.xz"+      { pkgUrl = "http://releases.llvm.org/${versionString}/cfe-${versionString}.src.tar.xz"       , pkgSubdir = "cfe-${versionString}.src"       , pkgStream = False       , buildCommand = slowBuild@@ -3168,7 +3177,7 @@   λ(v : List Natural) →     let versionString = prelude.showVersion v in     prelude.simplePackage { name = "llvm", version = v } ⫽ prelude.cmakePackage ⫽-      { pkgUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${versionString}/llvm-${versionString}.src.tar.xz"+      { pkgUrl = "http://releases.llvm.org/${versionString}/llvm-${versionString}.src.tar.xz"       , pkgSubdir = "llvm-${versionString}.src"       , pkgStream = False       , buildCommand = slowBuild@@ -3366,9 +3375,30 @@       { pkgUrl = "https://ffmpeg.org/releases/ffmpeg-${prelude.showVersion v}.tar.bz2"       , pkgBuildDeps = [ prelude.unbounded "nasm" ]       -- TODO: cross-compile-      , configureCommand = prelude.configureWithFlags [ "--enable-shared" ]-      , installCommand = prelude.installWithBinaries [ "bin/ffmpeg" ]-      , pkgDeps = [ prelude.unbounded "bzip2" ]+      , configureCommand = prelude.configureWithFlags [ "--enable-shared"+                                                      , "--enable-libmp3lame"+                                                      , "--enable-gpl"+                                                      , "--enable-version3"+                                                      , "--enable-nonfree"+                                                      , "--disable-debug"+                                                      , "--enable-libass"+                                                      , "--enable-libfreetype"+                                                      , "--enable-libvorbis"+                                                      , "--enable-avresample"+                                                      , "--enable-gnutls"+                                                      , "--enable-libvpx"+                                                      , "--enable-libfdk-aac"+                                                      ]+      , installCommand = prelude.installWithWrappers [ "ffmpeg" ]+      , pkgDeps = [ prelude.unbounded "bzip2"+                  , prelude.unbounded "libmp3lame"+                  , prelude.unbounded "libass"+                  , prelude.unbounded "freetype"+                  , prelude.unbounded "libvorbis"+                  , prelude.unbounded "gnutls"+                  , prelude.unbounded "libvpx"+                  , prelude.unbounded "fdk-aac"+                  ]       , pkgStream = False       } in@@ -3802,6 +3832,8 @@ -- http://www.linuxfromscratch.org/blfs/view/svn/general/unzip.html -- https://github.com/jsoftware/jsource/archive/j807-release.tar.gz -- https://codeload.github.com/boyerjohn/rapidstring/zip/master+-- https://github.com/facebook/zstd/releases/download/v1.4.3/zstd-1.4.3.tar.gz+-- http://caca.zoy.org/attachment/wiki/toilet/toilet-0.3.tar.gz  let cmark =   λ(v : List Natural) →@@ -3834,6 +3866,61 @@         } in +let libmp3lame =+  λ(v : List Natural) →+    let versionString = prelude.showVersion v in+    prelude.simplePackage { name = "libmp3lame", version = v } ⫽+        { pkgUrl = "https://downloads.sourceforge.net/lame/lame-${versionString}.tar.gz"+        , pkgSubdir = "lame-${versionString}"+        }+in++let libass =+  λ(v : List Natural) →+    let versionString = prelude.showVersion v in+    prelude.simplePackage { name = "libass", version = v } ⫽+        { pkgUrl = "https://github.com/libass/libass/releases/download/${versionString}/libass-${versionString}.tar.xz"+        , pkgBuildDeps = [ prelude.unbounded "nasm" ]+        , pkgDeps = [ prelude.lowerBound { name = "freetype", lower = [9,10,3] }+                    , prelude.lowerBound { name = "fribidi", lower = [0,19,0] }+                    , prelude.lowerBound { name = "harfbuzz", lower = [0,9,5] }+                    , prelude.lowerBound { name = "fontconfig", lower = [2,10,92] }+                    ]+        }+in++let libogg =+  λ(v : List Natural) →+    prelude.simplePackage { name = "libogg", version = v } ⫽+        { pkgUrl = "https://downloads.xiph.org/releases/ogg/libogg-${prelude.showVersion v}.tar.xz" }+in++let libvorbis =+  λ(v : List Natural) →+    prelude.simplePackage { name = "libvorbis", version = v } ⫽+        { pkgUrl = "https://downloads.xiph.org/releases/vorbis/libvorbis-${prelude.showVersion v}.tar.xz"+        , pkgDeps = [ prelude.unbounded "libogg" ]+        }+in++let libvpx =+  λ(v : List Natural) →+    let versionString = prelude.showVersion v in+    prelude.simplePackage { name = "libvpx", version = v } ⫽+        { pkgUrl = "https://github.com/webmproject/libvpx/archive/v${versionString}/libvpx-${versionString}.tar.gz"+        , pkgBuildDeps = [ prelude.unbounded "nasm"+                         , prelude.unbounded "perl"+                         ]+        , pkgStream = False+        }+in++let fdk-aac =+  λ(v : List Natural) →+    prelude.simplePackage { name = "fdk-aac", version = v } ⫽+        { pkgUrl = "https://downloads.sourceforge.net/opencore-amr/fdk-aac-${prelude.showVersion v}.tar.gz" }+in+ [ alsa-lib [1,1,9] , at-spi-atk { version = [2,33], patch = 2 } , at-spi-core { version = [2,33], patch = 2 }@@ -3851,7 +3938,7 @@ , cairo [1,16,0] , chickenScheme [5,0,0] , cimg [2,7,0]-, clang [8,0,1]+, clang [9,0,0] , cmake { version = [3,15], patch = 2 } , cmark [0,29,0] , compositeproto [0,4]@@ -3867,8 +3954,9 @@ , emacs [26,3] , exiv2 [0,27,1] , expat [2,2,7]+, fdk-aac [2,0,0] , feh [3,2,1]-, ffmpeg [4,2]+, ffmpeg [4,2,1] , fftw [3,3,8] , findutils [4,6,0] , fixesproto [5,0]@@ -3905,7 +3993,7 @@ , gnutls { version = [3,6], patch = 9 } , graphviz [2,40,1] , grep [3,3]-, gsl [2,5]+, gsl [2,6] , gtk2 { version = [2,24], patch = 32 } , gtk3 { version = [3,24], patch = 10 } , gzip [1,9]@@ -3928,6 +4016,7 @@ , lcms2 [2,9] , leptonica [1,78,0] , libarchive [3,4,0]+, libass [0,14,0] , libassuan [2,5,3] , libatomic_ops [7,6,10] , libav [12,3]@@ -3949,8 +4038,10 @@ , libjpeg [9] , libjpeg-turbo [2,0,3] , libksba [1,3,5]+, libmp3lame [3,100] , libmypaint [1,3,0] , libnettle [3,5,1]+, libogg [1,3,4] , libopenjpeg [2,3,1] , libotf [0,9,16] , libpciaccess [0,14]@@ -3974,6 +4065,8 @@ , libwebp [1,0,3] , libSM [1,2,3] , libthai [0,1,28]+, libvorbis [1,3,6]+, libvpx [1,8,1] , libX11 [1,6,8] , libXau [1,0,9] , libXaw [1,0,13]@@ -3998,7 +4091,7 @@ , libXt [1,2,0] , libXtst [1,2,3] , libXxf86vm [1,1,4]-, llvm [8,0,1]+, llvm [9,0,0] , lmdb [0,9,23] , lua [5,3,5] , lz4 [1,9,1]@@ -4010,7 +4103,7 @@ , make [4,2,1] , mako [1,0,7] , markupSafe [1,0]-, memcached [1,5,12]+, memcached [1,5,18] , mercury , mesa [19,0,5] , meson [0,51,1]
src/Package/C.hs view
@@ -38,6 +38,7 @@                  , getPkgs                  -- * Packaging                  , displayPackageSet+                 , displayPackage                  , allPackages                  -- * Parsers                  , parseTriple
src/Package/C/PackageSet.hs view
@@ -5,11 +5,13 @@                             , PackId                             , pkgsM                             , displayPackageSet+                            , displayPackage                             ) where  import           CPkgPrelude import           Data.Containers.ListUtils import           Data.List                             (intersperse)+import           Data.List                             (find) import qualified Data.Map                              as M import qualified Data.Text                             as T import           Data.Text.Prettyprint.Doc@@ -28,7 +30,14 @@ displayPackageSet :: Maybe String -> IO () displayPackageSet = putDoc . pretty <=< defaultPackageSetDhall -newtype PackageSetDhall = PackageSetDhall [ Dhall.CPkg ]+displayPackage :: String -> IO ()+displayPackage str = do+    pk <- find (\ps -> T.unpack (Dhall.pkgName ps) == str) . listPackages <$> defaultPackageSetDhall Nothing+    case pk of+        Just p  -> putDoc (pretty p <> hardline)+        Nothing -> unfoundPackage++newtype PackageSetDhall = PackageSetDhall { listPackages :: [ Dhall.CPkg ] }     deriving Interpret  instance Pretty PackageSetDhall where