cpkg 0.2.5.0 → 0.2.5.1
raw patch · 7 files changed
+222/−228 lines, 7 filesdep ~libarchive
Dependency ranges changed: libarchive
Files
- cpkg.cabal +2/−2
- dhall/cpkg-prelude.dhall +138/−141
- dhall/cpkg-types.dhall +11/−11
- pkgs/pkg-set.dhall +55/−68
- src/Package/C/Build.hs +13/−3
- src/Package/C/PackageSet.hs +2/−2
- src/Package/C/Unpack.hs +1/−1
cpkg.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: cpkg-version: 0.2.5.0+version: 0.2.5.1 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.2.1.0,+ libarchive >=2.2.5.0, dir-traverse >=0.2.1.0, composition-prelude >=1.5.2.0, lzlib >=0.3.0.0,
dhall/cpkg-prelude.dhall view
@@ -17,8 +17,7 @@ let not = https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Bool/not sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4 -let types =- ../dhall/cpkg-types.dhall sha256:caef717db41539eb7ded38d8cd676ba998bd387171ba3fd2db7fea9e8ee8f361+let types = ../dhall/cpkg-types.dhall let showVersion = concatMapSep "." Natural Natural/show @@ -170,19 +169,17 @@ let call = types.Command.Call -let symlinkBinary = λ(file : Text) → types.Command.SymlinkBinary { file = file }+let symlinkBinary = λ(file : Text) → types.Command.SymlinkBinary { file } let symlinkManpage = types.Command.SymlinkManpage let symlink = λ(tgt : Text) → λ(lnk : Text)- → types.Command.Symlink { tgt = tgt, linkName = lnk }+ → types.Command.Symlink { tgt, linkName = lnk } let copyFile =- λ(src : Text)- → λ(dest : Text)- → types.Command.CopyFile { src = src, dest = dest }+ λ(src : Text) → λ(dest : Text) → types.Command.CopyFile { src, dest } let symlinkBinaries = map Text types.Command symlinkBinary @@ -234,6 +231,7 @@ let mkLDFlagsGeneral = λ(libDirs : List Text) → λ(linkLibs : List Text)+ → λ(cfg : types.BuildVars) → let flag0 = concatMapSep " " Text (λ(dir : Text) → "-L${dir}") libDirs let flag1 = concatMapText Text (λ(dir : Text) → " -l${dir}") linkLibs@@ -241,7 +239,9 @@ let flag2 = concatMapText Text- (λ(dir : Text) → " -Wl,-rpath-link,${dir}")+ ( λ(dir : Text)+ → if isMac cfg.buildOS then "" else " -Wl,-rpath-link,${dir}"+ ) libDirs in { var = "LDFLAGS", value = flag0 ++ flag1 ++ flag2 }@@ -382,13 +382,13 @@ λ(linkLibs : List Text) → λ(cfg : types.BuildVars) → defaultPath cfg- # [ mkLDFlagsGeneral cfg.linkDirs linkLibs+ # [ mkLDFlagsGeneral cfg.linkDirs linkLibs cfg , mkCFlags cfg , mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs) , libPath cfg , mkLDRunPath cfg.linkDirs , mkPerlLib- { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 1 ], cfg = cfg }+ { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 1 ], cfg } ] let buildEnv =@@ -396,9 +396,9 @@ → defaultPath cfg # [ mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs) , mkPerlLib- { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 1 ], cfg = cfg }+ { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 1 ], cfg } , mkLDPath cfg.linkDirs- , mkLDFlagsGeneral cfg.linkDirs ([] : List Text)+ , mkLDFlagsGeneral cfg.linkDirs ([] : List Text) cfg ] let configSome =@@ -429,7 +429,7 @@ in [ call ( defaultCall- ⫽ { program = program+ ⫽ { program , arguments = modifyProg ( modifyArgs [ "--prefix=${cfg.installDir}" ]@@ -471,7 +471,7 @@ let configureMkExes = λ(bins : List Text)- → configureMkExesExtraFlags { bins = bins, extraFlags = [] : List Text }+ → configureMkExesExtraFlags { bins, extraFlags = [] : List Text } let generalBuild = λ(cpus : types.BuildVars → Natural)@@ -826,7 +826,7 @@ , mkPy3Path cfg.linkDirs , libPath cfg , mkLDRunPath cfg.linkDirs- , mkLDFlags cfg.linkDirs+ , mkLDFlags cfg.linkDirs cfg , mkCFlags cfg , mkLDPreload cfg.preloadLibs ]@@ -878,7 +878,7 @@ , mkPy3Path cfg.linkDirs , libPath cfg , mkLDRunPath cfg.linkDirs- , mkLDFlagsGeneral cfg.linkDirs linkLibs+ , mkLDFlagsGeneral cfg.linkDirs linkLibs cfg , mkCFlags cfg ] # defaultPath cfg@@ -901,7 +901,7 @@ , mkPy3Path cfg.linkDirs , libPath cfg , mkLDRunPath cfg.linkDirs- , mkLDFlags cfg.linkDirs+ , mkLDFlags cfg.linkDirs cfg , mkCFlags cfg ] # defaultPath cfg@@ -1074,17 +1074,14 @@ → λ(cfg : types.BuildVars) → Some ( defaultPath cfg- # [ mkLDFlags cfg.linkDirs+ # [ mkLDFlags cfg.linkDirs cfg , mkCFlags cfg , mkPkgConfigVar cfg.linkDirs , libPath cfg , mkXdgDataDirs cfg.shareDirs , mkLDPreload cfg.preloadLibs , mkPerlLib- { libDirs = cfg.linkDirs- , perlVersion = [ 5, 30, 1 ]- , cfg = cfg- }+ { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 1 ], cfg } ] ) @@ -1228,123 +1225,123 @@ ) ] -in { showVersion = showVersion- , makeGnuLibrary = makeGnuLibrary- , makeGnuExe = makeGnuExe- , defaultPackage = defaultPackage- , unbounded = unbounded- , lowerBound = lowerBound- , upperBound = upperBound- , makeExe = makeExe- , printArch = printArch- , printManufacturer = printManufacturer- , printOS = printOS- , printTargetTriple = printTargetTriple- , call = call- , mkExe = mkExe- , mkExes = mkExes- , createDir = createDir- , mkHost = mkHost- , defaultConfigure = defaultConfigure- , defaultBuild = defaultBuild- , defaultInstall = defaultInstall- , cmakeConfigure = cmakeConfigure- , cmakeConfigureGeneral = cmakeConfigureGeneral- , cmakeConfigureWithFlags = cmakeConfigureWithFlags- , cmakeBuild = cmakeBuild- , cmakeInstall = cmakeInstall- , cmakePackage = cmakePackage- , autogenConfigure = autogenConfigure- , defaultCall = defaultCall- , defaultEnv = defaultEnv- , maybeAppend = maybeAppend- , mkCFlags = mkCFlags- , mkLDFlags = mkLDFlags- , mkLDFlagsGeneral = mkLDFlagsGeneral- , mkLDPath = mkLDPath- , mkLDRunPath = mkLDRunPath- , mkStaPath = mkStaPath- , libPath = libPath- , mkPyPath = mkPyPath- , mkPy3Path = mkPy3Path- , mkIncludePath = mkIncludePath- , isUnix = isUnix- , defaultPath = defaultPath- , simplePackage = simplePackage- , symlinkBinary = symlinkBinary- , symlinkManpage = symlinkManpage- , symlink = symlink- , symlinkBinaries = symlinkBinaries- , symlinkManpages = symlinkManpages- , installWithBinaries = installWithBinaries- , installWithManpages = installWithManpages- , configureMkExes = configureMkExes- , generalConfigure = generalConfigure- , configureWithFlags = configureWithFlags- , configureMkExesExtraFlags = configureMkExesExtraFlags- , writeFile = writeFile- , cmakeInstallWithBinaries = cmakeInstallWithBinaries- , copyFile = copyFile- , mkPathVar = mkPathVar- , mkPkgConfigVar = mkPkgConfigVar- , fullVersion = fullVersion- , mesonConfigure = mesonConfigure- , mesonConfigureGeneral = mesonConfigureGeneral- , mesonEnv = mesonEnv- , mesonConfigureWithFlags = mesonConfigureWithFlags- , ninjaBuild = ninjaBuild- , ninjaInstall = ninjaInstall- , ninjaInstallWithPkgConfig = ninjaInstallWithPkgConfig- , ninjaPackage = ninjaPackage- , doNothing = doNothing- , perlConfigure = perlConfigure- , copyFiles = copyFiles- , mkPerlLib = mkPerlLib- , mesonMoves = mesonMoves- , python3Build = python3Build- , python3Install = python3Install- , python3Package = python3Package- , mkLDPreload = mkLDPreload- , configureLinkExtraLibs = configureLinkExtraLibs- , mkXdgDataDirs = mkXdgDataDirs- , buildWith = buildWith- , installWith = installWith- , mkCCVar = mkCCVar- , squishVersion = squishVersion- , osCfg = osCfg- , archCfg = archCfg- , mkCCArg = mkCCArg- , mkFRCArg = mkFRCArg- , mesonCfgFile = mesonCfgFile- , python2Package = python2Package- , configEnv = configEnv- , configSome = configSome- , preloadEnv = preloadEnv- , preloadCfg = preloadCfg- , printEnvVar = printEnvVar- , mkPyWrapper = mkPyWrapper- , mkPy3Wrapper = mkPy3Wrapper- , mkPy2Wrapper = mkPy2Wrapper- , installWithPyWrappers = installWithPyWrappers- , installWithPy3Wrappers = installWithPy3Wrappers- , cmakeConfigureNinja = cmakeConfigureNinja- , mkLDPathWrapper = mkLDPathWrapper- , mkLDPathWrappers = mkLDPathWrappers- , installWithWrappers = installWithWrappers- , cmakeEnv = cmakeEnv- , cmakeSome = cmakeSome- , underscoreVersion = underscoreVersion- , isX64 = isX64- , configWithEnv = configWithEnv- , buildEnv = buildEnv- , patch = patch- , mkAclocalPath = mkAclocalPath- , configureWithPatches = configureWithPatches- , configureWithPatch = configureWithPatch- , installPrefix = installPrefix- , unixPath = unixPath- , generalBuild = generalBuild- , defaultCpus = defaultCpus- , singleThreaded = singleThreaded- , libSuffix = libSuffix+in { showVersion+ , makeGnuLibrary+ , makeGnuExe+ , defaultPackage+ , unbounded+ , lowerBound+ , upperBound+ , makeExe+ , printArch+ , printManufacturer+ , printOS+ , printTargetTriple+ , call+ , mkExe+ , mkExes+ , createDir+ , mkHost+ , defaultConfigure+ , defaultBuild+ , defaultInstall+ , cmakeConfigure+ , cmakeConfigureGeneral+ , cmakeConfigureWithFlags+ , cmakeBuild+ , cmakeInstall+ , cmakePackage+ , autogenConfigure+ , defaultCall+ , defaultEnv+ , maybeAppend+ , mkCFlags+ , mkLDFlags+ , mkLDFlagsGeneral+ , mkLDPath+ , mkLDRunPath+ , mkStaPath+ , libPath+ , mkPyPath+ , mkPy3Path+ , mkIncludePath+ , isUnix+ , defaultPath+ , simplePackage+ , symlinkBinary+ , symlinkManpage+ , symlink+ , symlinkBinaries+ , symlinkManpages+ , installWithBinaries+ , installWithManpages+ , configureMkExes+ , generalConfigure+ , configureWithFlags+ , configureMkExesExtraFlags+ , writeFile+ , cmakeInstallWithBinaries+ , copyFile+ , mkPathVar+ , mkPkgConfigVar+ , fullVersion+ , mesonConfigure+ , mesonConfigureGeneral+ , mesonEnv+ , mesonConfigureWithFlags+ , ninjaBuild+ , ninjaInstall+ , ninjaInstallWithPkgConfig+ , ninjaPackage+ , doNothing+ , perlConfigure+ , copyFiles+ , mkPerlLib+ , mesonMoves+ , python3Build+ , python3Install+ , python3Package+ , mkLDPreload+ , configureLinkExtraLibs+ , mkXdgDataDirs+ , buildWith+ , installWith+ , mkCCVar+ , squishVersion+ , osCfg+ , archCfg+ , mkCCArg+ , mkFRCArg+ , mesonCfgFile+ , python2Package+ , configEnv+ , configSome+ , preloadEnv+ , preloadCfg+ , printEnvVar+ , mkPyWrapper+ , mkPy3Wrapper+ , mkPy2Wrapper+ , installWithPyWrappers+ , installWithPy3Wrappers+ , cmakeConfigureNinja+ , mkLDPathWrapper+ , mkLDPathWrappers+ , installWithWrappers+ , cmakeEnv+ , cmakeSome+ , underscoreVersion+ , isX64+ , configWithEnv+ , buildEnv+ , patch+ , mkAclocalPath+ , configureWithPatches+ , configureWithPatch+ , installPrefix+ , unixPath+ , generalBuild+ , defaultCpus+ , singleThreaded+ , libSuffix }
dhall/cpkg-types.dhall view
@@ -99,15 +99,15 @@ | Patch : { patchContents : Text } > -in { OS = OS- , BuildVars = BuildVars- , VersionBound = VersionBound- , Dep = Dep- , Arch = Arch- , Manufacturer = Manufacturer- , ABI = ABI- , TargetTriple = TargetTriple- , Command = Command- , EnvVar = EnvVar- , Proc = Proc+in { OS+ , BuildVars+ , VersionBound+ , Dep+ , Arch+ , Manufacturer+ , ABI+ , TargetTriple+ , Command+ , EnvVar+ , Proc }
pkgs/pkg-set.dhall view
@@ -5,11 +5,9 @@ let concat = https://raw.githubusercontent.com/dhall-lang/dhall-lang/dbcf50c27b1592a6acfd38cb3ba976e3a36b74fe/Prelude/Text/concat sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0 -let types =- ../dhall/cpkg-types.dhall sha256:caef717db41539eb7ded38d8cd676ba998bd387171ba3fd2db7fea9e8ee8f361+let types = ../dhall/cpkg-types.dhall -let prelude =- ../dhall/cpkg-prelude.dhall sha256:908d9f80be0c4bc294b5bb4ae3e3b9245659800c20ea3510518d1b1b649ffaaf+let prelude = ../dhall/cpkg-prelude.dhall let gpgPackage = λ(x : { name : Text, version : List Natural })@@ -29,9 +27,6 @@ , prelude.lowerBound { name = "libassuan", lower = [ 2, 5, 0 ] } , prelude.lowerBound { name = "libksba", lower = [ 1, 3, 4 ] } ]- , configureCommand =- prelude.configureMkExes- [ "tests/inittests", "tests/runtest", "tests/pkits/inittests" ] , installCommand = prelude.installWithBinaries [ "bin/gpg" ] } @@ -68,7 +63,6 @@ "https://www.musl-libc.org/releases/musl-${prelude.showVersion v}.tar.gz" , installCommand = prelude.installWithBinaries [ "bin/musl-gcc" ]- , configureCommand = prelude.configureMkExes [ "tools/install.sh" ] } let binutils =@@ -77,7 +71,6 @@ ⫽ { pkgUrl = "https://ftp.wayne.edu/gnu/binutils/binutils-${prelude.showVersion v}.tar.xz"- , configureCommand = prelude.configureMkExes [ "mkinstalldirs" ] , installCommand = prelude.installWithBinaries [ "bin/ar"@@ -95,9 +88,7 @@ let bison = λ(v : List Natural) → prelude.makeGnuExe { name = "bison", version = v }- ⫽ { configureCommand =- prelude.configureMkExes [ "build-aux/move-if-change" ]- , buildCommand =+ ⫽ { buildCommand = λ(cfg : types.BuildVars) → prelude.generalBuild prelude.singleThreaded@@ -189,10 +180,7 @@ let gawk = λ(v : List Natural) → prelude.makeGnuExe { name = "gawk", version = v }- ⫽ { configureCommand =- prelude.configureMkExes- [ "install-sh", "extension/build-aux/install-sh" ]- , installCommand =+ ⫽ { installCommand = prelude.installWithBinaries [ "bin/gawk", "bin/awk" ] } @@ -221,7 +209,6 @@ ⫽ { pkgUrl = "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${prelude.showVersion v}.tar.xz"- , configureCommand = prelude.configureMkExes [ "check_bindir" ] , installCommand = prelude.installWithBinaries [ "bin/git" ] , pkgBuildDeps = [ prelude.unbounded "gettext" ] }@@ -551,8 +538,6 @@ → prelude.installWithBinaries [ "bin/valgrind" ] cfg # prelude.symlinkManpages [ { file = "share/man/man1/pdfgrep.1", section = 1 } ]- , configureCommand =- prelude.configureMkExes [ "auxprogs/make_or_upd_vgversion_h" ] } let vim =@@ -673,7 +658,6 @@ v}.tar.gz" , pkgDeps = [ prelude.unbounded "gnutls" ] , pkgBuildDeps = [ prelude.unbounded "perl" ]- , configureCommand = prelude.configureMkExes [ "doc/texi2pod.pl" ] , installCommand = prelude.installWithWrappers [ "wget" ] } @@ -1042,7 +1026,7 @@ λ(cfg : types.BuildVars) → let cc = prelude.mkCCArg cfg - let ldflags = (prelude.mkLDFlags cfg.linkDirs).value+ let ldflags = (prelude.mkLDFlags cfg.linkDirs cfg).value let cflags = (prelude.mkCFlags cfg).value @@ -1175,8 +1159,6 @@ in prelude.simplePackage x ⫽ { pkgUrl = "https://download.savannah.gnu.org/releases/freetype/freetype-${versionString}.tar.gz"- , configureCommand =- prelude.configureMkExes [ "builds/unix/configure" ] , pkgSubdir = "freetype-${versionString}" , pkgBuildDeps = [ prelude.unbounded "sed" ] , installCommand =@@ -1256,7 +1238,7 @@ → prelude.defaultPath cfg # [ { var = "LDFLAGS" , value =- (prelude.mkLDFlags cfg.linkDirs).value+ (prelude.mkLDFlags cfg.linkDirs cfg).value ++ " -lpcre -lfribidi" } , prelude.mkCFlags cfg@@ -1312,7 +1294,7 @@ let mkXProto = λ(name : Text) → λ(v : List Natural)- → prelude.simplePackage { name = name, version = v }+ → prelude.simplePackage { name, version = v } ⫽ { pkgUrl = "https://www.x.org/releases/individual/proto/${name}-${prelude.showVersion v}.tar.bz2"@@ -1473,7 +1455,7 @@ # [ prelude.mkPerlLib { libDirs = cfg.linkDirs , perlVersion = [ 5, 30, 1 ]- , cfg = cfg+ , cfg } ] )@@ -1507,7 +1489,7 @@ , prelude.mkPy3Path cfg.linkDirs , prelude.libPath cfg , prelude.mkLDRunPath cfg.linkDirs- , prelude.mkLDFlags cfg.linkDirs+ , prelude.mkLDFlags cfg.linkDirs cfg , prelude.mkCFlags cfg ] , arguments = [ "install" ]@@ -1728,7 +1710,7 @@ ( [ prelude.mkPkgConfigVar cfg.linkDirs , { var = "LDFLAGS" , value =- (prelude.mkLDFlags cfg.linkDirs).value+ (prelude.mkLDFlags cfg.linkDirs cfg).value } , prelude.mkPy3Path cfg.linkDirs , prelude.libPath cfg@@ -2107,7 +2089,7 @@ let mkXLib = λ(name : Text) → λ(v : List Natural)- → prelude.simplePackage { name = name, version = v }+ → prelude.simplePackage { name, version = v } ⫽ { pkgUrl = "https://www.x.org/releases/individual/lib/${name}-${prelude.showVersion v}.tar.bz2"@@ -2129,7 +2111,7 @@ let mkXUtil = λ(name : Text) → λ(v : List Natural)- → prelude.simplePackage { name = name, version = v }+ → prelude.simplePackage { name, version = v } ⫽ { pkgUrl = "https://www.x.org/releases/individual/util/${name}-${prelude.showVersion v}.tar.bz2"@@ -2336,7 +2318,7 @@ ] , environment = Some ( prelude.defaultPath cfg- # [ prelude.mkLDFlags cfg.linkDirs+ # [ prelude.mkLDFlags cfg.linkDirs cfg , prelude.mkCFlags cfg , prelude.mkPkgConfigVar cfg.linkDirs ]@@ -2375,7 +2357,7 @@ ] , environment = Some ( prelude.defaultPath cfg- # [ prelude.mkLDFlags cfg.linkDirs+ # [ prelude.mkLDFlags cfg.linkDirs cfg , prelude.mkCFlags cfg , prelude.mkPkgConfigVar cfg.linkDirs , prelude.libPath cfg@@ -2417,8 +2399,7 @@ let fullVersion = versionString ++ "." ++ Natural/show x.patch - in prelude.ninjaPackage- { name = name, version = prelude.fullVersion x }+ in prelude.ninjaPackage { name, version = prelude.fullVersion x } ⫽ { pkgUrl = "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz" }@@ -2503,8 +2484,7 @@ let fullVersion = versionString ++ "." ++ Natural/show x.patch - in prelude.simplePackage- { name = name, version = prelude.fullVersion x }+ in prelude.simplePackage { name, version = prelude.fullVersion x } ⫽ { pkgUrl = "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz" }@@ -2561,7 +2541,6 @@ → prelude.simplePackage { name = "graphviz", version = v } ⫽ { pkgUrl = "https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz"- , configureCommand = prelude.configureMkExes [ "iffe" ] , pkgDeps = [ prelude.unbounded "perl" ] , installCommand = prelude.installWithBinaries [ "bin/dot" ] }@@ -2583,8 +2562,6 @@ ⫽ { pkgUrl = "https://downloads.sourceforge.net/swig/swig-${prelude.showVersion v}.tar.gz"- , configureCommand =- prelude.configureMkExes [ "Tools/config/install-sh" ] , installCommand = prelude.installWithBinaries [ "bin/swig" ] } @@ -2830,8 +2807,7 @@ let fullVersion = versionString ++ "." ++ Natural/show x.patch - in prelude.simplePackage- { name = name, version = prelude.fullVersion x }+ in prelude.simplePackage { name, version = prelude.fullVersion x } ⫽ { pkgUrl = "https://download.gimp.org/pub/${name}/${versionString}/${name}-${fullVersion}.tar.bz2" }@@ -3020,6 +2996,7 @@ ).value} -DPACKAGE=\\\"feh\\\" -DPREFIX=\\\"${cfg.installDir}\\\" -DVERSION=\\\"${prelude.showVersion v}\\\" ${( prelude.mkLDFlags cfg.linkDirs+ cfg ).value}" , "feh" ]@@ -3090,15 +3067,6 @@ in prelude.simplePackage { name = "jemalloc", version = v } ⫽ { pkgUrl = "https://github.com/jemalloc/jemalloc/releases/download/${versionString}/jemalloc-${versionString}.tar.bz2"- , configureCommand =- prelude.configureMkExes- [ "include/jemalloc/internal/private_symbols.sh"- , "include/jemalloc/internal/public_namespace.sh"- , "include/jemalloc/internal/public_unnamespace.sh"- , "include/jemalloc/jemalloc_rename.sh"- , "include/jemalloc/jemalloc_mangle.sh"- , "include/jemalloc/jemalloc.sh"- ] } let gperftools =@@ -3234,7 +3202,6 @@ , prelude.unbounded "gettext" , prelude.unbounded "python2" ]- , configureCommand = prelude.configureMkExes [ "py-compile" ] } let itstool =@@ -3433,8 +3400,6 @@ in prelude.simplePackage { name = "libpsl", version = v } ⫽ { pkgUrl = "https://github.com/rockdaboot/libpsl/releases/download/libpsl-${versionString}/libpsl-${versionString}.tar.gz"- , configureCommand =- prelude.configureMkExes [ "src/psl-make-dafsa" ] } let krb5 =@@ -3445,9 +3410,6 @@ ⫽ { pkgUrl = "https://kerberos.org/dist/krb5/${versionString}/krb5-${versionString}.tar.gz" , pkgSubdir = "krb5-${versionString}/src"- , configureCommand =- prelude.configureMkExes- [ "config/move-if-changed", "config/mkinstalldirs" ] , pkgBuildDeps = [ prelude.unbounded "bison" ] } @@ -3459,8 +3421,6 @@ [ prelude.lowerBound { name = "glib", lower = [ 2, 40, 0 ] } , prelude.lowerBound { name = "graphviz", lower = [ 2, 15 ] } ]- , configureCommand =- prelude.configureMkExes [ "build-aux/git-version-gen" ] } let htop =@@ -3472,8 +3432,6 @@ "https://hisham.hm/htop/releases/${versionString}/htop-${versionString}.tar.gz" , pkgDeps = [ prelude.unbounded "ncurses" ] , pkgBuildDeps = [ prelude.unbounded "python3" ]- , configureCommand =- prelude.configureMkExes [ "scripts/MakeHeader.py" ] , installCommand = prelude.installWithBinaries [ "bin/htop" ] } @@ -3507,7 +3465,6 @@ ⫽ { pkgUrl = "http://prdownloads.sourceforge.net/ctags/ctags-${prelude.showVersion v}.tar.gz"- , configureCommand = prelude.configureMkExes [ "mkinstalldirs" ] , installCommand = prelude.installWithBinaries [ "bin/ctags" ] } @@ -3517,7 +3474,6 @@ ⫽ { pkgUrl = "http://download.savannah.gnu.org/releases/tinycc/tcc-${prelude.showVersion v}.tar.bz2"- , configureCommand = prelude.configureMkExes [ "texi2pod.pl" ] , pkgBuildDeps = [ prelude.unbounded "perl", prelude.unbounded "texinfo" ] , installCommand = prelude.installWithBinaries [ "bin/tcc" ]@@ -4295,7 +4251,9 @@ , arguments = [ "CFLAGS=${( prelude.mkCFlags cfg ).value} -I${buildDir}/src/CBOOT/ccomp/runtime -I${buildDir}/src/CBOOT"- , "LDFLAGS='${( prelude.mkLDFlags cfg.linkDirs+ , "LDFLAGS='${( prelude.mkLDFlags+ cfg.linkDirs+ cfg ).value}'" ] , environment = Some (prelude.buildEnv cfg)@@ -4327,8 +4285,6 @@ → prelude.simplePackage { name = "libav", version = v } ⫽ { pkgUrl = "https://libav.org/releases/libav-${prelude.showVersion v}.tar.xz"- , configureCommand =- prelude.configureMkExes [ "version.sh", "doc/texi2pod.pl" ] , pkgBuildDeps = [ prelude.unbounded "nasm", prelude.unbounded "perl" ] , installCommand =@@ -4742,12 +4698,42 @@ ] } +let busybox =+ λ(v : List Natural)+ → prelude.simplePackage { name = "busybox", version = v }+ ⫽ { pkgUrl =+ "https://www.busybox.net/downloads/busybox-${prelude.showVersion+ v}.tar.bz2"+ , configureCommand =+ λ(cfg : types.BuildVars)+ → [ prelude.call+ ( prelude.defaultCall+ ⫽ { program = "make"+ , arguments = [ "defconfig" ]+ , environment = Some (prelude.buildEnv cfg)+ }+ )+ ]+ , installCommand =+ λ(cfg : types.BuildVars)+ → [ prelude.call+ ( prelude.defaultCall+ ⫽ { program = "make"+ , arguments =+ [ "CONFIG_PREFIX=${cfg.installDir}", "install" ]+ , environment = Some (prelude.buildEnv cfg)+ }+ )+ , prelude.symlinkBinary "bin/busybox"+ ]+ }+ in [ alsa-lib [ 1, 1, 9 ] , apr [ 1, 7, 0 ] , apr-util [ 1, 6, 1 ] , at-spi-atk { version = [ 2, 33 ], patch = 2 } , at-spi-core { version = [ 2, 33 ], patch = 2 }- , atk { version = [ 2, 33 ], patch = 3 }+ , atk { version = [ 2, 36 ], patch = 0 } , ats [ 0, 4, 0 ] , autoconf [ 2, 69 ] , automake [ 1, 16, 2 ]@@ -4757,6 +4743,7 @@ , binutils [ 2, 33, 1 ] , bison [ 3, 5 ] , blas [ 3, 8, 0 ]+ , busybox [ 1, 31, 1 ] , bzip2 [ 1, 0, 8 ] , cairo [ 1, 16, 0 ] , chickenScheme [ 5, 0, 0 ]@@ -4874,7 +4861,7 @@ , libpsl [ 0, 21, 0 ] , libpthread-stubs [ 0, 4 ] , libraw [ 0, 19, 2 ]- , librsvg { version = [ 2, 45 ], patch = 8 }+ , librsvg { version = [ 2, 48 ], patch = 2 } , libsamplerate [ 0, 1, 9 ] , libsass [ 3, 6, 2 ] , libselinux [ 3, 0 ]@@ -4982,7 +4969,7 @@ , readline [ 8, 0 ] , recordproto [ 1, 14, 2 ] , renderproto [ 0, 11, 1 ]- , ruby { version = [ 2, 7 ], patch = 0 }+ , ruby { version = [ 2, 7 ], patch = 1 } , rustc [ 1, 42, 0 ] , scour [ 0, 37 ] , scrnsaverproto [ 1, 2, 2 ]
src/Package/C/Build.hs view
@@ -27,6 +27,16 @@ envVarSplit :: EnvVar -> (String, String) envVarSplit (EnvVar ev x) = (ev, x) +replaceSymlink :: FilePath -> FilePath -> IO ()+replaceSymlink actual link = do+ bf <- doesFileExist link+ if bf+ then removeFile link+ else do+ bd <- doesDirectoryExist link+ when bd $ removeDirectoryLink link+ createFileLink actual link+ stepToProc :: FilePath -- ^ Package build directory -> FilePath -- ^ Package install directory -> Command@@ -46,18 +56,18 @@ binDir <- (</> "bin") <$> globalPkgDir let actualBin = p </> file' liftIO $ createDirectoryIfMissing True binDir- liftIO $ createFileLink actualBin (binDir </> takeFileName file')+ liftIO $ replaceSymlink actualBin (binDir </> takeFileName file') stepToProc _ p (SymlinkManpage file' sec) = do manDir <- (</> ("share" </> "man" </> "man" ++ show sec)) <$> globalPkgDir let actualMan = p </> file' liftIO $ createDirectoryIfMissing True manDir- liftIO $ createFileLink actualMan (manDir </> takeFileName file')+ liftIO $ replaceSymlink actualMan (manDir </> takeFileName file') stepToProc _ p (Symlink tgt' lnk) = do let linkAbs = p </> lnk putDiagnostic ("Creating directory" ++ takeDirectory linkAbs ++ "...") liftIO $ createDirectoryIfMissing True (takeDirectory linkAbs) -- TODO: diagnostics for symlinks- liftIO $ createFileLink (p </> tgt') linkAbs+ liftIO $ replaceSymlink (p </> tgt') linkAbs stepToProc dir' _ (Write out fp) = do let fpAbs = dir' </> fp putDiagnostic ("Writing\n" ++ T.unpack out ++ "\n in file" ++ fpAbs)
src/Package/C/PackageSet.hs view
@@ -24,11 +24,11 @@ import Package.C.Type.Tree defaultPackageSetHash :: T.Text-defaultPackageSetHash = "sha256:b529988940e56cc3e91641c57588b336b107f7cf84a0086abfb272edadc7bb38"+defaultPackageSetHash = "sha256:59490322eb6249d94698473eb9be6e29dce0519f058914e2cb42b30e030596d9" defaultPackageSetDhall :: Maybe String -> IO PackageSetDhall defaultPackageSetDhall (Just pkSet) = input auto (T.pack pkSet)-defaultPackageSetDhall Nothing = input auto ("https://raw.githubusercontent.com/vmchale/cpkg/39a0e2428482dc9c934760d49f1aa3df8563a717/pkgs/pkg-set.dhall " <> defaultPackageSetHash)+defaultPackageSetDhall Nothing = input auto ("https://raw.githubusercontent.com/vmchale/cpkg/e90b4b5350f8a7b82ae871d074526c15fd47f6db/pkgs/pkg-set.dhall " <> defaultPackageSetHash) displayPackageSet :: Maybe String -> IO ()
src/Package/C/Unpack.hs view
@@ -35,7 +35,7 @@ archiveResponse :: TarCompress -> FilePath -> BSL.ByteString -> IO () archiveResponse compressScheme dirName =- fmap (either throw id) . Archive.runArchiveM . Archive.unpackToDirLazy dirName . getCompressor compressScheme+ Archive.throwArchiveM . Archive.unpackToDirLazy dirName . getCompressor compressScheme zipResponse :: FilePath -> BSL.ByteString -> IO () zipResponse dirName response = withCurrentDirectory dirName $ do