ats-pkg 2.10.0.20 → 2.10.1.5
raw patch · 10 files changed
+20/−15 lines, 10 filesdep ~dhall
Dependency ranges changed: dhall
Files
- README.md +3/−3
- ats-pkg.cabal +6/−2
- src/Language/ATS/Package/Build.hs +2/−2
- src/Language/ATS/Package/Build/C.hs +4/−1
- src/Language/ATS/Package/Config.hs +1/−0
- src/Language/ATS/Package/Debian.hs +0/−1
- src/Language/ATS/Package/Generic.hs +1/−3
- src/Language/ATS/Package/PackageSet.hs +1/−1
- src/Language/ATS/Package/Type.hs +1/−1
- src/Quaalude.hs +1/−1
README.md view
@@ -6,7 +6,7 @@ This is a build system for ATS written in Haskell and configured with Dhall. It is not fully working, but the configuration format is now stable. -`atspkg` works quite well as a build system, and less well as a package manager.+`atspkg` works quite well as a build system, and acceptably well as a package manager. ## Features & Non-Features @@ -22,14 +22,14 @@ * Install `patscc` and other ATS tooling * Install manual pages and shell completions * Install ATS libraries+ * Dependency resolution Things that `atspkg` will not do for you: - * Dependency resolution (this is planned) * Give you the full flexibility of the C/ATS ecosystem * Integrate with other ecosystems * Provide a centralized package repository- * Cache builds locally (like `nix` or `cabal`)+ * Cache builds (like `nix` or `cabal new-build`) ### Example
ats-pkg.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: ats-pkg-version: 2.10.0.20+version: 2.10.1.5 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -76,6 +76,10 @@ System.Process.Ext Quaalude default-language: Haskell2010+ other-extensions: OverloadedStrings GADTs+ GeneralizedNewtypeDeriving DeriveAnyClass DeriveGeneric+ TemplateHaskell RecordWildCards TupleSections StandaloneDeriving+ DerivingStrategies ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates build-depends:@@ -98,7 +102,7 @@ parallel-io -any, unix -any, mtl -any,- dhall >=1.11.0 && <=1.13.0,+ dhall >=1.13.0, ansi-wl-pprint -any, shake-ats >=1.8.0.0, shake-ext >=2.6.0.0,
src/Language/ATS/Package/Build.hs view
@@ -255,7 +255,7 @@ -> Maybe String -- ^ Optional compiler triple (overrides 'ccompiler') -> Pkg -- ^ Package data type -> Rules ()-pkgToAction setup rs tgt ~(Pkg bs ts lbs mt _ v v' ds cds bdeps ccLocal cf as dl slv deb al) =+pkgToAction setup rs tgt ~(Pkg bs ts lbs mt _ v v' ds cds bdeps ccLocal cf af as dl slv deb al) = unless (rs == ["clean"]) $ do @@ -293,7 +293,7 @@ k False = SharedLibrary k True = StaticLibrary - atsToolConfig ph = ATSToolConfig ph (patsHomeLocsAtsPkg 5) False (ccFromString cc') (not dl) slv al+ atsToolConfig ph = ATSToolConfig ph (patsHomeLocsAtsPkg 5) False (ccFromString cc') (not dl) slv al (unpack <$> af) cDepsRules ph = unless (null as) $ do let targets = fmap (unpack . cTarget) as
src/Language/ATS/Package/Build/C.hs view
@@ -43,10 +43,13 @@ cmakeLists <- findFile (p:subdirs) "CMakeLists.txt" fold (setFileMode <$> configurePath <*> pure ownerModes) makeExecutable "install-sh" (p:subdirs)+ makeExecutable "mkinstalldirs" (p:subdirs)+ makeExecutable "rellns-sh" (p:subdirs) + -- CC="gcc" CFLAGS="-shared-libgcc -O2" ./glibc-2.27/configure --prefix="$HOME/.atspkg" -- Set environment variables for configure script h <- cpkgHome cc'- let procEnv = Just [("CC", ccForConfig cc'), ("CFLAGS" :: String, "-I" <> h <> "include"), ("PATH", "/usr/bin:/bin")]+ let procEnv = Just [("CC", ccForConfig cc'), ("CFLAGS" :: String, "-I" <> h <> "include -Wno-error -O2"), ("PATH", "/usr/bin:/bin")] biaxe [fold (configure v h <$> configurePath <*> pure procEnv), cmake v h cmakeLists, make v, install v] lib' p
src/Language/ATS/Package/Config.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} module Language.ATS.Package.Config ( UserConfig (..)
src/Language/ATS/Package/Debian.hs view
@@ -2,7 +2,6 @@ {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-}-{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StandaloneDeriving #-}
src/Language/ATS/Package/Generic.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} @@ -40,8 +39,7 @@ -- in particular, the directory for installation and the directories for -- dependencies. newtype Package a b = Package { unPack :: ReaderT (InstallDirs a) IO b }- deriving (Functor)- deriving newtype (Applicative, Monad)+ deriving (Functor, Applicative, Monad) -- | Any type implementing 'GenericPackage' can be depended on by other -- packages.
src/Language/ATS/Package/PackageSet.hs view
@@ -31,7 +31,7 @@ g Nothing = id instance Pretty ATSPackageSet where- pretty (ATSPackageSet ds) = mconcat (punctuate hardline (pretty <$> ds))+ pretty (ATSPackageSet ds) = fold (punctuate hardline (pretty <$> ds)) displayList :: String -> IO () displayList = putDoc . pretty <=< listDeps True
src/Language/ATS/Package/Type.hs view
@@ -6,7 +6,6 @@ {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} @@ -117,6 +116,7 @@ , buildDeps :: [LibDep] -- ^ List of ATS library dependencies , ccompiler :: Text -- ^ The C compiler we should use , cflags :: [Text] -- ^ List of flags to pass to the C compiler+ , atsFlags :: [Text] -- ^ List of flags to pass to @patsopt@. , atsSource :: [Src] -- ^ ATS source to be compile to C. , dynLink :: Bool -- ^ Don't link statically, instead, use libraries installed by @atspkg@. , extSolve :: Solver -- ^ Solver to use.
src/Quaalude.hs view
@@ -124,7 +124,7 @@ import Data.Binary import Data.Bool (bool) import Data.ByteString.Lazy (ByteString)-import Data.Foldable+import Data.Foldable (fold) import Data.List import Data.Maybe (fromMaybe) import Data.Semigroup