cpkg 0.2.4.6 → 0.2.5.0
raw patch · 8 files changed
+102/−41 lines, 8 filesdep ~libarchive
Dependency ranges changed: libarchive
Files
- CHANGELOG.md +4/−0
- app/Main.hs +2/−1
- cabal.project +8/−0
- cpkg.cabal +2/−2
- pkgs/pkg-set.dhall +76/−34
- src/Package/C.hs +2/−0
- src/Package/C/PackageSet.hs +6/−1
- src/Package/C/Unpack.hs +2/−3
CHANGELOG.md view
@@ -1,5 +1,9 @@ # cpkg +## 0.2.5.0++ * Add `package set:` info to `dhall --version`+ ## 0.2.4.2 * Support `aarch64`
app/Main.hs view
@@ -53,7 +53,8 @@ <> header "cpkg - a build tool for C") versionInfo :: Parser (a -> a)-versionInfo = infoOption ("cpkg version: " ++ V.showVersion cpkgVersion ++ "\n" ++ "dhall version: " ++ dhallVersionString) (short 'V' <> long "version" <> help "Show version")+versionInfo = infoOption vStr (short 'V' <> long "version" <> help "Show version")+ where vStr = "cpkg version: " ++ V.showVersion cpkgVersion ++ "\ndhall version: " ++ dhallVersionString ++ "\npackage set: " ++ T.unpack defaultPackageSetHash dumpTarget :: Parser DumpTarget dumpTarget = hsubparser
cabal.project view
@@ -3,3 +3,11 @@ , zlib +pkg-config max-backjumps: 40000++allow-newer:+ serialise:ghc-prim+ haskeline:base+ cborg-json:base+ cborg:ghc-prim+ dhall:template-haskell+ polyparse:base
cpkg.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: cpkg-version: 0.2.4.6+version: 0.2.5.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018-2020 Vanessa McHale@@ -97,7 +97,7 @@ filemanip -any, network-uri -any, megaparsec -any,- libarchive >=2.0.0.0,+ libarchive >=2.2.1.0, dir-traverse >=0.2.1.0, composition-prelude >=1.5.2.0, lzlib >=0.3.0.0,
pkgs/pkg-set.dhall view
@@ -5,12 +5,6 @@ let concat = https://raw.githubusercontent.com/dhall-lang/dhall-lang/dbcf50c27b1592a6acfd38cb3ba976e3a36b74fe/Prelude/Text/concat sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 -let concatMapText =- https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Text/concatMap sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f--let not =- https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Bool/not sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4- let types = ../dhall/cpkg-types.dhall sha256:caef717db41539eb7ded38d8cd676ba998bd387171ba3fd2db7fea9e8ee8f361 @@ -1115,12 +1109,13 @@ let libffi = λ(v : List Natural)- → prelude.simplePackage { name = "libffi", version = v }- ⫽ { pkgUrl =- "https://sourceware.org/ftp/libffi/libffi-${prelude.showVersion- v}.tar.gz"- }+ → let versionString = prelude.showVersion v + in prelude.simplePackage { name = "libffi", version = v }+ ⫽ { pkgUrl =+ "https://github.com/libffi/libffi/releases/download/v${versionString}/libffi-${versionString}.tar.gz"+ }+ let gdb = λ(v : List Natural) → prelude.makeGnuExe { name = "gdb", version = v }@@ -2690,6 +2685,8 @@ , prelude.unbounded "bzip2" , prelude.unbounded "zlib" ]+ , installCommand =+ prelude.installWithBinaries [ "bin/bsdtar", "bin/bsdcpio" ] } let pygobject =@@ -4056,14 +4053,18 @@ , configureCommand = prelude.doNothing , installCommand = λ(cfg : types.BuildVars)- → [ prelude.call- ( prelude.defaultCall- ⫽ { program = "make"- , arguments = [ "PREFIX=${cfg.installDir}", "install" ]- , environment = Some (prelude.buildEnv cfg)- }- )- ]+ → [ prelude.call+ ( prelude.defaultCall+ ⫽ { program = "make"+ , arguments =+ [ "PREFIX=${cfg.installDir}", "install" ]+ , environment = Some (prelude.buildEnv cfg)+ }+ )+ , prelude.symlinkBinary "bin/lz4"+ ]+ # prelude.symlinkManpages+ [ { file = "share/man/man1/lz4.1", section = 1 } ] } let fftw =@@ -4421,7 +4422,11 @@ ⫽ { pkgUrl = "http://download.savannah.gnu.org/releases/lzip/lzip-${prelude.showVersion v}.tar.lz"- , installCommand = prelude.installWithBinaries [ "bin/lzip" ]+ , installCommand =+ λ(cfg : types.BuildVars)+ → prelude.installWithBinaries [ "bin/lzip" ] cfg+ # prelude.symlinkManpages+ [ { file = "share/man/man1/lzip.1", section = 1 } ] } let clzip =@@ -4430,7 +4435,11 @@ ⫽ { pkgUrl = "http://download.savannah.gnu.org/releases/lzip/clzip/clzip-${prelude.showVersion v}.tar.lz"- , installCommand = prelude.installWithBinaries [ "bin/clzip" ]+ , installCommand =+ λ(cfg : types.BuildVars)+ → prelude.installWithBinaries [ "bin/clzip" ] cfg+ # prelude.symlinkManpages+ [ { file = "share/man/man1/clzip.1", section = 1 } ] } let lunzip =@@ -4439,7 +4448,11 @@ ⫽ { pkgUrl = "http://download.savannah.gnu.org/releases/lzip/lunzip/lunzip-${prelude.showVersion v}.tar.lz"- , installCommand = prelude.installWithBinaries [ "bin/lunzip" ]+ , installCommand =+ λ(cfg : types.BuildVars)+ → prelude.installWithBinaries [ "bin/lunzip" ] cfg+ # prelude.symlinkManpages+ [ { file = "share/man/man1/lunzip.1", section = 1 } ] } let lzlib =@@ -4661,6 +4674,8 @@ λ(cfg : types.BuildVars) → prelude.cmakeInstall cfg # [ prelude.symlinkBinary "bin/zstd" ]+ # prelude.symlinkManpages+ [ { file = "share/man/man1/zstd.1", section = 1 } ] } let luarocks =@@ -4701,6 +4716,32 @@ ] } +let smake =+ λ(v : List Natural)+ → prelude.simplePackage { name = "smake", version = v }+ ⫽ { pkgUrl =+ "https://downloads.sourceforge.net/s-make/smake-${prelude.showVersion+ v}.tar.bz2"+ , configureCommand = prelude.doNothing+ , installCommand =+ λ(cfg : types.BuildVars)+ → [ prelude.call+ ( prelude.defaultCall+ ⫽ { program = "make"+ , arguments =+ [ "DESTDIR=${cfg.installDir}", "install" ]+ , environment = Some (prelude.buildEnv cfg)+ }+ )+ , prelude.symlinkBinary "opt/schily/bin/smake"+ ]+ # prelude.symlinkManpages+ [ { file = "opt/schily/share/man/man1/smake.1"+ , section = 1+ }+ ]+ }+ in [ alsa-lib [ 1, 1, 9 ] , apr [ 1, 7, 0 ] , apr-util [ 1, 6, 1 ]@@ -4709,7 +4750,7 @@ , atk { version = [ 2, 33 ], patch = 3 } , ats [ 0, 4, 0 ] , autoconf [ 2, 69 ]- , automake [ 1, 16, 1 ]+ , automake [ 1, 16, 2 ] , babl { version = [ 0, 1 ], patch = 68 } , bash [ 5, 0, 16 ] , bash-completion [ 2, 9 ]@@ -4722,7 +4763,7 @@ , cimg [ 2, 7, 0 ] , clang [ 9, 0, 0 ] , clzip [ 1, 11 ]- , cmake { version = [ 3, 16 ], patch = 4 }+ , cmake { version = [ 3, 17 ], patch = 0 } , cmark [ 0, 29, 0 ] , compositeproto [ 0, 4 ] , coreutils [ 8, 31 ]@@ -4750,10 +4791,10 @@ , fltk [ 1, 3, 5 ] , freetype-prebuild [ 2, 10, 1 ] , freetype [ 2, 10, 1 ]- , fribidi [ 1, 0, 8 ]+ , fribidi [ 1, 0, 9 ] , gawk [ 5, 0, 1 ] , gc [ 8, 0, 4 ]- , gcc [ 9, 2, 0 ]+ , gcc [ 9, 3, 0 ] , gdb [ 8, 3, 1 ] , gdk-pixbuf { version = [ 2, 38 ], patch = 1 } , gegl { version = [ 0, 4 ], patch = 16 }@@ -4763,8 +4804,8 @@ , gperf [ 3, 1 ] , gperftools [ 2, 7 ] , giflib [ 5, 1, 4 ]- , git [ 2, 25, 0 ]- , glib { version = [ 2, 63 ], patch = 3 }+ , git [ 2, 26, 0 ]+ , glib { version = [ 2, 64 ], patch = 1 } , glib-networking { version = [ 2, 61 ], patch = 2 } , glproto [ 1, 4, 17 ] , glu [ 9, 0, 0 ]@@ -4773,7 +4814,7 @@ , gmp [ 6, 2, 0 ] , gobject-introspection { version = [ 1, 62 ], patch = 0 } , gnome-doc-utils { version = [ 0, 20 ], patch = 10 }- , gnupg [ 2, 2, 19 ]+ , gnupg [ 2, 2, 20 ] , gnutls { version = [ 3, 6 ], patch = [ 11, 1 ] } , graphviz [ 2, 40, 1 ] , grep [ 3, 3 ]@@ -4791,7 +4832,7 @@ , inputproto [ 2, 3, 2 ] , intltool [ 0, 51, 0 ] , itstool [ 2, 0, 6 ]- , jemalloc [ 5, 2, 0 ]+ , jemalloc [ 5, 2, 1 ] , joe [ 4, 6 ] , json-c { version = [ 0, 13, 1 ], dateStr = "20180305" } , kbproto [ 1, 0, 7 ]@@ -4804,7 +4845,7 @@ , libassuan [ 2, 5, 3 ] , libatomic_ops [ 7, 6, 10 ] , libav [ 12, 3 ]- , libboost [ 1, 69, 0 ]+ , libboost [ 1, 72, 0 ] , libcds [ 2, 3, 2 ] , libcroco { version = [ 0, 6 ], patch = 12 } , libdatrie [ 0, 2, 12 ]@@ -4930,7 +4971,7 @@ , pygobject { version = [ 2, 28 ], patch = 7 } , pygtk { version = [ 2, 24 ], patch = 0 } , python [ 2, 7, 17 ]- , python [ 3, 8, 1 ]+ , python [ 3, 8, 2 ] , qrencode [ 4, 0, 2 ] , qt { version = [ 5, 13 ], patch = 0 } , quazip [ 0, 8, 1 ]@@ -4942,12 +4983,13 @@ , recordproto [ 1, 14, 2 ] , renderproto [ 0, 11, 1 ] , ruby { version = [ 2, 7 ], patch = 0 }- , rustc [ 1, 41, 1 ]+ , rustc [ 1, 42, 0 ] , scour [ 0, 37 ] , scrnsaverproto [ 1, 2, 2 ] , sdl2 [ 2, 0, 10 ] , sed [ 4, 7 ] , shared-mime-info [ 1, 10 ]+ , smake [ 1, 2, 5 ] , sqlite { version = [ 3, 30, 1 ] } , star [ 1, 6 ] , subversion [ 1, 12, 2 ]@@ -4975,7 +5017,7 @@ , xmlParser [ 2, 44 ] , xproto [ 7, 0, 31 ] , xtrans [ 1, 4, 0 ]- , xz [ 5, 2, 4 ]+ , xz [ 5, 2, 5 ] , zlib [ 1, 2, 11 ] , zstd [ 1, 4, 4 ] ]
src/Package/C.hs view
@@ -44,6 +44,8 @@ , parseTriple , parseTripleIO , parseHostIO+ -- * Version+ , defaultPackageSetHash ) where import Package.C.Build
src/Package/C/PackageSet.hs view
@@ -6,6 +6,7 @@ , pkgsM , displayPackageSet , displayPackage+ , defaultPackageSetHash ) where import CPkgPrelude@@ -22,9 +23,13 @@ import Package.C.Type import Package.C.Type.Tree +defaultPackageSetHash :: T.Text+defaultPackageSetHash = "sha256:b529988940e56cc3e91641c57588b336b107f7cf84a0086abfb272edadc7bb38"+ defaultPackageSetDhall :: Maybe String -> IO PackageSetDhall defaultPackageSetDhall (Just pkSet) = input auto (T.pack pkSet)-defaultPackageSetDhall Nothing = input auto "https://raw.githubusercontent.com/vmchale/cpkg/ea4e5bb39364b6ef44b4c4fea69163263d59dde0/pkgs/pkg-set.dhall sha256:66f21b9803dc5ca046868eb10ea08c70102fc00da12471b46414f2335b928a7b"+defaultPackageSetDhall Nothing = input auto ("https://raw.githubusercontent.com/vmchale/cpkg/39a0e2428482dc9c934760d49f1aa3df8563a717/pkgs/pkg-set.dhall " <> defaultPackageSetHash)+ displayPackageSet :: Maybe String -> IO () displayPackageSet = putDoc . pretty <=< defaultPackageSetDhall
src/Package/C/Unpack.hs view
@@ -10,6 +10,7 @@ import qualified Codec.Compression.Lzma as Lzma import qualified Codec.Compression.Zstd.Lazy as Zstd import qualified Codec.Lzip as Lzip+import Control.Exception (throw) import qualified Data.ByteString.Lazy as BSL import System.Directory @@ -34,9 +35,7 @@ archiveResponse :: TarCompress -> FilePath -> BSL.ByteString -> IO () archiveResponse compressScheme dirName =- fmap (either showError id) . Archive.runArchiveM . Archive.unpackToDirLazy dirName . getCompressor compressScheme-- where showError = error . show+ fmap (either throw id) . Archive.runArchiveM . Archive.unpackToDirLazy dirName . getCompressor compressScheme zipResponse :: FilePath -> BSL.ByteString -> IO () zipResponse dirName response = withCurrentDirectory dirName $ do