packages feed

ats-pkg 3.2.1.8 → 3.2.2.0

raw patch · 7 files changed

+44/−18 lines, 7 filesdep ~shakePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: shake

API changes (from Hackage documentation)

+ Language.ATS.Package: [headers] :: Debian -> [Text]
- Language.ATS.Package: Debian :: Text -> Version -> Text -> Text -> Text -> Maybe Text -> [Text] -> [Text] -> Debian
+ Language.ATS.Package: Debian :: Text -> Version -> Text -> Text -> Text -> Maybe Text -> [Text] -> [Text] -> [Text] -> Debian

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # ats-pkg +## 3.3.2.0++  * Update `Debian` type and adjust prelude accordingly+  * Allow Debian packages built to include header files and libraries.+  * Bug fixes related to Debian packaging.+ ## 3.2.1.8    * Update Dhall prelude
README.md view
@@ -1,6 +1,7 @@ # ATSPackage  [![Build Status](https://travis-ci.org/vmchale/atspkg.svg?branch=master)](https://travis-ci.org/vmchale/atspkg)+[![Windows build status](https://ci.appveyor.com/api/projects/status/github/vmchale/atspkg?svg=true)](https://ci.appveyor.com/project/vmchale/atspkg) [![Hackage](https://img.shields.io/hackage/v/ats-pkg.svg)](http://hackage.haskell.org/package/ats-pkg) [![Dependencies of latest version on Hackage](https://img.shields.io/hackage-deps/v/ats-pkg.svg)](https://hackage.haskell.org/package/ats-pkg) @@ -50,7 +51,7 @@ The easiest way to install is via a script, viz.  ```bash-curl -sSl https://raw.githubusercontent.com/vmchale/atspkg/master/bash/install.sh | bash -s+curl -sSl https://raw.githubusercontent.com/vmchale/atspkg/master/bash/install.sh | sh -s ```  Thereafter, you can run
app/Main.hs view
@@ -50,6 +50,7 @@                     }              | Fetch { _url       :: String                      , _atspkgArg :: Maybe String+                     , _verbosity :: Int                      }              | Nuke              | Upgrade@@ -210,14 +211,15 @@     (metavar "URL"     <> help "URL pointing to a tarball containing the package to be installed.")     <*> pkgArgs+    <*> verbosity -fetchPkg :: Maybe String -> String -> IO ()-fetchPkg mStr pkg = withSystemTempDirectory "atspkg" $ \p -> do+fetchPkg :: Maybe String -> String -> Int -> IO ()+fetchPkg mStr pkg v = withSystemTempDirectory "atspkg" $ \p -> do     let (dirName, url') = (p, pkg) & each %~ TL.pack     buildHelper True (ATSDependency mempty dirName url' undefined undefined mempty mempty mempty mempty)     ps <- getSubdirs p     pkgDir <- fromMaybe p <$> findFile (p:ps) "atspkg.dhall"-    let setup = [buildAll 0 mStr Nothing (Just pkgDir)]+    let setup = [buildAll v mStr Nothing (Just pkgDir)]     withCurrentDirectory (takeDirectory pkgDir) (mkPkg mStr False False False setup ["install"] Nothing 0)     stopGlobalPool @@ -236,7 +238,7 @@ run (CheckSet p b)                     = void $ checkPkgSet p b run Upgrade                            = upgradeBin "vmchale" "atspkg" run Nuke                               = cleanAll-run (Fetch u mArg)                     = fetchPkg mArg u+run (Fetch u mArg v)                   = fetchPkg mArg u v run Clean                              = mkPkg Nothing False True False mempty ["clean"] Nothing 0 run (Build rs mArg tgt rba v lint tim) = runHelper rba lint tim rs mArg tgt v run (Test ts mArg rba v lint tim)      = runHelper rba lint tim ("test" : ts) mArg Nothing v
ats-pkg.cabal view
@@ -1,12 +1,12 @@ cabal-version: 2.0 name: ats-pkg-version: 3.2.1.8+version: 3.2.2.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale maintainer: vamchale@gmail.com author: Vanessa McHale-tested-with: ghc ==8.4.3+tested-with: ghc ==8.4.3 ghc ==8.2.2 bug-reports: https://github.com/vmchale/atspkg/issues synopsis: A build tool for ATS description:@@ -169,7 +169,7 @@         ghc-options: -eventlog -with-rtsopts=-l          if flag(profile)-        ghc-options: -with-rtsopts=-h+        ghc-options: -with-rtsopts=-h -with-rtsopts=-p          if flag(development)         ghc-options: -Werror
dhall/atspkg-prelude.dhall view
@@ -68,6 +68,7 @@   , manpage : Optional Text   , binaries : List Text   , libraries : List Text+  , headers : List Text   } in @@ -229,6 +230,8 @@   , binaries = []     : List Text   , libraries = []+    : List Text+  , headers = []     : List Text   } in
src/Language/ATS/Package/Build.hs view
@@ -318,7 +318,7 @@         -- TODO depend on tgt somehow?         specialDeps %> \out -> do             cfgBin' <- cfgBin-            need [ cfgBin', flags, cfgFile]+            need [ cfgBin', flags, cfgFile ]             v'' <- getVerbosity             liftIO $ fetchDeps v'' (ccFromString cc') mStr setup (first unpack <$> ds) (first unpack <$> cdps) (first unpack <$> bdeps) cfgBin' atslibSetup False *> writeFile out "" 
src/Language/ATS/Package/Debian.hs view
@@ -25,6 +25,7 @@                      , manpage     :: Maybe Text                      , binaries    :: [Text]                      , libraries   :: [Text]+                     , headers     :: [Text]                      }                      deriving (Generic, Binary, Interpret) @@ -45,17 +46,27 @@ debRules deb =     unpack (target deb) %> \out -> do -        need (unpack <$> binaries deb)+        let binaries' = unpack <$> binaries deb+            libraries' = unpack <$> libraries deb+            headers' = unpack <$> headers deb +        traverse_ need [ binaries'+                       , libraries'+                       , headers'+                       ]+         let packDir = unpack (package deb)-            makeRel = (("target/" ++ packDir ++ "/") ++)-            debianDir = makeRel "/DEBIAN"-            binDir = makeRel "/usr/local/bin"-            libDir = makeRel "/usr/local/lib"-            manDir = makeRel "/usr/local/share/man/man1"+            makeRel = (("target" </> packDir) </>)+            debianDir = makeRel "DEBIAN"+            binDir = makeRel "usr/local/bin"+            libDir = makeRel "usr/local/lib"+            manDir = makeRel "usr/local/share/man/man1"+            includeDir = makeRel "usr/local/include" +        liftIO $ print debianDir+         traverse_ (liftIO . createDirectoryIfMissing True)-            [ binDir, debianDir, manDir ]+            [ binDir, debianDir, manDir, includeDir ]          fold $ do             mp <- manpage deb@@ -63,8 +74,11 @@                 need [unpack mp] *>                 copyFile' (unpack mp) (manDir ++ "/" ++ takeFileName (unpack mp)) -        zipWithM_ copyFile' (unpack <$> binaries deb) (((binDir ++ "/") ++) . unpack <$> binaries deb)-        zipWithM_ copyFile' (unpack <$> libraries deb) (((libDir ++ "/") ++) . unpack <$> libraries deb)+        let moveFiles files dir = zipWithM_ copyFile' files ((dir </>) . takeFileName <$> files)++        moveFiles binaries' binDir+        moveFiles libraries' libDir+        moveFiles headers' includeDir          writeFileChanged (debianDir ++ "/control") (control deb)