packages feed

cpkg 0.2.5.4 → 0.2.5.6

raw patch · 5 files changed

+5261/−5338 lines, 5 filesdep ~dhall

Dependency ranges changed: dhall

Files

cabal.project view
@@ -3,11 +3,3 @@            , 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.5.4+version:            0.2.5.6 license:            BSD3 license-file:       LICENSE copyright:          Copyright: (c) 2018-2020 Vanessa McHale@@ -101,7 +101,7 @@         dir-traverse >=0.2.1.0,         composition-prelude >=1.5.2.0,         lzlib >=0.3.0.0,-        dhall >=1.27.0,+        dhall >=1.29.0,         zstd -any      if (flag(development) && impl(ghc <=8.2))@@ -127,7 +127,7 @@         optparse-applicative -any,         directory -any,         text -any,-        dhall >=1.26.1+        dhall >=1.29.0      if (flag(development) && impl(ghc <=8.2))         ghc-options: -Werror
dhall/cpkg-prelude.dhall view
@@ -12,7 +12,7 @@       https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/List/map sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680  let mapOptional =-      https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Optional/map sha256:e7f44219250b89b094fbf9996e04b5daafc0902d864113420072ae60706ac73d+      https://raw.githubusercontent.com/dhall-lang/dhall-lang/bf757ba1ee526714278568012c6bc98d7ea9757e/Prelude/Optional/map sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa  let not =       https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Bool/not sha256:723df402df24377d8a853afed08d9d69a0a6d86e2e5b2bac8960b0d4756c7dc4@@ -22,14 +22,14 @@ let showVersion = concatMapSep "." Natural Natural/show  let maybeAppend =-        λ(a : Type)-      → λ(x : Optional a)-      → λ(xs : List a)-      → Optional/fold a x (List a) (λ(x : a) → xs # [ x ]) xs+      λ(a : Type) →+      λ(x : Optional a) →+      λ(xs : List a) →+        merge { Some = λ(x : a) → xs # [ x ], None = xs } x  let printArch =-        λ(arch : types.Arch)-      → merge+      λ(arch : types.Arch) →+        merge           { X64 = "x86_64"           , AArch = "aarch64"           , Arm = "arm"@@ -57,12 +57,12 @@           arch  let printManufacturer =-        λ(x : types.Manufacturer)-      → merge { Unknown = "unknown", Apple = "apple", IBM = "ibm", PC = "pc" } x+      λ(x : types.Manufacturer) →+        merge { Unknown = "unknown", Apple = "apple", IBM = "ibm", PC = "pc" } x  let libSuffix =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = "so"           , OpenBSD = "so"           , NetBSD = "so"@@ -82,8 +82,8 @@           os  let printOS =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = "freebsd"           , OpenBSD = "openbsd"           , NetBSD = "netbsd"@@ -103,8 +103,8 @@           os  let printABI =-        λ(os : types.ABI)-      → merge+      λ(os : types.ABI) →+        merge           { GNU = "gnu"           , GNUabi64 = "gnuabi64"           , GNUeabi = "gnueabi"@@ -115,14 +115,11 @@           os  let printTargetTriple =-        λ(t : types.TargetTriple)-      →     "${printArch t.arch}-${printOS t.os}"-        ++  Optional/fold-              types.ABI+      λ(t : types.TargetTriple) →+            "${printArch t.arch}-${printOS t.os}"+        ++  merge+              { Some = λ(abi : types.ABI) → "-${printABI abi}", None = "" }               t.abi-              Text-              (λ(abi : types.ABI) → "-${printABI abi}")-              ""  let mkHost =       mapOptional@@ -131,8 +128,8 @@         (λ(tgt : types.TargetTriple) → "--host=${printTargetTriple tgt}")  let makeExe =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = "gmake"           , OpenBSD = "gmake"           , NetBSD = "gmake"@@ -174,9 +171,9 @@ let symlinkManpage = types.Command.SymlinkManpage  let symlink =-        λ(tgt : Text)-      → λ(lnk : Text)-      → types.Command.Symlink { tgt, linkName = lnk }+      λ(tgt : Text) →+      λ(lnk : Text) →+        types.Command.Symlink { tgt, linkName = lnk }  let copyFile =       λ(src : Text) → λ(dest : Text) → types.Command.CopyFile { src, dest }@@ -187,8 +184,8 @@       map { file : Text, section : Natural } types.Command symlinkManpage  let isUnix =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = True           , OpenBSD = True           , NetBSD = True@@ -208,8 +205,8 @@           os  let isMac =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = False           , OpenBSD = False           , NetBSD = False@@ -229,18 +226,18 @@           os  let mkLDFlagsGeneral =-        λ(libDirs : List Text)-      → λ(linkLibs : List Text)-      → λ(cfg : types.BuildVars)-      → let flag0 = concatMapSep " " Text (λ(dir : Text) → "-L${dir}") libDirs+      λ(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          let flag2 =               concatMapText                 Text-                (   λ(dir : Text)-                  → if isMac cfg.buildOS then "" else " -Wl,-rpath-link,${dir}"+                ( λ(dir : Text) →+                    if isMac cfg.buildOS then "" else " -Wl,-rpath-link,${dir}"                 )                 libDirs @@ -250,51 +247,47 @@       λ(libDirs : List Text) → mkLDFlagsGeneral libDirs ([] : List Text)  let mkLDPath =-        λ(libDirs : List Text)-      → let flag = concatMapSep ":" Text (λ(dir : Text) → dir) libDirs+      λ(libDirs : List Text) →+        let flag = concatMapSep ":" Text (λ(dir : Text) → dir) libDirs          in  { var = "LD_LIBRARY_PATH", value = flag }  let mkLDRunPath =-        λ(libDirs : List Text)-      → let flag = concatMapSep ":" Text (λ(dir : Text) → dir) libDirs+      λ(libDirs : List Text) →+        let flag = concatMapSep ":" Text (λ(dir : Text) → dir) libDirs          in  { var = "LD_RUN_PATH", value = flag }  let mkStaPath =-        λ(libDirs : List Text)-      → let flag = concatMapText Text (λ(dir : Text) → "${dir}:") libDirs+      λ(libDirs : List Text) →+        let flag = concatMapText Text (λ(dir : Text) → "${dir}:") libDirs          in  { var = "LIBRARY_PATH"             , value = flag ++ "/usr/local/lib:/lib:/usr/lib"             }  let osCfg =-        λ(cfg : types.BuildVars)-      → Optional/fold-          types.TargetTriple+      λ(cfg : types.BuildVars) →+        merge+          { Some = λ(tgt : types.TargetTriple) → tgt.os, None = cfg.buildOS }           cfg.targetTriple-          types.OS-          (λ(tgt : types.TargetTriple) → tgt.os)-          cfg.buildOS  let archCfg =-        λ(cfg : types.BuildVars)-      → Optional/fold-          types.TargetTriple+      λ(cfg : types.BuildVars) →+        merge+          { Some = λ(tgt : types.TargetTriple) → tgt.arch+          , None = cfg.buildArch+          }           cfg.targetTriple-          types.Arch-          (λ(tgt : types.TargetTriple) → tgt.arch)-          cfg.buildArch  let mkPerlLib =-        λ ( x-          : { libDirs : List Text-            , perlVersion : List Natural-            , cfg : types.BuildVars-            }-          )-      → let os = x.cfg.buildOS+      λ ( x+        : { libDirs : List Text+          , perlVersion : List Natural+          , cfg : types.BuildVars+          }+        ) →+        let os = x.cfg.buildOS          let arch = x.cfg.buildArch @@ -302,8 +295,8 @@               concatMapSep                 ":"                 Text-                (   λ(dir : Text)-                  → "${dir}/site_perl/${showVersion+                ( λ(dir : Text) →+                    "${dir}/site_perl/${showVersion                                           x.perlVersion}/${printArch                                                              arch}-${printOS                                                                        os}/"@@ -311,24 +304,21 @@                 x.libDirs          let major =-              Optional/fold-                Natural+              merge+                { Some = Natural/show, None = "" }                 (List/head Natural x.perlVersion)-                Text-                Natural/show-                ""          in  { var = "PERL${major}LIB", value = flag }  let mkIncludePath =-        λ(incls : List Text)-      → let flag = concatMapSep ":" Text (λ(dir : Text) → dir) incls+      λ(incls : List Text) →+        let flag = concatMapSep ":" Text (λ(dir : Text) → dir) incls          in  { var = "C_INCLUDE_PATH", value = flag }  let mkCFlags =-        λ(cfg : types.BuildVars)-      → let flag =+      λ(cfg : types.BuildVars) →+        let flag =               concatMapSep " " Text (λ(dir : Text) → "-I${dir}") cfg.includeDirs          let staFlag = if cfg.static then " -static" else ""@@ -336,52 +326,50 @@         in  { var = "CPPFLAGS", value = flag ++ staFlag }  let mkPkgConfigVar =-        λ(libDirs : List Text)-      → let flag =+      λ(libDirs : List Text) →+        let flag =               concatMapSep ":" Text (λ(dir : Text) → "${dir}/pkgconfig") libDirs          in  { var = "PKG_CONFIG_PATH", value = flag }  let mkXdgDataDirs =-        λ(shareDirs : List Text)-      → let flag = concatMapSep ":" Text (λ(dir : Text) → dir) shareDirs+      λ(shareDirs : List Text) →+        let flag = concatMapSep ":" Text (λ(dir : Text) → dir) shareDirs          in  { var = "XDG_DATA_DIRS", value = flag }  let mkPathVar =-        λ(binDirs : List Text)-      → concatMapText Text (λ(dir : Text) → "${dir}:") binDirs+      λ(binDirs : List Text) →+        concatMapText Text (λ(dir : Text) → "${dir}:") binDirs  let unixPath =-        λ(binDirs : List Text)-      → { var = "PATH"+      λ(binDirs : List Text) →+        { var = "PATH"         , value =                 mkPathVar binDirs             ++  "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"         }  let defaultPath =-        λ(cfg : types.BuildVars)-      →       if isUnix cfg.buildOS-+      λ(cfg : types.BuildVars) →+        if    isUnix cfg.buildOS         then  [ unixPath cfg.binDirs ] : List types.EnvVar-         else  [] : List types.EnvVar  let libPath =-        λ(cfg : types.BuildVars)-      → if cfg.static then mkStaPath cfg.linkDirs else mkLDPath cfg.linkDirs+      λ(cfg : types.BuildVars) →+        if cfg.static then mkStaPath cfg.linkDirs else mkLDPath cfg.linkDirs  let mkLDPreload =-        λ(libs : List Text)-      → let flag = concatMapSep " " Text (λ(lib : Text) → lib) libs+      λ(libs : List Text) →+        let flag = concatMapSep " " Text (λ(lib : Text) → lib) libs          in  { var = "LD_PRELOAD", value = flag }  let configEnv =-        λ(linkLibs : List Text)-      → λ(cfg : types.BuildVars)-      →   defaultPath cfg+      λ(linkLibs : List Text) →+      λ(cfg : types.BuildVars) →+          defaultPath cfg         # [ mkLDFlagsGeneral cfg.linkDirs linkLibs cfg           , mkCFlags cfg           , mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs)@@ -392,8 +380,8 @@           ]  let buildEnv =-        λ(cfg : types.BuildVars)-      →   defaultPath cfg+      λ(cfg : types.BuildVars) →+          defaultPath cfg         # [ mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs)           , mkPerlLib               { libDirs = cfg.linkDirs, perlVersion = [ 5, 30, 2 ], cfg }@@ -402,27 +390,25 @@           ]  let configSome =-        λ(linkLibs : List Text)-      → λ(cfg : types.BuildVars)-      → Some (configEnv linkLibs cfg)+      λ(linkLibs : List Text) →+      λ(cfg : types.BuildVars) →+        Some (configEnv linkLibs cfg)  let generalConfigure =-        λ(envVars : List Text → types.BuildVars → Optional (List types.EnvVar))-      → λ(filename : Text)-      → λ(linkLibs : List Text)-      → λ(extraFlags : List Text)-      → λ(cfg : types.BuildVars)-      → let maybeHost = mkHost cfg.targetTriple+      λ(envVars : List Text → types.BuildVars → Optional (List types.EnvVar)) →+      λ(filename : Text) →+      λ(linkLibs : List Text) →+      λ(extraFlags : List Text) →+      λ(cfg : types.BuildVars) →+        let maybeHost = mkHost cfg.targetTriple          let modifyArgs = maybeAppend Text maybeHost          let mac = isMac cfg.buildOS          let modifyProg =-                    if mac-+              if    mac               then  λ(x : List Text) → [ "${filename}" ] # x-               else  λ(x : List Text) → x          let program = if mac then "sh" else "./${filename}"@@ -441,8 +427,8 @@             ]  let configWithEnv =-        λ(envVars : List Text → types.BuildVars → Optional (List types.EnvVar))-      → generalConfigure envVars "configure" ([] : List Text) ([] : List Text)+      λ(envVars : List Text → types.BuildVars → Optional (List types.EnvVar)) →+        generalConfigure envVars "configure" ([] : List Text) ([] : List Text)  let configureWithFlags =       generalConfigure configSome "configure" ([] : List Text)@@ -450,12 +436,12 @@ let defaultConfigure = configureWithFlags ([] : List Text)  let configureLinkExtraLibs =-        λ(linkLibs : List Text)-      → generalConfigure configSome "configure" linkLibs ([] : List Text)+      λ(linkLibs : List Text) →+        generalConfigure configSome "configure" linkLibs ([] : List Text)  let mkAclocalPath =-        λ(shareDirs : List Text)-      → let flag =+      λ(shareDirs : List Text) →+        let flag =               concatMapSep                 ":"                 Text@@ -465,19 +451,19 @@         in  { var = "ACLOCAL_PATH", value = flag }  let configureMkExesExtraFlags =-        λ(x : { bins : List Text, extraFlags : List Text })-      → λ(cfg : types.BuildVars)-      → mkExes x.bins # configureWithFlags x.extraFlags cfg+      λ(x : { bins : List Text, extraFlags : List Text }) →+      λ(cfg : types.BuildVars) →+        mkExes x.bins # configureWithFlags x.extraFlags cfg  let configureMkExes =-        λ(bins : List Text)-      → configureMkExesExtraFlags { bins, extraFlags = [] : List Text }+      λ(bins : List Text) →+        configureMkExesExtraFlags { bins, extraFlags = [] : List Text }  let generalBuild =-        λ(cpus : types.BuildVars → Natural)-      → λ(envs : List types.EnvVar)-      → λ(cfg : types.BuildVars)-      → [ call+      λ(cpus : types.BuildVars → Natural) →+      λ(envs : List types.EnvVar) →+      λ(cfg : types.BuildVars) →+        [ call             (   defaultCall               ⫽ { program = makeExe cfg.buildOS                 , arguments = [ "-j${Natural/show (cpus cfg)}" ]@@ -495,9 +481,9 @@ let defaultBuild = λ(cfg : types.BuildVars) → buildWith (buildEnv cfg) cfg  let installWith =-        λ(envs : List types.EnvVar)-      → λ(cfg : types.BuildVars)-      → [ call+      λ(envs : List types.EnvVar) →+      λ(cfg : types.BuildVars) →+        [ call             (   defaultCall               ⫽ { program = makeExe cfg.buildOS                 , arguments = [ "install" ]@@ -509,38 +495,34 @@ let defaultInstall = λ(cfg : types.BuildVars) → installWith (buildEnv cfg) cfg  let installWithBinaries =-        λ(bins : List Text)-      → λ(installVars : types.BuildVars)-      →   defaultInstall installVars-        # (       if not installVars.isCross-+      λ(bins : List Text) →+      λ(installVars : types.BuildVars) →+          defaultInstall installVars+        # ( if    not installVars.isCross             then  symlinkBinaries bins-             else  [] : List types.Command           )  let installWithManpages =-        λ(mans : List { file : Text, section : Natural })-      → λ(installVars : types.BuildVars)-      →   defaultInstall installVars-        # (       if not installVars.isCross-+      λ(mans : List { file : Text, section : Natural }) →+      λ(installVars : types.BuildVars) →+          defaultInstall installVars+        # ( if    not installVars.isCross             then  symlinkManpages mans-             else  [] : List types.Command           )  let unbounded = λ(x : Text) → { name = x, bound = types.VersionBound.NoBound }  let lowerBound =-        λ(pkg : { name : Text, lower : List Natural })-      → { name = pkg.name+      λ(pkg : { name : Text, lower : List Natural }) →+        { name = pkg.name         , bound = types.VersionBound.Lower { lower = pkg.lower }         }  let upperBound =-        λ(pkg : { name : Text, upper : List Natural })-      → { name = pkg.name+      λ(pkg : { name : Text, upper : List Natural }) →+        { name = pkg.name         , bound = types.VersionBound.Upper { upper = pkg.upper }         } @@ -553,25 +535,25 @@       }  let simplePackage =-        λ(pkg : { name : Text, version : List Natural })-      →   defaultPackage+      λ(pkg : { name : Text, version : List Natural }) →+          defaultPackage         ⫽ { pkgName = pkg.name           , pkgVersion = pkg.version           , pkgSubdir = "${pkg.name}-${showVersion pkg.version}"           }  let makeGnuExe =-        λ(pkg : { name : Text, version : List Natural })-      →   simplePackage pkg+      λ(pkg : { name : Text, version : List Natural }) →+          simplePackage pkg         ⫽ { pkgUrl =               "https://ftp.gnu.org/gnu/${pkg.name}/${pkg.name}-${showVersion-                                                                     pkg.version}.tar.xz"+                                                                   pkg.version}.tar.xz"           , installCommand = installWithBinaries [ "bin/${pkg.name}" ]           }  let makeGnuLibrary =-        λ(pkg : { name : Text, version : List Natural })-      →   simplePackage pkg+      λ(pkg : { name : Text, version : List Natural }) →+          simplePackage pkg         ⫽ { pkgUrl =               "https://ftp.gnu.org/pub/gnu/lib${pkg.name}/lib${pkg.name}-${showVersion                                                                              pkg.version}.tar.xz"@@ -581,8 +563,8 @@ let createDir = λ(x : Text) → types.Command.CreateDirectory { dir = x }  let printCMakeOS =-        λ(os : types.OS)-      → merge+      λ(os : types.OS) →+        merge           { FreeBSD = "BSD"           , OpenBSD = "BSD"           , NetBSD = "BSD"@@ -602,30 +584,29 @@           os  let cmakeConfigureGeneral =-        λ(envVars : types.BuildVars → Optional (List types.EnvVar))-      → λ(flags : List Text)-      → λ(cfg : types.BuildVars)-      → let host =-              Optional/fold-                types.TargetTriple+      λ(envVars : types.BuildVars → Optional (List types.EnvVar)) →+      λ(flags : List Text) →+      λ(cfg : types.BuildVars) →+        let host =+              merge+                { Some =+                    λ(tgt : types.TargetTriple) →+                      [ "-DCMAKE_C_COMPILER=${printTargetTriple tgt}-gcc"+                      , "-DCMAKE_CXX_COMPILER=${printTargetTriple tgt}-g++"+                      ]+                , None =+                  [ "-DCMAKE_C_COMPILER=gcc", "-DCMAKE_CXX_COMPILER=g++" ]+                }                 cfg.targetTriple-                (List Text)-                (   λ(tgt : types.TargetTriple)-                  → [ "-DCMAKE_C_COMPILER=${printTargetTriple tgt}-gcc"-                    , "-DCMAKE_CXX_COMPILER=${printTargetTriple tgt}-g++"-                    ]-                )-                [ "-DCMAKE_C_COMPILER=gcc", "-DCMAKE_CXX_COMPILER=g++" ]          let system =-              Optional/fold-                types.TargetTriple+              merge+                { Some =+                    λ(tgt : types.TargetTriple) →+                      [ "-DCMAKE_SYSTEM_NAME=${printCMakeOS tgt.os}" ]+                , None = [] : List Text+                }                 cfg.targetTriple-                (List Text)-                (   λ(tgt : types.TargetTriple)-                  → [ "-DCMAKE_SYSTEM_NAME=${printCMakeOS tgt.os}" ]-                )-                ([] : List Text)          in  [ createDir "build"             , call@@ -644,8 +625,8 @@             ]  let cmakeEnv =-        λ(cfg : types.BuildVars)-      →   [ mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs)+      λ(cfg : types.BuildVars) →+          [ mkPkgConfigVar (cfg.shareDirs # cfg.linkDirs)           , { var = "CMAKE_INCLUDE_PATH"             , value = (mkIncludePath cfg.includeDirs).value             }@@ -660,28 +641,26 @@ let cmakeConfigure = cmakeConfigureWithFlags ([] : List Text)  let cmakeConfigureNinja =-        λ(cfg : types.BuildVars)-      → let host =-              Optional/fold-                types.TargetTriple+      λ(cfg : types.BuildVars) →+        let host =+              merge+                { Some =+                    λ(tgt : types.TargetTriple) →+                      [ "-DCMAKE_C_COMPILER=${printTargetTriple tgt}-gcc"+                      , "-DCMAKE_CXX_COMPILER=${printTargetTriple tgt}-g++"+                      ]+                , None = [] : List Text+                }                 cfg.targetTriple-                (List Text)-                (   λ(tgt : types.TargetTriple)-                  → [ "-DCMAKE_C_COMPILER=${printTargetTriple tgt}-gcc"-                    , "-DCMAKE_CXX_COMPILER=${printTargetTriple tgt}-g++"-                    ]-                )-                ([] : List Text)          let system =-              Optional/fold-                types.TargetTriple+              merge+                { Some =+                    λ(tgt : types.TargetTriple) →+                      [ "-DCMAKE_SYSTEM_NAME=${printCMakeOS tgt.os}" ]+                , None = [] : List Text+                }                 cfg.targetTriple-                (List Text)-                (   λ(tgt : types.TargetTriple)-                  → [ "-DCMAKE_SYSTEM_NAME=${printCMakeOS tgt.os}" ]-                )-                ([] : List Text)          in  [ createDir "build"             , call@@ -700,8 +679,8 @@             ]  let cmakeBuild =-        λ(cfg : types.BuildVars)-      → [ call+      λ(cfg : types.BuildVars) →+        [ call             { program = "cmake"             , arguments =               [ "--build"@@ -718,8 +697,8 @@         ]  let cmakeInstall =-        λ(cfg : types.BuildVars)-      → [ call+      λ(cfg : types.BuildVars) →+        [ call             { program = "cmake"             , arguments =               [ "--build", ".", "--target", "install", "--config", "Release" ]@@ -729,9 +708,9 @@         ]  let cmakeInstallWithBinaries =-        λ(bins : List Text)-      → λ(installVars : types.BuildVars)-      → cmakeInstall installVars # symlinkBinaries bins+      λ(bins : List Text) →+      λ(installVars : types.BuildVars) →+        cmakeInstall installVars # symlinkBinaries bins  let cmakePackage =         defaultPackage@@ -742,8 +721,8 @@         }  let autogenConfigure =-        λ(cfg : types.BuildVars)-      →   [ call+      λ(cfg : types.BuildVars) →+          [ call               (   defaultCall                 ⫽ { program = "./autogen.sh"                   , environment = Some@@ -758,18 +737,18 @@         # defaultConfigure cfg  let fullVersion =-        λ(x : { version : List Natural, patch : Natural })-      → x.version # [ x.patch ]+      λ(x : { version : List Natural, patch : Natural }) →+        x.version # [ x.patch ]  let mkPyPath =-        λ(version : List Natural)-      → λ(libDirs : List Text)-      → let flag =+      λ(version : List Natural) →+      λ(libDirs : List Text) →+        let flag =               concatMapSep                 ":"                 Text-                (   λ(dir : Text)-                  → "${dir}/python${showVersion version}/site-packages"+                ( λ(dir : Text) →+                    "${dir}/python${showVersion version}/site-packages"                 )                 libDirs @@ -778,14 +757,14 @@ let mkPy3Path = mkPyPath [ 3, 8 ]  let mesonCfgFile =-        λ(cfg : types.BuildVars)-      → let prefix =-              Optional/fold-                types.TargetTriple+      λ(cfg : types.BuildVars) →+        let prefix =+              merge+                { Some =+                    λ(tgt : types.TargetTriple) → "${printTargetTriple tgt}-"+                , None = ""+                }                 cfg.targetTriple-                Text-                (λ(tgt : types.TargetTriple) → "${printTargetTriple tgt}-")-                ""          in      ''                 [binaries]@@ -820,8 +799,8 @@             ++  "endian = 'little'"  let mesonEnv =-        λ(cfg : types.BuildVars)-      → Some+      λ(cfg : types.BuildVars) →+        Some           (   [ mkPkgConfigVar (cfg.linkDirs # cfg.shareDirs)               , mkPy3Path cfg.linkDirs               , libPath cfg@@ -834,14 +813,12 @@           )  let mesonConfigureGeneral =-        λ(envs : types.BuildVars → Optional (List types.EnvVar))-      → λ(flags : List Text)-      → λ(cfg : types.BuildVars)-      → let crossArgs =-                    if cfg.isCross-+      λ(envs : types.BuildVars → Optional (List types.EnvVar)) →+      λ(flags : List Text) →+      λ(cfg : types.BuildVars) →+        let crossArgs =+              if    cfg.isCross               then  [ "--cross-file", "cross.txt" ]-               else  [] : List Text          in  [ createDir "build"@@ -861,13 +838,11 @@ let mesonConfigure = mesonConfigureWithFlags ([] : List Text)  let ninjaBuildWith =-        λ(linkLibs : List Text)-      → λ(cfg : types.BuildVars)-      → let ldPreload =-                    if cfg.isCross-+      λ(linkLibs : List Text) →+      λ(cfg : types.BuildVars) →+        let ldPreload =+              if    cfg.isCross               then  [] : List types.EnvVar-               else  [ mkLDPreload cfg.preloadLibs ]          in  [ call@@ -892,8 +867,8 @@ let ninjaBuild = ninjaBuildWith ([] : List Text)  let ninjaInstall =-        λ(cfg : types.BuildVars)-      → [ call+      λ(cfg : types.BuildVars) →+        [ call             (   defaultCall               ⫽ { program = "ninja"                 , environment = Some@@ -913,8 +888,8 @@         ]  let ninjaPackage =-        λ(x : { name : Text, version : List Natural })-      →   simplePackage x+      λ(x : { name : Text, version : List Natural }) →+          simplePackage x         ⫽ { configureCommand = mesonConfigure           , buildCommand = ninjaBuild           , installCommand = ninjaInstall@@ -925,9 +900,9 @@       map { src : Text, dest : Text } types.Command types.Command.CopyFile  let ninjaInstallWithPkgConfig =-        λ(fs : List { src : Text, dest : Text })-      → λ(cfg : types.BuildVars)-      → ninjaInstall cfg # copyFiles fs+      λ(fs : List { src : Text, dest : Text }) →+      λ(cfg : types.BuildVars) →+        ninjaInstall cfg # copyFiles fs  let doNothing = λ(_ : types.BuildVars) → [] : List types.Command @@ -935,22 +910,19 @@       map         Text         { src : Text, dest : Text }-        (   λ(pcFile : Text)-          → { src = "build/meson-private/${pcFile}"+        ( λ(pcFile : Text) →+            { src = "build/meson-private/${pcFile}"             , dest = "lib/pkgconfig/${pcFile}"             }         )  let pythonBuild =-        λ(version : List Natural)-      → λ(cfg : types.BuildVars)-      → let major =-              Optional/fold-                Natural+      λ(version : List Natural) →+      λ(cfg : types.BuildVars) →+        let major =+              merge+                { Some = Natural/show, None = "" }                 (List/head Natural version)-                Text-                Natural/show-                ""          let versionString = showVersion version @@ -975,15 +947,12 @@             ]  let pythonInstall =-        λ(version : List Natural)-      → λ(cfg : types.BuildVars)-      → let major =-              Optional/fold-                Natural+      λ(version : List Natural) →+      λ(cfg : types.BuildVars) →+        let major =+              merge+                { Some = Natural/show, None = "" }                 (List/head Natural version)-                Text-                Natural/show-                ""          let versionString = showVersion version @@ -1013,15 +982,12 @@             ]  let pythonPackage =-        λ(pyVersion : List Natural)-      → λ(x : { name : Text, version : List Natural })-      → let major =-              Optional/fold-                Natural+      λ(pyVersion : List Natural) →+      λ(x : { name : Text, version : List Natural }) →+        let major =+              merge+                { Some = Natural/show, None = "" }                 (List/head Natural pyVersion)-                Text-                Natural/show-                ""          in    simplePackage x             ⫽ { configureCommand = doNothing@@ -1039,40 +1005,41 @@ let python2Package = pythonPackage [ 2, 7 ]  let mkCCVar =-        λ(cfg : types.BuildVars)-      → Optional/fold-          types.TargetTriple+      λ(cfg : types.BuildVars) →+        merge+          { Some =+              λ(tgt : types.TargetTriple) →+                [ { var = "CC", value = "${printTargetTriple tgt}-gcc" } ]+          , None = [] : List types.EnvVar+          }           cfg.targetTriple-          (List types.EnvVar)-          (   λ(tgt : types.TargetTriple)-            → [ { var = "CC", value = "${printTargetTriple tgt}-gcc" } ]-          )-          ([] : List types.EnvVar)  let squishVersion = concatMapText Natural Natural/show  let mkCCArg =-        λ(cfg : types.BuildVars)-      → Optional/fold-          types.TargetTriple+      λ(cfg : types.BuildVars) →+        merge+          { Some =+              λ(tgt : types.TargetTriple) →+                [ "CC=${printTargetTriple tgt}-gcc" ]+          , None = [] : List Text+          }           cfg.targetTriple-          (List Text)-          (λ(tgt : types.TargetTriple) → [ "CC=${printTargetTriple tgt}-gcc" ])-          ([] : List Text)  let mkFRCArg =-        λ(cfg : types.BuildVars)-      → Optional/fold-          types.TargetTriple+      λ(cfg : types.BuildVars) →+        merge+          { Some =+              λ(tgt : types.TargetTriple) →+                [ "CC=${printTargetTriple tgt}-gcc" ]+          , None = [] : List Text+          }           cfg.targetTriple-          (List Text)-          (λ(tgt : types.TargetTriple) → [ "CC=${printTargetTriple tgt}-gcc" ])-          ([] : List Text)  let preloadEnv =-        λ(_ : List Text)-      → λ(cfg : types.BuildVars)-      → Some+      λ(_ : List Text) →+      λ(cfg : types.BuildVars) →+        Some           (   defaultPath cfg             # [ mkLDFlags cfg.linkDirs cfg               , mkCFlags cfg@@ -1086,8 +1053,8 @@           )  let perlConfigure =-        λ(cfg : types.BuildVars)-      → [ call+      λ(cfg : types.BuildVars) →+        [ call             { program = "perl"             , arguments = [ "Makefile.PL", "PREFIX=${cfg.installDir}" ]             , environment = preloadEnv ([] : List Text) cfg@@ -1101,10 +1068,10 @@ let printEnvVar = λ(var : types.EnvVar) → "${var.var}=${var.value}"  let mkPyWrapper =-        λ(version : List Natural)-      → λ(binName : Text)-      → λ(cfg : types.BuildVars)-      → let wrapperContents =+      λ(version : List Natural) →+      λ(binName : Text) →+      λ(cfg : types.BuildVars) →+        let wrapperContents =               "${printEnvVar                    ( libPath cfg                    )} ${printEnvVar@@ -1126,10 +1093,10 @@ let mkPy2Wrapper = mkPyWrapper [ 2, 7 ]  let installWithPyWrappers =-        λ(version : List Natural)-      → λ(binNames : List Text)-      → λ(cfg : types.BuildVars)-      →   pythonInstall version cfg+      λ(version : List Natural) →+      λ(binNames : List Text) →+      λ(cfg : types.BuildVars) →+          pythonInstall version cfg         # concatMap             Text             types.Command@@ -1139,9 +1106,9 @@ let installWithPy3Wrappers = installWithPyWrappers [ 3, 8 ]  let mkLDPathWrapper =-        λ(cfg : types.BuildVars)-      → λ(binName : Text)-      → let wrapper =+      λ(cfg : types.BuildVars) →+      λ(binName : Text) →+        let wrapper =               "${printEnvVar                    ( mkLDPath cfg.linkDirs                    )}:${cfg.installDir}/lib LD_PRELOAD='${( mkLDPreload@@ -1158,24 +1125,24 @@             ]  let mkLDPathWrappers =-        λ(cfg : types.BuildVars)-      → λ(bins : List Text)-      → concatMap+      λ(cfg : types.BuildVars) →+      λ(bins : List Text) →+        concatMap           Text           types.Command           (λ(bin : Text) → mkLDPathWrapper cfg bin)           bins  let installWithWrappers =-        λ(bins : List Text)-      → λ(cfg : types.BuildVars)-      → defaultInstall cfg # mkLDPathWrappers cfg bins+      λ(bins : List Text) →+      λ(cfg : types.BuildVars) →+        defaultInstall cfg # mkLDPathWrappers cfg bins  let underscoreVersion = concatMapSep "_" Natural Natural/show  let isX64 =-        λ(arch : types.Arch)-      → merge+      λ(arch : types.Arch) →+        merge           { X64 = True           , AArch = False           , Arm = False@@ -1203,16 +1170,16 @@           arch  let configureWithPatches =-        λ(patches : List Text)-      → λ(cfg : types.BuildVars)-      →   map Text types.Command (λ(p : Text) → patch p) patches+      λ(patches : List Text) →+      λ(cfg : types.BuildVars) →+          map Text types.Command (λ(p : Text) → patch p) patches         # defaultConfigure cfg  let configureWithPatch = λ(p : Text) → configureWithPatches [ p ]  let installPrefix =-        λ(cfg : types.BuildVars)-      → [ call+      λ(cfg : types.BuildVars) →+        [ call             (   defaultCall               ⫽ { program = "make"                 , arguments =
pkgs/pkg-set.dhall view
@@ -10,5020 +10,4984 @@ let prelude = ../dhall/cpkg-prelude.dhall  let gpgPackage =-        λ(x : { name : Text, version : List Natural })-      →   prelude.simplePackage x-        ⫽ { pkgUrl =-              "https://gnupg.org/ftp/gcrypt/${x.name}/${x.name}-${prelude.showVersion-                                                                    x.version}.tar.bz2"-          }--let gnupg =-        λ(v : List Natural)-      →   gpgPackage { name = "gnupg", version = v }-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "npth", lower = [ 1, 2 ] }-            , prelude.lowerBound { name = "libgpg-error", lower = [ 1, 24 ] }-            , prelude.lowerBound { name = "libgcrypt", lower = [ 1, 7, 0 ] }-            , prelude.lowerBound { name = "libassuan", lower = [ 2, 5, 0 ] }-            , prelude.lowerBound { name = "libksba", lower = [ 1, 3, 4 ] }-            ]-          , installCommand = prelude.installWithBinaries [ "bin/gpg" ]-          }--let npth = λ(v : List Natural) → gpgPackage { name = "npth", version = v }--let libgpgError =-      λ(v : List Natural) → gpgPackage { name = "libgpg-error", version = v }--let libgcrypt =-        λ(v : List Natural)-      →   gpgPackage { name = "libgcrypt", version = v }-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 25 ] } ]-          }--let libassuan =-        λ(v : List Natural)-      →   gpgPackage { name = "libassuan", version = v }-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 24 ] } ]-          }--let libksba =-        λ(v : List Natural)-      →   gpgPackage { name = "libksba", version = v }-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 8 ] } ]-          }--let musl =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "musl", version = v }-        ⫽ { pkgUrl =-              "https://www.musl-libc.org/releases/musl-${prelude.showVersion-                                                           v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/musl-gcc" ]-          }--let binutils =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "binutils", version = v }-        ⫽ { pkgUrl =-              "https://ftp.wayne.edu/gnu/binutils/binutils-${prelude.showVersion-                                                               v}.tar.lz"-          , installCommand =-              prelude.installWithBinaries-                [ "bin/ar"-                , "bin/as"-                , "bin/ld"-                , "bin/strip"-                , "bin/strings"-                , "bin/readelf"-                , "bin/objdump"-                , "bin/nm"-                , "bin/ranlib"-                ]-          }--let bison =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "bison", version = v }-        ⫽ { buildCommand =-                λ(cfg : types.BuildVars)-              → prelude.generalBuild-                  prelude.singleThreaded-                  (prelude.buildEnv cfg)-                  cfg-          , installCommand =-              prelude.installWithBinaries [ "bin/bison", "bin/yacc" ]-          , pkgBuildDeps = [ prelude.unbounded "m4" ]-          }--let cmake =-        λ(cfg : { version : List Natural, patch : Natural })-      → let patchString = Natural/show cfg.patch--        let versionString = prelude.showVersion cfg.version--        let cmakeConfigure =-                λ(cfg : types.BuildVars)-              → prelude.configureMkExesExtraFlags-                  { bins = [ "bootstrap" ]-                  , extraFlags = [ "--parallel=${Natural/show cfg.cpus}" ]-                  }-                  cfg--        in    prelude.defaultPackage-            ⫽ { pkgName = "cmake"-              , pkgVersion = prelude.fullVersion cfg-              , pkgUrl =-                  "https://cmake.org/files/v${versionString}/cmake-${versionString}.${patchString}.tar.gz"-              , pkgSubdir = "cmake-${versionString}.${patchString}"-              , configureCommand = cmakeConfigure-              , installCommand =-                    λ(cfg : types.BuildVars)-                  → let wrapper =-                          "CMAKE_ROOT=${cfg.installDir}/share/cmake-${versionString}/ ${cfg.installDir}/bin/cmake \$@"--                    let wrapped = "wrapper/cmake"--                    in    prelude.defaultInstall cfg-                        # [ prelude.createDir "wrapper"-                          , prelude.writeFile-                              { file = wrapped, contents = wrapper }-                          , prelude.mkExe wrapped-                          , prelude.copyFile wrapped wrapped-                          , prelude.symlinkBinary wrapped-                          ]-              }--let curl =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "curl", version = v }-        ⫽ { pkgUrl =-              "https://curl.haxx.se/download/curl-${prelude.showVersion-                                                      v}.tar.xz"-          , installCommand = prelude.installWithBinaries [ "bin/curl" ]-          , pkgDeps = [ prelude.unbounded "zlib" ]-          }--let dbus =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "dbus", version = v }-        ⫽ { pkgUrl =-              "https://dbus.freedesktop.org/releases/dbus/dbus-${prelude.showVersion-                                                                   v}.tar.xz"-          , pkgDeps =-            [ prelude.unbounded "expat", prelude.unbounded "libselinux" ]-          , configureCommand = prelude.configureLinkExtraLibs [ "pcre" ]-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          }--let fltk =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "fltk", version = v }-            ⫽ { pkgUrl =-                  "http://fltk.org/pub/fltk/${versionString}/fltk-${versionString}-source.tar.bz2"-              , pkgSubdir = "fltk-${versionString}"-              , pkgDeps =-                [ prelude.unbounded "libX11"-                , prelude.unbounded "alsa-lib"-                , prelude.unbounded "zlib"-                , prelude.unbounded "libpng"-                , prelude.unbounded "libXft"-                , prelude.unbounded "freetype"-                ]-              }--let gawk =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "gawk", version = v }-        ⫽ { installCommand =-              prelude.installWithBinaries [ "bin/gawk", "bin/awk" ]-          }--let gc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "gc", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/ivmai/bdwgc/releases/download/v${versionString}/gc-${versionString}.tar.gz"-              , pkgDeps = [ prelude.unbounded "libatomic_ops" ]-              }--let libatomic_ops =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libatomic_ops", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/ivmai/libatomic_ops/releases/download/v${versionString}/libatomic_ops-${versionString}.tar.gz"-              }--let git =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "git", version = v }-        ⫽ { pkgUrl =-              "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${prelude.showVersion-                                                                            v}.tar.xz"-          , installCommand = prelude.installWithBinaries [ "bin/git" ]-          , pkgBuildDeps = [ prelude.unbounded "gettext" ]-          }--let glibc =-      let buildDir = Some "build"--      let glibcConfigure =-              λ(cfg : types.BuildVars)-            → let maybeHost = prelude.mkHost cfg.targetTriple--              let modifyArgs = prelude.maybeAppend Text maybeHost--              in  [ prelude.createDir "build"-                  , prelude.call-                      { program = "../configure"-                      , arguments = modifyArgs [ "--prefix=${cfg.installDir}" ]-                      , environment = prelude.configSome ([] : List Text) cfg-                      , procDir = buildDir-                      }-                  ]--      let glibcBuild =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  { program = prelude.makeExe cfg.buildOS-                  , arguments = [ "-j${Natural/show cfg.cpus}" ]-                  , environment = prelude.configSome ([] : List Text) cfg-                  , procDir = buildDir-                  }-              ]--      let glibcInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  { program = prelude.makeExe cfg.buildOS-                  , arguments = [ "install" ]-                  , environment = prelude.configSome ([] : List Text) cfg-                  , procDir = buildDir-                  }-              ]--      in    λ(v : List Natural)-          →   prelude.defaultPackage-            ⫽ { pkgName = "glibc"-              , pkgVersion = v-              , pkgUrl =-                  "http://mirror.keystealth.org/gnu/libc/glibc-${prelude.showVersion-                                                                   v}.tar.xz"-              , pkgSubdir = "glibc-${prelude.showVersion v}"-              , configureCommand = glibcConfigure-              , buildCommand = glibcBuild-              , installCommand = glibcInstall-              , pkgBuildDeps =-                [ prelude.unbounded "bison"-                , prelude.unbounded "gawk"-                , prelude.unbounded "python3"-                ]-              }--let gmp =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "gmp", version = v }-        ⫽ { pkgUrl =-              "https://gmplib.org/download/gmp/gmp-${prelude.showVersion-                                                       v}.tar.lz"-          , pkgBuildDeps = [ prelude.unbounded "m4" ]-          }--let harfbuzz =-      let symlinkHarfbuzz =-            λ(h : Text) → prelude.symlink "include/harfbuzz/${h}" "include/${h}"--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "harfbuzz", version = v }-            ⫽ { pkgUrl =-                  "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${prelude.showVersion-                                                                                      v}.tar.xz"-              , pkgDeps =-                [ prelude.unbounded "freetype-prebuild"-                , prelude.unbounded "glib"-                ]-              , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-              , configureCommand =-                  prelude.configureLinkExtraLibs [ "pcre", "z" ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.defaultInstall cfg-                    # [ symlinkHarfbuzz "hb-aat-layout.h"-                      , symlinkHarfbuzz "hb-aat.h"-                      , symlinkHarfbuzz "hb-blob.h"-                      , symlinkHarfbuzz "hb-buffer.h"-                      , symlinkHarfbuzz "hb-common.h"-                      , symlinkHarfbuzz "hb-deprecated.h"-                      , symlinkHarfbuzz "hb-face.h"-                      , symlinkHarfbuzz "hb-font.h"-                      , symlinkHarfbuzz "hb-ft.h"-                      , symlinkHarfbuzz "hb-glib.h"-                      , symlinkHarfbuzz "hb-icu.h"-                      , symlinkHarfbuzz "hb-map.h"-                      , symlinkHarfbuzz "hb-ot-color.h"-                      , symlinkHarfbuzz "hb-ot-font.h"-                      , symlinkHarfbuzz "hb-ot-layout.h"-                      , symlinkHarfbuzz "hb-ot-math.h"-                      , symlinkHarfbuzz "hb-ot-name.h"-                      , symlinkHarfbuzz "hb-ot-shape.h"-                      , symlinkHarfbuzz "hb-ot-var.h"-                      , symlinkHarfbuzz "hb-ot.h"-                      , symlinkHarfbuzz "hb-set.h"-                      , symlinkHarfbuzz "hb-shape-plan.h"-                      , symlinkHarfbuzz "hb-shape.h"-                      , symlinkHarfbuzz "hb-subset.h"-                      , symlinkHarfbuzz "hb-unicode.h"-                      , symlinkHarfbuzz "hb-version.h"-                      , symlinkHarfbuzz "hb.h"-                      ]-              }--let libjpeg-turbo =-        λ(v : List Natural)-      →   prelude.cmakePackage-        ⫽ { pkgName = "libjpeg-turbo"-          , pkgVersion = v-          , pkgUrl =-              "https://ayera.dl.sourceforge.net/project/libjpeg-turbo/${prelude.showVersion-                                                                          v}/libjpeg-turbo-${prelude.showVersion-                                                                                               v}.tar.gz"-          , pkgSubdir = "libjpeg-turbo-${prelude.showVersion v}"-          , pkgBuildDeps =-            [ prelude.unbounded "cmake"-            , prelude.unbounded "nasm"-            , prelude.unbounded "make"-            ]-          }--let libuv =-        λ(v : List Natural)-      →   prelude.defaultPackage-        ⫽ { pkgName = "libuv"-          , pkgVersion = v-          , pkgUrl =-              "https://dist.libuv.org/dist/v${prelude.showVersion-                                                v}/libuv-v${prelude.showVersion-                                                              v}.tar.gz"-          , pkgSubdir = "libuv-v${prelude.showVersion v}"-          , configureCommand = prelude.autogenConfigure-          , pkgBuildDeps =-            [ prelude.unbounded "m4"-            , prelude.unbounded "automake"-            , prelude.unbounded "libtool"-            ]-          }--let nasm =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "nasm", version = v }-        ⫽ { pkgUrl =-              "http://www.nasm.us/pub/nasm/releasebuilds/${prelude.showVersion-                                                             v}.02/nasm-${prelude.showVersion-                                                                            v}.02.tar.xz"-          , pkgSubdir = "nasm-${prelude.showVersion v}.02"-          , installCommand =-              prelude.installWithBinaries [ "bin/nasm", "bin/ndisasm" ]-          }--let ncurses =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "ncurses", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/ncurses/ncurses-${prelude.showVersion-                                                     v}.tar.gz"-          , configureCommand =-                λ(cfg : types.BuildVars)-              → let crossArgs =-                            if cfg.isCross--                      then  [ "--disable-stripping" ]--                      else  [] : List Text--                in  prelude.configureWithFlags-                      ([ "--with-shared", "--enable-widec" ] # crossArgs)-                      cfg-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.defaultInstall cfg-                # [ prelude.symlink "lib/libncursesw.so" "lib/libncurses.so" ]-          }--let pcre2 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pcre2", version = v }-        ⫽ { pkgUrl =-              "https://ftp.pcre.org/pub/pcre/pcre2-${prelude.showVersion-                                                       v}.tar.bz2"-          }--let pcre =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pcre", version = v }-        ⫽ { pkgUrl =-              "https://ftp.pcre.org/pub/pcre/pcre-${prelude.showVersion-                                                      v}.tar.bz2"-          , configureCommand =-              prelude.configureWithFlags-                [ "--enable-utf8", "--enable-unicode-properties" ]-          }--let perl5 =-      let perlConfigure =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "sh"-                      , arguments =-                            [ "./Configure"-                            , "-des"-                            , "-Dprefix=${cfg.installDir}"-                            ]-                          # (       if cfg.static--                              then  [] : List Text--                              else  [ "-Duseshrplib" ]-                            )-                      }-                  )-              ]--      in  let linkDir =-                  λ(os : types.OS)-                → merge-                    { FreeBSD = "CORE"-                    , OpenBSD = "CORE"-                    , NetBSD = "CORE"-                    , Solaris = "CORE"-                    , Dragonfly = "CORE"-                    , Linux = "CORE"-                    , Darwin = "darwin-2level/CORE"-                    , Windows = "CORE"-                    , Redox = "CORE"-                    , Haiku = "CORE"-                    , IOS = "darwin-2level/CORE"-                    , AIX = "CORE"-                    , Hurd = "CORE"-                    , Android = "CORE"-                    , NoOs = "CORE"-                    }-                    os--          in    λ(v : List Natural)-              → let major =-                      Optional/fold-                        Natural-                        (List/head Natural v)-                        Text-                        Natural/show-                        ""--                in    prelude.simplePackage { name = "perl", version = v }-                    ⫽ { pkgUrl =-                          "https://www.cpan.org/src/${major}.0/perl-${prelude.showVersion-                                                                        v}.tar.gz"-                      , configureCommand = perlConfigure-                      , buildCommand =-                            λ(cfg : types.BuildVars)-                          → prelude.generalBuild-                              prelude.singleThreaded-                              (prelude.buildEnv cfg)-                              cfg-                      , installCommand =-                            λ(cfg : types.BuildVars)-                          → let libperlFile =-                                        if cfg.static--                                  then  "libperl.a"--                                  else  "libperl.${prelude.libSuffix-                                                     (prelude.osCfg cfg)}"--                            in    prelude.installWithBinaries-                                    [ "bin/perl", "bin/cpan", "bin/ptar" ]-                                    cfg-                                # [ prelude.symlink-                                      "lib/${prelude.showVersion-                                               v}/${prelude.printArch-                                                      cfg.buildArch}-${prelude.printOS-                                                                         cfg.buildOS}/${linkDir-                                                                                          cfg.buildOS}/${libperlFile}"-                                      "lib/${libperlFile}"-                                  ]-                      }--let libpng =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libpng", version = v }-        ⫽ { pkgUrl =-              "https://download.sourceforge.net/libpng/libpng-${prelude.showVersion-                                                                  v}.tar.xz"-          , pkgDeps = [ prelude.unbounded "zlib" ]-          }--let sed =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "sed", version = v }-        ⫽ { installCommand =-              prelude.installWithManpages-                [ { file = "share/man/man1/sed.1", section = 1 } ]-          , configureCommand =-              prelude.configureWithFlags [ "--disable-dependency-tracking" ]-          }--let tar = λ(v : List Natural) → prelude.makeGnuExe { name = "tar", version = v }--let unistring =-        λ(v : List Natural)-      → prelude.makeGnuLibrary { name = "unistring", version = v }--let valgrind =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "valgrind", version = v }-        ⫽ { pkgUrl =-              "https://sourceware.org/pub/valgrind/valgrind-${prelude.showVersion-                                                                v}.tar.bz2"-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/valgrind" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/pdfgrep.1", section = 1 } ]-          }--let vim =-        λ(v : List Natural)-      →   prelude.defaultPackage-        ⫽ { pkgName = "vim"-          , pkgVersion = v-          , pkgUrl =-              "http://ftp.vim.org/vim/unix/vim-${prelude.showVersion v}.tar.bz2"-          , pkgSubdir = "vim${prelude.squishVersion v}"-          , configureCommand =-              prelude.configureMkExesExtraFlags-                { bins =-                  [ "src/configure", "src/auto/configure", "src/which.sh" ]-                , extraFlags = [ "--enable-gui=no", "--enable-pythoninterp" ]-                }-          , installCommand =-                λ(cfg : types.BuildVars)-              → let mkLibDynload =-                        λ(libs : List Text)-                      → concatMapSep-                          ":"-                          Text-                          (   λ(dir : Text)-                            → "${dir}:${dir}/python2.7/lib-dynload"-                          )-                          libs--                let mkPython =-                        λ(libs : List Text)-                      → concatMapSep-                          ":"-                          Text-                          (   λ(dir : Text)-                            → "${dir}/python2.7/:${dir}/python2.7/lib-dynload"-                          )-                          libs--                let wrapper =-                      "LD_LIBRARY_PATH=${mkLibDynload-                                           cfg.linkDirs} PYTHONPATH=${mkPython-                                                                        cfg.linkDirs} ${cfg.installDir}/bin/vim \$@"--                let wrapped = "wrapper/vim"--                in    prelude.installWithBinaries [ "bin/xxd" ] cfg-                    # [ prelude.createDir "wrapper"-                      , prelude.writeFile { file = wrapped, contents = wrapper }-                      , prelude.mkExe wrapped-                      , prelude.copyFile wrapped wrapped-                      , prelude.symlinkBinary wrapped-                      ]-          , pkgDeps =-            [ prelude.unbounded "ncurses"-            , prelude.unbounded "libXpm"-            , prelude.unbounded "libXt"-            , prelude.unbounded "python2"-            ]-          }--let xz =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "xz", version = v }-        ⫽ { pkgUrl = "https://tukaani.org/xz/xz-${prelude.showVersion v}.tar.xz"-          , installCommand = prelude.installWithBinaries [ "bin/xz" ]-          }--let zlib =-        λ(v : List Natural)-      → let zlibConfigure =-                λ(cfg : types.BuildVars)-              → let host = prelude.mkCCVar cfg--                in  [ prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = "sh"-                            , arguments =-                              [ "configure", "--prefix=${cfg.installDir}" ]-                            , environment = Some-                                (   host-                                  # [ { var = "PATH"-                                      , value =-                                          "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"-                                      }-                                    ]-                                )-                            }-                        )-                    ]--        in    prelude.simplePackage { name = "zlib", version = v }-            ⫽ { pkgUrl =-                  "http://www.zlib.net/zlib-${prelude.showVersion v}.tar.xz"-              , configureCommand = zlibConfigure-              , installCommand =-                  prelude.installWithManpages-                    [ { file = "share/man/man3/zlib.3", section = 3 } ]-              }--let gettext =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "gettext", version = v }-        ⫽ { installCommand =-              prelude.installWithBinaries-                [ "bin/gettext", "bin/msgfmt", "bin/autopoint" ]-          , configureCommand =-              prelude.configureWithFlags [ "--disable-dependency-tracking" ]-          }--let gzip =-      λ(v : List Natural) → prelude.makeGnuExe { name = "gzip", version = v }--let wget =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "wget", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/wget/wget-${prelude.showVersion-                                                     v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "gnutls" ]-          , pkgBuildDeps = [ prelude.unbounded "perl" ]-          , installCommand = prelude.installWithWrappers [ "wget" ]-          }--let gnutls =-        λ(cfg : { version : List Natural, patch : List Natural })-      → let versionString = prelude.showVersion cfg.version--        in    prelude.simplePackage-                { name = "gnutls", version = cfg.version # cfg.patch }-            ⫽ { pkgUrl =-                  "https://www.gnupg.org/ftp/gcrypt/gnutls/v${versionString}/gnutls-${versionString}.${prelude.showVersion-                                                                                                         cfg.patch}.tar.xz"-              , pkgDeps =-                [ prelude.lowerBound { name = "nettle", lower = [ 3, 1 ] }-                , prelude.unbounded "unistring"-                , prelude.lowerBound { name = "libtasn1", lower = [ 4, 9 ] }-                , prelude.lowerBound { name = "p11-kit", lower = [ 0, 23, 1 ] }-                ]-              , configureCommand =-                  prelude.configureLinkExtraLibs [ "nettle", "hogweed" ]-              }--let lapack =-        λ(v : List Natural)-      →   prelude.cmakePackage-        ⫽ { pkgName = "lapack"-          , pkgVersion = v-          , pkgUrl =-              "http://www.netlib.org/lapack/lapack-${prelude.showVersion-                                                       v}.tar.gz"-          , pkgSubdir = "lapack-${prelude.showVersion v}"-          , pkgBuildDeps =-            [ prelude.unbounded "cmake", prelude.unbounded "gcc" ]-          }--let cairo =-      let symlinkCairo =-            λ(h : Text) → prelude.symlink "include/cairo/${h}" "include/${h}"--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "cairo", version = v }-            ⫽ { pkgUrl =-                  "https://www.cairographics.org/releases/cairo-${prelude.showVersion-                                                                    v}.tar.xz"-              , pkgDeps =-                [ prelude.lowerBound { name = "pixman", lower = [ 0, 30, 0 ] }-                , prelude.lowerBound { name = "freetype", lower = [ 9, 7, 3 ] }-                , prelude.lowerBound-                    { name = "fontconfig", lower = [ 2, 2, 95 ] }-                , prelude.unbounded "libXext"-                ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.defaultInstall cfg-                    # [ symlinkCairo "cairo-deprecated.h"-                      , symlinkCairo "cairo-features.h"-                      , symlinkCairo "cairo-ft.h"-                      , symlinkCairo "cairo-gobject.h"-                      , symlinkCairo "cairo-pdf.h"-                      , symlinkCairo "cairo-ps.h"-                      , symlinkCairo "cairo-script-interpreter.h"-                      , symlinkCairo "cairo-script.h"-                      , symlinkCairo "cairo-svg.h"-                      , symlinkCairo "cairo-version.h"-                      , symlinkCairo "cairo-xcb.h"-                      , symlinkCairo "cairo-xlib-xrender.h"-                      , symlinkCairo "cairo-xlib.h"-                      , symlinkCairo "cairo.h"-                      ]-              }--let pycairo =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.python2Package { name = "pycairo", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/pygobject/pycairo/releases/download/v${versionString}/pycairo-${versionString}.tar.gz"-              , pkgDeps = [ prelude.unbounded "cairo" ]-              }--let libnettle =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "nettle", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/nettle/nettle-${prelude.showVersion-                                                         v}.tar.gz"-          , pkgBuildDeps = [ prelude.unbounded "m4" ]-          }--let diffutils =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "diffutils", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/diffutils/diffutils-${prelude.showVersion-                                                               v}.tar.xz"-          , installCommand = prelude.installWithBinaries [ "bin/diff" ]-          }--let patch =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "patch", version = v }-        ⫽ { installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/patch" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/patch.1", section = 1 } ]-          }--let m4 =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "m4", version = v }-        ⫽ { configureCommand =-                λ(cfg : types.BuildVars)-              →   [ prelude.patch-                      ./patches/m4.patch sha256:1fecaf9238401d3fdcad92516f7c45e866e50630eae7efdaaee0da943a532b23 as Text-                  ]-                # prelude.defaultConfigure cfg-          , installCommand =-              prelude.installWithManpages-                [ { file = "share/man/man1/m4.1", section = 1 } ]-          , pkgBuildDeps = [ prelude.unbounded "patch" ]-          }--let nginx =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "nginx", version = v }-        ⫽ { pkgUrl =-              "http://nginx.org/download/nginx-${prelude.showVersion v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "pcre2" ]-          }--let openssl =-      let opensslCfgVars =-              λ(cfg : types.BuildVars)-            → Some-                (prelude.mkCCVar cfg # prelude.configEnv ([] : List Text) cfg)--      let cfgOS =-              λ(os : types.OS)-            → merge-                { FreeBSD = "BSD-x86_64"-                , OpenBSD = "BSD-x86_64"-                , NetBSD = "BSD-x86_64"-                , Solaris = "solaris64-x86_64-cc"-                , Dragonfly = "BSD-x86_64"-                , Linux = "linux-x86_64"-                , Darwin = "darwin64-x86_64-cc"-                , Windows = "mingw64"-                , Redox = "gcc"-                , Haiku = "haiku-x86_64"-                , IOS = "ios64-cross"-                , AIX = "aix64-cc"-                , Hurd = "hurd-x86"-                , Android = "android64-aarch64"-                , NoOs = "gcc"-                }-                os--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "openssl", version = v }-            ⫽ { pkgUrl =-                  "https://www.openssl.org/source/openssl-${prelude.showVersion-                                                              v}d.tar.gz"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → let sharedFlag =-                          if cfg.static then "no-shared" else "shared"--                    let targetMakefile =-                          if cfg.isCross then "gcc" else cfgOS cfg.buildOS--                    in  [ prelude.call-                            (   prelude.defaultCall-                              ⫽ { program = "perl"-                                , arguments =-                                  [ "./Configure"-                                  , "--prefix=${cfg.installDir}"-                                  , targetMakefile-                                  , sharedFlag-                                  ]-                                , environment = opensslCfgVars cfg-                                }-                            )-                        ]-              , pkgSubdir = "openssl-${prelude.showVersion v}d"-              , pkgBuildDeps = [ prelude.unbounded "perl" ]-              }--let libssh2 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libssh2", version = v }-        ⫽ { pkgUrl =-              "https://www.libssh2.org/download/libssh2-${prelude.showVersion-                                                            v}.tar.gz"-          }--let giflib =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "giflib", version = v }-        ⫽ { pkgUrl =-              "https://downloads.sourceforge.net/giflib/giflib-${prelude.showVersion-                                                                   v}.tar.bz2"-          }--let emacs =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "emacs", version = v }-        ⫽ { pkgDeps =-            [ prelude.unbounded "giflib"-            , prelude.unbounded "libXaw"-            , prelude.unbounded "libpng"-            , prelude.unbounded "libjpeg-turbo"-            , prelude.unbounded "ncurses"-            , prelude.unbounded "gtk3"-            , prelude.unbounded "libotf"-            , prelude.unbounded "m17n-lib"-            , prelude.unbounded "gnutls"-            , prelude.unbounded "libXft"-            , prelude.unbounded "dbus"-            , prelude.unbounded "cairo"-            ]-          , configureCommand =-              prelude.configureMkExesExtraFlags-                { bins =-                  [ "build-aux/move-if-change", "build-aux/update-subdirs" ]-                , extraFlags =-                  [ "--with-tiff=no"-                  , "--with-libotf"-                  , "--with-m17n-flt"-                  , "--with-gnutls"-                  , "--with-xft"-                  , "--with-dbus"-                  , "--with-cairo=yes"-                  ]-                }-          , installCommand =-                λ(cfg : types.BuildVars)-              →       if cfg.static--                then  prelude.installWithBinaries [ "bin/emacs" ] cfg--                else  prelude.installWithWrappers [ "emacs" ] cfg-          }--let which =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "which", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/which/which-${prelude.showVersion-                                                       v}.tar.gz"-          }--let automake =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "automake", version = v }-        ⫽ { pkgBuildDeps =-            [ prelude.lowerBound { name = "autoconf", lower = [ 2, 65 ] } ]-          , installCommand =-              prelude.installWithBinaries [ "bin/automake", "bin/aclocal" ]-          }--let autoconf =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "autoconf", version = v }-        ⫽ { pkgBuildDeps =-            [ prelude.lowerBound { name = "m4", lower = [ 1, 4, 16 ] } ]-          , installCommand =-              prelude.installWithBinaries-                [ "bin/autoconf"-                , "bin/autoheader"-                , "bin/autom4te"-                , "bin/autoreconf"-                ]-          }--let python =-        λ(v : List Natural)-      → let major =-              Optional/fold Natural (List/head Natural v) Text Natural/show ""--        let versionString = prelude.showVersion v--        let pyEnv =-                λ(_ : List Text)-              → λ(cfg : types.BuildVars)-              → Some-                  (   prelude.configEnv ([] : List Text) cfg-                    # [ { var = "CONFIG_SITE", value = "config.site" } ]-                  )--        in    prelude.simplePackage { name = "python${major}", version = v }-            ⫽ { pkgUrl =-                  "https://www.python.org/ftp/python/${versionString}/Python-${versionString}.tar.xz"-              , pkgSubdir = "Python-${versionString}"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → let config =-                          ''-                          ac_cv_file__dev_ptmx=yes-                          ac_cv_file__dev_ptc=no-                          ''--                    let staticFlag =-                                if cfg.static--                          then  [] : List Text--                          else  [ "--enable-shared" ]--                    let crossArgs =-                                if cfg.isCross--                          then  [ "--disable-ipv6" ]--                          else  [] : List Text--                    in    [ prelude.writeFile-                              { file = "config.site", contents = config }-                          ]-                        # prelude.generalConfigure-                            pyEnv-                            "configure"-                            ([] : List Text)-                            (   [ "--build=${prelude.printArch cfg.buildArch}" ]-                              # crossArgs-                              # staticFlag-                            )-                            cfg-              , pkgDeps =-                [ prelude.unbounded "libffi", prelude.unbounded "ncurses" ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.installWithBinaries [ "bin/python${major}" ] cfg-                    # prelude.symlinkManpages-                        [ { file = "share/man/man1/python${major}.1"-                          , section = 1-                          }-                        ]-              }--let lua =-        λ(v : List Natural)-      → let printLuaOS =-                λ(os : types.OS)-              → merge-                  { FreeBSD = "freebsd"-                  , OpenBSD = "bsd"-                  , NetBSD = "bsd"-                  , Solaris = "solaris"-                  , Dragonfly = "bsd"-                  , Linux = "linux"-                  , Darwin = "macosx"-                  , Windows = "mingw"-                  , Redox = "generic"-                  , Haiku = "generic"-                  , IOS = "generic"-                  , AIX = "generic"-                  , Hurd = "generic"-                  , Android = "generic"-                  , NoOs = "c89"-                  }-                  os--        let luaBuild =-                λ(cfg : types.BuildVars)-              → let cc = prelude.mkCCArg cfg--                let ldflags = (prelude.mkLDFlags cfg.linkDirs cfg).value--                let cflags = (prelude.mkCFlags cfg).value--                let os = prelude.osCfg cfg--                in  [ prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = "make"-                            , arguments =-                                  cc-                                # [ printLuaOS os-                                  , "MYLDFLAGS=${ldflags}"-                                  , "MYCFLAGS=${cflags}"-                                  , "MYLIBS=-lncurses"-                                  , "-j${Natural/show cfg.cpus}"-                                  ]-                            }-                        )-                    ]--        let luaInstall =-                λ(cfg : types.BuildVars)-              →   [ prelude.call-                      (   prelude.defaultCall-                        ⫽ { program = "make"-                          , arguments =-                            [ "install", "INSTALL_TOP=${cfg.installDir}" ]-                          }-                      )-                  ]-                # prelude.symlinkBinaries [ "bin/lua", "bin/luac" ]--        in    prelude.simplePackage { name = "lua", version = v }-            ⫽ { pkgUrl =-                  "http://www.lua.org/ftp/lua-${prelude.showVersion v}.tar.gz"-              , configureCommand = prelude.doNothing-              , buildCommand = luaBuild-              , installCommand = luaInstall-              , pkgDeps =-                [ prelude.unbounded "readline", prelude.unbounded "ncurses" ]-              }--let libtasn1 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libtasn1", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/libtasn1/libtasn1-${prelude.showVersion-                                                             v}.tar.gz"-          }--let p11kit =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "p11-kit", version = v }-        ⫽ { pkgUrl =-              "https://github.com/p11-glue/p11-kit/releases/download/${prelude.showVersion-                                                                         v}/p11-kit-${prelude.showVersion-                                                                                        v}.tar.gz"-          , pkgDeps =-            [ prelude.lowerBound { name = "libffi", lower = [ 3, 0, 0 ] }-            , prelude.unbounded "libtasn1"-            ]-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          }--let libffi =-        λ(v : List Natural)-      → 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 }-        ⫽ { pkgBuildDeps = [ prelude.unbounded "texinfo" ] }--let libtool =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "libtool", version = v }-        ⫽ { pkgUrl =-              "https://ftp.wayne.edu/gnu/libtool/libtool-${prelude.showVersion-                                                             v}.tar.xz"-          , pkgBuildDeps =-            [ prelude.lowerBound { name = "m4", lower = [ 1, 4, 16 ] } ]-          }--let pkg-config =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pkg-config", version = v }-        ⫽ { pkgUrl =-              "https://pkg-config.freedesktop.org/releases/pkg-config-${prelude.showVersion-                                                                          v}.tar.gz"-          , configureCommand =-              prelude.configureWithFlags [ "--with-internal-glib" ]-          }--let qrencode =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "qrencode", version = v }-        ⫽ { pkgUrl =-              "https://fukuchi.org/works/qrencode/qrencode-${prelude.showVersion-                                                               v}.tar.gz"-          , configureCommand = prelude.configureWithFlags [ "--without-tools" ]-          }--let readline =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "readline", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/readline/readline-${prelude.showVersion-                                                             v}.tar.gz"-          }--let pixman =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pixman", version = v }-        ⫽ { pkgUrl =-              "https://www.cairographics.org/releases/pixman-${prelude.showVersion-                                                                 v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "libpng" ]-          }--let freetype-shared =-        λ(x : { name : Text, version : List Natural })-      → let versionString = prelude.showVersion x.version--        in    prelude.simplePackage x-            ⫽ { pkgUrl =-                  "https://download.savannah.gnu.org/releases/freetype/freetype-${versionString}.tar.gz"-              , pkgSubdir = "freetype-${versionString}"-              , pkgBuildDeps = [ prelude.unbounded "sed" ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.defaultInstall cfg-                    # [ prelude.symlink-                          "include/freetype2/ft2build.h"-                          "include/ft2build.h"-                      , prelude.symlink-                          "include/freetype2/freetype"-                          "include/freetype"-                      ]-              }--let freetype-prebuild =-        λ(v : List Natural)-      →   freetype-shared { name = "freetype-prebuild", version = v }-        ⫽ { pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "libpng" ]-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          }--let freetype =-        λ(v : List Natural)-      →   freetype-shared { name = "freetype", version = v }-        ⫽ { pkgDeps =-            [ prelude.unbounded "zlib"-            , prelude.unbounded "harfbuzz"-            , prelude.unbounded "libpng"-            ]-          , configureCommand =-              prelude.configureMkExesExtraFlags-                { bins = [ "builds/unix/configure" ]-                , extraFlags = [ "--enable-freetype-config" ]-                }-          }--let sdl2 =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "sdl2", version = v }-            ⫽ { pkgUrl =-                  "https://www.libsdl.org/release/SDL2-${versionString}.tar.gz"-              , pkgSubdir = "SDL2-${versionString}"-              }--let imageMagick =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        let major =-              Optional/fold Natural (List/head Natural v) Text Natural/show ""--        in    prelude.simplePackage { name = "imagemagick", version = v }-            ⫽ { pkgUrl =-                  "https://imagemagick.org/download/ImageMagick-${versionString}-67.tar.xz"-              , pkgSubdir = "ImageMagick-${versionString}-67"-              , 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.symlinkBinary "bin/convert"-                      ]-              }--let gtk2 =-      let gtkEnv =-              λ(cfg : types.BuildVars)-            →   prelude.defaultPath cfg-              # [ { var = "LDFLAGS"-                  , value =-                          (prelude.mkLDFlags cfg.linkDirs cfg).value-                      ++  " -lpcre -lfribidi"-                  }-                , prelude.mkCFlags cfg-                , prelude.mkPkgConfigVar cfg.linkDirs-                , prelude.libPath cfg-                , prelude.mkLDRunPath cfg.linkDirs-                , prelude.mkXdgDataDirs cfg.shareDirs-                , prelude.mkLDPreload cfg.preloadLibs-                ]--      let gtkConfig =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "./configure"-                      , arguments = [ "--prefix=${cfg.installDir}" ]-                      , environment = Some (gtkEnv cfg)-                      }-                  )-              ]--      in    λ(x : { version : List Natural, patch : Natural })-          → let versionString = prelude.showVersion x.version--            let fullVersion = versionString ++ "." ++ Natural/show x.patch--            in    prelude.simplePackage-                    { name = "gtk2", version = prelude.fullVersion x }-                ⫽ { pkgUrl =-                      "http://ftp.gnome.org/pub/gnome/sources/gtk+/${versionString}/gtk+-${fullVersion}.tar.xz"-                  , pkgSubdir = "gtk+-${fullVersion}"-                  , pkgDeps =-                    [ prelude.lowerBound { name = "cairo", lower = [ 1, 6 ] }-                    , prelude.lowerBound { name = "pango", lower = [ 1, 20 ] }-                    , prelude.lowerBound { name = "atk", lower = [ 1, 29, 2 ] }-                    , prelude.lowerBound { name = "glib", lower = [ 2, 28, 0 ] }-                    , prelude.lowerBound-                        { name = "gdk-pixbuf", lower = [ 2, 38, 0 ] }-                    ]-                  , buildCommand =-                        λ(cfg : types.BuildVars)-                      → prelude.buildWith (gtkEnv cfg) cfg-                  , configureCommand = gtkConfig-                  , installCommand =-                        λ(cfg : types.BuildVars)-                      →   prelude.defaultInstall cfg-                        # [ prelude.symlink-                              "include/gdk-pixbuf-2.0/gdk-pixbuf"-                              "include/gdk-pixbuf"-                          ]-                  }--let mkXProto =-        λ(name : Text)-      → λ(v : List Natural)-      →   prelude.simplePackage { name, version = v }-        ⫽ { pkgUrl =-              "https://www.x.org/releases/individual/proto/${name}-${prelude.showVersion-                                                                       v}.tar.bz2"-          }--let mkXProtoWithPatch =-        λ(name : Text)-      → λ(patch : Text)-      → λ(v : List Natural)-      →   mkXProto name v-        ⫽ { configureCommand = prelude.configureWithPatch patch-          , pkgBuildDeps = [ prelude.unbounded "patch" ]-          }--let xproto =-      mkXProtoWithPatch-        "xproto"-        ./patches/xproto.patch sha256:325215e1b547918dfe63278824cda399e61a36b6f11896c863dfacc0cb06e322 as Text--let renderproto =-      mkXProtoWithPatch-        "renderproto"-        ./patches/renderproto.patch sha256:f2f154171dabe139ba07f8602fbada3b23f3d53b5773655cfe31cba2ceb70295 as Text--let randrproto = mkXProto "randrproto"--let scrnsaverproto =-      mkXProtoWithPatch-        "scrnsaverproto"-        ./patches/scrnsaverproto.patch sha256:31983d73cdf49e8d8ed2583593f57b47d889062ae7f5bc5934a59e1e5e3e81f3 as Text--let recordproto = mkXProto "recordproto"--let xf86vidmodeproto = mkXProto "xf86vidmodeproto"--let glproto = mkXProto "glproto"--let dri2proto = mkXProto "dri2proto"--let pango =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        let pangoCfgFile =-              ''-              option('enable_docs',-                    description: 'Build API reference for Pango using GTK-Doc',-                    type: 'boolean',-                    value: false)-              option('gir',-                    description: 'Build the GObject introspection data for Pango',-                    type: 'boolean',-                    value: false)-              ''--        let no_gir =-                λ(cfg : types.BuildVars)-              →       if cfg.isCross--                then  [ prelude.writeFile-                          { file = "meson_options.txt"-                          , contents = pangoCfgFile-                          }-                      ]--                else  [] : List types.Command--        in    prelude.simplePackage-                { name = "pango", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/GNOME/sources/pango/${versionString}/pango-${fullVersion}.tar.xz"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → no_gir cfg # prelude.mesonConfigure cfg-              , buildCommand = prelude.ninjaBuild-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.ninjaInstallWithPkgConfig-                        ( prelude.mesonMoves-                            [ "pango.pc", "pangocairo.pc", "pangoft2.pc" ]-                        )-                        cfg-                    # [ prelude.symlink-                          "include/pango-1.0/pango"-                          "include/pango"-                      ]-              , pkgBuildDeps =-                [ prelude.lowerBound { name = "meson", lower = [ 0, 48, 0 ] }-                , prelude.unbounded "gobject-introspection"-                ]-              , pkgDeps =-                [ prelude.lowerBound-                    { name = "fontconfig", lower = [ 2, 11, 91 ] }-                , prelude.lowerBound { name = "cairo", lower = [ 1, 12, 10 ] }-                , prelude.lowerBound { name = "fribidi", lower = [ 0, 19, 7 ] }-                , prelude.lowerBound { name = "harfbuzz", lower = [ 1, 4, 2 ] }-                , prelude.unbounded "libXrender"-                , prelude.unbounded "libxcb"-                ]-              }--let libxml2 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libxml2", version = v }-        ⫽ { pkgUrl =-              "http://xmlsoft.org/sources/libxml2-${prelude.showVersion-                                                      v}.tar.gz"-          , pkgDeps =-            [ prelude.unbounded "zlib"-            , prelude.unbounded "xz"-            , prelude.unbounded "python2"-            ]-          }--let shared-mime-info =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "shared-mime-info", version = v }-        ⫽ { pkgUrl =-              "http://freedesktop.org/~hadess/shared-mime-info-${prelude.showVersion-                                                                   v}.tar.xz"-          , buildCommand =-                λ(cfg : types.BuildVars)-              → prelude.generalBuild-                  prelude.singleThreaded-                  (prelude.buildEnv cfg)-                  cfg-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.defaultInstall cfg-                # [ prelude.symlink "share/pkgconfig" "lib/pkgconfig" ]-          , pkgDeps = [ prelude.unbounded "glib", prelude.unbounded "libxml2" ]-          , pkgBuildDeps =-            [ prelude.lowerBound { name = "intltool", lower = [ 0, 35, 0 ] }-            , prelude.unbounded "sed"-            , prelude.unbounded "gettext"-            ]-          }--let intltool =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "intltool", version = v }-            ⫽ { pkgUrl =-                  "https://launchpad.net/intltool/trunk/${versionString}/+download/intltool-${versionString}.tar.gz"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → [ prelude.patch-                        ./patches/intltool.patch sha256:e33e9b3e43d80a17475e36c05ed4e649fa5d610991044749e6321dff555cc8e5 as Text-                    , prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = "./configure"-                            , arguments = [ "--prefix=${cfg.installDir}" ]-                            , environment = Some-                                (   prelude.defaultPath cfg-                                  # [ prelude.mkPerlLib-                                        { libDirs = cfg.linkDirs-                                        , perlVersion = [ 5, 30, 1 ]-                                        , cfg-                                        }-                                    ]-                                )-                            }-                        )-                    ]-              , pkgDeps = [ prelude.unbounded "XML-Parser" ]-              , pkgBuildDeps =-                [ prelude.lowerBound { name = "perl", lower = [ 5, 8, 1 ] } ]-              }--let gdk-pixbuf =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        let gdkInstall =-                λ(fs : List { src : Text, dest : Text })-              → λ(cfg : types.BuildVars)-              →   [ prelude.call-                      (   prelude.defaultCall-                        ⫽ { program = "ninja"-                          , environment = Some-                            [ prelude.mkPkgConfigVar cfg.linkDirs-                            , { var = "PATH"-                              , value =-                                      prelude.mkPathVar cfg.binDirs-                                  ++  ":${cfg.currentDir}/gdk-pixbuf-${fullVersion}/build/gdk-pixbuf:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"-                              }-                            , prelude.mkPy3Path cfg.linkDirs-                            , prelude.libPath cfg-                            , prelude.mkLDRunPath cfg.linkDirs-                            , prelude.mkLDFlags cfg.linkDirs cfg-                            , prelude.mkCFlags cfg-                            ]-                          , arguments = [ "install" ]-                          , procDir = Some "build"-                          }-                      )-                  , prelude.symlink-                      "include/gdk-pixbuf-2.0/gdk-pixbuf"-                      "include/gdk-pixbuf"-                  ]-                # prelude.copyFiles fs--        in    prelude.simplePackage-                { name = "gdk-pixbuf", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${versionString}/gdk-pixbuf-${fullVersion}.tar.xz"-              , configureCommand = prelude.mesonConfigure-              , buildCommand = prelude.ninjaBuild-              , installCommand =-                  gdkInstall (prelude.mesonMoves [ "gdk-pixbuf-2.0.pc" ])-              , pkgDeps =-                [ prelude.unbounded "glib"-                , prelude.unbounded "libjpeg-turbo"-                , prelude.unbounded "libpng"-                , prelude.unbounded "gobject-introspection"-                , prelude.unbounded "shared-mime-info"-                , prelude.unbounded "libX11"-                ]-              }--let xmlParser =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "XML-Parser", version = v }-        ⫽ { pkgUrl =-              "https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-${prelude.showVersion-                                                                              v}.tar.gz"-          , configureCommand = prelude.perlConfigure-          , pkgBuildDeps = [ prelude.unbounded "perl" ]-          , pkgDeps = [ prelude.unbounded "expat" ]-          }--let meson =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "meson", version = v }-        ⫽ { pkgUrl =-              "https://github.com/mesonbuild/meson/archive/${prelude.showVersion-                                                               v}.tar.gz"-          , configureCommand =-                λ(cfg : types.BuildVars)-              → prelude.python3Install cfg # prelude.mkPy3Wrapper "meson" cfg-          , buildCommand = prelude.doNothing-          , installCommand = prelude.doNothing-          , pkgDeps = [ prelude.unbounded "python3" ]-          }--let ninja =-      let ninjaConfigure =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "./configure.py"-                      , arguments = [ "--bootstrap" ]-                      }-                  )-              ]--      let ninjaInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.copyFile "ninja" "bin/ninja"-              , prelude.symlinkBinary "bin/ninja"-              ]--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "ninja", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/ninja-build/ninja/archive/v${prelude.showVersion-                                                                     v}.tar.gz"-              , configureCommand = ninjaConfigure-              , buildCommand = prelude.doNothing-              , installCommand = ninjaInstall-              , pkgBuildDeps = [ prelude.unbounded "python2" ]-              }--let fontconfig =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "fontconfig", version = v }-        ⫽ { pkgUrl =-              "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${prelude.showVersion-                                                                                      v}.tar.bz2"-          , pkgDeps =-            [ prelude.unbounded "freetype"-            , prelude.unbounded "expat"-            , prelude.unbounded "util-linux"-            ]-          , pkgBuildDeps = [ prelude.unbounded "gperf" ]-          }--let util-linux =-        λ(x : { version : List Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString--        in    prelude.simplePackage { name = "util-linux", version = x.version }-            ⫽ { pkgUrl =-                  "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${versionString}/util-linux-${fullVersion}.tar.xz"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → let crossFlags =-                                if cfg.isCross--                          then  [ "--disable-pylibmount", "--without-tinfo" ]--                          else  [] : List Text--                    in  prelude.configureWithFlags-                          (   [ "--disable-makeinstall-chown"-                              , "--disable-bash-completion"-                              ]-                            # crossFlags-                          )-                          cfg-              , pkgDeps =-                [ prelude.unbounded "ncurses", prelude.unbounded "pcre2" ]-              }--let fribidi =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "fribidi", version = v }-        ⫽ { pkgUrl =-              "https://github.com/fribidi/fribidi/releases/download/v${prelude.showVersion-                                                                         v}/fribidi-${prelude.showVersion-                                                                                        v}.tar.bz2"-          }--let gobject-introspection =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.ninjaPackage-                { name = "gobject-introspection"-                , version = prelude.fullVersion x-                }-            ⫽ { pkgUrl =-                  "https://download.gnome.org/sources/gobject-introspection/${versionString}/gobject-introspection-${fullVersion}.tar.xz"-              , pkgBuildDeps =-                [ prelude.unbounded "meson"-                , prelude.unbounded "m4"-                , prelude.unbounded "bison"-                , prelude.unbounded "flex"-                , prelude.unbounded "pkg-config"-                , prelude.unbounded "glibc"-                ]-              , pkgDeps =-                [ prelude.lowerBound { name = "glib", lower = [ 2, 58, 0 ] } ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   [ prelude.mkExe "build/tools/g-ir-scanner"-                      , prelude.copyFile-                          "build/gobject-introspection-1.0.pc"-                          "lib/pkgconfig/gobject-introspection-1.0.pc"-                      ]-                    # prelude.ninjaInstall cfg-              }--let flex =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        let flexEnv =-                λ(_ : List Text)-              → λ(cfg : types.BuildVars)-              → Some-                  (   prelude.configEnv ([] : List Text) cfg-                    # [ { var = "YFLAGS", value = "-Wno-error=yacc" } ]-                  )--        in    prelude.simplePackage { name = "flex", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/westes/flex/releases/download/v${versionString}/flex-${versionString}.tar.gz"-              , pkgBuildDeps =-                [ prelude.unbounded "m4", prelude.unbounded "bison" ]-              , configureCommand = prelude.configWithEnv flexEnv-              , installCommand = prelude.installWithBinaries [ "bin/flex" ]-              }--let glib =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        let glibConfigure =-                λ(cfg : types.BuildVars)-              → let crossArgs =-                            if cfg.isCross--                      then  [ "--cross-file", "cross.txt" ]--                      else  [] : List Text--                in  [ prelude.createDir "build"-                    , prelude.writeFile-                        { file = "build/cross.txt"-                        , contents = prelude.mesonCfgFile cfg-                        }-                    , prelude.call-                        { program = "meson"-                        , arguments =-                              [ "--prefix=${cfg.installDir}"-                              , ".."-                              , "-Dselinux=disabled"-                              ]-                            # crossArgs-                        , environment = Some-                            (   [ prelude.mkPkgConfigVar cfg.linkDirs-                                , { var = "LDFLAGS"-                                  , value =-                                      (prelude.mkLDFlags cfg.linkDirs cfg).value-                                  }-                                , prelude.mkPy3Path cfg.linkDirs-                                , prelude.libPath cfg-                                , prelude.mkCFlags cfg-                                , prelude.mkPkgConfigVar cfg.linkDirs-                                ]-                              # prelude.defaultPath cfg-                            )-                        , procDir = Some "build"-                        }-                    ]--        let symlinkGio =-                λ(h : Text)-              → prelude.symlink "include/glib-2.0/gio/${h}" "include/gio/${h}"--        let symlinkGunix =-                λ(h : Text)-              → prelude.symlink-                  "include/gio-unix-2.0/gio/${h}"-                  "include/gio/${h}"--        in    prelude.simplePackage-                { name = "glib", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/glib/${versionString}/glib-${fullVersion}.tar.xz"-              , configureCommand = glibConfigure-              , buildCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.ninjaBuild cfg-                    # prelude.mkExes-                        [ "build/gobject/glib-mkenums"-                        , "build/gobject/glib-genmarshal"-                        , "build/gio/gdbus-2.0/codegen/gdbus-codegen"-                        ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.ninjaInstallWithPkgConfig-                        ( prelude.mesonMoves-                            [ "glib-2.0.pc"-                            , "gobject-2.0.pc"-                            , "gio-2.0.pc"-                            , "gio-unix-2.0.pc"-                            , "gmodule-no-export-2.0.pc"-                            , "gmodule-export-2.0.pc"-                            , "gmodule-2.0.pc"-                            , "gthread-2.0.pc"-                            ]-                        )-                        cfg-                    # [ prelude.symlink "include/glib-2.0/glib" "include/glib"-                      , prelude.symlink-                          "include/glib-2.0/gobject"-                          "include/gobject"-                      , prelude.symlink-                          "include/glib-2.0/glib.h"-                          "include/glib.h"-                      , prelude.symlink-                          "include/glib-2.0/glib-object.h"-                          "include/glib-object.h"-                      , prelude.symlink-                          "include/glib-2.0/glib-unix.h"-                          "include/glib-unix.h"-                      , prelude.symlink-                          "include/glib-2.0/gmodule.h"-                          "include/gmodule.h"-                      , symlinkGio "gaction.h"-                      , symlinkGio "gactiongroup.h"-                      , symlinkGio "gactiongroupexporter.h"-                      , symlinkGio "gactionmap.h"-                      , symlinkGio "gappinfo.h"-                      , symlinkGio "gapplication.h"-                      , symlinkGio "gapplicationcommandline.h"-                      , symlinkGio "gasyncinitable.h"-                      , symlinkGio "gasyncresult.h"-                      , symlinkGio "gbufferedinputstream.h"-                      , symlinkGio "gbufferedoutputstream.h"-                      , symlinkGio "gbytesicon.h"-                      , symlinkGio "gcancellable.h"-                      , symlinkGio "gcharsetconverter.h"-                      , symlinkGio "gcontenttype.h"-                      , symlinkGio "gconverter.h"-                      , symlinkGio "gconverterinputstream.h"-                      , symlinkGio "gconverteroutputstream.h"-                      , symlinkGio "gcredentials.h"-                      , symlinkGio "gdatagrambased.h"-                      , symlinkGio "gdatainputstream.h"-                      , symlinkGio "gdataoutputstream.h"-                      , symlinkGio "gdbusactiongroup.h"-                      , symlinkGio "gdbusaddress.h"-                      , symlinkGio "gdbusauthobserver.h"-                      , symlinkGio "gdbusconnection.h"-                      , symlinkGio "gdbuserror.h"-                      , symlinkGio "gdbusinterface.h"-                      , symlinkGio "gdbusinterfaceskeleton.h"-                      , symlinkGio "gdbusintrospection.h"-                      , symlinkGio "gdbusmenumodel.h"-                      , symlinkGio "gdbusmessage.h"-                      , symlinkGio "gdbusmethodinvocation.h"-                      , symlinkGio "gdbusnameowning.h"-                      , symlinkGio "gdbusnamewatching.h"-                      , symlinkGio "gdbusobject.h"-                      , symlinkGio "gdbusobjectmanager.h"-                      , symlinkGio "gdbusobjectmanagerclient.h"-                      , symlinkGio "gdbusobjectmanagerserver.h"-                      , symlinkGio "gdbusobjectproxy.h"-                      , symlinkGio "gdbusobjectskeleton.h"-                      , symlinkGio "gdbusproxy.h"-                      , symlinkGio "gdbusserver.h"-                      , symlinkGio "gdbusutils.h"-                      , symlinkGio "gdrive.h"-                      , symlinkGio "gdtlsclientconnection.h"-                      , symlinkGio "gdtlsconnection.h"-                      , symlinkGio "gdtlsserverconnection.h"-                      , symlinkGio "gemblem.h"-                      , symlinkGio "gemblemedicon.h"-                      , symlinkGio "gfile.h"-                      , symlinkGio "gfileattribute.h"-                      , symlinkGio "gfileenumerator.h"-                      , symlinkGio "gfileicon.h"-                      , symlinkGio "gfileinfo.h"-                      , symlinkGio "gfileinputstream.h"-                      , symlinkGio "gfileiostream.h"-                      , symlinkGio "gfilemonitor.h"-                      , symlinkGio "gfilenamecompleter.h"-                      , symlinkGio "gfileoutputstream.h"-                      , symlinkGio "gfilterinputstream.h"-                      , symlinkGio "gfilteroutputstream.h"-                      , symlinkGio "gicon.h"-                      , symlinkGio "ginetaddress.h"-                      , symlinkGio "ginetaddressmask.h"-                      , symlinkGio "ginetsocketaddress.h"-                      , symlinkGio "ginitable.h"-                      , symlinkGio "ginputstream.h"-                      , symlinkGio "gio-autocleanups.h"-                      , symlinkGio "gio.h"-                      , symlinkGio "gioenums.h"-                      , symlinkGio "gioenumtypes.h"-                      , symlinkGio "gioerror.h"-                      , symlinkGio "giomodule.h"-                      , symlinkGio "gioscheduler.h"-                      , symlinkGio "giostream.h"-                      , symlinkGio "giotypes.h"-                      , symlinkGio "glistmodel.h"-                      , symlinkGio "gliststore.h"-                      , symlinkGio "gloadableicon.h"-                      , symlinkGio "gmemoryinputstream.h"-                      , symlinkGio "gmemoryoutputstream.h"-                      , symlinkGio "gmenu.h"-                      , symlinkGio "gmenuexporter.h"-                      , symlinkGio "gmenumodel.h"-                      , symlinkGio "gmount.h"-                      , symlinkGio "gmountoperation.h"-                      , symlinkGio "gnativevolumemonitor.h"-                      , symlinkGio "gnetworkaddress.h"-                      , symlinkGio "gnetworking.h"-                      , symlinkGio "gnetworkmonitor.h"-                      , symlinkGio "gnetworkservice.h"-                      , symlinkGio "gnotification.h"-                      , symlinkGio "goutputstream.h"-                      , symlinkGio "gpermission.h"-                      , symlinkGio "gpollableinputstream.h"-                      , symlinkGio "gpollableoutputstream.h"-                      , symlinkGio "gpollableutils.h"-                      , symlinkGio "gpropertyaction.h"-                      , symlinkGio "gproxy.h"-                      , symlinkGio "gproxyaddress.h"-                      , symlinkGio "gproxyaddressenumerator.h"-                      , symlinkGio "gproxyresolver.h"-                      , symlinkGio "gremoteactiongroup.h"-                      , symlinkGio "gresolver.h"-                      , symlinkGio "gresource.h"-                      , symlinkGio "gseekable.h"-                      , symlinkGio "gsettings.h"-                      , symlinkGio "gsettingsbackend.h"-                      , symlinkGio "gsettingsschema.h"-                      , symlinkGio "gsimpleaction.h"-                      , symlinkGio "gsimpleactiongroup.h"-                      , symlinkGio "gsimpleasyncresult.h"-                      , symlinkGio "gsimpleiostream.h"-                      , symlinkGio "gsimplepermission.h"-                      , symlinkGio "gsimpleproxyresolver.h"-                      , symlinkGio "gsocket.h"-                      , symlinkGio "gsocketaddress.h"-                      , symlinkGio "gsocketaddressenumerator.h"-                      , symlinkGio "gsocketclient.h"-                      , symlinkGio "gsocketconnectable.h"-                      , symlinkGio "gsocketconnection.h"-                      , symlinkGio "gsocketcontrolmessage.h"-                      , symlinkGio "gsocketlistener.h"-                      , symlinkGio "gsocketservice.h"-                      , symlinkGio "gsrvtarget.h"-                      , symlinkGio "gsubprocess.h"-                      , symlinkGio "gsubprocesslauncher.h"-                      , symlinkGio "gtask.h"-                      , symlinkGio "gtcpconnection.h"-                      , symlinkGio "gtcpwrapperconnection.h"-                      , symlinkGio "gtestdbus.h"-                      , symlinkGio "gthemedicon.h"-                      , symlinkGio "gthreadedsocketservice.h"-                      , symlinkGio "gtlsbackend.h"-                      , symlinkGio "gtlscertificate.h"-                      , symlinkGio "gtlsclientconnection.h"-                      , symlinkGio "gtlsconnection.h"-                      , symlinkGio "gtlsdatabase.h"-                      , symlinkGio "gtlsfiledatabase.h"-                      , symlinkGio "gtlsinteraction.h"-                      , symlinkGio "gtlspassword.h"-                      , symlinkGio "gtlsserverconnection.h"-                      , symlinkGio "gvfs.h"-                      , symlinkGio "gvolume.h"-                      , symlinkGio "gvolumemonitor.h"-                      , symlinkGio "gzlibcompressor.h"-                      , symlinkGio "gzlibdecompressor.h"-                      , symlinkGunix "gdesktopappinfo.h"-                      , symlinkGunix "gfiledescriptorbased.h"-                      , symlinkGunix "gunixconnection.h"-                      , symlinkGunix "gunixcredentialsmessage.h"-                      , symlinkGunix "gunixfdlist.h"-                      , symlinkGunix "gunixfdmessage.h"-                      , symlinkGunix "gunixinputstream.h"-                      , symlinkGunix "gunixmounts.h"-                      , symlinkGunix "gunixoutputstream.h"-                      , symlinkGunix "gunixsocketaddress.h"-                      ]-              , pkgBuildDeps =-                [ prelude.unbounded "meson", prelude.unbounded "ninja" ]-              , pkgDeps =-                [ prelude.unbounded "util-linux"-                , prelude.unbounded "pcre"-                , prelude.unbounded "libffi"-                , prelude.unbounded "zlib"-                , prelude.unbounded "dbus"-                ]-              }--let atk =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.ninjaPackage-                { name = "atk", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "https://ftp.gnome.org/pub/gnome/sources/atk/${versionString}/atk-${fullVersion}.tar.xz"-              , pkgBuildDeps =-                [ prelude.unbounded "gobject-introspection"-                , prelude.unbounded "gettext"-                ]-              , pkgDeps = [ prelude.unbounded "glib" ]-              , installCommand =-                  prelude.ninjaInstallWithPkgConfig-                    [ { src = "build/meson-private/atk.pc"-                      , dest = "lib/pkgconfig/atk.pc"-                      }-                    ]-              }--let re2c =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "re2c", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/skvadrik/re2c/releases/download/${versionString}/re2c-${versionString}.tar.gz"-              }--let chickenScheme =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        let printChickenOS =-                λ(os : types.OS)-              → merge-                  { FreeBSD = "bsd"-                  , OpenBSD = "bsd"-                  , NetBSD = "bsd"-                  , Solaris = "solaris"-                  , Dragonfly = "bsd"-                  , Linux = "linux"-                  , Darwin = "macosx"-                  , Windows = "mingw"-                  , Haiku = "haiku"-                  , IOS = "ios"-                  , AIX = "aix"-                  , Hurd = "hurd"-                  , Android = "android"-                  , Redox = "error: no port for Redox OS"-                  , NoOs = "error: no port for no OS"-                  }-                  os--        let chickenBuild =-                λ(cfg : types.BuildVars)-              → let cc =-                      Optional/fold-                        types.TargetTriple-                        cfg.targetTriple-                        (List Text)-                        (   λ(tgt : types.TargetTriple)-                          → [ "C_COMPILER=${prelude.printTargetTriple tgt}-gcc"-                            ]-                        )-                        ([] : List Text)--                let os = prelude.osCfg cfg--                in    [ prelude.call-                          (   prelude.defaultCall-                            ⫽ { program = prelude.makeExe cfg.buildOS-                              , arguments =-                                    cc-                                  # [ "PLATFORM=${printChickenOS os}"-                                    , "PREFIX=${cfg.installDir}"-                                    ]-                              }-                          )-                      , prelude.call-                          (   prelude.defaultCall-                            ⫽ { program = prelude.makeExe cfg.buildOS-                              , arguments =-                                    cc-                                  # [ "PLATFORM=${printChickenOS os}"-                                    , "PREFIX=${cfg.installDir}"-                                    , "install"-                                    ]-                              }-                          )-                      ]-                    # prelude.symlinkBinaries-                        [ "bin/csc", "bin/chicken-install", "bin/csi" ]--        in    prelude.simplePackage { name = "chicken-scheme", version = v }-            ⫽ { pkgUrl =-                  "https://code.call-cc.org/releases/${versionString}/chicken-${versionString}.tar.gz"-              , configureCommand = prelude.doNothing-              , buildCommand = chickenBuild-              , installCommand = prelude.doNothing-              , pkgSubdir = "chicken-${versionString}"-              }--let xcb-proto =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "xcb-proto", version = v }-        ⫽ { pkgUrl =-              "https://xorg.freedesktop.org/archive/individual/xcb/xcb-proto-${prelude.showVersion-                                                                                 v}.tar.bz2"-          }--let libxcb =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libxcb", version = v }-        ⫽ { pkgUrl =-              "https://xorg.freedesktop.org/archive/individual/xcb/libxcb-${prelude.showVersion-                                                                              v}.tar.bz2"-          , pkgDeps =-            [ prelude.lowerBound { name = "xcb-proto", lower = [ 1, 13 ] }-            , prelude.unbounded "libXau"-            , prelude.unbounded "libpthread-stubs"-            , prelude.unbounded "libXdmcp"-            ]-          }--let libpthread-stubs =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libpthread-stubs", version = v }-        ⫽ { pkgUrl =-              "https://www.x.org/archive/individual/xcb/libpthread-stubs-${prelude.showVersion-                                                                             v}.tar.bz2"-          }--let xorgConfigure =-      prelude.configureWithFlags [ "--disable-malloc0returnsnull" ]--let mkXLib =-        λ(name : Text)-      → λ(v : List Natural)-      →   prelude.simplePackage { name, version = v }-        ⫽ { pkgUrl =-              "https://www.x.org/releases/individual/lib/${name}-${prelude.showVersion-                                                                     v}.tar.bz2"-          , configureCommand = xorgConfigure-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          }--let mkXLibDeps =-        λ(x : { name : Text, deps : List types.Dep })-      → λ(v : List Natural)-      → mkXLib x.name v ⫽ { pkgDeps = x.deps }--let libXdmcp =-      mkXLibDeps { name = "libXdmcp", deps = [ prelude.unbounded "xproto" ] }--let libXau =-      mkXLibDeps { name = "libXau", deps = [ prelude.unbounded "xproto" ] }--let mkXUtil =-        λ(name : Text)-      → λ(v : List Natural)-      →   prelude.simplePackage { name, version = v }-        ⫽ { pkgUrl =-              "https://www.x.org/releases/individual/util/${name}-${prelude.showVersion-                                                                      v}.tar.bz2"-          }--let libXrender =-      mkXLibDeps-        { name = "libXrender"-        , deps =-          [ prelude.unbounded "xproto"-          , prelude.unbounded "renderproto"-          , prelude.unbounded "libX11"-          ]-        }--let util-macros = mkXUtil "util-macros"--let libXft =-      mkXLibDeps-        { name = "libXft"-        , deps =-          [ prelude.unbounded "freetype"-          , prelude.unbounded "fontconfig"-          , prelude.unbounded "libXrender"-          , prelude.unbounded "libX11"-          ]-        }--let kbproto = mkXProto "kbproto"--let libX11 =-      mkXLibDeps-        { name = "libX11"-        , deps =-          [ prelude.unbounded "libxcb"-          , prelude.unbounded "kbproto"-          , prelude.unbounded "xextproto"-          , prelude.unbounded "inputproto"-          , prelude.unbounded "xtrans"-          ]-        }--let inputproto = mkXProto "inputproto"--let xineramaproto =-      mkXProtoWithPatch-        "xineramaproto"-        ./patches/xineramaproto.patch sha256:cc2dec3895d71256bfb878ab420bb63ad6708e17a1785805473760bb9d98a310 as Text--let xtrans = mkXLib "xtrans"--let libXrandr =-      mkXLibDeps-        { name = "libXrandr"-        , deps =-          [ prelude.unbounded "util-macros"-          , prelude.unbounded "libXext"-          , prelude.unbounded "libXrender"-          , prelude.unbounded "libX11"-          , prelude.unbounded "randrproto"-          ]-        }--let libXinerama =-      mkXLibDeps-        { name = "libXinerama"-        , deps =-          [ prelude.unbounded "util-macros"-          , prelude.unbounded "libX11"-          , prelude.unbounded "libXext"-          , prelude.unbounded "xineramaproto"-          ]-        }--let libXext =-      mkXLibDeps-        { name = "libXext"-        , deps =-          [ prelude.lowerBound { name = "xextproto", lower = [ 7, 1, 99 ] }-          , prelude.lowerBound { name = "xproto", lower = [ 7, 0, 13 ] }-          , prelude.lowerBound { name = "libX11", lower = [ 1, 6 ] }-          ]-        }--let xextproto =-      mkXProtoWithPatch-        "xextproto"-        ./patches/xextproto.patch sha256:67185f1122233556a40a3d3df5a4967aca8533be62112f3c5e393308b70f3217 as Text--let fixesproto = mkXProto "fixesproto"--let damageproto = mkXProto "damageproto"--let libXScrnSaver =-        λ(v : List Natural)-      →   mkXLib "libXScrnSaver" v-        ⫽ { pkgDeps =-            [ prelude.unbounded "util-macros"-            , prelude.unbounded "libXext"-            , prelude.unbounded "scrnsaverproto"-            ]-          }--let bzip2 =-      let cc = prelude.mkCCArg--      in    λ(v : List Natural)-          → let versionString = prelude.showVersion v--            let bzipInstall =-                    λ(cfg : types.BuildVars)-                  → [ prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = prelude.makeExe cfg.buildOS-                            , arguments =-                                  cc cfg-                                # [ "PREFIX=${cfg.installDir}"-                                  , "install"-                                  , "-j${Natural/show cfg.cpus}"-                                  ]-                            }-                        )-                    , prelude.copyFile-                        "libbz2.so.${versionString}"-                        "lib/libbz2.so.${versionString}"-                    , prelude.symlink-                        "lib/libbz2.so.${versionString}"-                        "lib/libbz2.so.1.0"-                    , prelude.symlink-                        "lib/libbz2.so.${versionString}"-                        "lib/libbz2.so"-                    , prelude.symlinkBinary "bin/bzip2"-                    , prelude.symlinkBinary "bin/bzip2recover"-                    ]--            let bzipShared =-                    λ(cfg : types.BuildVars)-                  → [ prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = prelude.makeExe cfg.buildOS-                            , arguments =-                                cc cfg # [ "-f", "Makefile-libbz2_so" ]-                            }-                        )-                    ]--            in    prelude.simplePackage { name = "bzip2", version = v }-                ⫽ { pkgUrl =-                      "https://www.sourceware.org/pub/bzip2/bzip2-${versionString}.tar.gz"-                  , configureCommand = prelude.doNothing-                  , buildCommand = bzipShared-                  , installCommand = bzipInstall-                  }--let expat =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "expat", version = v }-        ⫽ { pkgUrl =-              "https://github.com/libexpat/libexpat/releases/download/R_${prelude.underscoreVersion-                                                                            v}/expat-${prelude.showVersion-                                                                                         v}.tar.bz2"-          }--let gperf =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "gperf", version = v }-        ⫽ { pkgUrl =-              "http://ftp.gnu.org/pub/gnu/gperf/gperf-${prelude.showVersion-                                                          v}.tar.gz"-          }--let coreutils =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "coreutils", version = v }-        ⫽ { installCommand =-              prelude.installWithBinaries-                [ "bin/install"-                , "bin/chmod"-                , "bin/rm"-                , "bin/cp"-                , "bin/ln"-                , "bin/mkdir"-                , "bin/test"-                , "bin/od"-                , "bin/readlink"-                ]-          }--let libsepol =-      let cc = prelude.mkCCArg--      let sepolInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = prelude.makeExe cfg.buildOS-                      , arguments =-                            cc cfg-                          # [ "PREFIX=${cfg.installDir}"-                            , "SHLIBDIR=${cfg.installDir}/lib"-                            , "CFLAGS=-Wno-error -O2"-                            , "install"-                            , "-j${Natural/show cfg.cpus}"-                            ]-                      , environment = Some-                          (   prelude.defaultPath cfg-                            # [ prelude.mkLDFlags cfg.linkDirs cfg-                              , prelude.mkCFlags cfg-                              , prelude.mkPkgConfigVar cfg.linkDirs-                              ]-                          )-                      }-                  )-              ]--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "libsepol", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/SELinuxProject/selinux/releases/download/20191204/libsepol-${prelude.showVersion-                                                                                                     v}.tar.gz"-              , configureCommand = prelude.doNothing-              , buildCommand = prelude.doNothing-              , installCommand = sepolInstall-              , pkgBuildDeps = [ prelude.unbounded "flex" ]-              }--let libselinux =-      let cc = prelude.mkCCArg--      let selinuxInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = prelude.makeExe cfg.buildOS-                      , arguments =-                            cc cfg-                          # [ "PREFIX=${cfg.installDir}"-                            , "SHLIBDIR=${cfg.installDir}/lib"-                            ,     "EXTRA_CFLAGS=-Wno-error -lpcre "-                              ++  (prelude.mkCFlags cfg).value-                            , "install"-                            , "-j${Natural/show cfg.cpus}"-                            ]-                      , environment = Some-                          (   prelude.defaultPath cfg-                            # [ prelude.mkLDFlags cfg.linkDirs cfg-                              , prelude.mkCFlags cfg-                              , prelude.mkPkgConfigVar cfg.linkDirs-                              , prelude.libPath cfg-                              ]-                          )-                      }-                  )-              ]--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "libselinux", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/SELinuxProject/selinux/releases/download/20191204/libselinux-${prelude.showVersion-                                                                                                       v}.tar.gz"-              , configureCommand = prelude.doNothing-              , buildCommand = prelude.doNothing-              , installCommand = selinuxInstall-              , pkgDeps =-                [ prelude.unbounded "pcre", prelude.unbounded "libsepol" ]-              , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-              }--let libXtst =-      mkXLibDeps-        { name = "libXtst"-        , deps = [ prelude.unbounded "libXi", prelude.unbounded "recordproto" ]-        }--let libXi =-      mkXLibDeps-        { name = "libXi"-        , deps = [ prelude.unbounded "libXext", prelude.unbounded "libXfixes" ]-        }--let mkGnomeNinja =-        λ(name : Text)-      → λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.ninjaPackage { name, version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz"-              }--let at-spi-core =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeNinja "at-spi2-core" x-        ⫽ { pkgDeps = [ prelude.unbounded "libXtst", prelude.unbounded "glib" ]-          , installCommand =-              prelude.ninjaInstallWithPkgConfig-                [ { src = "build/meson-private/atspi-2.pc"-                  , dest = "lib/pkgconfig/atspi-2.pc"-                  }-                ]-          }--let at-spi-atk =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeNinja "at-spi2-atk" x-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "at-spi2-core", lower = [ 2, 32, 2 ] }-            , prelude.lowerBound { name = "atk", lower = [ 2, 29, 2 ] }-            , prelude.unbounded "libxml2"-            ]-          , installCommand =-              prelude.ninjaInstallWithPkgConfig-                (prelude.mesonMoves [ "atk-bridge-2.0.pc" ])-          }--let libdrm =-        λ(v : List Natural)-      →   prelude.ninjaPackage { name = "libdrm", version = v }-        ⫽ { pkgUrl =-              "https://dri.freedesktop.org/libdrm/libdrm-${prelude.showVersion-                                                             v}.tar.bz2"-          , pkgDeps =-            [ prelude.unbounded "libpciaccess", prelude.unbounded "cairo" ]-          , installCommand =-              prelude.ninjaInstallWithPkgConfig-                ( prelude.mesonMoves-                    [ "libdrm.pc"-                    , "libdrm_amdgpu.pc"-                    , "libdrm_intel.pc"-                    , "libdrm_nouveau.pc"-                    , "libdrm_radeon.pc"-                    , "libkms.pc"-                    ]-                )-          }--let libpciaccess = mkXLib "libpciaccess"--let markupSafe =-        λ(v : List Natural)-      →   prelude.python3Package { name = "MarkupSafe", version = v }-        ⫽ { pkgUrl =-              "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-${prelude.showVersion-                                                                                          v}.tar.gz"-          }--let mako =-        λ(v : List Natural)-      →   prelude.python3Package { name = "Mako", version = v }-        ⫽ { pkgUrl =-              "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${prelude.showVersion-                                                                              v}.tar.gz"-          }--let elfutils =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "elfutils", version = v }-            ⫽ { pkgUrl =-                  "https://sourceware.org/ftp/elfutils/${versionString}/elfutils-${versionString}.tar.bz2"-              }--let mkGnomeSimple =-        λ(name : Text)-      → λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage { name, version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz"-              }--let gtk3 =-      let mkLDFlagsGtk =-              λ(linkDirs : List Text)-            → concatMapSep " " Text (λ(dir : Text) → "-L${dir}") linkDirs--      let gtkEnv =-              λ(cfg : types.BuildVars)-            →   prelude.defaultPath cfg-              # [ { var = "LDFLAGS"-                  , value = mkLDFlagsGtk cfg.linkDirs ++ " -lpcre -lfribidi"-                  }-                , prelude.mkPkgConfigVar cfg.linkDirs-                , prelude.mkLDPreload cfg.preloadLibs-                , prelude.mkXdgDataDirs cfg.shareDirs-                , prelude.mkCFlags cfg-                ]--      let gtkConfig =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "./configure"-                      , arguments = [ "--prefix=${cfg.installDir}" ]-                      , environment = Some (gtkEnv cfg)-                      }-                  )-              ]--      in    λ(x : { version : List Natural, patch : Natural })-          →   mkGnomeSimple "gtk+" x-            ⫽ { pkgName = "gtk3"-              , configureCommand = gtkConfig-              , buildCommand =-                  λ(cfg : types.BuildVars) → prelude.buildWith (gtkEnv cfg) cfg-              , pkgDeps =-                [ prelude.lowerBound { name = "pango", lower = [ 1, 41, 0 ] }-                , prelude.unbounded "at-spi2-atk"-                , prelude.lowerBound { name = "atk", lower = [ 2, 15, 1 ] }-                , prelude.lowerBound-                    { name = "gdk-pixbuf", lower = [ 2, 30, 0 ] }-                , prelude.unbounded "libXft"-                , prelude.lowerBound { name = "libepoxy", lower = [ 1, 4 ] }-                , prelude.unbounded "libXi"-                ]-              , pkgBuildDeps = [ prelude.unbounded "binutils" ]-              }--let graphviz =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "graphviz", version = v }-        ⫽ { pkgUrl =-              "https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz"-          , pkgDeps = [ prelude.unbounded "perl" ]-          , installCommand = prelude.installWithBinaries [ "bin/dot" ]-          }--let wayland =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "wayland", version = v }-        ⫽ { pkgUrl =-              "https://wayland.freedesktop.org/releases/wayland-${prelude.showVersion-                                                                    v}.tar.xz"-          , pkgDeps = [ prelude.unbounded "libxml2" ]-          , configureCommand =-              prelude.configureWithFlags [ "--disable-documentation" ]-          }--let swig =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "swig", version = v }-        ⫽ { pkgUrl =-              "https://downloads.sourceforge.net/swig/swig-${prelude.showVersion-                                                               v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/swig" ]-          }--let lmdb =-      let cc = prelude.mkCCArg--      let ar =-              λ(cfg : types.BuildVars)-            → Optional/fold-                types.TargetTriple-                cfg.targetTriple-                (List Text)-                (   λ(tgt : types.TargetTriple)-                  → [ "AR=${prelude.printTargetTriple tgt}-ar" ]-                )-                ([] : List Text)--      let lmdbInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "make"-                      , arguments =-                            cc cfg-                          # ar cfg-                          # [ "prefix=${cfg.installDir}"-                            , "install"-                            , "-j${Natural/show cfg.cpus}"-                            ]-                      , procDir = Some "libraries/liblmdb"-                      }-                  )-              ]--      in    λ(v : List Natural)-          → let versionString = prelude.showVersion v--            in    prelude.simplePackage { name = "lmdb", version = v }-                ⫽ { pkgUrl =-                      "https://github.com/LMDB/lmdb/archive/LMDB_${versionString}.tar.gz"-                  , pkgSubdir = "lmdb-LMDB_${versionString}"-                  , configureCommand = prelude.doNothing-                  , buildCommand = prelude.doNothing-                  , installCommand = lmdbInstall-                  }--let gsl =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "gsl", version = v }-        ⫽ { pkgUrl =-              "http://mirror.keystealth.org/gnu/gsl/gsl-${prelude.showVersion-                                                            v}.tar.gz"-          }--let postgresql =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "postgresql", version = v }-            ⫽ { pkgUrl =-                  "https://ftp.postgresql.org/pub/source/v${versionString}/postgresql-${versionString}.tar.bz2"-              , configureCommand =-                  prelude.configureWithFlags [ "--without-readline" ]-              , installCommand = prelude.installWithBinaries [ "bin/pg_config" ]-              , pkgDeps = [ prelude.unbounded "zlib" ]-              }--let sqlite =-        λ(x : { version : List Natural })-      →   prelude.simplePackage { name = "sqlite", version = x.version }-        ⫽ { pkgUrl =-              "https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz"-          , pkgSubdir = "sqlite-autoconf-3300100"-          }--let ragel =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "ragel", version = v }-        ⫽ { pkgUrl =-              "http://www.colm.net/files/ragel/ragel-${prelude.showVersion-                                                         v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/ragel" ]-          }--let nano =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "nano", version = v }-        ⫽ { pkgDeps = [ prelude.unbounded "ncurses" ] }--let libarchive =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libarchive", version = v }-        ⫽ { pkgUrl =-              "https://www.libarchive.org/downloads/libarchive-${prelude.showVersion-                                                                   v}.tar.gz"-          , pkgDeps =-            [ prelude.unbounded "xz"-            , prelude.unbounded "bzip2"-            , prelude.unbounded "zlib"-            ]-          , installCommand =-              prelude.installWithBinaries [ "bin/bsdtar", "bin/bsdcpio" ]-          }--let pygobject =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeSimple "pygobject" x-        ⫽ { pkgDeps = [ prelude.unbounded "glib" ]-          , configureCommand = prelude.preloadCfg-          }--let pygtk =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    mkGnomeSimple "pygtk" x-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/pygtk/${versionString}/pygtk-${fullVersion}.tar.bz2"-              , configureCommand = prelude.preloadCfg-              , pkgDeps =-                [ prelude.lowerBound { name = "glib", lower = [ 2, 8, 0 ] }-                , prelude.lowerBound-                    { name = "pygobject", lower = [ 2, 21, 3 ] }-                , prelude.unbounded "python2"-                ]-              }--let libglade =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage-                { name = "libglade", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/libglade/${versionString}/libglade-${fullVersion}.tar.bz2"-              , pkgDeps =-                [ prelude.lowerBound { name = "libxml2", lower = [ 2, 4, 10 ] }-                , prelude.lowerBound { name = "gtk2", lower = [ 2, 5, 0 ] }-                ]-              , configureCommand = prelude.configureLinkExtraLibs [ "fribidi" ]-              }--let scour =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.python3Package { name = "scour", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/scour-project/scour/archive/v${versionString}/scour-${versionString}.tar.gz"-              , installCommand = prelude.installWithPy3Wrappers [ "scour" ]-              }--let libXpm =-        λ(v : List Natural)-      →   mkXLib "libXpm" v-        ⫽ { pkgDeps = [ prelude.unbounded "libXext", prelude.unbounded "libXt" ]-          , pkgBuildDeps = [ prelude.unbounded "gettext" ]-          }--let libXt =-      mkXLibDeps-        { name = "libXt"-        , deps =-          [ prelude.unbounded "libICE"-          , prelude.unbounded "libSM"-          , prelude.unbounded "libX11"-          , prelude.unbounded "kbproto"-          ]-        }--let libICE =-      mkXLibDeps-        { name = "libICE"-        , deps = [ prelude.unbounded "xproto", prelude.unbounded "xtrans" ]-        }--let libSM =-      mkXLibDeps-        { name = "libSM"-        , deps = [ prelude.unbounded "libICE", prelude.unbounded "util-linux" ]-        }--let libXaw =-      mkXLibDeps-        { name = "libXaw"-        , deps = [ prelude.unbounded "libXmu", prelude.unbounded "libXpm" ]-        }--let libXaw3d =-      mkXLibDeps-        { name = "libXaw3d"-        , deps =-          [ prelude.unbounded "libX11"-          , prelude.unbounded "libXt"-          , prelude.unbounded "libXmu"-          , prelude.unbounded "libXext"-          ]-        }--let libXmu =-      mkXLibDeps-        { name = "libXmu"-        , deps =-          [ prelude.unbounded "util-macros"-          , prelude.unbounded "libXt"-          , prelude.unbounded "libXext"-          ]-        }--let libotf =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libotf", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/m17n/libotf-${prelude.showVersion-                                                                         v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "freetype" ]-          }--let m17n =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "m17n-lib", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/m17n/m17n-lib-${prelude.showVersion-                                                                           v}.tar.gz"-          , buildCommand =-                λ(cfg : types.BuildVars)-              → prelude.generalBuild-                  prelude.singleThreaded-                  (prelude.buildEnv cfg)-                  cfg-          , pkgDeps = [ prelude.unbounded "libXt" ]-          , pkgBuildDeps = [ prelude.unbounded "binutils" ]-          }--let mkGimpPackage =-        λ(name : Text)-      → λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage { name, version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "https://download.gimp.org/pub/${name}/${versionString}/${name}-${fullVersion}.tar.bz2"-              }--let babl =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage-                { name = "babl", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "https://download.gimp.org/pub/babl/${versionString}/babl-${fullVersion}.tar.xz"-              , pkgBuildDeps =-                [ prelude.unbounded "autoconf"-                , prelude.unbounded "automake"-                , prelude.unbounded "libtool"-                , prelude.unbounded "pkg-config"-                ]-              , pkgDeps = [ prelude.unbounded "lcms2" ]-              , configureCommand = prelude.autogenConfigure-              }--let gegl =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGimpPackage "gegl" x-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "babl", lower = [ 0, 1, 58 ] }-            , prelude.lowerBound { name = "glib", lower = [ 2, 44, 0 ] }-            , prelude.unbounded "json-glib"-            ]-          , configureCommand = prelude.preloadCfg-          }--let libexif =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libexif", version = v }-            ⫽ { pkgUrl =-                  "https://nchc.dl.sourceforge.net/project/libexif/libexif/${versionString}/libexif-${versionString}.tar.bz2"-              }--let json-glib =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeNinja "json-glib" x-        ⫽ { pkgDeps =-            [ prelude.unbounded "glib"-            , prelude.unbounded "libjpeg-turbo"-            , prelude.unbounded "libpng"-            ]-          , pkgBuildDeps = [ prelude.unbounded "gettext" ]-          , installCommand =-              prelude.ninjaInstallWithPkgConfig-                (prelude.mesonMoves [ "json-glib-1.0.pc" ])-          }--let lcms2 =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "lcms2", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/mm2/Little-CMS/archive/lcms${versionString}.tar.gz"-              , pkgSubdir = "Little-CMS-lcms${versionString}"-              }--let libtiff =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libtiff", version = v }-            ⫽ { pkgUrl =-                  "http://download.osgeo.org/libtiff/tiff-${versionString}.tar.gz"-              , pkgSubdir = "tiff-${versionString}"-              }--let libmypaint =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libmypaint", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/mypaint/libmypaint/releases/download/v${versionString}/libmypaint-${versionString}.tar.xz"-              , pkgDeps = [ prelude.unbounded "json-c" ]-              , pkgBuildDeps =-                [ prelude.unbounded "intltool", prelude.unbounded "gettext" ]-              }--let json-c =-        λ(x : { version : List Natural, dateStr : Text })-      → let versionString = "${prelude.showVersion x.version}-${x.dateStr}"--        in    prelude.simplePackage { name = "json-c", version = x.version }-            ⫽ { pkgUrl =-                  "https://github.com/json-c/json-c/archive/json-c-${versionString}.tar.gz"-              , pkgSubdir = "json-c-json-c-${versionString}"-              }--let libopenjpeg =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libopenjpeg", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "https://github.com/uclouvain/openjpeg/archive/v${versionString}.tar.gz"-              , pkgSubdir = "openjpeg-${versionString}"-              , pkgDeps = [ prelude.unbounded "zlib" ]-              , pkgBuildDeps =-                [ prelude.unbounded "make", prelude.unbounded "cmake" ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.cmakeInstall cfg-                    # [ prelude.symlink-                          "lib/openjpeg-2.3/OpenJPEGConfig.cmake"-                          "lib/OpenJPEGConfig.cmake"-                      ]-              }--let libevent =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libevent", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/libevent/libevent/releases/download/release-${versionString}-stable/libevent-${versionString}-stable.tar.gz"-              , pkgSubdir = "libevent-${versionString}-stable"-              , pkgDeps = [ prelude.unbounded "openssl" ]-              }--let memcached =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "memcached", version = v }-        ⫽ { pkgUrl =-              "https://memcached.org/files/memcached-${prelude.showVersion-                                                         v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "libevent" ]-          }--let motif =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "motif", version = v }-            ⫽ { pkgUrl =-                  "https://iweb.dl.sourceforge.net/project/motif/Motif%20${versionString}%20Source%20Code/motif-${versionString}.tar.gz"-              , pkgDeps =-                [ prelude.unbounded "libXft"-                , prelude.unbounded "libpng"-                , prelude.unbounded "freetype"-                ]-              }--let libjpeg =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libjpeg", version = v }-            ⫽ { pkgUrl =-                  "http://www.ijg.org/files/jpegsrc.v${versionString}c.tar.gz"-              , pkgSubdir = "jpeg-${versionString}c"-              }--let feh =-      let cc = prelude.mkCCArg--      let fehMake =-            λ(cfg : types.BuildVars) → { program = prelude.makeExe cfg.buildOS }--      let fehBuild =-              λ(v : List Natural)-            → λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ fehMake cfg-                    ⫽ { arguments = [ "feh.1" ], procDir = Some "man" }-                  )-              , prelude.call-                  (   prelude.defaultCall-                    ⫽ fehMake cfg-                    ⫽ { arguments =-                            cc cfg-                          # [ "CFLAGS=${( prelude.mkCFlags cfg-                                        ).value} -DPACKAGE=\\\"feh\\\" -DPREFIX=\\\"${cfg.installDir}\\\" -DVERSION=\\\"${prelude.showVersion-                                                                                                                            v}\\\" ${( prelude.mkLDFlags-                                                                                                                                         cfg.linkDirs-                                                                                                                                         cfg-                                                                                                                                     ).value}"-                            , "feh"-                            ]-                      , procDir = Some "src"-                      }-                  )-              , prelude.call-                  (   prelude.defaultCall-                    ⫽ fehMake cfg-                    ⫽ { arguments = [ "feh.desktop" ]-                      , procDir = Some "share/applications"-                      }-                  )-              ]--      let fehInstall =-              λ(cfg : types.BuildVars)-            →   [ prelude.call-                    (   prelude.defaultCall-                      ⫽ { program = prelude.makeExe cfg.buildOS-                        , arguments =-                          [ "CFLAGS=${(prelude.mkCFlags cfg).value}"-                          , "-j${Natural/show cfg.cpus}"-                          , "PREFIX=${cfg.installDir}"-                          , "install"-                          ]-                        }-                    )-                ]-              # prelude.mkLDPathWrapper cfg "feh"--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "feh", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/derf/feh/archive/${prelude.showVersion-                                                           v}.tar.gz"-              , configureCommand = prelude.doNothing-              , buildCommand = fehBuild v-              , installCommand = fehInstall-              , pkgBuildDeps = [ prelude.unbounded "sed" ]-              , pkgDeps =-                [ prelude.unbounded "imlib2"-                , prelude.unbounded "libXt"-                , prelude.unbounded "libXinerama"-                , prelude.unbounded "curl"-                ]-              }--let imlib2 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "imlib2", version = v }-        ⫽ { pkgUrl =-              "https://downloads.sourceforge.net/enlightenment/imlib2-${prelude.showVersion-                                                                          v}.tar.bz2"-          , pkgDeps =-            [ prelude.unbounded "libXext"-            , prelude.unbounded "freetype"-            , prelude.unbounded "libjpeg"-            , prelude.unbounded "libpng"-            , prelude.unbounded "giflib"-            ]-          }--let jemalloc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "jemalloc", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/jemalloc/jemalloc/releases/download/${versionString}/jemalloc-${versionString}.tar.bz2"-              }--let gperftools =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "gperftools", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/gperftools/gperftools/releases/download/gperftools-${versionString}/gperftools-${versionString}.tar.gz"-              }--let openssh =-      let opensshInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = prelude.makeExe cfg.buildOS-                      , arguments =-                        [ "PRIVSEP_PATH=${cfg.installDir}/var"-                        , "install"-                        , "-j${Natural/show cfg.cpus}"-                        ]-                      , environment = Some-                          (   prelude.defaultPath cfg-                            # [ prelude.mkPkgConfigVar cfg.linkDirs-                              , prelude.libPath cfg-                              ]-                          )-                      }-                  )-              ]--      in    λ(v : List Natural)-          →   prelude.simplePackage { name = "openssh", version = v }-            ⫽ { pkgUrl =-                  "https://mirrors.gigenet.com/pub/OpenBSD/OpenSSH/portable/openssh-${prelude.showVersion-                                                                                        v}p1.tar.gz"-              , pkgSubdir = "openssh-${prelude.showVersion v}p1"-              , installCommand = opensshInstall-              , pkgDeps = [ prelude.unbounded "openssl" ]-              }--let libxslt =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libxslt", version = v }-        ⫽ { pkgUrl =-              "http://xmlsoft.org/sources/libxslt-${prelude.showVersion-                                                      v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "libxml2" ]-          }--let libepoxy =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.ninjaPackage { name = "libepoxy", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/anholt/libepoxy/releases/download/${versionString}/libepoxy-${versionString}.tar.xz"-              , pkgDeps = [ prelude.unbounded "mesa" ]-              , installCommand =-                  prelude.ninjaInstallWithPkgConfig-                    (prelude.mesonMoves [ "epoxy.pc" ])-              }--let mesa =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "mesa", version = v }-            ⫽ { pkgUrl =-                  "https://mesa.freedesktop.org/archive/mesa-${prelude.showVersion-                                                                 v}.tar.xz"-              , pkgDeps =-                [ prelude.lowerBound { name = "libdrm", lower = [ 2, 4, 75 ] }-                , prelude.unbounded "libXdamage"-                , prelude.unbounded "libXfixes"-                , prelude.unbounded "libXxf86vm"-                , prelude.lowerBound { name = "libxshmfence", lower = [ 1, 1 ] }-                , prelude.lowerBound { name = "glproto", lower = [ 1, 4, 14 ] }-                , prelude.lowerBound { name = "dri2proto", lower = [ 2, 8 ] }-                , prelude.unbounded "libXrandr"-                ]-              , configureCommand =-                  prelude.configureWithFlags-                    [ "--enable-autotools"-                    , "--with-gallium-drivers=nouveau,swrast"-                    ]-              }--let libXdamage =-      mkXLibDeps-        { name = "libXdamage"-        , deps =-          [ prelude.unbounded "libXfixes", prelude.unbounded "damageproto" ]-        }--let libXfixes =-      mkXLibDeps-        { name = "libXfixes"-        , deps =-          [ prelude.unbounded "xproto"-          , prelude.unbounded "fixesproto"-          , prelude.unbounded "xextproto"-          , prelude.unbounded "libX11"-          ]-        }--let libXxf86vm =-      mkXLibDeps-        { name = "libXxf86vm"-        , deps =-          [ prelude.unbounded "xproto"-          , prelude.unbounded "libX11"-          , prelude.unbounded "xextproto"-          , prelude.unbounded "libXext"-          , prelude.unbounded "xf86vidmodeproto"-          ]-        }--let libxshmfence =-      mkXLibDeps-        { name = "libxshmfence", deps = [ prelude.unbounded "xproto" ] }--let gnome-doc-utils =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeSimple "gnome-doc-utils" x-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "libxslt", lower = [ 1, 1, 8 ] }-            , prelude.lowerBound { name = "libxml2", lower = [ 2, 6, 12 ] }-            ]-          , pkgBuildDeps =-            [ prelude.lowerBound { name = "intltool", lower = [ 0, 35, 0 ] }-            , prelude.unbounded "gettext"-            , prelude.unbounded "python2"-            ]-          }--let itstool =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "itstool", version = v }-        ⫽ { pkgUrl =-              "http://files.itstool.org/itstool/itstool-${prelude.showVersion-                                                            v}.tar.bz2"-          , pkgDeps = [ prelude.unbounded "libxml2" ]-          }--let gexiv2 =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeNinja "gexiv2" x-        ⫽ { pkgDeps = [ prelude.unbounded "exiv2", prelude.unbounded "glib" ]-          , installCommand =-              prelude.ninjaInstallWithPkgConfig-                (prelude.mesonMoves [ "gexiv2.pc" ])-          }--let exiv2 =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "exiv2", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "http://www.exiv2.org/builds/exiv2-${versionString}-Source.tar.gz"-              , pkgSubdir = "exiv2-${versionString}-Source"-              }--let libtiff =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.ninjaPackage { name = "libtiff", version = v }-            ⫽ { pkgUrl =-                  "https://download.osgeo.org/libtiff/tiff-${versionString}.tar.gz"-              , pkgSubdir = "tiff-${versionString}"-              , configureCommand = prelude.cmakeConfigureNinja-              , pkgBuildDeps =-                [ prelude.unbounded "cmake", prelude.unbounded "ninja" ]-              }--let nspr =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        let bitFlag =-                λ(cfg : types.BuildVars)-              →       if prelude.isX64 (prelude.archCfg cfg)--                then  [ "--enable-64bit" ]--                else  [] : List Text--        in    prelude.simplePackage { name = "nspr", version = v }-            ⫽ { pkgUrl =-                  "https://archive.mozilla.org/pub/nspr/releases/v${versionString}/src/nspr-${versionString}.tar.gz"-              , pkgSubdir = "nspr-${versionString}/nspr"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  → prelude.configureWithFlags (bitFlag cfg) cfg-              }--let libthai =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libthai", version = v }-        ⫽ { pkgUrl =-              "https://linux.thai.net/pub/thailinux/software/libthai/libthai-${prelude.showVersion-                                                                                 v}.tar.xz"-          , pkgDeps = [ prelude.unbounded "libdatrie" ]-          }--let libdatrie =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libdatrie", version = v }-        ⫽ { pkgUrl =-              "https://linux.thai.net/pub/thailinux/software/libthai/libdatrie-${prelude.showVersion-                                                                                   v}.tar.xz"-          }--let joe =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "joe", version = v }-        ⫽ { pkgUrl =-              "https://downloads.sourceforge.net/joe-editor/joe-${prelude.showVersion-                                                                    v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/joe" ]-          }--let fossil =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "fossil", version = v }-        ⫽ { pkgUrl =-              "https://fossil-scm.org/fossil/uv/fossil-src-${prelude.showVersion-                                                               v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/fossil" ]-          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "openssl" ]-          }--let libcroco =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeSimple "libcroco" x-        ⫽ { pkgDeps =-            [ prelude.lowerBound { name = "glib", lower = [ 2, 0 ] }-            , prelude.lowerBound { name = "libxml2", lower = [ 2, 4, 23 ] }-            ]-          }--let libsoup =-        λ(x : { version : List Natural, patch : Natural })-      → let libsoupCfgFile =-              ''-              option('gssapi',-                type : 'boolean',-                value : true,-                description : 'Build with GSSAPI support'-              )--              option('krb5_config',-                type : 'string',-                description : 'Where to look for krb5-config, path points to krb5-config installation (defaultly looking in PATH)'-              )--              option('ntlm',-                type : 'boolean',-                value : false,-                description : 'Build with NTLM support'-              )--              option('tls_check',-                type : 'boolean',-                value : true,-                description : 'Enable TLS support through glib-networking. If you are building a package, you can disable this to allow building libsoup anyway (since glib-networking is not actually required at compile time), but you should be sure to add a runtime dependency on it.'-              )--              option('gnome',-                type : 'boolean',-                value : true,-                description : 'Build libsoup with GNOME support'-              )--              option('introspection',-                type : 'boolean',-                value : true,-                description : 'Build GObject Introspection data'-              )--              option('vapi',-                type : 'boolean',-                value : false,-                description : 'Build Vala bindings'-              )--              option('doc',-                type: 'boolean',-                value: false,-                description: 'Enable generating the API reference'-              )--              option('tests',-                type: 'boolean',-                value: true,-                description: 'Enable unit tests compilation'-              )-              ''--        in    mkGnomeNinja "libsoup" x-            ⫽ { pkgDeps =-                [ prelude.unbounded "glib"-                , prelude.unbounded "sqlite"-                , prelude.unbounded "libxml2"-                , prelude.unbounded "libpsl"-                , prelude.unbounded "krb5"-                , prelude.unbounded "gobject-introspection"-                ]-              , pkgBuildDeps = [ prelude.unbounded "vala" ]-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  →   [ prelude.writeFile-                          { file = "meson_options.txt"-                          , contents = libsoupCfgFile-                          }-                      ]-                    # prelude.mesonConfigure cfg-              , installCommand =-                  prelude.ninjaInstallWithPkgConfig-                    (prelude.mesonMoves [ "libsoup-2.4.pc" ])-              }--let libpsl =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libpsl", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/rockdaboot/libpsl/releases/download/libpsl-${versionString}/libpsl-${versionString}.tar.gz"-              }--let krb5 =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "krb5", version = v }-            ⫽ { pkgUrl =-                  "https://kerberos.org/dist/krb5/${versionString}/krb5-${versionString}.tar.gz"-              , pkgSubdir = "krb5-${versionString}/src"-              , pkgBuildDeps = [ prelude.unbounded "bison" ]-              }--let vala =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeSimple "vala" x-        ⫽ { pkgBuildDeps = [ prelude.unbounded "flex" ]-          , pkgDeps =-            [ prelude.lowerBound { name = "glib", lower = [ 2, 40, 0 ] }-            , prelude.lowerBound { name = "graphviz", lower = [ 2, 15 ] }-            ]-          }--let htop =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "htop", version = v }-            ⫽ { pkgUrl =-                  "https://hisham.hm/htop/releases/${versionString}/htop-${versionString}.tar.gz"-              , pkgDeps = [ prelude.unbounded "ncurses" ]-              , pkgBuildDeps = [ prelude.unbounded "python3" ]-              , installCommand = prelude.installWithBinaries [ "bin/htop" ]-              }--let mpfr =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "mpfr", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/mpfr/mpfr-${prelude.showVersion-                                                     v}.tar.xz"-          }--let libsodium =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libsodium", version = v }-        ⫽ { pkgUrl =-              "https://download.libsodium.org/libsodium/releases/libsodium-${prelude.showVersion-                                                                               v}.tar.gz"-          }--let libev =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libev", version = v }-        ⫽ { pkgUrl =-              "http://dist.schmorp.de/libev/Attic/libev-${prelude.showVersion-                                                            v}.tar.gz"-          }--let ctags =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "ctags", version = v }-        ⫽ { pkgUrl =-              "http://prdownloads.sourceforge.net/ctags/ctags-${prelude.showVersion-                                                                  v}.tar.gz"-          , installCommand = prelude.installWithBinaries [ "bin/ctags" ]-          }--let tcc =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "tcc", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/tinycc/tcc-${prelude.showVersion-                                                                        v}.tar.bz2"-          , pkgBuildDeps =-            [ prelude.unbounded "perl", prelude.unbounded "texinfo" ]-          , installCommand = prelude.installWithBinaries [ "bin/tcc" ]-          }--let texinfo =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "texinfo", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/texinfo/texinfo-${prelude.showVersion-                                                           v}.tar.xz"-          , configureCommand =-              prelude.configureWithFlags [ "--disable-dependency-tracking" ]-          }--let node =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "node", version = v }-            ⫽ { pkgUrl =-                  "https://nodejs.org/dist/v${versionString}/node-v${versionString}.tar.gz"-              , pkgSubdir = "node-v${versionString}"-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.installWithBinaries [ "bin/node", "bin/npm" ] cfg-                    # [ prelude.mkExe-                          "${cfg.installDir}/lib/node_modules/npm/bin/npm-cli.js"-                      ]-              }--let glu =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "glu", version = v }-        ⫽ { pkgUrl =-              "https://mesa.freedesktop.org/archive/glu/glu-${prelude.showVersion-                                                                v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "mesa" ]-          }--let compositeproto = mkXProto "compositeproto"--let libXcomposite =-      mkXLibDeps-        { name = "libXcomposite"-        , deps =-          [ prelude.unbounded "libX11"-          , prelude.lowerBound { name = "compositeproto", lower = [ 0, 4 ] }-          , prelude.unbounded "libXfixes"-          ]-        }--let mosh =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "mosh", version = v }-        ⫽ { pkgUrl = "https://mosh.org/mosh-${prelude.showVersion v}.tar.gz"-          , pkgBuildDeps = [ prelude.unbounded "protobuf" ]-          , pkgDeps =-            [ prelude.unbounded "zlib"-            , prelude.unbounded "protobuf"-            , prelude.unbounded "openssl"-            ]-          , installCommand = prelude.installWithBinaries [ "bin/mosh" ]-          }--let protobuf =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "protobuf", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/protocolbuffers/protobuf/releases/download/v${versionString}/protobuf-cpp-${versionString}.tar.gz"-              , pkgSubdir = "protobuf-${versionString}"-              }--let libcds =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "libcds", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "https://downloads.sourceforge.net/libcds/cds-${prelude.showVersion-                                                                    v}.tar.gz"-              , pkgSubdir = "cds-${versionString}"-              , pkgDeps = [ prelude.unbounded "libboost" ]-              }--let libboost =-    -- TODO: use bootstrap.bat on windows-      let boostConfigure =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (prelude.defaultCall ⫽ { program = "./bootstrap.sh" })-              ]--      let boostInstall =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "./b2"-                      , arguments =-                        [ "install"-                        , "--prefix=${cfg.installDir}"-                        , "--without-python"-                        ]-                      }-                  )-              ]--      in    λ(v : List Natural)-          → let versionString = prelude.underscoreVersion v--            in    prelude.simplePackage { name = "libboost", version = v }-                ⫽ { pkgUrl =-                      "https://dl.bintray.com/boostorg/release/${prelude.showVersion-                                                                   v}/source/boost_${versionString}.tar.bz2"-                  , pkgSubdir = "boost_${versionString}"-                  , configureCommand = boostConfigure-                  , buildCommand = prelude.doNothing-                  , installCommand = boostInstall-                  }--let slowBuild =-        λ(cfg : types.BuildVars)-      → [ prelude.call-            { program = "cmake"-            , arguments =-              [ "--build", ".", "--config", "Release", "--", "-j", "2" ]-            , environment = prelude.defaultEnv-            , procDir = Some "build"-            }-        ]--let clang =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "clang", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "http://releases.llvm.org/${versionString}/cfe-${versionString}.src.tar.xz"-              , pkgSubdir = "cfe-${versionString}.src"-              , buildCommand = slowBuild-              , pkgDeps = [ prelude.unbounded "llvm" ]-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.cmakeInstall cfg-                    # [ prelude.symlinkBinary "bin/clang"-                      , prelude.symlinkBinary "bin/clang-format"-                      ]-              }--let llvm =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "llvm", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "http://releases.llvm.org/${versionString}/llvm-${versionString}.src.tar.xz"-              , pkgSubdir = "llvm-${versionString}.src"-              , buildCommand = slowBuild-              }--let pari =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pari", version = v }-        ⫽ { pkgUrl =-              "http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-${prelude.showVersion-                                                                     v}.tar.gz"-          , configureCommand =-              prelude.generalConfigure-                prelude.configSome-                "Configure"-                ([] : List Text)-                ([] : List Text)-          }--let pdfgrep =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pdfgrep", version = v }-        ⫽ { pkgUrl =-              "https://pdfgrep.org/download/pdfgrep-${prelude.showVersion-                                                        v}.tar.gz"-          , pkgDeps =-            [ prelude.unbounded "poppler", prelude.unbounded "libgcrypt" ]-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithWrappers [ "pdfgrep" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/pdfgrep.1", section = 1 } ]-          }--let mpc =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "mpc", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/mpc/mpc-${prelude.showVersion v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "mpfr" ]-          }--let gcc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "gcc", version = v }-            ⫽ { pkgUrl =-                  "https://ftp.gnu.org/gnu/gcc/gcc-${versionString}/gcc-${versionString}.tar.xz"-              , configureCommand =-                    λ(cfg : types.BuildVars)-                  →   [ prelude.call-                          { program = "contrib/download_prerequisites"-                          , arguments = [] : List Text-                          , environment = None (List types.EnvVar)-                          , procDir = None Text-                          }-                      ]-                    # prelude.configureWithFlags [ "--disable-multilib" ] cfg-              , installCommand =-                  prelude.installWithBinaries-                    [ "bin/gcc"-                    , "bin/g++"-                    , "bin/gcc-ar"-                    , "bin/gcc-nm"-                    , "bin/gfortran"-                    , "bin/gcc-ranlib"-                    ]-              , pkgBuildDeps =-                [ prelude.unbounded "curl"-                , prelude.unbounded "sed"-                , prelude.unbounded "libtool"-                ]-              }--let ruby =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage-                { name = "ruby", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "https://cache.ruby-lang.org/pub/ruby/${versionString}/ruby-${fullVersion}.tar.gz"-              , installCommand =-                  prelude.installWithBinaries [ "bin/ruby", "bin/gem" ]-              , pkgDeps =-                [ prelude.unbounded "readline", prelude.unbounded "openssl" ]-              }--let poppler =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "poppler", version = v }-        ⫽ prelude.cmakePackage-        ⫽ { pkgUrl =-              "https://poppler.freedesktop.org/poppler-${prelude.showVersion-                                                           v}.tar.xz"-          , pkgDeps =-            [ prelude.unbounded "fontconfig"-            , prelude.unbounded "libopenjpeg"-            , prelude.unbounded "libjpeg-turbo"-            , prelude.unbounded "libjpeg"-            , prelude.unbounded "freetype"-            , prelude.unbounded "zlib"-            , prelude.unbounded "libpng"-            , prelude.unbounded "libiconv"-            , prelude.unbounded "harfbuzz"-            , prelude.unbounded "glib"-            ]-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.cmakeInstall cfg-                # prelude.mkLDPathWrappers-                    cfg-                    [ "pdfdetach"-                    , "pdffonts"-                    , "pdfimages"-                    , "pdfinfo"-                    , "pdfseparate"-                    , "pdfsig"-                    , "pdftocairo"-                    , "pdftohtml"-                    , "pdftoppm"-                    , "pdftops"-                    , "pdftotext"-                    , "pdfunite"-                    ]-          }--let tesseract =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "tesseract", version = v }-        ⫽ { pkgUrl =-              "https://github.com/tesseract-ocr/tesseract/archive/${prelude.showVersion-                                                                      v}.tar.gz"-          , pkgDeps =-            [ prelude.lowerBound { name = "leptonica", lower = [ 1, 74 ] } ]-          , pkgBuildDeps =-            [ prelude.unbounded "libtool"-            , prelude.unbounded "automake"-            , prelude.unbounded "pkg-config"-            ]-          , configureCommand = prelude.autogenConfigure-          , installCommand = prelude.installWithBinaries [ "bin/tesseract" ]-          }--let leptonica =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "leptonica", version = v }-        ⫽ { pkgUrl =-              "http://leptonica.org/source/leptonica-${prelude.showVersion-                                                         v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "zlib" ]-          }--let grep =-      λ(v : List Natural) → prelude.makeGnuExe { name = "grep", version = v }--let phash =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "pHash", version = v }-        ⫽ { pkgUrl =-              "http://phash.org/releases/pHash-${prelude.showVersion v}.tar.gz"-          , pkgDeps =-            [ prelude.lowerBound { name = "CImg", lower = [ 1, 3 ] }-            , prelude.unbounded "ffmpeg"-            , prelude.unbounded "libsndfile"-            , prelude.unbounded "libsamplerate"-            , prelude.unbounded "mpg123"-            , prelude.unbounded "libjpeg-turbo"-            , prelude.unbounded "libpng"-            , prelude.unbounded "fftw"-            ]-          , pkgBuildDeps =-            [ prelude.unbounded "autoconf"-            , prelude.unbounded "automake"-            , prelude.unbounded "grep"-            , prelude.unbounded "coreutils"-            , prelude.unbounded "sed"-            , prelude.unbounded "libtool"-            ]-          , configureCommand =-                λ(cfg : types.BuildVars)-              →   [ prelude.patch-                      ./patches/pHash.patch sha256:d442c0bb6c66893badf8642d8c8123026f21e78513f91af422c4d4ee70a28d50 as Text-                  , prelude.call-                      { program = "autoreconf"-                      , arguments = [ "-i" ]-                      , environment = Some-                        [ { var = "PATH"-                          , value = prelude.mkPathVar cfg.binDirs-                          }-                        , prelude.mkAclocalPath cfg.shareDirs-                        ]-                      , procDir = None Text-                      }-                  ]-                # prelude.defaultConfigure cfg-          }--let cimg =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "CImg", version = v }-            ⫽ { pkgUrl = "http://cimg.eu/files/CImg_${versionString}.zip"-              , pkgBuildDeps = [] : List types.Dep-              , configureCommand = prelude.doNothing-              , buildCommand = prelude.doNothing-              , installCommand =-                    λ(_ : types.BuildVars)-                  → [ prelude.copyFile "CImg.h" "include/CImg.h" ]-              }--let ffmpeg =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "ffmpeg", version = v }-        ⫽ { pkgUrl =-              "https://ffmpeg.org/releases/ffmpeg-${prelude.showVersion-                                                      v}.tar.bz2"-          , pkgBuildDeps = [ prelude.unbounded "nasm" ]-          , 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"-            ]-          }--let libsndfile =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libsndfile", version = v }-        ⫽ { pkgUrl =-              "http://www.mega-nerd.com/libsndfile/files/libsndfile-${prelude.showVersion-                                                                        v}.tar.gz"-          }--let libsamplerate =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libsamplerate", version = v }-        ⫽ { pkgUrl =-              "http://www.mega-nerd.com/SRC/libsamplerate-${prelude.showVersion-                                                              v}.tar.gz"-          }--let mpg123 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "mpg123", version = v }-        ⫽ { pkgUrl =-              "http://www.mpg123.de/download/mpg123-${prelude.showVersion-                                                        v}.tar.bz2"-          }--let time =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "time", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/time/time-${prelude.showVersion-                                                     v}.tar.gz"-          }--let make =-        λ(v : List Natural)-      →   prelude.makeGnuExe { name = "make", version = v }-        ⫽ { pkgUrl =-              "https://ftp.wayne.edu/gnu/make/make-${prelude.showVersion-                                                       v}.tar.bz2"-          , configureCommand =-              prelude.configureWithPatch-                ./patches/make.patch sha256:56f3260d302d1ecd0173ab6e5ccc0e4806fb8f0bc6aa68a1d7ef4fca77d85572 as Text-          , buildCommand =-                λ(cfg : types.BuildVars)-              → [ prelude.call-                    (   prelude.defaultCall-                      ⫽ { program = "sh"-                        , arguments = [ "build.sh" ]-                        , environment = Some (prelude.buildEnv cfg)-                        }-                    )-                ]-          , installCommand =-                λ(_ : types.BuildVars)-              → [ prelude.copyFile "make" "bin/make"-                , prelude.symlinkBinary "bin/make"-                ]-          , pkgBuildDeps = [ prelude.unbounded "patch" ]-          }--let mercury =-      let mercuryBuild =-              λ(cfg : types.BuildVars)-            → [ prelude.call-                  (   prelude.defaultCall-                    ⫽ { program = "make"-                      , arguments = [ "PARALLEL=-j${Natural/show cfg.cpus}" ]-                      , environment = Some (prelude.buildEnv cfg)-                      }-                  )-              ]--      let mercuryCommon =-            { pkgUrl =-                "http://dl.mercurylang.org/release/mercury-srcdist-14.01.1.tar.gz"-            , pkgSubdir = "mercury-srcdist-14.01.1"-            , buildCommand = mercuryBuild-            }--      in    prelude.simplePackage { name = "mercury", version = [ 14, 1, 1 ] }-          ⫽ mercuryCommon-          ⫽ { pkgBuildDeps = [ prelude.unbounded "flex" ] }--let qt =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.simplePackage-                { name = "qt", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "https://download.qt.io/archive/qt/${versionString}/${fullVersion}/single/qt-everywhere-src-${fullVersion}.tar.xz"-              , pkgSubdir = "qt-everywhere-src-${fullVersion}"-              , pkgBuildDeps =-                [ prelude.unbounded "flex"-                , prelude.unbounded "bison"-                , prelude.unbounded "pkg-config"-                , prelude.unbounded "gperf"-                , prelude.unbounded "perl"-                , prelude.unbounded "python2"-                , prelude.unbounded "git"-                ]-              , pkgDeps =-                [ prelude.unbounded "fontconfig"-                , prelude.unbounded "mesa"-                , prelude.unbounded "dbus"-                , prelude.unbounded "freetype"-                , prelude.unbounded "harfbuzz"-                , prelude.unbounded "libjpeg-turbo"-                , prelude.unbounded "libpng"-                , prelude.unbounded "giflib"-                , prelude.unbounded "glib"-                ]-              }--let lz4 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "lz4", version = v }-        ⫽ { pkgUrl =-              "https://github.com/lz4/lz4/archive/v${prelude.showVersion-                                                       v}.tar.gz"-          , configureCommand = prelude.doNothing-          , installCommand =-                λ(cfg : types.BuildVars)-              →   [ 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 =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "fftw", version = v }-        ⫽ { pkgUrl = "http://www.fftw.org/fftw-${prelude.showVersion v}.tar.gz"-          , configureCommand =-              prelude.configureWithFlags-                [ "--enable-shared"-                , "--enable-threads"-                , "--with-combined-threads"-                ]-          }--let icu-le-hb =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "icu-le-hb", version = v }-        ⫽ { pkgUrl =-              "https://github.com/harfbuzz/icu-le-hb/archive/${prelude.showVersion-                                                                 v}.tar.gz"-          , configureCommand = prelude.autogenConfigure-          , pkgDeps = [ prelude.unbounded "harfbuzz", prelude.unbounded "icu" ]-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          }--let icu =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "icu", version = v }-        ⫽ { pkgUrl =-              "http://download.icu-project.org/files/icu4c/${prelude.showVersion-                                                               v}/icu4c-${prelude.underscoreVersion-                                                                            v}-src.tgz"-          , pkgSubdir = "icu/source"-          , pkgBuildDeps =-            [ prelude.lowerBound { name = "make", lower = [ 3, 80 ] }-            , prelude.unbounded "python3"-            ]-          }--let opencv =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "opencv", version = v }-        ⫽ prelude.cmakePackage-        ⫽ { pkgUrl =-              "https://github.com/opencv/opencv/archive/${prelude.showVersion-                                                            v}.zip"-          , pkgBuildDeps =-            [ prelude.lowerBound { name = "cmake", lower = [ 2, 8, 7 ] }-            , prelude.unbounded "pkg-config"-            , prelude.unbounded "python2"-            ]-          , pkgDeps =-            [ prelude.unbounded "zlib"-            , prelude.unbounded "libjpeg-turbo"-            , prelude.unbounded "libpng"-            , prelude.unbounded "gtk3"-            , prelude.unbounded "ffmpeg"-            ]-          }--let libraw =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libraw", version = v }-        ⫽ { pkgUrl =-              "https://www.libraw.org/data/LibRaw-${prelude.showVersion-                                                      v}.tar.gz"-          , pkgSubdir = "LibRaw-${prelude.showVersion v}"-          }--let quazip =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "quazip", version = v }-        ⫽ prelude.cmakePackage-        ⫽ { pkgUrl =-              "https://github.com/stachenov/quazip/archive/v${prelude.showVersion-                                                                v}.tar.gz"-          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "qt" ]-          }--let eigen =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "eigen", version = v }-        ⫽ prelude.cmakePackage-        ⫽ { pkgUrl =-              "http://bitbucket.org/eigen/eigen/get/${prelude.showVersion-                                                        v}.tar.bz2"-          , pkgSubdir = "eigen-eigen-323c052e1731"-          }--let blas =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "blas", version = v }-        ⫽ { pkgUrl =-              "http://www.netlib.org/blas/blas-${prelude.showVersion v}.tgz"-          , pkgSubdir = "BLAS-${prelude.showVersion v}"-          , pkgBuildDeps = [ prelude.unbounded "gcc" ]-          , configureCommand = prelude.doNothing-          , installCommand =-                λ(_ : types.BuildVars)-              → [ prelude.copyFile "blas_LINUX.a" "lib/blas.a" ]-          }--let openblas =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "openblas", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/xianyi/OpenBLAS/archive/v${versionString}.tar.gz"-              , pkgSubdir = "OpenBLAS-${versionString}"-              , pkgBuildDeps = [ prelude.unbounded "gcc" ]-              , pkgDeps = [ prelude.unbounded "gcc" ]-              , configureCommand = prelude.doNothing-              , installCommand = prelude.installPrefix-              }--let r =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "r", version = v }-            ⫽ { pkgUrl =-                  "https://cran.r-project.org/src/base/R-4/R-${versionString}.tar.gz"-              , pkgSubdir = "R-${versionString}"-              , pkgDeps =-                [ prelude.unbounded "readline"-                , prelude.unbounded "libXt"-                , prelude.unbounded "pcre"-                ]-              , pkgBuildDeps = [ prelude.unbounded "gcc" ]-              , installCommand =-                  prelude.installWithBinaries [ "bin/R", "bin/Rscript" ]-              }--let libspng =-        λ(v : List Natural)-      →   prelude.ninjaPackage { name = "libspng", version = v }-        ⫽ { pkgUrl =-              "https://github.com/randy408/libspng/archive/v${prelude.showVersion-                                                                v}.tar.gz"-          , pkgBuildDeps =-            [ prelude.unbounded "pkg-config"-            , prelude.unbounded "meson"-            , prelude.lowerBound { name = "ninja", lower = [ 1, 5, 0 ] }-            ]-          , pkgDeps = [ prelude.unbounded "zlib" ]-          }--let glib-networking =-        λ(x : { version : List Natural, patch : Natural })-      → let versionString = prelude.showVersion x.version--        let fullVersion = versionString ++ "." ++ Natural/show x.patch--        in    prelude.ninjaPackage-                { name = "glib-networking", version = prelude.fullVersion x }-            ⫽ { pkgUrl =-                  "http://ftp.gnome.org/pub/gnome/sources/glib-networking/${versionString}/glib-networking-${fullVersion}.tar.xz"-              , pkgBuildDeps =-                [ prelude.unbounded "pkg-config", prelude.unbounded "gettext" ]-              , pkgDeps =-                [ prelude.unbounded "glib", prelude.unbounded "gnutls" ]-              }--let libwebp =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libwebp", version = v }-        ⫽ { pkgUrl =-              "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${prelude.showVersion-                                                                                                  v}.tar.gz"-          }--let rustc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "rustc", version = v }-            ⫽ { pkgUrl =-                  "https://static.rust-lang.org/dist/rust-${versionString}-x86_64-unknown-linux-gnu.tar.gz"-              , pkgSubdir = "rust-${versionString}-x86_64-unknown-linux-gnu"-              , configureCommand = prelude.doNothing-              , buildCommand = prelude.doNothing-              , installCommand =-                    λ(cfg : types.BuildVars)-                  → [ prelude.call-                        (   prelude.defaultCall-                          ⫽ { program = "./install.sh"-                            , arguments =-                              [ "--prefix=${cfg.installDir}"-                              , "--disable-ldconfig"-                              ]-                            }-                        )-                    ]-              }--let librsvg =-        λ(x : { version : List Natural, patch : Natural })-      →   mkGnomeSimple "librsvg" x-        ⫽ { pkgBuildDeps =-            [ prelude.lowerBound { name = "rustc", lower = [ 1, 16, 0 ] }-            , prelude.unbounded "pkg-config"-            ]-          , pkgDeps =-            [ prelude.lowerBound { name = "cairo", lower = [ 1, 16, 0 ] }-            , prelude.lowerBound { name = "libxml2", lower = [ 2, 9, 0 ] }-            , prelude.lowerBound { name = "libcroco", lower = [ 0, 6, 1 ] }-            , prelude.unbounded "pango"-            , prelude.lowerBound { name = "gdk-pixbuf", lower = [ 2, 20 ] }-            , prelude.unbounded "gobject-introspection"-            , prelude.lowerBound { name = "glib", lower = [ 2, 10, 0 ] }-            ]-          }--let ats =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in  let atsBuild =-                    λ(cfg : types.BuildVars)-                  → let buildDir =-                              cfg.currentDir-                          ++  "/ATS2-Postiats-gmp-${versionString}"--                    in  [ prelude.call-                            (   prelude.defaultCall-                              ⫽ { program = prelude.makeExe cfg.buildOS-                                , arguments =-                                  [ "CFLAGS=${( prelude.mkCFlags cfg-                                              ).value} -I${buildDir}/src/CBOOT/ccomp/runtime -I${buildDir}/src/CBOOT"-                                  , "LDFLAGS='${( prelude.mkLDFlags-                                                    cfg.linkDirs-                                                    cfg-                                                ).value}'"-                                  ]-                                , environment = Some (prelude.buildEnv cfg)-                                }-                            )-                        ]--            in    prelude.simplePackage { name = "ats", version = v }-                ⫽ { pkgUrl =-                      "http://ats-lang.sourceforge.net/IMPLEMENT/Postiats/ATS2-Postiats-gmp-${versionString}.tgz"-                  , pkgSubdir = "ATS2-Postiats-gmp-${versionString}"-                  , pkgDeps = [ prelude.unbounded "gmp" ]-                  , buildCommand = atsBuild-                  , installCommand =-                      prelude.installWithBinaries-                        [ "bin/patsopt", "bin/patscc" ]-                  }--let libiconv =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libiconv", version = v }-        ⫽ { pkgUrl =-              "https://ftp.wayne.edu/gnu/libiconv/libiconv-${prelude.showVersion-                                                               v}.tar.gz"-          }--let libav =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libav", version = v }-        ⫽ { pkgUrl =-              "https://libav.org/releases/libav-${prelude.showVersion v}.tar.xz"-          , pkgBuildDeps =-            [ prelude.unbounded "nasm", prelude.unbounded "perl" ]-          , installCommand =-              prelude.installWithBinaries [ "bin/avconv", "bin/avprobe" ]-          }--let alsa-lib =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "alsa-lib", version = v }-        ⫽ { pkgUrl =-              "https://www.alsa-project.org/files/pub/lib/alsa-lib-${prelude.showVersion-                                                                       v}.tar.bz2"-          }--let bash-completion =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "bash-completion", version = v }-            ⫽ { pkgUrl =-                  "https://github.com/scop/bash-completion/releases/download/${versionString}/bash-completion-${versionString}.tar.xz"-              }--let hugs =-      let hugsEnv =-              λ(_ : List Text)-            → λ(cfg : types.BuildVars)-            → Some-                [ { var = "CFLAGS", value = "-std=gnu89" }-                , { var = "PATH", value = prelude.mkPathVar cfg.binDirs }-                ]--      in    prelude.simplePackage { name = "hugs", version = [ 2006, 9 ] }-          ⫽ { pkgUrl =-                "https://www.haskell.org/hugs/downloads/2006-09/hugs98-plus-Sep2006.tar.gz"-            , pkgSubdir = "hugs98-plus-Sep2006"-            , configureCommand =-                prelude.generalConfigure-                  hugsEnv-                  "configure"-                  ([] : List Text)-                  ([] : List Text)-            , pkgBuildDeps =-              [ prelude.unbounded "coreutils"-              , prelude.unbounded "sed"-              , prelude.unbounded "gcc"-              , prelude.unbounded "binutils"-              , prelude.unbounded "grep"-              , prelude.unbounded "findutils"-              ]-            }--let bash =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "bash", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/gnu/bash/bash-${prelude.showVersion-                                                     v}.tar.gz"-          }--let findutils =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "findutils", version = v }-        ⫽ { pkgUrl =-              "https://ftp.gnu.org/pub/gnu/findutils/findutils-${prelude.showVersion-                                                                   v}.tar.xz"-          }--let ghc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "ghc", version = v }-            ⫽ { pkgUrl =-                  "https://downloads.haskell.org/~ghc/${versionString}/ghc-${versionString}-x86_64-deb9-linux.tar.xz"-              , buildCommand = prelude.doNothing-              }--let cmark =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "cmark", version = v }-        ⫽ prelude.cmakePackage-        ⫽ { pkgUrl =-              "https://github.com/commonmark/cmark/archive/${prelude.showVersion-                                                               v}.tar.gz"-          }--let lzip =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "lzip", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/lzip-${prelude.showVersion-                                                                       v}.tar.lz"-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/lzip" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/lzip.1", section = 1 } ]-          }--let clzip =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "clzip", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/clzip/clzip-${prelude.showVersion-                                                                              v}.tar.lz"-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/clzip" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/clzip.1", section = 1 } ]-          }--let lunzip =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "lunzip", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/lunzip/lunzip-${prelude.showVersion-                                                                                v}.tar.lz"-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/lunzip" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/lunzip.1", section = 1 } ]-          }--let lzlib =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "lzlib", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/lzlib/lzlib-${prelude.showVersion-                                                                              v}.tar.lz"-          , configureCommand = prelude.configureWithFlags [ "--enable-shared" ]-          }--let lziprecover =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "lziprecover", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/lziprecover/lziprecover-${prelude.showVersion-                                                                                          v}.tar.lz"-          , installCommand = prelude.installWithBinaries [ "bin/lziprecover" ]-          }--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}"-              }--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 ] }-                ]-              }--let libogg =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libogg", version = v }-        ⫽ { pkgUrl =-              "https://downloads.xiph.org/releases/ogg/libogg-${prelude.showVersion-                                                                  v}.tar.xz"-          }--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" ]-          }--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" ]-              }--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"-          }--let swi-prolog =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.ninjaPackage { name = "swi-prolog", version = v }-            ⫽ { pkgUrl =-                  "https://www.swi-prolog.org/download/stable/src/swipl-${versionString}.tar.gz"-              , configureCommand = prelude.cmakeConfigureNinja-              , pkgBuildDeps =-                [ prelude.unbounded "cmake"-                , prelude.unbounded "ninja"-                , prelude.unbounded "coreutils"-                ]-              , pkgSubdir = "swipl-${versionString}"-              }--let exiftool =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "exiftool", version = v }-            ⫽ { pkgUrl =-                  "https://sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-${versionString}.tar.gz"-              , pkgSubdir = "Image-ExifTool-${versionString}"-              , configureCommand = prelude.perlConfigure-              , installCommand =-                    λ(cfg : types.BuildVars)-                  → let perlWrapper =-                          "PERL5LIB=${cfg.installDir}/lib/site_perl/5.30.0/ ${cfg.installDir}/bin/exiftool \$@"--                    let wrapped = "wrapper/exiftool"--                    in    prelude.defaultInstall cfg-                        # [ prelude.createDir "wrapper"-                          , prelude.writeFile-                              { file = wrapped, contents = perlWrapper }-                          , prelude.mkExe wrapped-                          , prelude.copyFile wrapped wrapped-                          , prelude.symlinkBinary wrapped-                          ]-              , pkgBuildDeps = [ prelude.unbounded "perl" ]-              }--let subversion =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "subversion", version = v }-        ⫽ { pkgUrl =-              "https://www-eu.apache.org/dist/subversion/subversion-${prelude.showVersion-                                                                        v}.tar.bz2"-          , pkgDeps =-            [ prelude.unbounded "apr"-            , prelude.unbounded "apr-util"-            , prelude.unbounded "sqlite"-            , prelude.unbounded "lz4"-            , prelude.unbounded "zlib"-            , prelude.unbounded "utf8proc"-            ]-          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]-          , installCommand = prelude.installWithBinaries [ "bin/svn" ]-          }--let utf8proc =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "utf8proc", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "https://github.com/JuliaStrings/utf8proc/archive/v${versionString}.tar.gz"-              }--let apr =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "apr", version = v }-        ⫽ { pkgUrl =-              "https://www-eu.apache.org/dist/apr/apr-${prelude.showVersion-                                                          v}.tar.bz2"-          }--let apr-util =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "apr-util", version = v }-        ⫽ { pkgUrl =-              "https://www-eu.apache.org/dist/apr/apr-util-${prelude.showVersion-                                                               v}.tar.bz2"-          , pkgDeps = [ prelude.unbounded "apr" ]-          , configureCommand =-                λ(cfg : types.BuildVars)-              → prelude.configureWithFlags-                  [ "--with-apr=${concat cfg.linkDirs}/../" ]-                  cfg-          }--let libsass =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "libsass", version = v }-        ⫽ { pkgUrl =-              "https://github.com/sass/libsass/archive/${prelude.showVersion-                                                           v}.tar.gz"-          , pkgBuildDeps =-            [ prelude.unbounded "autoconf"-            , prelude.unbounded "automake"-            , prelude.unbounded "m4"-            , prelude.unbounded "grep"-            , prelude.unbounded "sed"-            , prelude.unbounded "coreutils"-            , prelude.unbounded "libtool"-            ]-          , configureCommand =-                λ(cfg : types.BuildVars)-              →   [ prelude.call-                      { program = "autoreconf"-                      , arguments = [ "-i" ]-                      , environment = Some-                        [ { var = "PATH"-                          , value = prelude.mkPathVar cfg.binDirs-                          }-                        , prelude.mkAclocalPath cfg.shareDirs-                        ]-                      , procDir = None Text-                      }-                  ]-                # prelude.defaultConfigure cfg-          }--let zstd =-        λ(v : List Natural)-      → let versionString = prelude.showVersion v--        in    prelude.simplePackage { name = "zstd", version = v }-            ⫽ prelude.cmakePackage-            ⫽ { pkgUrl =-                  "https://github.com/facebook/zstd/releases/download/v${versionString}/zstd-${versionString}.tar.zst"-              , pkgSubdir = "zstd-${versionString}/build/cmake"-              , installCommand =-                    λ(cfg : types.BuildVars)-                  →   prelude.cmakeInstall cfg-                    # [ prelude.symlinkBinary "bin/zstd" ]-                    # prelude.symlinkManpages-                        [ { file = "share/man/man1/zstd.1", section = 1 } ]-              }--let luarocks =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "luarocks", version = v }-        ⫽ { pkgUrl =-              "http://luarocks.org/releases/luarocks-${prelude.showVersion-                                                         v}.tar.gz"-          , pkgBuildDeps = [ prelude.unbounded "lua" ]-          , installCommand = prelude.installWithWrappers [ "luarocks" ]-          }--let star =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "star", version = v }-        ⫽ { pkgUrl =-              "https://downloads.sourceforge.net/s-tar/star-${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/star"-                  ]-                # prelude.symlinkManpages-                    [ { file = "opt/schily/share/man/man1/star.1", section = 1 }-                    , { file = "opt/schily/share/man/man1/scpio.1"-                      , section = 1-                      }-                    , { file = "opt/schily/share/man/man1/spax.1", section = 1 }-                    ]-          }--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-                      }-                    , { file = "opt/schily/share/man/man5/makefiles.5"-                      , section = 5-                      }-                    , { file = "opt/schily/share/man/man5/makerules.5"-                      , section = 5-                      }-                    ]-          }--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"-                ]-          }--let tarlz =-        λ(v : List Natural)-      →   prelude.simplePackage { name = "tarlz", version = v }-        ⫽ { pkgUrl =-              "http://download.savannah.gnu.org/releases/lzip/tarlz/tarlz-${prelude.showVersion-                                                                              v}.tar.lz"-          , installCommand =-                λ(cfg : types.BuildVars)-              →   prelude.installWithBinaries [ "bin/tarlz" ] cfg-                # prelude.symlinkManpages-                    [ { file = "share/man/man1/tarlz.1", section = 1 } ]-          }--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, 36 ], patch = 0 }-    , ats [ 0, 4, 0 ]-    , autoconf [ 2, 69 ]-    , automake [ 1, 16, 2 ]-    , babl { version = [ 0, 1 ], patch = 68 }-    , bash [ 5, 0, 17 ]-    , bash-completion [ 2, 9 ]-    , 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 ]-    , cimg [ 2, 7, 0 ]-    , clang [ 9, 0, 0 ]-    , clzip [ 1, 11 ]-    , cmake { version = [ 3, 17 ], patch = 2 }-    , cmark [ 0, 29, 0 ]-    , compositeproto [ 0, 4 ]-    , coreutils [ 8, 31 ]-    , ctags [ 5, 8 ]-    , curl [ 7, 66, 0 ]-    , damageproto [ 1, 2, 1 ]-    , dbus [ 1, 13, 12 ]-    , diffutils [ 3, 7 ]-    , dri2proto [ 2, 8 ]-    , eigen [ 3, 3, 7 ]-    , elfutils [ 0, 177 ]-    , emacs [ 26, 3 ]-    , exiftool [ 11, 65 ]-    , exiv2 [ 0, 27, 1 ]-    , expat [ 2, 2, 9 ]-    , fdk-aac [ 2, 0, 1 ]-    , feh [ 3, 2, 1 ]-    , ffmpeg [ 4, 2, 2 ]-    , fftw [ 3, 3, 8 ]-    , findutils [ 4, 7, 0 ]-    , fixesproto [ 5, 0 ]-    , fontconfig [ 2, 13, 1 ]-    , fossil [ 2, 10 ]-    , flex [ 2, 6, 3 ]-    , fltk [ 1, 3, 5 ]-    , freetype-prebuild [ 2, 10, 1 ]-    , freetype [ 2, 10, 1 ]-    , fribidi [ 1, 0, 9 ]-    , gawk [ 5, 0, 1 ]-    , gc [ 8, 0, 4 ]-    , gcc [ 10, 1, 0 ]-    , gdb [ 8, 3, 1 ]-    , gdk-pixbuf { version = [ 2, 38 ], patch = 1 }-    , gegl { version = [ 0, 4 ], patch = 16 }-    , gettext [ 0, 20, 2 ]-    , gexiv2 { version = [ 0, 12 ], patch = 0 }-    , ghc [ 8, 8, 3 ]-    , gperf [ 3, 1 ]-    , gperftools [ 2, 7 ]-    , giflib [ 5, 1, 4 ]-    , git [ 2, 26, 2 ]-    , glib { version = [ 2, 64 ], patch = 2 }-    , glib-networking { version = [ 2, 61 ], patch = 2 }-    , glproto [ 1, 4, 17 ]-    , glu [ 9, 0, 0 ]-    , json-glib { version = [ 1, 4 ], patch = 4 }-    , glibc [ 2, 30 ]-    , gmp [ 6, 2, 0 ]-    , gobject-introspection { version = [ 1, 62 ], patch = 0 }-    , gnome-doc-utils { version = [ 0, 20 ], patch = 10 }-    , gnupg [ 2, 2, 20 ]-    , gnutls { version = [ 3, 6 ], patch = [ 13 ] }-    , graphviz [ 2, 40, 1 ]-    , grep [ 3, 3 ]-    , gsl [ 2, 6 ]-    , gtk2 { version = [ 2, 24 ], patch = 32 }-    , gtk3 { version = [ 3, 24 ], patch = 18 }-    , gzip [ 1, 10 ]-    , harfbuzz [ 2, 6, 4 ]-    , htop [ 2, 2, 0 ]-    , hugs-    , icu [ 64, 2 ]-    , icu-le-hb [ 1, 0, 3 ]-    , imageMagick [ 7, 0, 8 ]-    , imlib2 [ 1, 5, 1 ]-    , inputproto [ 2, 3, 2 ]-    , intltool [ 0, 51, 0 ]-    , itstool [ 2, 0, 6 ]-    , jemalloc [ 5, 2, 1 ]-    , joe [ 4, 6 ]-    , json-c { version = [ 0, 13, 1 ], dateStr = "20180305" }-    , kbproto [ 1, 0, 7 ]-    , krb5 [ 1, 18 ]-    , lapack [ 3, 8, 0 ]-    , lcms2 [ 2, 9 ]-    , leptonica [ 1, 78, 0 ]-    , libarchive [ 3, 4, 2 ]-    , libass [ 0, 14, 0 ]-    , libassuan [ 2, 5, 3 ]-    , libatomic_ops [ 7, 6, 10 ]-    , libav [ 12, 3 ]-    , libboost [ 1, 72, 0 ]-    , libcds [ 2, 3, 2 ]-    , libcroco { version = [ 0, 6 ], patch = 12 }-    , libdatrie [ 0, 2, 12 ]-    , libdrm [ 2, 4, 96 ]-    , libepoxy [ 1, 5, 3 ]-    , libev [ 4, 25 ]-    , libevent [ 2, 1, 10 ]-    , libexif [ 0, 6, 21 ]-    , libffi [ 3, 3 ]-    , libgcrypt [ 1, 8, 5 ]-    , libglade { version = [ 2, 6 ], patch = 4 }-    , libgpgError [ 1, 37 ]-    , libICE [ 1, 0, 9 ]-    , libiconv [ 1, 16 ]-    , libjpeg [ 9 ]-    , libjpeg-turbo [ 2, 0, 4 ]-    , 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 ]-    , libpng [ 1, 6, 37 ]-    , libpsl [ 0, 21, 0 ]-    , libpthread-stubs [ 0, 4 ]-    , libraw [ 0, 19, 2 ]-    , librsvg { version = [ 2, 48 ], patch = 4 }-    , libsamplerate [ 0, 1, 9 ]-    , libsass [ 3, 6, 2 ]-    , libselinux [ 3, 0 ]-    , libsndfile [ 1, 0, 28 ]-    , libsepol [ 3, 0 ]-    , libsodium [ 1, 0, 17 ]-    , libsoup { version = [ 2, 67 ], patch = 3 }-    , libspng [ 0, 5, 0 ]-    , libssh2 [ 1, 8, 0 ]-    , libtasn1 [ 4, 15, 0 ]-    , libtiff [ 4, 0, 10 ]-    , libtool [ 2, 4, 6 ]-    , libuv [ 1, 24, 0 ]-    , libwebp [ 1, 0, 3 ]-    , libSM [ 1, 2, 3 ]-    , libthai [ 0, 1, 28 ]-    , libvorbis [ 1, 3, 6 ]-    , libvpx [ 1, 8, 2 ]-    , libX11 [ 1, 6, 8 ]-    , libXau [ 1, 0, 9 ]-    , libXaw [ 1, 0, 13 ]-    , libXaw3d [ 1, 6, 3 ]-    , libxcb [ 1, 13 ]-    , libXcomposite [ 0, 4, 5 ]-    , libXdamage [ 1, 1, 5 ]-    , libXdmcp [ 1, 1, 3 ]-    , libXext [ 1, 3, 4 ]-    , libXfixes [ 5, 0, 3 ]-    , libXft [ 2, 3, 3 ]-    , libXi [ 1, 7, 10 ]-    , libXinerama [ 1, 1, 4 ]-    , libxml2 [ 2, 9, 9 ]-    , libXmu [ 1, 1, 3 ]-    , libXpm [ 3, 5, 12 ]-    , libXScrnSaver [ 1, 2, 3 ]-    , libxshmfence [ 1, 3 ]-    , libxslt [ 1, 1, 33 ]-    , libXrandr [ 1, 5, 2 ]-    , libXrender [ 0, 9, 10 ]-    , libXt [ 1, 2, 0 ]-    , libXtst [ 1, 2, 3 ]-    , libXxf86vm [ 1, 1, 4 ]-    , llvm [ 9, 0, 0 ]-    , lmdb [ 0, 9, 23 ]-    , lua [ 5, 3, 5 ]-    , luarocks [ 3, 2, 1 ]-    , lunzip [ 1, 11 ]-    , lz4 [ 1, 9, 2 ]-    , lzip [ 1, 21 ]-    , lziprecover [ 1, 21 ]-    , lzlib [ 1, 11 ]-    , m17n [ 1, 8, 0 ]-    , m4 [ 1, 4, 18 ]-    , make [ 4, 2, 1 ]-    , mako [ 1, 0, 7 ]-    , markupSafe [ 1, 0 ]-    , memcached [ 1, 5, 18 ]-    , mercury-    , mesa [ 19, 0, 5 ]-    , meson [ 0, 51, 2 ]-    , mosh [ 1, 3, 2 ]-    , motif [ 2, 3, 8 ]-    , mpc [ 1, 1, 0 ]-    , mpfr [ 4, 0, 2 ]-    , mpg123 [ 1, 25, 12 ]-    , musl [ 1, 1, 20 ]-    , nano [ 4, 3 ]-    , nasm [ 2, 14 ]-    , ncurses [ 6, 2 ]-    , nginx [ 1, 15, 7 ]-    , ninja [ 1, 9, 0 ]-    , node [ 12, 16, 2 ]-    , npth [ 1, 6 ]-    , nspr [ 4, 20 ]-    , openblas [ 0, 3, 2 ]-    , opencv [ 4, 2, 0 ]-    , openssh [ 7, 9 ]-    , openssl [ 1, 1, 1 ]-    , p11kit [ 0, 23, 16, 1 ]-    , pango { version = [ 1, 43 ], patch = 0 }-    , pari [ 2, 11, 1 ]-    , patch [ 2, 7 ]-    , pcre [ 8, 44 ]-    , pcre2 [ 10, 33 ]-    , pdfgrep [ 2, 1, 2 ]-    , perl5 [ 5, 30, 2 ]-    , phash [ 0, 9, 6 ]-    , pixman [ 0, 38, 4 ]-    , pkg-config [ 0, 29, 2 ]-    , poppler [ 0, 84, 0 ]-    , postgresql [ 12, 2 ]-    , protobuf [ 3, 8, 0 ]-    , pycairo [ 1, 18, 1 ]-    , pygobject { version = [ 2, 28 ], patch = 7 }-    , pygtk { version = [ 2, 24 ], patch = 0 }-    , python [ 2, 7, 17 ]-    , python [ 3, 8, 2 ]-    , qrencode [ 4, 0, 2 ]-    , qt { version = [ 5, 13 ], patch = 0 }-    , quazip [ 0, 8, 1 ]-    , r [ 4, 0, 0 ]-    , ragel [ 6, 10 ]-    , randrproto [ 1, 5, 0 ]-    , re2c [ 1, 1, 1 ]-    , readline [ 8, 0 ]-    , recordproto [ 1, 14, 2 ]-    , renderproto [ 0, 11, 1 ]-    , ruby { version = [ 2, 7 ], patch = 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 ]-    , swig [ 3, 0, 12 ]-    , swi-prolog [ 8, 0, 3 ]-    , tar [ 1, 32 ]-    , tarlz [ 0, 16 ]-    , tcc [ 0, 9, 27 ]-    , texinfo [ 6, 6 ]-    , tesseract [ 4, 0, 0 ]-    , time [ 1, 9 ]-    , unistring [ 0, 9, 10 ]-    , utf8proc [ 2, 4, 0 ]-    , util-linux { version = [ 2, 34 ] }-    , util-macros [ 1, 19, 2 ]-    , vala { version = [ 0, 45 ], patch = 3 }-    , valgrind [ 3, 15, 0 ]-    , vim [ 8, 2 ]-    , wayland [ 1, 17, 0 ]-    , wget [ 1, 20, 3 ]-    , which [ 2, 21 ]-    , xcb-proto [ 1, 13 ]-    , xextproto [ 7, 3, 0 ]-    , xf86vidmodeproto [ 2, 3, 1 ]-    , xineramaproto [ 1, 2 ]-    , xmlParser [ 2, 44 ]-    , xproto [ 7, 0, 31 ]-    , xtrans [ 1, 4, 0 ]-    , xz [ 5, 2, 5 ]-    , zlib [ 1, 2, 11 ]-    , zstd [ 1, 4, 4 ]+      λ(x : { name : Text, version : List Natural }) →+          prelude.simplePackage x+        ⫽ { pkgUrl =+              "https://gnupg.org/ftp/gcrypt/${x.name}/${x.name}-${prelude.showVersion+                                                                    x.version}.tar.bz2"+          }++let gnupg =+      λ(v : List Natural) →+          gpgPackage { name = "gnupg", version = v }+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "npth", lower = [ 1, 2 ] }+            , prelude.lowerBound { name = "libgpg-error", lower = [ 1, 24 ] }+            , prelude.lowerBound { name = "libgcrypt", lower = [ 1, 7, 0 ] }+            , prelude.lowerBound { name = "libassuan", lower = [ 2, 5, 0 ] }+            , prelude.lowerBound { name = "libksba", lower = [ 1, 3, 4 ] }+            ]+          , installCommand = prelude.installWithBinaries [ "bin/gpg" ]+          }++let npth = λ(v : List Natural) → gpgPackage { name = "npth", version = v }++let libgpgError =+      λ(v : List Natural) → gpgPackage { name = "libgpg-error", version = v }++let libgcrypt =+      λ(v : List Natural) →+          gpgPackage { name = "libgcrypt", version = v }+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 25 ] } ]+          }++let libassuan =+      λ(v : List Natural) →+          gpgPackage { name = "libassuan", version = v }+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 24 ] } ]+          }++let libksba =+      λ(v : List Natural) →+          gpgPackage { name = "libksba", version = v }+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "libgpg-error", lower = [ 1, 8 ] } ]+          }++let musl =+      λ(v : List Natural) →+          prelude.simplePackage { name = "musl", version = v }+        ⫽ { pkgUrl =+              "https://www.musl-libc.org/releases/musl-${prelude.showVersion+                                                           v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/musl-gcc" ]+          }++let binutils =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "binutils", version = v }+        ⫽ { pkgUrl =+              "https://ftp.wayne.edu/gnu/binutils/binutils-${prelude.showVersion+                                                               v}.tar.lz"+          , installCommand =+              prelude.installWithBinaries+                [ "bin/ar"+                , "bin/as"+                , "bin/ld"+                , "bin/strip"+                , "bin/strings"+                , "bin/readelf"+                , "bin/objdump"+                , "bin/nm"+                , "bin/ranlib"+                ]+          }++let bison =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "bison", version = v }+        ⫽ { buildCommand =+              λ(cfg : types.BuildVars) →+                prelude.generalBuild+                  prelude.singleThreaded+                  (prelude.buildEnv cfg)+                  cfg+          , installCommand =+              prelude.installWithBinaries [ "bin/bison", "bin/yacc" ]+          , pkgBuildDeps = [ prelude.unbounded "m4" ]+          }++let cmake =+      λ(cfg : { version : List Natural, patch : Natural }) →+        let patchString = Natural/show cfg.patch++        let versionString = prelude.showVersion cfg.version++        let cmakeConfigure =+              λ(cfg : types.BuildVars) →+                prelude.configureMkExesExtraFlags+                  { bins = [ "bootstrap" ]+                  , extraFlags = [ "--parallel=${Natural/show cfg.cpus}" ]+                  }+                  cfg++        in    prelude.defaultPackage+            ⫽ { pkgName = "cmake"+              , pkgVersion = prelude.fullVersion cfg+              , pkgUrl =+                  "https://cmake.org/files/v${versionString}/cmake-${versionString}.${patchString}.tar.gz"+              , pkgSubdir = "cmake-${versionString}.${patchString}"+              , configureCommand = cmakeConfigure+              , installCommand =+                  λ(cfg : types.BuildVars) →+                    let wrapper =+                          "CMAKE_ROOT=${cfg.installDir}/share/cmake-${versionString}/ ${cfg.installDir}/bin/cmake \$@"++                    let wrapped = "wrapper/cmake"++                    in    prelude.defaultInstall cfg+                        # [ prelude.createDir "wrapper"+                          , prelude.writeFile+                              { file = wrapped, contents = wrapper }+                          , prelude.mkExe wrapped+                          , prelude.copyFile wrapped wrapped+                          , prelude.symlinkBinary wrapped+                          ]+              }++let curl =+      λ(v : List Natural) →+          prelude.simplePackage { name = "curl", version = v }+        ⫽ { pkgUrl =+              "https://curl.haxx.se/download/curl-${prelude.showVersion+                                                      v}.tar.xz"+          , installCommand = prelude.installWithBinaries [ "bin/curl" ]+          , pkgDeps = [ prelude.unbounded "zlib" ]+          }++let dbus =+      λ(v : List Natural) →+          prelude.simplePackage { name = "dbus", version = v }+        ⫽ { pkgUrl =+              "https://dbus.freedesktop.org/releases/dbus/dbus-${prelude.showVersion+                                                                   v}.tar.xz"+          , pkgDeps =+            [ prelude.unbounded "expat", prelude.unbounded "libselinux" ]+          , configureCommand = prelude.configureLinkExtraLibs [ "pcre" ]+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          }++let fltk =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "fltk", version = v }+            ⫽ { pkgUrl =+                  "http://fltk.org/pub/fltk/${versionString}/fltk-${versionString}-source.tar.bz2"+              , pkgSubdir = "fltk-${versionString}"+              , pkgDeps =+                [ prelude.unbounded "libX11"+                , prelude.unbounded "alsa-lib"+                , prelude.unbounded "zlib"+                , prelude.unbounded "libpng"+                , prelude.unbounded "libXft"+                , prelude.unbounded "freetype"+                ]+              }++let gawk =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "gawk", version = v }+        ⫽ { installCommand =+              prelude.installWithBinaries [ "bin/gawk", "bin/awk" ]+          }++let gc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "gc", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/ivmai/bdwgc/releases/download/v${versionString}/gc-${versionString}.tar.gz"+              , pkgDeps = [ prelude.unbounded "libatomic_ops" ]+              }++let libatomic_ops =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libatomic_ops", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/ivmai/libatomic_ops/releases/download/v${versionString}/libatomic_ops-${versionString}.tar.gz"+              }++let git =+      λ(v : List Natural) →+          prelude.simplePackage { name = "git", version = v }+        ⫽ { pkgUrl =+              "https://mirrors.edge.kernel.org/pub/software/scm/git/git-${prelude.showVersion+                                                                            v}.tar.xz"+          , installCommand = prelude.installWithBinaries [ "bin/git" ]+          , pkgBuildDeps = [ prelude.unbounded "gettext" ]+          }++let glibc =+      let buildDir = Some "build"++      let glibcConfigure =+            λ(cfg : types.BuildVars) →+              let maybeHost = prelude.mkHost cfg.targetTriple++              let modifyArgs = prelude.maybeAppend Text maybeHost++              in  [ prelude.createDir "build"+                  , prelude.call+                      { program = "../configure"+                      , arguments = modifyArgs [ "--prefix=${cfg.installDir}" ]+                      , environment = prelude.configSome ([] : List Text) cfg+                      , procDir = buildDir+                      }+                  ]++      let glibcBuild =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  { program = prelude.makeExe cfg.buildOS+                  , arguments = [ "-j${Natural/show cfg.cpus}" ]+                  , environment = prelude.configSome ([] : List Text) cfg+                  , procDir = buildDir+                  }+              ]++      let glibcInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  { program = prelude.makeExe cfg.buildOS+                  , arguments = [ "install" ]+                  , environment = prelude.configSome ([] : List Text) cfg+                  , procDir = buildDir+                  }+              ]++      in  λ(v : List Natural) →+              prelude.defaultPackage+            ⫽ { pkgName = "glibc"+              , pkgVersion = v+              , pkgUrl =+                  "http://mirror.keystealth.org/gnu/libc/glibc-${prelude.showVersion+                                                                   v}.tar.xz"+              , pkgSubdir = "glibc-${prelude.showVersion v}"+              , configureCommand = glibcConfigure+              , buildCommand = glibcBuild+              , installCommand = glibcInstall+              , pkgBuildDeps =+                [ prelude.unbounded "bison"+                , prelude.unbounded "gawk"+                , prelude.unbounded "python3"+                ]+              }++let gmp =+      λ(v : List Natural) →+          prelude.simplePackage { name = "gmp", version = v }+        ⫽ { pkgUrl =+              "https://gmplib.org/download/gmp/gmp-${prelude.showVersion+                                                       v}.tar.lz"+          , pkgBuildDeps = [ prelude.unbounded "m4" ]+          }++let harfbuzz =+      let symlinkHarfbuzz =+            λ(h : Text) → prelude.symlink "include/harfbuzz/${h}" "include/${h}"++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "harfbuzz", version = v }+            ⫽ { pkgUrl =+                  "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${prelude.showVersion+                                                                                      v}.tar.xz"+              , pkgDeps =+                [ prelude.unbounded "freetype-prebuild"+                , prelude.unbounded "glib"+                ]+              , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+              , configureCommand =+                  prelude.configureLinkExtraLibs [ "pcre", "z" ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.defaultInstall cfg+                    # [ symlinkHarfbuzz "hb-aat-layout.h"+                      , symlinkHarfbuzz "hb-aat.h"+                      , symlinkHarfbuzz "hb-blob.h"+                      , symlinkHarfbuzz "hb-buffer.h"+                      , symlinkHarfbuzz "hb-common.h"+                      , symlinkHarfbuzz "hb-deprecated.h"+                      , symlinkHarfbuzz "hb-face.h"+                      , symlinkHarfbuzz "hb-font.h"+                      , symlinkHarfbuzz "hb-ft.h"+                      , symlinkHarfbuzz "hb-glib.h"+                      , symlinkHarfbuzz "hb-icu.h"+                      , symlinkHarfbuzz "hb-map.h"+                      , symlinkHarfbuzz "hb-ot-color.h"+                      , symlinkHarfbuzz "hb-ot-font.h"+                      , symlinkHarfbuzz "hb-ot-layout.h"+                      , symlinkHarfbuzz "hb-ot-math.h"+                      , symlinkHarfbuzz "hb-ot-name.h"+                      , symlinkHarfbuzz "hb-ot-shape.h"+                      , symlinkHarfbuzz "hb-ot-var.h"+                      , symlinkHarfbuzz "hb-ot.h"+                      , symlinkHarfbuzz "hb-set.h"+                      , symlinkHarfbuzz "hb-shape-plan.h"+                      , symlinkHarfbuzz "hb-shape.h"+                      , symlinkHarfbuzz "hb-subset.h"+                      , symlinkHarfbuzz "hb-unicode.h"+                      , symlinkHarfbuzz "hb-version.h"+                      , symlinkHarfbuzz "hb.h"+                      ]+              }++let libjpeg-turbo =+      λ(v : List Natural) →+          prelude.cmakePackage+        ⫽ { pkgName = "libjpeg-turbo"+          , pkgVersion = v+          , pkgUrl =+              "https://ayera.dl.sourceforge.net/project/libjpeg-turbo/${prelude.showVersion+                                                                          v}/libjpeg-turbo-${prelude.showVersion+                                                                                               v}.tar.gz"+          , pkgSubdir = "libjpeg-turbo-${prelude.showVersion v}"+          , pkgBuildDeps =+            [ prelude.unbounded "cmake"+            , prelude.unbounded "nasm"+            , prelude.unbounded "make"+            ]+          }++let libuv =+      λ(v : List Natural) →+          prelude.defaultPackage+        ⫽ { pkgName = "libuv"+          , pkgVersion = v+          , pkgUrl =+              "https://dist.libuv.org/dist/v${prelude.showVersion+                                                v}/libuv-v${prelude.showVersion+                                                              v}.tar.gz"+          , pkgSubdir = "libuv-v${prelude.showVersion v}"+          , configureCommand = prelude.autogenConfigure+          , pkgBuildDeps =+            [ prelude.unbounded "m4"+            , prelude.unbounded "automake"+            , prelude.unbounded "libtool"+            ]+          }++let nasm =+      λ(v : List Natural) →+          prelude.simplePackage { name = "nasm", version = v }+        ⫽ { pkgUrl =+              "http://www.nasm.us/pub/nasm/releasebuilds/${prelude.showVersion+                                                             v}.02/nasm-${prelude.showVersion+                                                                            v}.02.tar.xz"+          , pkgSubdir = "nasm-${prelude.showVersion v}.02"+          , installCommand =+              prelude.installWithBinaries [ "bin/nasm", "bin/ndisasm" ]+          }++let ncurses =+      λ(v : List Natural) →+          prelude.simplePackage { name = "ncurses", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/ncurses/ncurses-${prelude.showVersion+                                                           v}.tar.gz"+          , configureCommand =+              λ(cfg : types.BuildVars) →+                let crossArgs =+                      if    cfg.isCross+                      then  [ "--disable-stripping" ]+                      else  [] : List Text++                in  prelude.configureWithFlags+                      ([ "--with-shared", "--enable-widec" ] # crossArgs)+                      cfg+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.defaultInstall cfg+                # [ prelude.symlink "lib/libncursesw.so" "lib/libncurses.so" ]+          }++let pcre2 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pcre2", version = v }+        ⫽ { pkgUrl =+              "https://ftp.pcre.org/pub/pcre/pcre2-${prelude.showVersion+                                                       v}.tar.bz2"+          }++let pcre =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pcre", version = v }+        ⫽ { pkgUrl =+              "https://ftp.pcre.org/pub/pcre/pcre-${prelude.showVersion+                                                      v}.tar.bz2"+          , configureCommand =+              prelude.configureWithFlags+                [ "--enable-utf8", "--enable-unicode-properties" ]+          }++let perl5 =+      let perlConfigure =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "sh"+                      , arguments =+                            [ "./Configure"+                            , "-des"+                            , "-Dprefix=${cfg.installDir}"+                            ]+                          # ( if    cfg.static+                              then  [] : List Text+                              else  [ "-Duseshrplib" ]+                            )+                      }+                  )+              ]++      let linkDir =+            λ(os : types.OS) →+              merge+                { FreeBSD = "CORE"+                , OpenBSD = "CORE"+                , NetBSD = "CORE"+                , Solaris = "CORE"+                , Dragonfly = "CORE"+                , Linux = "CORE"+                , Darwin = "darwin-2level/CORE"+                , Windows = "CORE"+                , Redox = "CORE"+                , Haiku = "CORE"+                , IOS = "darwin-2level/CORE"+                , AIX = "CORE"+                , Hurd = "CORE"+                , Android = "CORE"+                , NoOs = "CORE"+                }+                os++      in  λ(v : List Natural) →+            let major =+                  merge { Some = Natural/show, None = "" } (List/head Natural v)++            in    prelude.simplePackage { name = "perl", version = v }+                ⫽ { pkgUrl =+                      "https://www.cpan.org/src/${major}.0/perl-${prelude.showVersion+                                                                    v}.tar.gz"+                  , configureCommand = perlConfigure+                  , buildCommand =+                      λ(cfg : types.BuildVars) →+                        prelude.generalBuild+                          prelude.singleThreaded+                          (prelude.buildEnv cfg)+                          cfg+                  , installCommand =+                      λ(cfg : types.BuildVars) →+                        let libperlFile =+                              if    cfg.static+                              then  "libperl.a"+                              else  "libperl.${prelude.libSuffix+                                                 (prelude.osCfg cfg)}"++                        in    prelude.installWithBinaries+                                [ "bin/perl", "bin/cpan", "bin/ptar" ]+                                cfg+                            # [ prelude.symlink+                                  "lib/${prelude.showVersion+                                           v}/${prelude.printArch+                                                  cfg.buildArch}-${prelude.printOS+                                                                     cfg.buildOS}/${linkDir+                                                                                      cfg.buildOS}/${libperlFile}"+                                  "lib/${libperlFile}"+                              ]+                  }++let libpng =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libpng", version = v }+        ⫽ { pkgUrl =+              "https://download.sourceforge.net/libpng/libpng-${prelude.showVersion+                                                                  v}.tar.xz"+          , pkgDeps = [ prelude.unbounded "zlib" ]+          }++let sed =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "sed", version = v }+        ⫽ { installCommand =+              prelude.installWithManpages+                [ { file = "share/man/man1/sed.1", section = 1 } ]+          , configureCommand =+              prelude.configureWithFlags [ "--disable-dependency-tracking" ]+          }++let tar = λ(v : List Natural) → prelude.makeGnuExe { name = "tar", version = v }++let unistring =+      λ(v : List Natural) →+        prelude.makeGnuLibrary { name = "unistring", version = v }++let valgrind =+      λ(v : List Natural) →+          prelude.simplePackage { name = "valgrind", version = v }+        ⫽ { pkgUrl =+              "https://sourceware.org/pub/valgrind/valgrind-${prelude.showVersion+                                                                v}.tar.bz2"+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/valgrind" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/pdfgrep.1", section = 1 } ]+          }++let vim =+      λ(v : List Natural) →+          prelude.defaultPackage+        ⫽ { pkgName = "vim"+          , pkgVersion = v+          , pkgUrl =+              "http://ftp.vim.org/vim/unix/vim-${prelude.showVersion v}.tar.bz2"+          , pkgSubdir = "vim${prelude.squishVersion v}"+          , configureCommand =+              prelude.configureMkExesExtraFlags+                { bins =+                  [ "src/configure", "src/auto/configure", "src/which.sh" ]+                , extraFlags = [ "--enable-gui=no", "--enable-pythoninterp" ]+                }+          , installCommand =+              λ(cfg : types.BuildVars) →+                let mkLibDynload =+                      λ(libs : List Text) →+                        concatMapSep+                          ":"+                          Text+                          ( λ(dir : Text) →+                              "${dir}:${dir}/python2.7/lib-dynload"+                          )+                          libs++                let mkPython =+                      λ(libs : List Text) →+                        concatMapSep+                          ":"+                          Text+                          ( λ(dir : Text) →+                              "${dir}/python2.7/:${dir}/python2.7/lib-dynload"+                          )+                          libs++                let wrapper =+                      "LD_LIBRARY_PATH=${mkLibDynload+                                           cfg.linkDirs} PYTHONPATH=${mkPython+                                                                        cfg.linkDirs} ${cfg.installDir}/bin/vim \$@"++                let wrapped = "wrapper/vim"++                in    prelude.installWithBinaries [ "bin/xxd" ] cfg+                    # [ prelude.createDir "wrapper"+                      , prelude.writeFile { file = wrapped, contents = wrapper }+                      , prelude.mkExe wrapped+                      , prelude.copyFile wrapped wrapped+                      , prelude.symlinkBinary wrapped+                      ]+          , pkgDeps =+            [ prelude.unbounded "ncurses"+            , prelude.unbounded "libXpm"+            , prelude.unbounded "libXt"+            , prelude.unbounded "python2"+            ]+          }++let xz =+      λ(v : List Natural) →+          prelude.simplePackage { name = "xz", version = v }+        ⫽ { pkgUrl = "https://tukaani.org/xz/xz-${prelude.showVersion v}.tar.xz"+          , installCommand = prelude.installWithBinaries [ "bin/xz" ]+          }++let zlib =+      λ(v : List Natural) →+        let zlibConfigure =+              λ(cfg : types.BuildVars) →+                let host = prelude.mkCCVar cfg++                in  [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = "sh"+                            , arguments =+                              [ "configure", "--prefix=${cfg.installDir}" ]+                            , environment = Some+                                (   host+                                  # [ { var = "PATH"+                                      , value =+                                          "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"+                                      }+                                    ]+                                )+                            }+                        )+                    ]++        in    prelude.simplePackage { name = "zlib", version = v }+            ⫽ { pkgUrl =+                  "http://www.zlib.net/zlib-${prelude.showVersion v}.tar.xz"+              , configureCommand = zlibConfigure+              , installCommand =+                  prelude.installWithManpages+                    [ { file = "share/man/man3/zlib.3", section = 3 } ]+              }++let gettext =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "gettext", version = v }+        ⫽ { installCommand =+              prelude.installWithBinaries+                [ "bin/gettext", "bin/msgfmt", "bin/autopoint" ]+          , configureCommand =+              prelude.configureWithFlags [ "--disable-dependency-tracking" ]+          }++let gzip =+      λ(v : List Natural) → prelude.makeGnuExe { name = "gzip", version = v }++let wget =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "wget", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/wget/wget-${prelude.showVersion+                                                     v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "gnutls" ]+          , pkgBuildDeps = [ prelude.unbounded "perl" ]+          , installCommand = prelude.installWithWrappers [ "wget" ]+          }++let gnutls =+      λ(cfg : { version : List Natural, patch : List Natural }) →+        let versionString = prelude.showVersion cfg.version++        in    prelude.simplePackage+                { name = "gnutls", version = cfg.version # cfg.patch }+            ⫽ { pkgUrl =+                  "https://www.gnupg.org/ftp/gcrypt/gnutls/v${versionString}/gnutls-${versionString}.${prelude.showVersion+                                                                                                         cfg.patch}.tar.xz"+              , pkgDeps =+                [ prelude.lowerBound { name = "nettle", lower = [ 3, 1 ] }+                , prelude.unbounded "unistring"+                , prelude.lowerBound { name = "libtasn1", lower = [ 4, 9 ] }+                , prelude.lowerBound { name = "p11-kit", lower = [ 0, 23, 1 ] }+                ]+              , configureCommand =+                  prelude.configureLinkExtraLibs [ "nettle", "hogweed" ]+              }++let lapack =+      λ(v : List Natural) →+          prelude.cmakePackage+        ⫽ { pkgName = "lapack"+          , pkgVersion = v+          , pkgUrl =+              "http://www.netlib.org/lapack/lapack-${prelude.showVersion+                                                       v}.tar.gz"+          , pkgSubdir = "lapack-${prelude.showVersion v}"+          , pkgBuildDeps =+            [ prelude.unbounded "cmake", prelude.unbounded "gcc" ]+          }++let cairo =+      let symlinkCairo =+            λ(h : Text) → prelude.symlink "include/cairo/${h}" "include/${h}"++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "cairo", version = v }+            ⫽ { pkgUrl =+                  "https://www.cairographics.org/releases/cairo-${prelude.showVersion+                                                                    v}.tar.xz"+              , pkgDeps =+                [ prelude.lowerBound { name = "pixman", lower = [ 0, 30, 0 ] }+                , prelude.lowerBound { name = "freetype", lower = [ 9, 7, 3 ] }+                , prelude.lowerBound+                    { name = "fontconfig", lower = [ 2, 2, 95 ] }+                , prelude.unbounded "libXext"+                ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.defaultInstall cfg+                    # [ symlinkCairo "cairo-deprecated.h"+                      , symlinkCairo "cairo-features.h"+                      , symlinkCairo "cairo-ft.h"+                      , symlinkCairo "cairo-gobject.h"+                      , symlinkCairo "cairo-pdf.h"+                      , symlinkCairo "cairo-ps.h"+                      , symlinkCairo "cairo-script-interpreter.h"+                      , symlinkCairo "cairo-script.h"+                      , symlinkCairo "cairo-svg.h"+                      , symlinkCairo "cairo-version.h"+                      , symlinkCairo "cairo-xcb.h"+                      , symlinkCairo "cairo-xlib-xrender.h"+                      , symlinkCairo "cairo-xlib.h"+                      , symlinkCairo "cairo.h"+                      ]+              }++let pycairo =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.python2Package { name = "pycairo", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/pygobject/pycairo/releases/download/v${versionString}/pycairo-${versionString}.tar.gz"+              , pkgDeps = [ prelude.unbounded "cairo" ]+              }++let libnettle =+      λ(v : List Natural) →+          prelude.simplePackage { name = "nettle", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/nettle/nettle-${prelude.showVersion+                                                         v}.tar.gz"+          , pkgBuildDeps = [ prelude.unbounded "m4" ]+          }++let diffutils =+      λ(v : List Natural) →+          prelude.simplePackage { name = "diffutils", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/diffutils/diffutils-${prelude.showVersion+                                                               v}.tar.xz"+          , installCommand = prelude.installWithBinaries [ "bin/diff" ]+          }++let patch =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "patch", version = v }+        ⫽ { installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/patch" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/patch.1", section = 1 } ]+          }++let m4 =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "m4", version = v }+        ⫽ { configureCommand =+              λ(cfg : types.BuildVars) →+                  [ prelude.patch+                      ./patches/m4.patch sha256:1fecaf9238401d3fdcad92516f7c45e866e50630eae7efdaaee0da943a532b23 as Text+                  ]+                # prelude.defaultConfigure cfg+          , installCommand =+              prelude.installWithManpages+                [ { file = "share/man/man1/m4.1", section = 1 } ]+          , pkgBuildDeps = [ prelude.unbounded "patch" ]+          }++let nginx =+      λ(v : List Natural) →+          prelude.simplePackage { name = "nginx", version = v }+        ⫽ { pkgUrl =+              "http://nginx.org/download/nginx-${prelude.showVersion v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "pcre2" ]+          }++let openssl =+      let opensslCfgVars =+            λ(cfg : types.BuildVars) →+              Some+                (prelude.mkCCVar cfg # prelude.configEnv ([] : List Text) cfg)++      let cfgOS =+            λ(os : types.OS) →+              merge+                { FreeBSD = "BSD-x86_64"+                , OpenBSD = "BSD-x86_64"+                , NetBSD = "BSD-x86_64"+                , Solaris = "solaris64-x86_64-cc"+                , Dragonfly = "BSD-x86_64"+                , Linux = "linux-x86_64"+                , Darwin = "darwin64-x86_64-cc"+                , Windows = "mingw64"+                , Redox = "gcc"+                , Haiku = "haiku-x86_64"+                , IOS = "ios64-cross"+                , AIX = "aix64-cc"+                , Hurd = "hurd-x86"+                , Android = "android64-aarch64"+                , NoOs = "gcc"+                }+                os++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "openssl", version = v }+            ⫽ { pkgUrl =+                  "https://www.openssl.org/source/openssl-${prelude.showVersion+                                                              v}d.tar.gz"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    let sharedFlag =+                          if cfg.static then "no-shared" else "shared"++                    let targetMakefile =+                          if cfg.isCross then "gcc" else cfgOS cfg.buildOS++                    in  [ prelude.call+                            (   prelude.defaultCall+                              ⫽ { program = "perl"+                                , arguments =+                                  [ "./Configure"+                                  , "--prefix=${cfg.installDir}"+                                  , targetMakefile+                                  , sharedFlag+                                  ]+                                , environment = opensslCfgVars cfg+                                }+                            )+                        ]+              , pkgSubdir = "openssl-${prelude.showVersion v}d"+              , pkgBuildDeps = [ prelude.unbounded "perl" ]+              }++let libssh2 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libssh2", version = v }+        ⫽ { pkgUrl =+              "https://www.libssh2.org/download/libssh2-${prelude.showVersion+                                                            v}.tar.gz"+          }++let giflib =+      λ(v : List Natural) →+          prelude.simplePackage { name = "giflib", version = v }+        ⫽ { pkgUrl =+              "https://downloads.sourceforge.net/giflib/giflib-${prelude.showVersion+                                                                   v}.tar.bz2"+          }++let emacs =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "emacs", version = v }+        ⫽ { pkgDeps =+            [ prelude.unbounded "giflib"+            , prelude.unbounded "libXaw"+            , prelude.unbounded "libpng"+            , prelude.unbounded "libjpeg-turbo"+            , prelude.unbounded "ncurses"+            , prelude.unbounded "gtk3"+            , prelude.unbounded "libotf"+            , prelude.unbounded "m17n-lib"+            , prelude.unbounded "gnutls"+            , prelude.unbounded "libXft"+            , prelude.unbounded "dbus"+            , prelude.unbounded "cairo"+            ]+          , configureCommand =+              prelude.configureMkExesExtraFlags+                { bins =+                  [ "build-aux/move-if-change", "build-aux/update-subdirs" ]+                , extraFlags =+                  [ "--with-tiff=no"+                  , "--with-libotf"+                  , "--with-m17n-flt"+                  , "--with-gnutls"+                  , "--with-xft"+                  , "--with-dbus"+                  , "--with-cairo=yes"+                  ]+                }+          , installCommand =+              λ(cfg : types.BuildVars) →+                if    cfg.static+                then  prelude.installWithBinaries [ "bin/emacs" ] cfg+                else  prelude.installWithWrappers [ "emacs" ] cfg+          }++let which =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "which", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/which/which-${prelude.showVersion+                                                       v}.tar.gz"+          }++let automake =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "automake", version = v }+        ⫽ { pkgBuildDeps =+            [ prelude.lowerBound { name = "autoconf", lower = [ 2, 65 ] } ]+          , installCommand =+              prelude.installWithBinaries [ "bin/automake", "bin/aclocal" ]+          }++let autoconf =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "autoconf", version = v }+        ⫽ { pkgBuildDeps =+            [ prelude.lowerBound { name = "m4", lower = [ 1, 4, 16 ] } ]+          , installCommand =+              prelude.installWithBinaries+                [ "bin/autoconf"+                , "bin/autoheader"+                , "bin/autom4te"+                , "bin/autoreconf"+                ]+          }++let python =+      λ(v : List Natural) →+        let major =+              merge { Some = Natural/show, None = "" } (List/head Natural v)++        let versionString = prelude.showVersion v++        let pyEnv =+              λ(_ : List Text) →+              λ(cfg : types.BuildVars) →+                Some+                  (   prelude.configEnv ([] : List Text) cfg+                    # [ { var = "CONFIG_SITE", value = "config.site" } ]+                  )++        in    prelude.simplePackage { name = "python${major}", version = v }+            ⫽ { pkgUrl =+                  "https://www.python.org/ftp/python/${versionString}/Python-${versionString}.tar.xz"+              , pkgSubdir = "Python-${versionString}"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    let config =+                          ''+                          ac_cv_file__dev_ptmx=yes+                          ac_cv_file__dev_ptc=no+                          ''++                    let staticFlag =+                          if    cfg.static+                          then  [] : List Text+                          else  [ "--enable-shared" ]++                    let crossArgs =+                          if    cfg.isCross+                          then  [ "--disable-ipv6" ]+                          else  [] : List Text++                    in    [ prelude.writeFile+                              { file = "config.site", contents = config }+                          ]+                        # prelude.generalConfigure+                            pyEnv+                            "configure"+                            ([] : List Text)+                            (   [ "--build=${prelude.printArch cfg.buildArch}" ]+                              # crossArgs+                              # staticFlag+                            )+                            cfg+              , pkgDeps =+                [ prelude.unbounded "libffi", prelude.unbounded "ncurses" ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.installWithBinaries [ "bin/python${major}" ] cfg+                    # prelude.symlinkManpages+                        [ { file = "share/man/man1/python${major}.1"+                          , section = 1+                          }+                        ]+              }++let lua =+      λ(v : List Natural) →+        let printLuaOS =+              λ(os : types.OS) →+                merge+                  { FreeBSD = "freebsd"+                  , OpenBSD = "bsd"+                  , NetBSD = "bsd"+                  , Solaris = "solaris"+                  , Dragonfly = "bsd"+                  , Linux = "linux"+                  , Darwin = "macosx"+                  , Windows = "mingw"+                  , Redox = "generic"+                  , Haiku = "generic"+                  , IOS = "generic"+                  , AIX = "generic"+                  , Hurd = "generic"+                  , Android = "generic"+                  , NoOs = "c89"+                  }+                  os++        let luaBuild =+              λ(cfg : types.BuildVars) →+                let cc = prelude.mkCCArg cfg++                let ldflags = (prelude.mkLDFlags cfg.linkDirs cfg).value++                let cflags = (prelude.mkCFlags cfg).value++                let os = prelude.osCfg cfg++                in  [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = "make"+                            , arguments =+                                  cc+                                # [ printLuaOS os+                                  , "MYLDFLAGS=${ldflags}"+                                  , "MYCFLAGS=${cflags}"+                                  , "MYLIBS=-lncurses"+                                  , "-j${Natural/show cfg.cpus}"+                                  ]+                            }+                        )+                    ]++        let luaInstall =+              λ(cfg : types.BuildVars) →+                  [ prelude.call+                      (   prelude.defaultCall+                        ⫽ { program = "make"+                          , arguments =+                            [ "install", "INSTALL_TOP=${cfg.installDir}" ]+                          }+                      )+                  ]+                # prelude.symlinkBinaries [ "bin/lua", "bin/luac" ]++        in    prelude.simplePackage { name = "lua", version = v }+            ⫽ { pkgUrl =+                  "http://www.lua.org/ftp/lua-${prelude.showVersion v}.tar.gz"+              , configureCommand = prelude.doNothing+              , buildCommand = luaBuild+              , installCommand = luaInstall+              , pkgDeps =+                [ prelude.unbounded "readline", prelude.unbounded "ncurses" ]+              }++let libtasn1 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libtasn1", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/libtasn1/libtasn1-${prelude.showVersion+                                                             v}.tar.gz"+          }++let p11kit =+      λ(v : List Natural) →+          prelude.simplePackage { name = "p11-kit", version = v }+        ⫽ { pkgUrl =+              "https://github.com/p11-glue/p11-kit/releases/download/${prelude.showVersion+                                                                         v}/p11-kit-${prelude.showVersion+                                                                                        v}.tar.gz"+          , pkgDeps =+            [ prelude.lowerBound { name = "libffi", lower = [ 3, 0, 0 ] }+            , prelude.unbounded "libtasn1"+            ]+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          }++let libffi =+      λ(v : List Natural) →+        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 }+        ⫽ { pkgBuildDeps = [ prelude.unbounded "texinfo" ] }++let libtool =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "libtool", version = v }+        ⫽ { pkgUrl =+              "https://ftp.wayne.edu/gnu/libtool/libtool-${prelude.showVersion+                                                             v}.tar.xz"+          , pkgBuildDeps =+            [ prelude.lowerBound { name = "m4", lower = [ 1, 4, 16 ] } ]+          }++let pkg-config =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pkg-config", version = v }+        ⫽ { pkgUrl =+              "https://pkg-config.freedesktop.org/releases/pkg-config-${prelude.showVersion+                                                                          v}.tar.gz"+          , configureCommand =+              prelude.configureWithFlags [ "--with-internal-glib" ]+          }++let qrencode =+      λ(v : List Natural) →+          prelude.simplePackage { name = "qrencode", version = v }+        ⫽ { pkgUrl =+              "https://fukuchi.org/works/qrencode/qrencode-${prelude.showVersion+                                                               v}.tar.gz"+          , configureCommand = prelude.configureWithFlags [ "--without-tools" ]+          }++let readline =+      λ(v : List Natural) →+          prelude.simplePackage { name = "readline", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/readline/readline-${prelude.showVersion+                                                             v}.tar.gz"+          }++let pixman =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pixman", version = v }+        ⫽ { pkgUrl =+              "https://www.cairographics.org/releases/pixman-${prelude.showVersion+                                                                 v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "libpng" ]+          }++let freetype-shared =+      λ(x : { name : Text, version : List Natural }) →+        let versionString = prelude.showVersion x.version++        in    prelude.simplePackage x+            ⫽ { pkgUrl =+                  "https://download.savannah.gnu.org/releases/freetype/freetype-${versionString}.tar.gz"+              , pkgSubdir = "freetype-${versionString}"+              , pkgBuildDeps = [ prelude.unbounded "sed" ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.defaultInstall cfg+                    # [ prelude.symlink+                          "include/freetype2/ft2build.h"+                          "include/ft2build.h"+                      , prelude.symlink+                          "include/freetype2/freetype"+                          "include/freetype"+                      ]+              }++let freetype-prebuild =+      λ(v : List Natural) →+          freetype-shared { name = "freetype-prebuild", version = v }+        ⫽ { pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "libpng" ]+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          }++let freetype =+      λ(v : List Natural) →+          freetype-shared { name = "freetype", version = v }+        ⫽ { pkgDeps =+            [ prelude.unbounded "zlib"+            , prelude.unbounded "harfbuzz"+            , prelude.unbounded "libpng"+            ]+          , configureCommand =+              prelude.configureMkExesExtraFlags+                { bins = [ "builds/unix/configure" ]+                , extraFlags = [ "--enable-freetype-config" ]+                }+          }++let sdl2 =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "sdl2", version = v }+            ⫽ { pkgUrl =+                  "https://www.libsdl.org/release/SDL2-${versionString}.tar.gz"+              , pkgSubdir = "SDL2-${versionString}"+              }++let imageMagick =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        let major =+              merge { Some = Natural/show, None = "" } (List/head Natural v)++        in    prelude.simplePackage { name = "imagemagick", version = v }+            ⫽ { pkgUrl =+                  "https://imagemagick.org/download/ImageMagick-${versionString}-67.tar.xz"+              , pkgSubdir = "ImageMagick-${versionString}-67"+              , 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.symlinkBinary "bin/convert"+                      ]+              }++let gtk2 =+      let gtkEnv =+            λ(cfg : types.BuildVars) →+                prelude.defaultPath cfg+              # [ { var = "LDFLAGS"+                  , value =+                          (prelude.mkLDFlags cfg.linkDirs cfg).value+                      ++  " -lpcre -lfribidi"+                  }+                , prelude.mkCFlags cfg+                , prelude.mkPkgConfigVar cfg.linkDirs+                , prelude.libPath cfg+                , prelude.mkLDRunPath cfg.linkDirs+                , prelude.mkXdgDataDirs cfg.shareDirs+                , prelude.mkLDPreload cfg.preloadLibs+                ]++      let gtkConfig =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "./configure"+                      , arguments = [ "--prefix=${cfg.installDir}" ]+                      , environment = Some (gtkEnv cfg)+                      }+                  )+              ]++      in  λ(x : { version : List Natural, patch : Natural }) →+            let versionString = prelude.showVersion x.version++            let fullVersion = versionString ++ "." ++ Natural/show x.patch++            in    prelude.simplePackage+                    { name = "gtk2", version = prelude.fullVersion x }+                ⫽ { pkgUrl =+                      "http://ftp.gnome.org/pub/gnome/sources/gtk+/${versionString}/gtk+-${fullVersion}.tar.xz"+                  , pkgSubdir = "gtk+-${fullVersion}"+                  , pkgDeps =+                    [ prelude.lowerBound { name = "cairo", lower = [ 1, 6 ] }+                    , prelude.lowerBound { name = "pango", lower = [ 1, 20 ] }+                    , prelude.lowerBound { name = "atk", lower = [ 1, 29, 2 ] }+                    , prelude.lowerBound { name = "glib", lower = [ 2, 28, 0 ] }+                    , prelude.lowerBound+                        { name = "gdk-pixbuf", lower = [ 2, 38, 0 ] }+                    ]+                  , buildCommand =+                      λ(cfg : types.BuildVars) →+                        prelude.buildWith (gtkEnv cfg) cfg+                  , configureCommand = gtkConfig+                  , installCommand =+                      λ(cfg : types.BuildVars) →+                          prelude.defaultInstall cfg+                        # [ prelude.symlink+                              "include/gdk-pixbuf-2.0/gdk-pixbuf"+                              "include/gdk-pixbuf"+                          ]+                  }++let mkXProto =+      λ(name : Text) →+      λ(v : List Natural) →+          prelude.simplePackage { name, version = v }+        ⫽ { pkgUrl =+              "https://www.x.org/releases/individual/proto/${name}-${prelude.showVersion+                                                                       v}.tar.bz2"+          }++let mkXProtoWithPatch =+      λ(name : Text) →+      λ(patch : Text) →+      λ(v : List Natural) →+          mkXProto name v+        ⫽ { configureCommand = prelude.configureWithPatch patch+          , pkgBuildDeps = [ prelude.unbounded "patch" ]+          }++let xproto =+      mkXProtoWithPatch+        "xproto"+        ./patches/xproto.patch sha256:325215e1b547918dfe63278824cda399e61a36b6f11896c863dfacc0cb06e322 as Text++let renderproto =+      mkXProtoWithPatch+        "renderproto"+        ./patches/renderproto.patch sha256:f2f154171dabe139ba07f8602fbada3b23f3d53b5773655cfe31cba2ceb70295 as Text++let randrproto = mkXProto "randrproto"++let scrnsaverproto =+      mkXProtoWithPatch+        "scrnsaverproto"+        ./patches/scrnsaverproto.patch sha256:31983d73cdf49e8d8ed2583593f57b47d889062ae7f5bc5934a59e1e5e3e81f3 as Text++let recordproto = mkXProto "recordproto"++let xf86vidmodeproto = mkXProto "xf86vidmodeproto"++let glproto = mkXProto "glproto"++let dri2proto = mkXProto "dri2proto"++let pango =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        let pangoCfgFile =+              ''+              option('enable_docs',+                    description: 'Build API reference for Pango using GTK-Doc',+                    type: 'boolean',+                    value: false)+              option('gir',+                    description: 'Build the GObject introspection data for Pango',+                    type: 'boolean',+                    value: false)+              ''++        let no_gir =+              λ(cfg : types.BuildVars) →+                if    cfg.isCross+                then  [ prelude.writeFile+                          { file = "meson_options.txt"+                          , contents = pangoCfgFile+                          }+                      ]+                else  [] : List types.Command++        in    prelude.simplePackage+                { name = "pango", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/GNOME/sources/pango/${versionString}/pango-${fullVersion}.tar.xz"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    no_gir cfg # prelude.mesonConfigure cfg+              , buildCommand = prelude.ninjaBuild+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.ninjaInstallWithPkgConfig+                        ( prelude.mesonMoves+                            [ "pango.pc", "pangocairo.pc", "pangoft2.pc" ]+                        )+                        cfg+                    # [ prelude.symlink+                          "include/pango-1.0/pango"+                          "include/pango"+                      ]+              , pkgBuildDeps =+                [ prelude.lowerBound { name = "meson", lower = [ 0, 48, 0 ] }+                , prelude.unbounded "gobject-introspection"+                ]+              , pkgDeps =+                [ prelude.lowerBound+                    { name = "fontconfig", lower = [ 2, 11, 91 ] }+                , prelude.lowerBound { name = "cairo", lower = [ 1, 12, 10 ] }+                , prelude.lowerBound { name = "fribidi", lower = [ 0, 19, 7 ] }+                , prelude.lowerBound { name = "harfbuzz", lower = [ 1, 4, 2 ] }+                , prelude.unbounded "libXrender"+                , prelude.unbounded "libxcb"+                ]+              }++let libxml2 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libxml2", version = v }+        ⫽ { pkgUrl =+              "http://xmlsoft.org/sources/libxml2-${prelude.showVersion+                                                      v}.tar.gz"+          , pkgDeps =+            [ prelude.unbounded "zlib"+            , prelude.unbounded "xz"+            , prelude.unbounded "python2"+            ]+          }++let shared-mime-info =+      λ(v : List Natural) →+          prelude.simplePackage { name = "shared-mime-info", version = v }+        ⫽ { pkgUrl =+              "http://freedesktop.org/~hadess/shared-mime-info-${prelude.showVersion+                                                                   v}.tar.xz"+          , buildCommand =+              λ(cfg : types.BuildVars) →+                prelude.generalBuild+                  prelude.singleThreaded+                  (prelude.buildEnv cfg)+                  cfg+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.defaultInstall cfg+                # [ prelude.symlink "share/pkgconfig" "lib/pkgconfig" ]+          , pkgDeps = [ prelude.unbounded "glib", prelude.unbounded "libxml2" ]+          , pkgBuildDeps =+            [ prelude.lowerBound { name = "intltool", lower = [ 0, 35, 0 ] }+            , prelude.unbounded "sed"+            , prelude.unbounded "gettext"+            ]+          }++let intltool =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "intltool", version = v }+            ⫽ { pkgUrl =+                  "https://launchpad.net/intltool/trunk/${versionString}/+download/intltool-${versionString}.tar.gz"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    [ prelude.patch+                        ./patches/intltool.patch sha256:e33e9b3e43d80a17475e36c05ed4e649fa5d610991044749e6321dff555cc8e5 as Text+                    , prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = "./configure"+                            , arguments = [ "--prefix=${cfg.installDir}" ]+                            , environment = Some+                                (   prelude.defaultPath cfg+                                  # [ prelude.mkPerlLib+                                        { libDirs = cfg.linkDirs+                                        , perlVersion = [ 5, 30, 1 ]+                                        , cfg+                                        }+                                    ]+                                )+                            }+                        )+                    ]+              , pkgDeps = [ prelude.unbounded "XML-Parser" ]+              , pkgBuildDeps =+                [ prelude.lowerBound { name = "perl", lower = [ 5, 8, 1 ] } ]+              }++let gdk-pixbuf =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        let gdkInstall =+              λ(fs : List { src : Text, dest : Text }) →+              λ(cfg : types.BuildVars) →+                  [ prelude.call+                      (   prelude.defaultCall+                        ⫽ { program = "ninja"+                          , environment = Some+                            [ prelude.mkPkgConfigVar cfg.linkDirs+                            , { var = "PATH"+                              , value =+                                      prelude.mkPathVar cfg.binDirs+                                  ++  ":${cfg.currentDir}/gdk-pixbuf-${fullVersion}/build/gdk-pixbuf:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"+                              }+                            , prelude.mkPy3Path cfg.linkDirs+                            , prelude.libPath cfg+                            , prelude.mkLDRunPath cfg.linkDirs+                            , prelude.mkLDFlags cfg.linkDirs cfg+                            , prelude.mkCFlags cfg+                            ]+                          , arguments = [ "install" ]+                          , procDir = Some "build"+                          }+                      )+                  , prelude.symlink+                      "include/gdk-pixbuf-2.0/gdk-pixbuf"+                      "include/gdk-pixbuf"+                  ]+                # prelude.copyFiles fs++        in    prelude.simplePackage+                { name = "gdk-pixbuf", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${versionString}/gdk-pixbuf-${fullVersion}.tar.xz"+              , configureCommand = prelude.mesonConfigure+              , buildCommand = prelude.ninjaBuild+              , installCommand =+                  gdkInstall (prelude.mesonMoves [ "gdk-pixbuf-2.0.pc" ])+              , pkgDeps =+                [ prelude.unbounded "glib"+                , prelude.unbounded "libjpeg-turbo"+                , prelude.unbounded "libpng"+                , prelude.unbounded "gobject-introspection"+                , prelude.unbounded "shared-mime-info"+                , prelude.unbounded "libX11"+                ]+              }++let xmlParser =+      λ(v : List Natural) →+          prelude.simplePackage { name = "XML-Parser", version = v }+        ⫽ { pkgUrl =+              "https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-${prelude.showVersion+                                                                              v}.tar.gz"+          , configureCommand = prelude.perlConfigure+          , pkgBuildDeps = [ prelude.unbounded "perl" ]+          , pkgDeps = [ prelude.unbounded "expat" ]+          }++let meson =+      λ(v : List Natural) →+          prelude.simplePackage { name = "meson", version = v }+        ⫽ { pkgUrl =+              "https://github.com/mesonbuild/meson/archive/${prelude.showVersion+                                                               v}.tar.gz"+          , configureCommand =+              λ(cfg : types.BuildVars) →+                prelude.python3Install cfg # prelude.mkPy3Wrapper "meson" cfg+          , buildCommand = prelude.doNothing+          , installCommand = prelude.doNothing+          , pkgDeps = [ prelude.unbounded "python3" ]+          }++let ninja =+      let ninjaConfigure =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "./configure.py"+                      , arguments = [ "--bootstrap" ]+                      }+                  )+              ]++      let ninjaInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.copyFile "ninja" "bin/ninja"+              , prelude.symlinkBinary "bin/ninja"+              ]++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "ninja", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/ninja-build/ninja/archive/v${prelude.showVersion+                                                                     v}.tar.gz"+              , configureCommand = ninjaConfigure+              , buildCommand = prelude.doNothing+              , installCommand = ninjaInstall+              , pkgBuildDeps = [ prelude.unbounded "python2" ]+              }++let fontconfig =+      λ(v : List Natural) →+          prelude.simplePackage { name = "fontconfig", version = v }+        ⫽ { pkgUrl =+              "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${prelude.showVersion+                                                                                      v}.tar.bz2"+          , pkgDeps =+            [ prelude.unbounded "freetype"+            , prelude.unbounded "expat"+            , prelude.unbounded "util-linux"+            ]+          , pkgBuildDeps = [ prelude.unbounded "gperf" ]+          }++let util-linux =+      λ(x : { version : List Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString++        in    prelude.simplePackage { name = "util-linux", version = x.version }+            ⫽ { pkgUrl =+                  "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${versionString}/util-linux-${fullVersion}.tar.xz"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    let crossFlags =+                          if    cfg.isCross+                          then  [ "--disable-pylibmount", "--without-tinfo" ]+                          else  [] : List Text++                    in  prelude.configureWithFlags+                          (   [ "--disable-makeinstall-chown"+                              , "--disable-bash-completion"+                              ]+                            # crossFlags+                          )+                          cfg+              , pkgDeps =+                [ prelude.unbounded "ncurses", prelude.unbounded "pcre2" ]+              }++let fribidi =+      λ(v : List Natural) →+          prelude.simplePackage { name = "fribidi", version = v }+        ⫽ { pkgUrl =+              "https://github.com/fribidi/fribidi/releases/download/v${prelude.showVersion+                                                                         v}/fribidi-${prelude.showVersion+                                                                                        v}.tar.bz2"+          }++let gobject-introspection =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.ninjaPackage+                { name = "gobject-introspection"+                , version = prelude.fullVersion x+                }+            ⫽ { pkgUrl =+                  "https://download.gnome.org/sources/gobject-introspection/${versionString}/gobject-introspection-${fullVersion}.tar.xz"+              , pkgBuildDeps =+                [ prelude.unbounded "meson"+                , prelude.unbounded "m4"+                , prelude.unbounded "bison"+                , prelude.unbounded "flex"+                , prelude.unbounded "pkg-config"+                , prelude.unbounded "glibc"+                ]+              , pkgDeps =+                [ prelude.lowerBound { name = "glib", lower = [ 2, 58, 0 ] } ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      [ prelude.mkExe "build/tools/g-ir-scanner"+                      , prelude.copyFile+                          "build/gobject-introspection-1.0.pc"+                          "lib/pkgconfig/gobject-introspection-1.0.pc"+                      ]+                    # prelude.ninjaInstall cfg+              }++let flex =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        let flexEnv =+              λ(_ : List Text) →+              λ(cfg : types.BuildVars) →+                Some+                  (   prelude.configEnv ([] : List Text) cfg+                    # [ { var = "YFLAGS", value = "-Wno-error=yacc" } ]+                  )++        in    prelude.simplePackage { name = "flex", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/westes/flex/releases/download/v${versionString}/flex-${versionString}.tar.gz"+              , pkgBuildDeps =+                [ prelude.unbounded "m4", prelude.unbounded "bison" ]+              , configureCommand = prelude.configWithEnv flexEnv+              , installCommand = prelude.installWithBinaries [ "bin/flex" ]+              }++let glib =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        let glibConfigure =+              λ(cfg : types.BuildVars) →+                let crossArgs =+                      if    cfg.isCross+                      then  [ "--cross-file", "cross.txt" ]+                      else  [] : List Text++                in  [ prelude.createDir "build"+                    , prelude.writeFile+                        { file = "build/cross.txt"+                        , contents = prelude.mesonCfgFile cfg+                        }+                    , prelude.call+                        { program = "meson"+                        , arguments =+                              [ "--prefix=${cfg.installDir}"+                              , ".."+                              , "-Dselinux=disabled"+                              ]+                            # crossArgs+                        , environment = Some+                            (   [ prelude.mkPkgConfigVar cfg.linkDirs+                                , { var = "LDFLAGS"+                                  , value =+                                      (prelude.mkLDFlags cfg.linkDirs cfg).value+                                  }+                                , prelude.mkPy3Path cfg.linkDirs+                                , prelude.libPath cfg+                                , prelude.mkCFlags cfg+                                , prelude.mkPkgConfigVar cfg.linkDirs+                                ]+                              # prelude.defaultPath cfg+                            )+                        , procDir = Some "build"+                        }+                    ]++        let symlinkGio =+              λ(h : Text) →+                prelude.symlink "include/glib-2.0/gio/${h}" "include/gio/${h}"++        let symlinkGunix =+              λ(h : Text) →+                prelude.symlink+                  "include/gio-unix-2.0/gio/${h}"+                  "include/gio/${h}"++        in    prelude.simplePackage+                { name = "glib", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/glib/${versionString}/glib-${fullVersion}.tar.xz"+              , configureCommand = glibConfigure+              , buildCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.ninjaBuild cfg+                    # prelude.mkExes+                        [ "build/gobject/glib-mkenums"+                        , "build/gobject/glib-genmarshal"+                        , "build/gio/gdbus-2.0/codegen/gdbus-codegen"+                        ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.ninjaInstallWithPkgConfig+                        ( prelude.mesonMoves+                            [ "glib-2.0.pc"+                            , "gobject-2.0.pc"+                            , "gio-2.0.pc"+                            , "gio-unix-2.0.pc"+                            , "gmodule-no-export-2.0.pc"+                            , "gmodule-export-2.0.pc"+                            , "gmodule-2.0.pc"+                            , "gthread-2.0.pc"+                            ]+                        )+                        cfg+                    # [ prelude.symlink "include/glib-2.0/glib" "include/glib"+                      , prelude.symlink+                          "include/glib-2.0/gobject"+                          "include/gobject"+                      , prelude.symlink+                          "include/glib-2.0/glib.h"+                          "include/glib.h"+                      , prelude.symlink+                          "include/glib-2.0/glib-object.h"+                          "include/glib-object.h"+                      , prelude.symlink+                          "include/glib-2.0/glib-unix.h"+                          "include/glib-unix.h"+                      , prelude.symlink+                          "include/glib-2.0/gmodule.h"+                          "include/gmodule.h"+                      , symlinkGio "gaction.h"+                      , symlinkGio "gactiongroup.h"+                      , symlinkGio "gactiongroupexporter.h"+                      , symlinkGio "gactionmap.h"+                      , symlinkGio "gappinfo.h"+                      , symlinkGio "gapplication.h"+                      , symlinkGio "gapplicationcommandline.h"+                      , symlinkGio "gasyncinitable.h"+                      , symlinkGio "gasyncresult.h"+                      , symlinkGio "gbufferedinputstream.h"+                      , symlinkGio "gbufferedoutputstream.h"+                      , symlinkGio "gbytesicon.h"+                      , symlinkGio "gcancellable.h"+                      , symlinkGio "gcharsetconverter.h"+                      , symlinkGio "gcontenttype.h"+                      , symlinkGio "gconverter.h"+                      , symlinkGio "gconverterinputstream.h"+                      , symlinkGio "gconverteroutputstream.h"+                      , symlinkGio "gcredentials.h"+                      , symlinkGio "gdatagrambased.h"+                      , symlinkGio "gdatainputstream.h"+                      , symlinkGio "gdataoutputstream.h"+                      , symlinkGio "gdbusactiongroup.h"+                      , symlinkGio "gdbusaddress.h"+                      , symlinkGio "gdbusauthobserver.h"+                      , symlinkGio "gdbusconnection.h"+                      , symlinkGio "gdbuserror.h"+                      , symlinkGio "gdbusinterface.h"+                      , symlinkGio "gdbusinterfaceskeleton.h"+                      , symlinkGio "gdbusintrospection.h"+                      , symlinkGio "gdbusmenumodel.h"+                      , symlinkGio "gdbusmessage.h"+                      , symlinkGio "gdbusmethodinvocation.h"+                      , symlinkGio "gdbusnameowning.h"+                      , symlinkGio "gdbusnamewatching.h"+                      , symlinkGio "gdbusobject.h"+                      , symlinkGio "gdbusobjectmanager.h"+                      , symlinkGio "gdbusobjectmanagerclient.h"+                      , symlinkGio "gdbusobjectmanagerserver.h"+                      , symlinkGio "gdbusobjectproxy.h"+                      , symlinkGio "gdbusobjectskeleton.h"+                      , symlinkGio "gdbusproxy.h"+                      , symlinkGio "gdbusserver.h"+                      , symlinkGio "gdbusutils.h"+                      , symlinkGio "gdrive.h"+                      , symlinkGio "gdtlsclientconnection.h"+                      , symlinkGio "gdtlsconnection.h"+                      , symlinkGio "gdtlsserverconnection.h"+                      , symlinkGio "gemblem.h"+                      , symlinkGio "gemblemedicon.h"+                      , symlinkGio "gfile.h"+                      , symlinkGio "gfileattribute.h"+                      , symlinkGio "gfileenumerator.h"+                      , symlinkGio "gfileicon.h"+                      , symlinkGio "gfileinfo.h"+                      , symlinkGio "gfileinputstream.h"+                      , symlinkGio "gfileiostream.h"+                      , symlinkGio "gfilemonitor.h"+                      , symlinkGio "gfilenamecompleter.h"+                      , symlinkGio "gfileoutputstream.h"+                      , symlinkGio "gfilterinputstream.h"+                      , symlinkGio "gfilteroutputstream.h"+                      , symlinkGio "gicon.h"+                      , symlinkGio "ginetaddress.h"+                      , symlinkGio "ginetaddressmask.h"+                      , symlinkGio "ginetsocketaddress.h"+                      , symlinkGio "ginitable.h"+                      , symlinkGio "ginputstream.h"+                      , symlinkGio "gio-autocleanups.h"+                      , symlinkGio "gio.h"+                      , symlinkGio "gioenums.h"+                      , symlinkGio "gioenumtypes.h"+                      , symlinkGio "gioerror.h"+                      , symlinkGio "giomodule.h"+                      , symlinkGio "gioscheduler.h"+                      , symlinkGio "giostream.h"+                      , symlinkGio "giotypes.h"+                      , symlinkGio "glistmodel.h"+                      , symlinkGio "gliststore.h"+                      , symlinkGio "gloadableicon.h"+                      , symlinkGio "gmemoryinputstream.h"+                      , symlinkGio "gmemoryoutputstream.h"+                      , symlinkGio "gmenu.h"+                      , symlinkGio "gmenuexporter.h"+                      , symlinkGio "gmenumodel.h"+                      , symlinkGio "gmount.h"+                      , symlinkGio "gmountoperation.h"+                      , symlinkGio "gnativevolumemonitor.h"+                      , symlinkGio "gnetworkaddress.h"+                      , symlinkGio "gnetworking.h"+                      , symlinkGio "gnetworkmonitor.h"+                      , symlinkGio "gnetworkservice.h"+                      , symlinkGio "gnotification.h"+                      , symlinkGio "goutputstream.h"+                      , symlinkGio "gpermission.h"+                      , symlinkGio "gpollableinputstream.h"+                      , symlinkGio "gpollableoutputstream.h"+                      , symlinkGio "gpollableutils.h"+                      , symlinkGio "gpropertyaction.h"+                      , symlinkGio "gproxy.h"+                      , symlinkGio "gproxyaddress.h"+                      , symlinkGio "gproxyaddressenumerator.h"+                      , symlinkGio "gproxyresolver.h"+                      , symlinkGio "gremoteactiongroup.h"+                      , symlinkGio "gresolver.h"+                      , symlinkGio "gresource.h"+                      , symlinkGio "gseekable.h"+                      , symlinkGio "gsettings.h"+                      , symlinkGio "gsettingsbackend.h"+                      , symlinkGio "gsettingsschema.h"+                      , symlinkGio "gsimpleaction.h"+                      , symlinkGio "gsimpleactiongroup.h"+                      , symlinkGio "gsimpleasyncresult.h"+                      , symlinkGio "gsimpleiostream.h"+                      , symlinkGio "gsimplepermission.h"+                      , symlinkGio "gsimpleproxyresolver.h"+                      , symlinkGio "gsocket.h"+                      , symlinkGio "gsocketaddress.h"+                      , symlinkGio "gsocketaddressenumerator.h"+                      , symlinkGio "gsocketclient.h"+                      , symlinkGio "gsocketconnectable.h"+                      , symlinkGio "gsocketconnection.h"+                      , symlinkGio "gsocketcontrolmessage.h"+                      , symlinkGio "gsocketlistener.h"+                      , symlinkGio "gsocketservice.h"+                      , symlinkGio "gsrvtarget.h"+                      , symlinkGio "gsubprocess.h"+                      , symlinkGio "gsubprocesslauncher.h"+                      , symlinkGio "gtask.h"+                      , symlinkGio "gtcpconnection.h"+                      , symlinkGio "gtcpwrapperconnection.h"+                      , symlinkGio "gtestdbus.h"+                      , symlinkGio "gthemedicon.h"+                      , symlinkGio "gthreadedsocketservice.h"+                      , symlinkGio "gtlsbackend.h"+                      , symlinkGio "gtlscertificate.h"+                      , symlinkGio "gtlsclientconnection.h"+                      , symlinkGio "gtlsconnection.h"+                      , symlinkGio "gtlsdatabase.h"+                      , symlinkGio "gtlsfiledatabase.h"+                      , symlinkGio "gtlsinteraction.h"+                      , symlinkGio "gtlspassword.h"+                      , symlinkGio "gtlsserverconnection.h"+                      , symlinkGio "gvfs.h"+                      , symlinkGio "gvolume.h"+                      , symlinkGio "gvolumemonitor.h"+                      , symlinkGio "gzlibcompressor.h"+                      , symlinkGio "gzlibdecompressor.h"+                      , symlinkGunix "gdesktopappinfo.h"+                      , symlinkGunix "gfiledescriptorbased.h"+                      , symlinkGunix "gunixconnection.h"+                      , symlinkGunix "gunixcredentialsmessage.h"+                      , symlinkGunix "gunixfdlist.h"+                      , symlinkGunix "gunixfdmessage.h"+                      , symlinkGunix "gunixinputstream.h"+                      , symlinkGunix "gunixmounts.h"+                      , symlinkGunix "gunixoutputstream.h"+                      , symlinkGunix "gunixsocketaddress.h"+                      ]+              , pkgBuildDeps =+                [ prelude.unbounded "meson", prelude.unbounded "ninja" ]+              , pkgDeps =+                [ prelude.unbounded "util-linux"+                , prelude.unbounded "pcre"+                , prelude.unbounded "libffi"+                , prelude.unbounded "zlib"+                , prelude.unbounded "dbus"+                ]+              }++let atk =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.ninjaPackage+                { name = "atk", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "https://ftp.gnome.org/pub/gnome/sources/atk/${versionString}/atk-${fullVersion}.tar.xz"+              , pkgBuildDeps =+                [ prelude.unbounded "gobject-introspection"+                , prelude.unbounded "gettext"+                ]+              , pkgDeps = [ prelude.unbounded "glib" ]+              , installCommand =+                  prelude.ninjaInstallWithPkgConfig+                    [ { src = "build/meson-private/atk.pc"+                      , dest = "lib/pkgconfig/atk.pc"+                      }+                    ]+              }++let re2c =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "re2c", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/skvadrik/re2c/releases/download/${versionString}/re2c-${versionString}.tar.gz"+              }++let chickenScheme =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        let printChickenOS =+              λ(os : types.OS) →+                merge+                  { FreeBSD = "bsd"+                  , OpenBSD = "bsd"+                  , NetBSD = "bsd"+                  , Solaris = "solaris"+                  , Dragonfly = "bsd"+                  , Linux = "linux"+                  , Darwin = "macosx"+                  , Windows = "mingw"+                  , Haiku = "haiku"+                  , IOS = "ios"+                  , AIX = "aix"+                  , Hurd = "hurd"+                  , Android = "android"+                  , Redox = "error: no port for Redox OS"+                  , NoOs = "error: no port for no OS"+                  }+                  os++        let chickenBuild =+              λ(cfg : types.BuildVars) →+                let cc =+                      merge+                        { Some =+                            λ(tgt : types.TargetTriple) →+                              [ "C_COMPILER=${prelude.printTargetTriple+                                                tgt}-gcc"+                              ]+                        , None = [] : List Text+                        }+                        cfg.targetTriple++                let os = prelude.osCfg cfg++                in    [ prelude.call+                          (   prelude.defaultCall+                            ⫽ { program = prelude.makeExe cfg.buildOS+                              , arguments =+                                    cc+                                  # [ "PLATFORM=${printChickenOS os}"+                                    , "PREFIX=${cfg.installDir}"+                                    ]+                              }+                          )+                      , prelude.call+                          (   prelude.defaultCall+                            ⫽ { program = prelude.makeExe cfg.buildOS+                              , arguments =+                                    cc+                                  # [ "PLATFORM=${printChickenOS os}"+                                    , "PREFIX=${cfg.installDir}"+                                    , "install"+                                    ]+                              }+                          )+                      ]+                    # prelude.symlinkBinaries+                        [ "bin/csc", "bin/chicken-install", "bin/csi" ]++        in    prelude.simplePackage { name = "chicken-scheme", version = v }+            ⫽ { pkgUrl =+                  "https://code.call-cc.org/releases/${versionString}/chicken-${versionString}.tar.gz"+              , configureCommand = prelude.doNothing+              , buildCommand = chickenBuild+              , installCommand = prelude.doNothing+              , pkgSubdir = "chicken-${versionString}"+              }++let xcb-proto =+      λ(v : List Natural) →+          prelude.simplePackage { name = "xcb-proto", version = v }+        ⫽ { pkgUrl =+              "https://xorg.freedesktop.org/archive/individual/xcb/xcb-proto-${prelude.showVersion+                                                                                 v}.tar.bz2"+          }++let libxcb =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libxcb", version = v }+        ⫽ { pkgUrl =+              "https://xorg.freedesktop.org/archive/individual/xcb/libxcb-${prelude.showVersion+                                                                              v}.tar.bz2"+          , pkgDeps =+            [ prelude.lowerBound { name = "xcb-proto", lower = [ 1, 13 ] }+            , prelude.unbounded "libXau"+            , prelude.unbounded "libpthread-stubs"+            , prelude.unbounded "libXdmcp"+            ]+          }++let libpthread-stubs =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libpthread-stubs", version = v }+        ⫽ { pkgUrl =+              "https://www.x.org/archive/individual/xcb/libpthread-stubs-${prelude.showVersion+                                                                             v}.tar.bz2"+          }++let xorgConfigure =+      prelude.configureWithFlags [ "--disable-malloc0returnsnull" ]++let mkXLib =+      λ(name : Text) →+      λ(v : List Natural) →+          prelude.simplePackage { name, version = v }+        ⫽ { pkgUrl =+              "https://www.x.org/releases/individual/lib/${name}-${prelude.showVersion+                                                                     v}.tar.bz2"+          , configureCommand = xorgConfigure+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          }++let mkXLibDeps =+      λ(x : { name : Text, deps : List types.Dep }) →+      λ(v : List Natural) →+        mkXLib x.name v ⫽ { pkgDeps = x.deps }++let libXdmcp =+      mkXLibDeps { name = "libXdmcp", deps = [ prelude.unbounded "xproto" ] }++let libXau =+      mkXLibDeps { name = "libXau", deps = [ prelude.unbounded "xproto" ] }++let mkXUtil =+      λ(name : Text) →+      λ(v : List Natural) →+          prelude.simplePackage { name, version = v }+        ⫽ { pkgUrl =+              "https://www.x.org/releases/individual/util/${name}-${prelude.showVersion+                                                                      v}.tar.bz2"+          }++let libXrender =+      mkXLibDeps+        { name = "libXrender"+        , deps =+          [ prelude.unbounded "xproto"+          , prelude.unbounded "renderproto"+          , prelude.unbounded "libX11"+          ]+        }++let util-macros = mkXUtil "util-macros"++let libXft =+      mkXLibDeps+        { name = "libXft"+        , deps =+          [ prelude.unbounded "freetype"+          , prelude.unbounded "fontconfig"+          , prelude.unbounded "libXrender"+          , prelude.unbounded "libX11"+          ]+        }++let kbproto = mkXProto "kbproto"++let libX11 =+      mkXLibDeps+        { name = "libX11"+        , deps =+          [ prelude.unbounded "libxcb"+          , prelude.unbounded "kbproto"+          , prelude.unbounded "xextproto"+          , prelude.unbounded "inputproto"+          , prelude.unbounded "xtrans"+          ]+        }++let inputproto = mkXProto "inputproto"++let xineramaproto =+      mkXProtoWithPatch+        "xineramaproto"+        ./patches/xineramaproto.patch sha256:cc2dec3895d71256bfb878ab420bb63ad6708e17a1785805473760bb9d98a310 as Text++let xtrans = mkXLib "xtrans"++let libXrandr =+      mkXLibDeps+        { name = "libXrandr"+        , deps =+          [ prelude.unbounded "util-macros"+          , prelude.unbounded "libXext"+          , prelude.unbounded "libXrender"+          , prelude.unbounded "libX11"+          , prelude.unbounded "randrproto"+          ]+        }++let libXinerama =+      mkXLibDeps+        { name = "libXinerama"+        , deps =+          [ prelude.unbounded "util-macros"+          , prelude.unbounded "libX11"+          , prelude.unbounded "libXext"+          , prelude.unbounded "xineramaproto"+          ]+        }++let libXext =+      mkXLibDeps+        { name = "libXext"+        , deps =+          [ prelude.lowerBound { name = "xextproto", lower = [ 7, 1, 99 ] }+          , prelude.lowerBound { name = "xproto", lower = [ 7, 0, 13 ] }+          , prelude.lowerBound { name = "libX11", lower = [ 1, 6 ] }+          ]+        }++let xextproto =+      mkXProtoWithPatch+        "xextproto"+        ./patches/xextproto.patch sha256:67185f1122233556a40a3d3df5a4967aca8533be62112f3c5e393308b70f3217 as Text++let fixesproto = mkXProto "fixesproto"++let damageproto = mkXProto "damageproto"++let libXScrnSaver =+      λ(v : List Natural) →+          mkXLib "libXScrnSaver" v+        ⫽ { pkgDeps =+            [ prelude.unbounded "util-macros"+            , prelude.unbounded "libXext"+            , prelude.unbounded "scrnsaverproto"+            ]+          }++let bzip2 =+      let cc = prelude.mkCCArg++      in  λ(v : List Natural) →+            let versionString = prelude.showVersion v++            let bzipInstall =+                  λ(cfg : types.BuildVars) →+                    [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = prelude.makeExe cfg.buildOS+                            , arguments =+                                  cc cfg+                                # [ "PREFIX=${cfg.installDir}"+                                  , "install"+                                  , "-j${Natural/show cfg.cpus}"+                                  ]+                            }+                        )+                    , prelude.copyFile+                        "libbz2.so.${versionString}"+                        "lib/libbz2.so.${versionString}"+                    , prelude.symlink+                        "lib/libbz2.so.${versionString}"+                        "lib/libbz2.so.1.0"+                    , prelude.symlink+                        "lib/libbz2.so.${versionString}"+                        "lib/libbz2.so"+                    , prelude.symlinkBinary "bin/bzip2"+                    , prelude.symlinkBinary "bin/bzip2recover"+                    ]++            let bzipShared =+                  λ(cfg : types.BuildVars) →+                    [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = prelude.makeExe cfg.buildOS+                            , arguments =+                                cc cfg # [ "-f", "Makefile-libbz2_so" ]+                            }+                        )+                    ]++            in    prelude.simplePackage { name = "bzip2", version = v }+                ⫽ { pkgUrl =+                      "https://www.sourceware.org/pub/bzip2/bzip2-${versionString}.tar.gz"+                  , configureCommand = prelude.doNothing+                  , buildCommand = bzipShared+                  , installCommand = bzipInstall+                  }++let expat =+      λ(v : List Natural) →+          prelude.simplePackage { name = "expat", version = v }+        ⫽ { pkgUrl =+              "https://github.com/libexpat/libexpat/releases/download/R_${prelude.underscoreVersion+                                                                            v}/expat-${prelude.showVersion+                                                                                         v}.tar.bz2"+          }++let gperf =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "gperf", version = v }+        ⫽ { pkgUrl =+              "http://ftp.gnu.org/pub/gnu/gperf/gperf-${prelude.showVersion+                                                          v}.tar.gz"+          }++let coreutils =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "coreutils", version = v }+        ⫽ { installCommand =+              prelude.installWithBinaries+                [ "bin/install"+                , "bin/chmod"+                , "bin/rm"+                , "bin/cp"+                , "bin/ln"+                , "bin/mkdir"+                , "bin/test"+                , "bin/od"+                , "bin/readlink"+                ]+          }++let libsepol =+      let cc = prelude.mkCCArg++      let sepolInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = prelude.makeExe cfg.buildOS+                      , arguments =+                            cc cfg+                          # [ "PREFIX=${cfg.installDir}"+                            , "SHLIBDIR=${cfg.installDir}/lib"+                            , "CFLAGS=-Wno-error -O2"+                            , "install"+                            , "-j${Natural/show cfg.cpus}"+                            ]+                      , environment = Some+                          (   prelude.defaultPath cfg+                            # [ prelude.mkLDFlags cfg.linkDirs cfg+                              , prelude.mkCFlags cfg+                              , prelude.mkPkgConfigVar cfg.linkDirs+                              ]+                          )+                      }+                  )+              ]++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "libsepol", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/SELinuxProject/selinux/releases/download/20191204/libsepol-${prelude.showVersion+                                                                                                     v}.tar.gz"+              , configureCommand = prelude.doNothing+              , buildCommand = prelude.doNothing+              , installCommand = sepolInstall+              , pkgBuildDeps = [ prelude.unbounded "flex" ]+              }++let libselinux =+      let cc = prelude.mkCCArg++      let selinuxInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = prelude.makeExe cfg.buildOS+                      , arguments =+                            cc cfg+                          # [ "PREFIX=${cfg.installDir}"+                            , "SHLIBDIR=${cfg.installDir}/lib"+                            ,     "EXTRA_CFLAGS=-Wno-error -lpcre "+                              ++  (prelude.mkCFlags cfg).value+                            , "install"+                            , "-j${Natural/show cfg.cpus}"+                            ]+                      , environment = Some+                          (   prelude.defaultPath cfg+                            # [ prelude.mkLDFlags cfg.linkDirs cfg+                              , prelude.mkCFlags cfg+                              , prelude.mkPkgConfigVar cfg.linkDirs+                              , prelude.libPath cfg+                              ]+                          )+                      }+                  )+              ]++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "libselinux", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/SELinuxProject/selinux/releases/download/20191204/libselinux-${prelude.showVersion+                                                                                                       v}.tar.gz"+              , configureCommand = prelude.doNothing+              , buildCommand = prelude.doNothing+              , installCommand = selinuxInstall+              , pkgDeps =+                [ prelude.unbounded "pcre", prelude.unbounded "libsepol" ]+              , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+              }++let libXtst =+      mkXLibDeps+        { name = "libXtst"+        , deps = [ prelude.unbounded "libXi", prelude.unbounded "recordproto" ]+        }++let libXi =+      mkXLibDeps+        { name = "libXi"+        , deps = [ prelude.unbounded "libXext", prelude.unbounded "libXfixes" ]+        }++let mkGnomeNinja =+      λ(name : Text) →+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.ninjaPackage { name, version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz"+              }++let at-spi-core =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeNinja "at-spi2-core" x+        ⫽ { pkgDeps = [ prelude.unbounded "libXtst", prelude.unbounded "glib" ]+          , installCommand =+              prelude.ninjaInstallWithPkgConfig+                [ { src = "build/meson-private/atspi-2.pc"+                  , dest = "lib/pkgconfig/atspi-2.pc"+                  }+                ]+          }++let at-spi-atk =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeNinja "at-spi2-atk" x+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "at-spi2-core", lower = [ 2, 32, 2 ] }+            , prelude.lowerBound { name = "atk", lower = [ 2, 29, 2 ] }+            , prelude.unbounded "libxml2"+            ]+          , installCommand =+              prelude.ninjaInstallWithPkgConfig+                (prelude.mesonMoves [ "atk-bridge-2.0.pc" ])+          }++let libdrm =+      λ(v : List Natural) →+          prelude.ninjaPackage { name = "libdrm", version = v }+        ⫽ { pkgUrl =+              "https://dri.freedesktop.org/libdrm/libdrm-${prelude.showVersion+                                                             v}.tar.bz2"+          , pkgDeps =+            [ prelude.unbounded "libpciaccess", prelude.unbounded "cairo" ]+          , installCommand =+              prelude.ninjaInstallWithPkgConfig+                ( prelude.mesonMoves+                    [ "libdrm.pc"+                    , "libdrm_amdgpu.pc"+                    , "libdrm_intel.pc"+                    , "libdrm_nouveau.pc"+                    , "libdrm_radeon.pc"+                    , "libkms.pc"+                    ]+                )+          }++let libpciaccess = mkXLib "libpciaccess"++let markupSafe =+      λ(v : List Natural) →+          prelude.python3Package { name = "MarkupSafe", version = v }+        ⫽ { pkgUrl =+              "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-${prelude.showVersion+                                                                                          v}.tar.gz"+          }++let mako =+      λ(v : List Natural) →+          prelude.python3Package { name = "Mako", version = v }+        ⫽ { pkgUrl =+              "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${prelude.showVersion+                                                                              v}.tar.gz"+          }++let elfutils =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "elfutils", version = v }+            ⫽ { pkgUrl =+                  "https://sourceware.org/ftp/elfutils/${versionString}/elfutils-${versionString}.tar.bz2"+              }++let mkGnomeSimple =+      λ(name : Text) →+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage { name, version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/${name}/${versionString}/${name}-${fullVersion}.tar.xz"+              }++let gtk3 =+      let mkLDFlagsGtk =+            λ(linkDirs : List Text) →+              concatMapSep " " Text (λ(dir : Text) → "-L${dir}") linkDirs++      let gtkEnv =+            λ(cfg : types.BuildVars) →+                prelude.defaultPath cfg+              # [ { var = "LDFLAGS"+                  , value = mkLDFlagsGtk cfg.linkDirs ++ " -lpcre -lfribidi"+                  }+                , prelude.mkPkgConfigVar cfg.linkDirs+                , prelude.mkLDPreload cfg.preloadLibs+                , prelude.mkXdgDataDirs cfg.shareDirs+                , prelude.mkCFlags cfg+                ]++      let gtkConfig =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "./configure"+                      , arguments = [ "--prefix=${cfg.installDir}" ]+                      , environment = Some (gtkEnv cfg)+                      }+                  )+              ]++      in  λ(x : { version : List Natural, patch : Natural }) →+              mkGnomeSimple "gtk+" x+            ⫽ { pkgName = "gtk3"+              , configureCommand = gtkConfig+              , buildCommand =+                  λ(cfg : types.BuildVars) → prelude.buildWith (gtkEnv cfg) cfg+              , pkgDeps =+                [ prelude.lowerBound { name = "pango", lower = [ 1, 41, 0 ] }+                , prelude.unbounded "at-spi2-atk"+                , prelude.lowerBound { name = "atk", lower = [ 2, 15, 1 ] }+                , prelude.lowerBound+                    { name = "gdk-pixbuf", lower = [ 2, 30, 0 ] }+                , prelude.unbounded "libXft"+                , prelude.lowerBound { name = "libepoxy", lower = [ 1, 4 ] }+                , prelude.unbounded "libXi"+                ]+              , pkgBuildDeps = [ prelude.unbounded "binutils" ]+              }++let graphviz =+      λ(v : List Natural) →+          prelude.simplePackage { name = "graphviz", version = v }+        ⫽ { pkgUrl =+              "https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz"+          , pkgDeps = [ prelude.unbounded "perl" ]+          , installCommand = prelude.installWithBinaries [ "bin/dot" ]+          }++let wayland =+      λ(v : List Natural) →+          prelude.simplePackage { name = "wayland", version = v }+        ⫽ { pkgUrl =+              "https://wayland.freedesktop.org/releases/wayland-${prelude.showVersion+                                                                    v}.tar.xz"+          , pkgDeps = [ prelude.unbounded "libxml2" ]+          , configureCommand =+              prelude.configureWithFlags [ "--disable-documentation" ]+          }++let swig =+      λ(v : List Natural) →+          prelude.simplePackage { name = "swig", version = v }+        ⫽ { pkgUrl =+              "https://downloads.sourceforge.net/swig/swig-${prelude.showVersion+                                                               v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/swig" ]+          }++let lmdb =+      let cc = prelude.mkCCArg++      let ar =+            λ(cfg : types.BuildVars) →+              merge+                { Some =+                    λ(tgt : types.TargetTriple) →+                      [ "AR=${prelude.printTargetTriple tgt}-ar" ]+                , None = [] : List Text+                }+                cfg.targetTriple++      let lmdbInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "make"+                      , arguments =+                            cc cfg+                          # ar cfg+                          # [ "prefix=${cfg.installDir}"+                            , "install"+                            , "-j${Natural/show cfg.cpus}"+                            ]+                      , procDir = Some "libraries/liblmdb"+                      }+                  )+              ]++      in  λ(v : List Natural) →+            let versionString = prelude.showVersion v++            in    prelude.simplePackage { name = "lmdb", version = v }+                ⫽ { pkgUrl =+                      "https://github.com/LMDB/lmdb/archive/LMDB_${versionString}.tar.gz"+                  , pkgSubdir = "lmdb-LMDB_${versionString}"+                  , configureCommand = prelude.doNothing+                  , buildCommand = prelude.doNothing+                  , installCommand = lmdbInstall+                  }++let gsl =+      λ(v : List Natural) →+          prelude.simplePackage { name = "gsl", version = v }+        ⫽ { pkgUrl =+              "http://mirror.keystealth.org/gnu/gsl/gsl-${prelude.showVersion+                                                            v}.tar.gz"+          }++let postgresql =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "postgresql", version = v }+            ⫽ { pkgUrl =+                  "https://ftp.postgresql.org/pub/source/v${versionString}/postgresql-${versionString}.tar.bz2"+              , configureCommand =+                  prelude.configureWithFlags [ "--without-readline" ]+              , installCommand = prelude.installWithBinaries [ "bin/pg_config" ]+              , pkgDeps = [ prelude.unbounded "zlib" ]+              }++let sqlite =+      λ(x : { version : List Natural }) →+          prelude.simplePackage { name = "sqlite", version = x.version }+        ⫽ { pkgUrl =+              "https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz"+          , pkgSubdir = "sqlite-autoconf-3300100"+          }++let ragel =+      λ(v : List Natural) →+          prelude.simplePackage { name = "ragel", version = v }+        ⫽ { pkgUrl =+              "http://www.colm.net/files/ragel/ragel-${prelude.showVersion+                                                         v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/ragel" ]+          }++let nano =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "nano", version = v }+        ⫽ { pkgDeps = [ prelude.unbounded "ncurses" ] }++let libarchive =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libarchive", version = v }+        ⫽ { pkgUrl =+              "https://www.libarchive.org/downloads/libarchive-${prelude.showVersion+                                                                   v}.tar.gz"+          , pkgDeps =+            [ prelude.unbounded "xz"+            , prelude.unbounded "bzip2"+            , prelude.unbounded "zlib"+            ]+          , installCommand =+              prelude.installWithBinaries [ "bin/bsdtar", "bin/bsdcpio" ]+          }++let pygobject =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeSimple "pygobject" x+        ⫽ { pkgDeps = [ prelude.unbounded "glib" ]+          , configureCommand = prelude.preloadCfg+          }++let pygtk =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    mkGnomeSimple "pygtk" x+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/pygtk/${versionString}/pygtk-${fullVersion}.tar.bz2"+              , configureCommand = prelude.preloadCfg+              , pkgDeps =+                [ prelude.lowerBound { name = "glib", lower = [ 2, 8, 0 ] }+                , prelude.lowerBound+                    { name = "pygobject", lower = [ 2, 21, 3 ] }+                , prelude.unbounded "python2"+                ]+              }++let libglade =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage+                { name = "libglade", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/libglade/${versionString}/libglade-${fullVersion}.tar.bz2"+              , pkgDeps =+                [ prelude.lowerBound { name = "libxml2", lower = [ 2, 4, 10 ] }+                , prelude.lowerBound { name = "gtk2", lower = [ 2, 5, 0 ] }+                ]+              , configureCommand = prelude.configureLinkExtraLibs [ "fribidi" ]+              }++let scour =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.python3Package { name = "scour", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/scour-project/scour/archive/v${versionString}/scour-${versionString}.tar.gz"+              , installCommand = prelude.installWithPy3Wrappers [ "scour" ]+              }++let libXpm =+      λ(v : List Natural) →+          mkXLib "libXpm" v+        ⫽ { pkgDeps = [ prelude.unbounded "libXext", prelude.unbounded "libXt" ]+          , pkgBuildDeps = [ prelude.unbounded "gettext" ]+          }++let libXt =+      mkXLibDeps+        { name = "libXt"+        , deps =+          [ prelude.unbounded "libICE"+          , prelude.unbounded "libSM"+          , prelude.unbounded "libX11"+          , prelude.unbounded "kbproto"+          ]+        }++let libICE =+      mkXLibDeps+        { name = "libICE"+        , deps = [ prelude.unbounded "xproto", prelude.unbounded "xtrans" ]+        }++let libSM =+      mkXLibDeps+        { name = "libSM"+        , deps = [ prelude.unbounded "libICE", prelude.unbounded "util-linux" ]+        }++let libXaw =+      mkXLibDeps+        { name = "libXaw"+        , deps = [ prelude.unbounded "libXmu", prelude.unbounded "libXpm" ]+        }++let libXaw3d =+      mkXLibDeps+        { name = "libXaw3d"+        , deps =+          [ prelude.unbounded "libX11"+          , prelude.unbounded "libXt"+          , prelude.unbounded "libXmu"+          , prelude.unbounded "libXext"+          ]+        }++let libXmu =+      mkXLibDeps+        { name = "libXmu"+        , deps =+          [ prelude.unbounded "util-macros"+          , prelude.unbounded "libXt"+          , prelude.unbounded "libXext"+          ]+        }++let libotf =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libotf", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/m17n/libotf-${prelude.showVersion+                                                                         v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "freetype" ]+          }++let m17n =+      λ(v : List Natural) →+          prelude.simplePackage { name = "m17n-lib", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/m17n/m17n-lib-${prelude.showVersion+                                                                           v}.tar.gz"+          , buildCommand =+              λ(cfg : types.BuildVars) →+                prelude.generalBuild+                  prelude.singleThreaded+                  (prelude.buildEnv cfg)+                  cfg+          , pkgDeps = [ prelude.unbounded "libXt" ]+          , pkgBuildDeps = [ prelude.unbounded "binutils" ]+          }++let mkGimpPackage =+      λ(name : Text) →+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage { name, version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "https://download.gimp.org/pub/${name}/${versionString}/${name}-${fullVersion}.tar.bz2"+              }++let babl =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage+                { name = "babl", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "https://download.gimp.org/pub/babl/${versionString}/babl-${fullVersion}.tar.xz"+              , pkgBuildDeps =+                [ prelude.unbounded "autoconf"+                , prelude.unbounded "automake"+                , prelude.unbounded "libtool"+                , prelude.unbounded "pkg-config"+                ]+              , pkgDeps = [ prelude.unbounded "lcms2" ]+              , configureCommand = prelude.autogenConfigure+              }++let gegl =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGimpPackage "gegl" x+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "babl", lower = [ 0, 1, 58 ] }+            , prelude.lowerBound { name = "glib", lower = [ 2, 44, 0 ] }+            , prelude.unbounded "json-glib"+            ]+          , configureCommand = prelude.preloadCfg+          }++let libexif =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libexif", version = v }+            ⫽ { pkgUrl =+                  "https://nchc.dl.sourceforge.net/project/libexif/libexif/${versionString}/libexif-${versionString}.tar.bz2"+              }++let json-glib =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeNinja "json-glib" x+        ⫽ { pkgDeps =+            [ prelude.unbounded "glib"+            , prelude.unbounded "libjpeg-turbo"+            , prelude.unbounded "libpng"+            ]+          , pkgBuildDeps = [ prelude.unbounded "gettext" ]+          , installCommand =+              prelude.ninjaInstallWithPkgConfig+                (prelude.mesonMoves [ "json-glib-1.0.pc" ])+          }++let lcms2 =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "lcms2", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/mm2/Little-CMS/archive/lcms${versionString}.tar.gz"+              , pkgSubdir = "Little-CMS-lcms${versionString}"+              }++let libmypaint =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libmypaint", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/mypaint/libmypaint/releases/download/v${versionString}/libmypaint-${versionString}.tar.xz"+              , pkgDeps = [ prelude.unbounded "json-c" ]+              , pkgBuildDeps =+                [ prelude.unbounded "intltool", prelude.unbounded "gettext" ]+              }++let json-c =+      λ(x : { version : List Natural, dateStr : Text }) →+        let versionString = "${prelude.showVersion x.version}-${x.dateStr}"++        in    prelude.simplePackage { name = "json-c", version = x.version }+            ⫽ { pkgUrl =+                  "https://github.com/json-c/json-c/archive/json-c-${versionString}.tar.gz"+              , pkgSubdir = "json-c-json-c-${versionString}"+              }++let libopenjpeg =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libopenjpeg", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "https://github.com/uclouvain/openjpeg/archive/v${versionString}.tar.gz"+              , pkgSubdir = "openjpeg-${versionString}"+              , pkgDeps = [ prelude.unbounded "zlib" ]+              , pkgBuildDeps =+                [ prelude.unbounded "make", prelude.unbounded "cmake" ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.cmakeInstall cfg+                    # [ prelude.symlink+                          "lib/openjpeg-2.3/OpenJPEGConfig.cmake"+                          "lib/OpenJPEGConfig.cmake"+                      ]+              }++let libevent =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libevent", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/libevent/libevent/releases/download/release-${versionString}-stable/libevent-${versionString}-stable.tar.gz"+              , pkgSubdir = "libevent-${versionString}-stable"+              , pkgDeps = [ prelude.unbounded "openssl" ]+              }++let memcached =+      λ(v : List Natural) →+          prelude.simplePackage { name = "memcached", version = v }+        ⫽ { pkgUrl =+              "https://memcached.org/files/memcached-${prelude.showVersion+                                                         v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "libevent" ]+          }++let motif =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "motif", version = v }+            ⫽ { pkgUrl =+                  "https://iweb.dl.sourceforge.net/project/motif/Motif%20${versionString}%20Source%20Code/motif-${versionString}.tar.gz"+              , pkgDeps =+                [ prelude.unbounded "libXft"+                , prelude.unbounded "libpng"+                , prelude.unbounded "freetype"+                ]+              }++let libjpeg =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libjpeg", version = v }+            ⫽ { pkgUrl =+                  "http://www.ijg.org/files/jpegsrc.v${versionString}c.tar.gz"+              , pkgSubdir = "jpeg-${versionString}c"+              }++let feh =+      let cc = prelude.mkCCArg++      let fehMake =+            λ(cfg : types.BuildVars) → { program = prelude.makeExe cfg.buildOS }++      let fehBuild =+            λ(v : List Natural) →+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ fehMake cfg+                    ⫽ { arguments = [ "feh.1" ], procDir = Some "man" }+                  )+              , prelude.call+                  (   prelude.defaultCall+                    ⫽ fehMake cfg+                    ⫽ { arguments =+                            cc cfg+                          # [ "CFLAGS=${( prelude.mkCFlags cfg+                                        ).value} -DPACKAGE=\\\"feh\\\" -DPREFIX=\\\"${cfg.installDir}\\\" -DVERSION=\\\"${prelude.showVersion+                                                                                                                            v}\\\" ${( prelude.mkLDFlags+                                                                                                                                         cfg.linkDirs+                                                                                                                                         cfg+                                                                                                                                     ).value}"+                            , "feh"+                            ]+                      , procDir = Some "src"+                      }+                  )+              , prelude.call+                  (   prelude.defaultCall+                    ⫽ fehMake cfg+                    ⫽ { arguments = [ "feh.desktop" ]+                      , procDir = Some "share/applications"+                      }+                  )+              ]++      let fehInstall =+            λ(cfg : types.BuildVars) →+                [ prelude.call+                    (   prelude.defaultCall+                      ⫽ { program = prelude.makeExe cfg.buildOS+                        , arguments =+                          [ "CFLAGS=${(prelude.mkCFlags cfg).value}"+                          , "-j${Natural/show cfg.cpus}"+                          , "PREFIX=${cfg.installDir}"+                          , "install"+                          ]+                        }+                    )+                ]+              # prelude.mkLDPathWrapper cfg "feh"++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "feh", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/derf/feh/archive/${prelude.showVersion+                                                           v}.tar.gz"+              , configureCommand = prelude.doNothing+              , buildCommand = fehBuild v+              , installCommand = fehInstall+              , pkgBuildDeps = [ prelude.unbounded "sed" ]+              , pkgDeps =+                [ prelude.unbounded "imlib2"+                , prelude.unbounded "libXt"+                , prelude.unbounded "libXinerama"+                , prelude.unbounded "curl"+                ]+              }++let imlib2 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "imlib2", version = v }+        ⫽ { pkgUrl =+              "https://downloads.sourceforge.net/enlightenment/imlib2-${prelude.showVersion+                                                                          v}.tar.bz2"+          , pkgDeps =+            [ prelude.unbounded "libXext"+            , prelude.unbounded "freetype"+            , prelude.unbounded "libjpeg"+            , prelude.unbounded "libpng"+            , prelude.unbounded "giflib"+            ]+          }++let jemalloc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "jemalloc", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/jemalloc/jemalloc/releases/download/${versionString}/jemalloc-${versionString}.tar.bz2"+              }++let gperftools =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "gperftools", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/gperftools/gperftools/releases/download/gperftools-${versionString}/gperftools-${versionString}.tar.gz"+              }++let openssh =+      let opensshInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = prelude.makeExe cfg.buildOS+                      , arguments =+                        [ "PRIVSEP_PATH=${cfg.installDir}/var"+                        , "install"+                        , "-j${Natural/show cfg.cpus}"+                        ]+                      , environment = Some+                          (   prelude.defaultPath cfg+                            # [ prelude.mkPkgConfigVar cfg.linkDirs+                              , prelude.libPath cfg+                              ]+                          )+                      }+                  )+              ]++      in  λ(v : List Natural) →+              prelude.simplePackage { name = "openssh", version = v }+            ⫽ { pkgUrl =+                  "https://mirrors.gigenet.com/pub/OpenBSD/OpenSSH/portable/openssh-${prelude.showVersion+                                                                                        v}p1.tar.gz"+              , pkgSubdir = "openssh-${prelude.showVersion v}p1"+              , installCommand = opensshInstall+              , pkgDeps = [ prelude.unbounded "openssl" ]+              }++let libxslt =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libxslt", version = v }+        ⫽ { pkgUrl =+              "http://xmlsoft.org/sources/libxslt-${prelude.showVersion+                                                      v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "libxml2" ]+          }++let libepoxy =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.ninjaPackage { name = "libepoxy", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/anholt/libepoxy/releases/download/${versionString}/libepoxy-${versionString}.tar.xz"+              , pkgDeps = [ prelude.unbounded "mesa" ]+              , installCommand =+                  prelude.ninjaInstallWithPkgConfig+                    (prelude.mesonMoves [ "epoxy.pc" ])+              }++let mesa =+      λ(v : List Natural) →+          prelude.simplePackage { name = "mesa", version = v }+        ⫽ { pkgUrl =+              "https://mesa.freedesktop.org/archive/mesa-${prelude.showVersion+                                                             v}.tar.xz"+          , pkgDeps =+            [ prelude.lowerBound { name = "libdrm", lower = [ 2, 4, 75 ] }+            , prelude.unbounded "libXdamage"+            , prelude.unbounded "libXfixes"+            , prelude.unbounded "libXxf86vm"+            , prelude.lowerBound { name = "libxshmfence", lower = [ 1, 1 ] }+            , prelude.lowerBound { name = "glproto", lower = [ 1, 4, 14 ] }+            , prelude.lowerBound { name = "dri2proto", lower = [ 2, 8 ] }+            , prelude.unbounded "libXrandr"+            ]+          , configureCommand =+              prelude.configureWithFlags+                [ "--enable-autotools"+                , "--with-gallium-drivers=nouveau,swrast"+                ]+          }++let libXdamage =+      mkXLibDeps+        { name = "libXdamage"+        , deps =+          [ prelude.unbounded "libXfixes", prelude.unbounded "damageproto" ]+        }++let libXfixes =+      mkXLibDeps+        { name = "libXfixes"+        , deps =+          [ prelude.unbounded "xproto"+          , prelude.unbounded "fixesproto"+          , prelude.unbounded "xextproto"+          , prelude.unbounded "libX11"+          ]+        }++let libXxf86vm =+      mkXLibDeps+        { name = "libXxf86vm"+        , deps =+          [ prelude.unbounded "xproto"+          , prelude.unbounded "libX11"+          , prelude.unbounded "xextproto"+          , prelude.unbounded "libXext"+          , prelude.unbounded "xf86vidmodeproto"+          ]+        }++let libxshmfence =+      mkXLibDeps+        { name = "libxshmfence", deps = [ prelude.unbounded "xproto" ] }++let gnome-doc-utils =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeSimple "gnome-doc-utils" x+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "libxslt", lower = [ 1, 1, 8 ] }+            , prelude.lowerBound { name = "libxml2", lower = [ 2, 6, 12 ] }+            ]+          , pkgBuildDeps =+            [ prelude.lowerBound { name = "intltool", lower = [ 0, 35, 0 ] }+            , prelude.unbounded "gettext"+            , prelude.unbounded "python2"+            ]+          }++let itstool =+      λ(v : List Natural) →+          prelude.simplePackage { name = "itstool", version = v }+        ⫽ { pkgUrl =+              "http://files.itstool.org/itstool/itstool-${prelude.showVersion+                                                            v}.tar.bz2"+          , pkgDeps = [ prelude.unbounded "libxml2" ]+          }++let gexiv2 =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeNinja "gexiv2" x+        ⫽ { pkgDeps = [ prelude.unbounded "exiv2", prelude.unbounded "glib" ]+          , installCommand =+              prelude.ninjaInstallWithPkgConfig+                (prelude.mesonMoves [ "gexiv2.pc" ])+          }++let exiv2 =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "exiv2", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "http://www.exiv2.org/builds/exiv2-${versionString}-Source.tar.gz"+              , pkgSubdir = "exiv2-${versionString}-Source"+              }++let libtiff =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.ninjaPackage { name = "libtiff", version = v }+            ⫽ { pkgUrl =+                  "https://download.osgeo.org/libtiff/tiff-${versionString}.tar.gz"+              , pkgSubdir = "tiff-${versionString}"+              , configureCommand = prelude.cmakeConfigureNinja+              , pkgBuildDeps =+                [ prelude.unbounded "cmake", prelude.unbounded "ninja" ]+              }++let nspr =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        let bitFlag =+              λ(cfg : types.BuildVars) →+                if    prelude.isX64 (prelude.archCfg cfg)+                then  [ "--enable-64bit" ]+                else  [] : List Text++        in    prelude.simplePackage { name = "nspr", version = v }+            ⫽ { pkgUrl =+                  "https://archive.mozilla.org/pub/nspr/releases/v${versionString}/src/nspr-${versionString}.tar.gz"+              , pkgSubdir = "nspr-${versionString}/nspr"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                    prelude.configureWithFlags (bitFlag cfg) cfg+              }++let libthai =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libthai", version = v }+        ⫽ { pkgUrl =+              "https://linux.thai.net/pub/thailinux/software/libthai/libthai-${prelude.showVersion+                                                                                 v}.tar.xz"+          , pkgDeps = [ prelude.unbounded "libdatrie" ]+          }++let libdatrie =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libdatrie", version = v }+        ⫽ { pkgUrl =+              "https://linux.thai.net/pub/thailinux/software/libthai/libdatrie-${prelude.showVersion+                                                                                   v}.tar.xz"+          }++let joe =+      λ(v : List Natural) →+          prelude.simplePackage { name = "joe", version = v }+        ⫽ { pkgUrl =+              "https://downloads.sourceforge.net/joe-editor/joe-${prelude.showVersion+                                                                    v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/joe" ]+          }++let fossil =+      λ(v : List Natural) →+          prelude.simplePackage { name = "fossil", version = v }+        ⫽ { pkgUrl =+              "https://fossil-scm.org/fossil/uv/fossil-src-${prelude.showVersion+                                                               v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/fossil" ]+          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "openssl" ]+          }++let libcroco =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeSimple "libcroco" x+        ⫽ { pkgDeps =+            [ prelude.lowerBound { name = "glib", lower = [ 2, 0 ] }+            , prelude.lowerBound { name = "libxml2", lower = [ 2, 4, 23 ] }+            ]+          }++let libsoup =+      λ(x : { version : List Natural, patch : Natural }) →+        let libsoupCfgFile =+              ''+              option('gssapi',+                type : 'boolean',+                value : true,+                description : 'Build with GSSAPI support'+              )++              option('krb5_config',+                type : 'string',+                description : 'Where to look for krb5-config, path points to krb5-config installation (defaultly looking in PATH)'+              )++              option('ntlm',+                type : 'boolean',+                value : false,+                description : 'Build with NTLM support'+              )++              option('tls_check',+                type : 'boolean',+                value : true,+                description : 'Enable TLS support through glib-networking. If you are building a package, you can disable this to allow building libsoup anyway (since glib-networking is not actually required at compile time), but you should be sure to add a runtime dependency on it.'+              )++              option('gnome',+                type : 'boolean',+                value : true,+                description : 'Build libsoup with GNOME support'+              )++              option('introspection',+                type : 'boolean',+                value : true,+                description : 'Build GObject Introspection data'+              )++              option('vapi',+                type : 'boolean',+                value : false,+                description : 'Build Vala bindings'+              )++              option('doc',+                type: 'boolean',+                value: false,+                description: 'Enable generating the API reference'+              )++              option('tests',+                type: 'boolean',+                value: true,+                description: 'Enable unit tests compilation'+              )+              ''++        in    mkGnomeNinja "libsoup" x+            ⫽ { pkgDeps =+                [ prelude.unbounded "glib"+                , prelude.unbounded "sqlite"+                , prelude.unbounded "libxml2"+                , prelude.unbounded "libpsl"+                , prelude.unbounded "krb5"+                , prelude.unbounded "gobject-introspection"+                ]+              , pkgBuildDeps = [ prelude.unbounded "vala" ]+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                      [ prelude.writeFile+                          { file = "meson_options.txt"+                          , contents = libsoupCfgFile+                          }+                      ]+                    # prelude.mesonConfigure cfg+              , installCommand =+                  prelude.ninjaInstallWithPkgConfig+                    (prelude.mesonMoves [ "libsoup-2.4.pc" ])+              }++let libpsl =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libpsl", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/rockdaboot/libpsl/releases/download/libpsl-${versionString}/libpsl-${versionString}.tar.gz"+              }++let krb5 =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "krb5", version = v }+            ⫽ { pkgUrl =+                  "https://kerberos.org/dist/krb5/${versionString}/krb5-${versionString}.tar.gz"+              , pkgSubdir = "krb5-${versionString}/src"+              , pkgBuildDeps = [ prelude.unbounded "bison" ]+              }++let vala =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeSimple "vala" x+        ⫽ { pkgBuildDeps = [ prelude.unbounded "flex" ]+          , pkgDeps =+            [ prelude.lowerBound { name = "glib", lower = [ 2, 40, 0 ] }+            , prelude.lowerBound { name = "graphviz", lower = [ 2, 15 ] }+            ]+          }++let htop =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "htop", version = v }+            ⫽ { pkgUrl =+                  "https://hisham.hm/htop/releases/${versionString}/htop-${versionString}.tar.gz"+              , pkgDeps = [ prelude.unbounded "ncurses" ]+              , pkgBuildDeps = [ prelude.unbounded "python3" ]+              , installCommand = prelude.installWithBinaries [ "bin/htop" ]+              }++let mpfr =+      λ(v : List Natural) →+          prelude.simplePackage { name = "mpfr", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/mpfr/mpfr-${prelude.showVersion+                                                     v}.tar.xz"+          }++let libsodium =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libsodium", version = v }+        ⫽ { pkgUrl =+              "https://download.libsodium.org/libsodium/releases/libsodium-${prelude.showVersion+                                                                               v}.tar.gz"+          }++let libev =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libev", version = v }+        ⫽ { pkgUrl =+              "http://dist.schmorp.de/libev/Attic/libev-${prelude.showVersion+                                                            v}.tar.gz"+          }++let ctags =+      λ(v : List Natural) →+          prelude.simplePackage { name = "ctags", version = v }+        ⫽ { pkgUrl =+              "http://prdownloads.sourceforge.net/ctags/ctags-${prelude.showVersion+                                                                  v}.tar.gz"+          , installCommand = prelude.installWithBinaries [ "bin/ctags" ]+          }++let tcc =+      λ(v : List Natural) →+          prelude.simplePackage { name = "tcc", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/tinycc/tcc-${prelude.showVersion+                                                                        v}.tar.bz2"+          , pkgBuildDeps =+            [ prelude.unbounded "perl", prelude.unbounded "texinfo" ]+          , installCommand = prelude.installWithBinaries [ "bin/tcc" ]+          }++let texinfo =+      λ(v : List Natural) →+          prelude.simplePackage { name = "texinfo", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/texinfo/texinfo-${prelude.showVersion+                                                           v}.tar.xz"+          , configureCommand =+              prelude.configureWithFlags [ "--disable-dependency-tracking" ]+          }++let node =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "node", version = v }+            ⫽ { pkgUrl =+                  "https://nodejs.org/dist/v${versionString}/node-v${versionString}.tar.gz"+              , pkgSubdir = "node-v${versionString}"+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.installWithBinaries [ "bin/node", "bin/npm" ] cfg+                    # [ prelude.mkExe+                          "${cfg.installDir}/lib/node_modules/npm/bin/npm-cli.js"+                      ]+              }++let glu =+      λ(v : List Natural) →+          prelude.simplePackage { name = "glu", version = v }+        ⫽ { pkgUrl =+              "https://mesa.freedesktop.org/archive/glu/glu-${prelude.showVersion+                                                                v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "mesa" ]+          }++let compositeproto = mkXProto "compositeproto"++let libXcomposite =+      mkXLibDeps+        { name = "libXcomposite"+        , deps =+          [ prelude.unbounded "libX11"+          , prelude.lowerBound { name = "compositeproto", lower = [ 0, 4 ] }+          , prelude.unbounded "libXfixes"+          ]+        }++let mosh =+      λ(v : List Natural) →+          prelude.simplePackage { name = "mosh", version = v }+        ⫽ { pkgUrl = "https://mosh.org/mosh-${prelude.showVersion v}.tar.gz"+          , pkgBuildDeps = [ prelude.unbounded "protobuf" ]+          , pkgDeps =+            [ prelude.unbounded "zlib"+            , prelude.unbounded "protobuf"+            , prelude.unbounded "openssl"+            ]+          , installCommand = prelude.installWithBinaries [ "bin/mosh" ]+          }++let protobuf =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "protobuf", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/protocolbuffers/protobuf/releases/download/v${versionString}/protobuf-cpp-${versionString}.tar.gz"+              , pkgSubdir = "protobuf-${versionString}"+              }++let libcds =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "libcds", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "https://downloads.sourceforge.net/libcds/cds-${prelude.showVersion+                                                                    v}.tar.gz"+              , pkgSubdir = "cds-${versionString}"+              , pkgDeps = [ prelude.unbounded "libboost" ]+              }++let libboost =+    -- TODO: use bootstrap.bat on windows+      let boostConfigure =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (prelude.defaultCall ⫽ { program = "./bootstrap.sh" })+              ]++      let boostInstall =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "./b2"+                      , arguments =+                        [ "install"+                        , "--prefix=${cfg.installDir}"+                        , "--without-python"+                        ]+                      }+                  )+              ]++      in  λ(v : List Natural) →+            let versionString = prelude.underscoreVersion v++            in    prelude.simplePackage { name = "libboost", version = v }+                ⫽ { pkgUrl =+                      "https://dl.bintray.com/boostorg/release/${prelude.showVersion+                                                                   v}/source/boost_${versionString}.tar.bz2"+                  , pkgSubdir = "boost_${versionString}"+                  , configureCommand = boostConfigure+                  , buildCommand = prelude.doNothing+                  , installCommand = boostInstall+                  }++let slowBuild =+      λ(cfg : types.BuildVars) →+        [ prelude.call+            { program = "cmake"+            , arguments =+              [ "--build", ".", "--config", "Release", "--", "-j", "2" ]+            , environment = prelude.defaultEnv+            , procDir = Some "build"+            }+        ]++let clang =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "clang", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "http://releases.llvm.org/${versionString}/cfe-${versionString}.src.tar.xz"+              , pkgSubdir = "cfe-${versionString}.src"+              , buildCommand = slowBuild+              , pkgDeps = [ prelude.unbounded "llvm" ]+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      prelude.cmakeInstall cfg+                    # [ prelude.symlinkBinary "bin/clang"+                      , prelude.symlinkBinary "bin/clang-format"+                      ]+              }++let llvm =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "llvm", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "http://releases.llvm.org/${versionString}/llvm-${versionString}.src.tar.xz"+              , pkgSubdir = "llvm-${versionString}.src"+              , buildCommand = slowBuild+              }++let pari =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pari", version = v }+        ⫽ { pkgUrl =+              "http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-${prelude.showVersion+                                                                     v}.tar.gz"+          , configureCommand =+              prelude.generalConfigure+                prelude.configSome+                "Configure"+                ([] : List Text)+                ([] : List Text)+          }++let pdfgrep =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pdfgrep", version = v }+        ⫽ { pkgUrl =+              "https://pdfgrep.org/download/pdfgrep-${prelude.showVersion+                                                        v}.tar.gz"+          , pkgDeps =+            [ prelude.unbounded "poppler", prelude.unbounded "libgcrypt" ]+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithWrappers [ "pdfgrep" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/pdfgrep.1", section = 1 } ]+          }++let mpc =+      λ(v : List Natural) →+          prelude.simplePackage { name = "mpc", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/mpc/mpc-${prelude.showVersion v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "mpfr" ]+          }++let gcc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "gcc", version = v }+            ⫽ { pkgUrl =+                  "https://ftp.gnu.org/gnu/gcc/gcc-${versionString}/gcc-${versionString}.tar.xz"+              , configureCommand =+                  λ(cfg : types.BuildVars) →+                      [ prelude.call+                          { program = "contrib/download_prerequisites"+                          , arguments = [] : List Text+                          , environment = None (List types.EnvVar)+                          , procDir = None Text+                          }+                      ]+                    # prelude.configureWithFlags [ "--disable-multilib" ] cfg+              , installCommand =+                  prelude.installWithBinaries+                    [ "bin/gcc"+                    , "bin/g++"+                    , "bin/gcc-ar"+                    , "bin/gcc-nm"+                    , "bin/gfortran"+                    , "bin/gcc-ranlib"+                    ]+              , pkgBuildDeps =+                [ prelude.unbounded "curl"+                , prelude.unbounded "sed"+                , prelude.unbounded "libtool"+                ]+              }++let ruby =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage+                { name = "ruby", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "https://cache.ruby-lang.org/pub/ruby/${versionString}/ruby-${fullVersion}.tar.gz"+              , installCommand =+                  prelude.installWithBinaries [ "bin/ruby", "bin/gem" ]+              , pkgDeps =+                [ prelude.unbounded "readline", prelude.unbounded "openssl" ]+              }++let poppler =+      λ(v : List Natural) →+          prelude.simplePackage { name = "poppler", version = v }+        ⫽ prelude.cmakePackage+        ⫽ { pkgUrl =+              "https://poppler.freedesktop.org/poppler-${prelude.showVersion+                                                           v}.tar.xz"+          , pkgDeps =+            [ prelude.unbounded "fontconfig"+            , prelude.unbounded "libopenjpeg"+            , prelude.unbounded "libjpeg-turbo"+            , prelude.unbounded "libjpeg"+            , prelude.unbounded "freetype"+            , prelude.unbounded "zlib"+            , prelude.unbounded "libpng"+            , prelude.unbounded "libiconv"+            , prelude.unbounded "harfbuzz"+            , prelude.unbounded "glib"+            ]+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.cmakeInstall cfg+                # prelude.mkLDPathWrappers+                    cfg+                    [ "pdfdetach"+                    , "pdffonts"+                    , "pdfimages"+                    , "pdfinfo"+                    , "pdfseparate"+                    , "pdfsig"+                    , "pdftocairo"+                    , "pdftohtml"+                    , "pdftoppm"+                    , "pdftops"+                    , "pdftotext"+                    , "pdfunite"+                    ]+          }++let tesseract =+      λ(v : List Natural) →+          prelude.simplePackage { name = "tesseract", version = v }+        ⫽ { pkgUrl =+              "https://github.com/tesseract-ocr/tesseract/archive/${prelude.showVersion+                                                                      v}.tar.gz"+          , pkgDeps =+            [ prelude.lowerBound { name = "leptonica", lower = [ 1, 74 ] } ]+          , pkgBuildDeps =+            [ prelude.unbounded "libtool"+            , prelude.unbounded "automake"+            , prelude.unbounded "pkg-config"+            ]+          , configureCommand = prelude.autogenConfigure+          , installCommand = prelude.installWithBinaries [ "bin/tesseract" ]+          }++let leptonica =+      λ(v : List Natural) →+          prelude.simplePackage { name = "leptonica", version = v }+        ⫽ { pkgUrl =+              "http://leptonica.org/source/leptonica-${prelude.showVersion+                                                         v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "zlib" ]+          }++let grep =+      λ(v : List Natural) → prelude.makeGnuExe { name = "grep", version = v }++let phash =+      λ(v : List Natural) →+          prelude.simplePackage { name = "pHash", version = v }+        ⫽ { pkgUrl =+              "http://phash.org/releases/pHash-${prelude.showVersion v}.tar.gz"+          , pkgDeps =+            [ prelude.lowerBound { name = "CImg", lower = [ 1, 3 ] }+            , prelude.unbounded "ffmpeg"+            , prelude.unbounded "libsndfile"+            , prelude.unbounded "libsamplerate"+            , prelude.unbounded "mpg123"+            , prelude.unbounded "libjpeg-turbo"+            , prelude.unbounded "libpng"+            , prelude.unbounded "fftw"+            ]+          , pkgBuildDeps =+            [ prelude.unbounded "autoconf"+            , prelude.unbounded "automake"+            , prelude.unbounded "grep"+            , prelude.unbounded "coreutils"+            , prelude.unbounded "sed"+            , prelude.unbounded "libtool"+            ]+          , configureCommand =+              λ(cfg : types.BuildVars) →+                  [ prelude.patch+                      ./patches/pHash.patch sha256:d442c0bb6c66893badf8642d8c8123026f21e78513f91af422c4d4ee70a28d50 as Text+                  , prelude.call+                      { program = "autoreconf"+                      , arguments = [ "-i" ]+                      , environment = Some+                        [ { var = "PATH"+                          , value = prelude.mkPathVar cfg.binDirs+                          }+                        , prelude.mkAclocalPath cfg.shareDirs+                        ]+                      , procDir = None Text+                      }+                  ]+                # prelude.defaultConfigure cfg+          }++let cimg =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "CImg", version = v }+            ⫽ { pkgUrl = "http://cimg.eu/files/CImg_${versionString}.zip"+              , pkgBuildDeps = [] : List types.Dep+              , configureCommand = prelude.doNothing+              , buildCommand = prelude.doNothing+              , installCommand =+                  λ(_ : types.BuildVars) →+                    [ prelude.copyFile "CImg.h" "include/CImg.h" ]+              }++let ffmpeg =+      λ(v : List Natural) →+          prelude.simplePackage { name = "ffmpeg", version = v }+        ⫽ { pkgUrl =+              "https://ffmpeg.org/releases/ffmpeg-${prelude.showVersion+                                                      v}.tar.bz2"+          , pkgBuildDeps = [ prelude.unbounded "nasm" ]+          , 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"+            ]+          }++let libsndfile =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libsndfile", version = v }+        ⫽ { pkgUrl =+              "http://www.mega-nerd.com/libsndfile/files/libsndfile-${prelude.showVersion+                                                                        v}.tar.gz"+          }++let libsamplerate =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libsamplerate", version = v }+        ⫽ { pkgUrl =+              "http://www.mega-nerd.com/SRC/libsamplerate-${prelude.showVersion+                                                              v}.tar.gz"+          }++let mpg123 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "mpg123", version = v }+        ⫽ { pkgUrl =+              "http://www.mpg123.de/download/mpg123-${prelude.showVersion+                                                        v}.tar.bz2"+          }++let time =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "time", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/time/time-${prelude.showVersion+                                                     v}.tar.gz"+          }++let make =+      λ(v : List Natural) →+          prelude.makeGnuExe { name = "make", version = v }+        ⫽ { pkgUrl =+              "https://ftp.wayne.edu/gnu/make/make-${prelude.showVersion+                                                       v}.tar.bz2"+          , configureCommand =+              prelude.configureWithPatch+                ./patches/make.patch sha256:56f3260d302d1ecd0173ab6e5ccc0e4806fb8f0bc6aa68a1d7ef4fca77d85572 as Text+          , buildCommand =+              λ(cfg : types.BuildVars) →+                [ prelude.call+                    (   prelude.defaultCall+                      ⫽ { program = "sh"+                        , arguments = [ "build.sh" ]+                        , environment = Some (prelude.buildEnv cfg)+                        }+                    )+                ]+          , installCommand =+              λ(_ : types.BuildVars) →+                [ prelude.copyFile "make" "bin/make"+                , prelude.symlinkBinary "bin/make"+                ]+          , pkgBuildDeps = [ prelude.unbounded "patch" ]+          }++let mercury =+      let mercuryBuild =+            λ(cfg : types.BuildVars) →+              [ prelude.call+                  (   prelude.defaultCall+                    ⫽ { program = "make"+                      , arguments = [ "PARALLEL=-j${Natural/show cfg.cpus}" ]+                      , environment = Some (prelude.buildEnv cfg)+                      }+                  )+              ]++      let mercuryCommon =+            { pkgUrl =+                "http://dl.mercurylang.org/release/mercury-srcdist-14.01.1.tar.gz"+            , pkgSubdir = "mercury-srcdist-14.01.1"+            , buildCommand = mercuryBuild+            }++      in    prelude.simplePackage { name = "mercury", version = [ 14, 1, 1 ] }+          ⫽ mercuryCommon+          ⫽ { pkgBuildDeps = [ prelude.unbounded "flex" ] }++let qt =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.simplePackage+                { name = "qt", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "https://download.qt.io/archive/qt/${versionString}/${fullVersion}/single/qt-everywhere-src-${fullVersion}.tar.xz"+              , pkgSubdir = "qt-everywhere-src-${fullVersion}"+              , pkgBuildDeps =+                [ prelude.unbounded "flex"+                , prelude.unbounded "bison"+                , prelude.unbounded "pkg-config"+                , prelude.unbounded "gperf"+                , prelude.unbounded "perl"+                , prelude.unbounded "python2"+                , prelude.unbounded "git"+                ]+              , pkgDeps =+                [ prelude.unbounded "fontconfig"+                , prelude.unbounded "mesa"+                , prelude.unbounded "dbus"+                , prelude.unbounded "freetype"+                , prelude.unbounded "harfbuzz"+                , prelude.unbounded "libjpeg-turbo"+                , prelude.unbounded "libpng"+                , prelude.unbounded "giflib"+                , prelude.unbounded "glib"+                ]+              }++let lz4 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "lz4", version = v }+        ⫽ { pkgUrl =+              "https://github.com/lz4/lz4/archive/v${prelude.showVersion+                                                       v}.tar.gz"+          , configureCommand = prelude.doNothing+          , installCommand =+              λ(cfg : types.BuildVars) →+                  [ 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 =+      λ(v : List Natural) →+          prelude.simplePackage { name = "fftw", version = v }+        ⫽ { pkgUrl = "http://www.fftw.org/fftw-${prelude.showVersion v}.tar.gz"+          , configureCommand =+              prelude.configureWithFlags+                [ "--enable-shared"+                , "--enable-threads"+                , "--with-combined-threads"+                ]+          }++let icu-le-hb =+      λ(v : List Natural) →+          prelude.simplePackage { name = "icu-le-hb", version = v }+        ⫽ { pkgUrl =+              "https://github.com/harfbuzz/icu-le-hb/archive/${prelude.showVersion+                                                                 v}.tar.gz"+          , configureCommand = prelude.autogenConfigure+          , pkgDeps = [ prelude.unbounded "harfbuzz", prelude.unbounded "icu" ]+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          }++let icu =+      λ(v : List Natural) →+          prelude.simplePackage { name = "icu", version = v }+        ⫽ { pkgUrl =+              "http://download.icu-project.org/files/icu4c/${prelude.showVersion+                                                               v}/icu4c-${prelude.underscoreVersion+                                                                            v}-src.tgz"+          , pkgSubdir = "icu/source"+          , pkgBuildDeps =+            [ prelude.lowerBound { name = "make", lower = [ 3, 80 ] }+            , prelude.unbounded "python3"+            ]+          }++let opencv =+      λ(v : List Natural) →+          prelude.simplePackage { name = "opencv", version = v }+        ⫽ prelude.cmakePackage+        ⫽ { pkgUrl =+              "https://github.com/opencv/opencv/archive/${prelude.showVersion+                                                            v}.zip"+          , pkgBuildDeps =+            [ prelude.lowerBound { name = "cmake", lower = [ 2, 8, 7 ] }+            , prelude.unbounded "pkg-config"+            , prelude.unbounded "python2"+            ]+          , pkgDeps =+            [ prelude.unbounded "zlib"+            , prelude.unbounded "libjpeg-turbo"+            , prelude.unbounded "libpng"+            , prelude.unbounded "gtk3"+            , prelude.unbounded "ffmpeg"+            ]+          }++let libraw =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libraw", version = v }+        ⫽ { pkgUrl =+              "https://www.libraw.org/data/LibRaw-${prelude.showVersion+                                                      v}.tar.gz"+          , pkgSubdir = "LibRaw-${prelude.showVersion v}"+          }++let quazip =+      λ(v : List Natural) →+          prelude.simplePackage { name = "quazip", version = v }+        ⫽ prelude.cmakePackage+        ⫽ { pkgUrl =+              "https://github.com/stachenov/quazip/archive/v${prelude.showVersion+                                                                v}.tar.gz"+          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "qt" ]+          }++let eigen =+      λ(v : List Natural) →+          prelude.simplePackage { name = "eigen", version = v }+        ⫽ prelude.cmakePackage+        ⫽ { pkgUrl =+              "http://bitbucket.org/eigen/eigen/get/${prelude.showVersion+                                                        v}.tar.bz2"+          , pkgSubdir = "eigen-eigen-323c052e1731"+          }++let blas =+      λ(v : List Natural) →+          prelude.simplePackage { name = "blas", version = v }+        ⫽ { pkgUrl =+              "http://www.netlib.org/blas/blas-${prelude.showVersion v}.tgz"+          , pkgSubdir = "BLAS-${prelude.showVersion v}"+          , pkgBuildDeps = [ prelude.unbounded "gcc" ]+          , configureCommand = prelude.doNothing+          , installCommand =+              λ(_ : types.BuildVars) →+                [ prelude.copyFile "blas_LINUX.a" "lib/blas.a" ]+          }++let openblas =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "openblas", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/xianyi/OpenBLAS/archive/v${versionString}.tar.gz"+              , pkgSubdir = "OpenBLAS-${versionString}"+              , pkgBuildDeps = [ prelude.unbounded "gcc" ]+              , pkgDeps = [ prelude.unbounded "gcc" ]+              , configureCommand = prelude.doNothing+              , installCommand = prelude.installPrefix+              }++let r =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "r", version = v }+            ⫽ { pkgUrl =+                  "https://cran.r-project.org/src/base/R-4/R-${versionString}.tar.gz"+              , pkgSubdir = "R-${versionString}"+              , pkgDeps =+                [ prelude.unbounded "readline"+                , prelude.unbounded "libXt"+                , prelude.unbounded "pcre"+                ]+              , pkgBuildDeps = [ prelude.unbounded "gcc" ]+              , installCommand =+                  prelude.installWithBinaries [ "bin/R", "bin/Rscript" ]+              }++let libspng =+      λ(v : List Natural) →+          prelude.ninjaPackage { name = "libspng", version = v }+        ⫽ { pkgUrl =+              "https://github.com/randy408/libspng/archive/v${prelude.showVersion+                                                                v}.tar.gz"+          , pkgBuildDeps =+            [ prelude.unbounded "pkg-config"+            , prelude.unbounded "meson"+            , prelude.lowerBound { name = "ninja", lower = [ 1, 5, 0 ] }+            ]+          , pkgDeps = [ prelude.unbounded "zlib" ]+          }++let glib-networking =+      λ(x : { version : List Natural, patch : Natural }) →+        let versionString = prelude.showVersion x.version++        let fullVersion = versionString ++ "." ++ Natural/show x.patch++        in    prelude.ninjaPackage+                { name = "glib-networking", version = prelude.fullVersion x }+            ⫽ { pkgUrl =+                  "http://ftp.gnome.org/pub/gnome/sources/glib-networking/${versionString}/glib-networking-${fullVersion}.tar.xz"+              , pkgBuildDeps =+                [ prelude.unbounded "pkg-config", prelude.unbounded "gettext" ]+              , pkgDeps =+                [ prelude.unbounded "glib", prelude.unbounded "gnutls" ]+              }++let libwebp =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libwebp", version = v }+        ⫽ { pkgUrl =+              "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${prelude.showVersion+                                                                                                  v}.tar.gz"+          }++let rustc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "rustc", version = v }+            ⫽ { pkgUrl =+                  "https://static.rust-lang.org/dist/rust-${versionString}-x86_64-unknown-linux-gnu.tar.gz"+              , pkgSubdir = "rust-${versionString}-x86_64-unknown-linux-gnu"+              , configureCommand = prelude.doNothing+              , buildCommand = prelude.doNothing+              , installCommand =+                  λ(cfg : types.BuildVars) →+                    [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = "./install.sh"+                            , arguments =+                              [ "--prefix=${cfg.installDir}"+                              , "--disable-ldconfig"+                              ]+                            }+                        )+                    ]+              }++let librsvg =+      λ(x : { version : List Natural, patch : Natural }) →+          mkGnomeSimple "librsvg" x+        ⫽ { pkgBuildDeps =+            [ prelude.lowerBound { name = "rustc", lower = [ 1, 16, 0 ] }+            , prelude.unbounded "pkg-config"+            ]+          , pkgDeps =+            [ prelude.lowerBound { name = "cairo", lower = [ 1, 16, 0 ] }+            , prelude.lowerBound { name = "libxml2", lower = [ 2, 9, 0 ] }+            , prelude.lowerBound { name = "libcroco", lower = [ 0, 6, 1 ] }+            , prelude.unbounded "pango"+            , prelude.lowerBound { name = "gdk-pixbuf", lower = [ 2, 20 ] }+            , prelude.unbounded "gobject-introspection"+            , prelude.lowerBound { name = "glib", lower = [ 2, 10, 0 ] }+            ]+          }++let ats =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        let atsBuild =+              λ(cfg : types.BuildVars) →+                let buildDir =+                      cfg.currentDir ++ "/ATS2-Postiats-gmp-${versionString}"++                in  [ prelude.call+                        (   prelude.defaultCall+                          ⫽ { program = prelude.makeExe cfg.buildOS+                            , arguments =+                              [ "CFLAGS=${( prelude.mkCFlags cfg+                                          ).value} -I${buildDir}/src/CBOOT/ccomp/runtime -I${buildDir}/src/CBOOT"+                              , "LDFLAGS='${( prelude.mkLDFlags cfg.linkDirs cfg+                                            ).value}'"+                              ]+                            , environment = Some (prelude.buildEnv cfg)+                            }+                        )+                    ]++        in    prelude.simplePackage { name = "ats", version = v }+            ⫽ { pkgUrl =+                  "http://ats-lang.sourceforge.net/IMPLEMENT/Postiats/ATS2-Postiats-gmp-${versionString}.tgz"+              , pkgSubdir = "ATS2-Postiats-gmp-${versionString}"+              , pkgDeps = [ prelude.unbounded "gmp" ]+              , buildCommand = atsBuild+              , installCommand =+                  prelude.installWithBinaries [ "bin/patsopt", "bin/patscc" ]+              }++let libiconv =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libiconv", version = v }+        ⫽ { pkgUrl =+              "https://ftp.wayne.edu/gnu/libiconv/libiconv-${prelude.showVersion+                                                               v}.tar.gz"+          }++let libav =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libav", version = v }+        ⫽ { pkgUrl =+              "https://libav.org/releases/libav-${prelude.showVersion v}.tar.xz"+          , pkgBuildDeps =+            [ prelude.unbounded "nasm", prelude.unbounded "perl" ]+          , installCommand =+              prelude.installWithBinaries [ "bin/avconv", "bin/avprobe" ]+          }++let alsa-lib =+      λ(v : List Natural) →+          prelude.simplePackage { name = "alsa-lib", version = v }+        ⫽ { pkgUrl =+              "https://www.alsa-project.org/files/pub/lib/alsa-lib-${prelude.showVersion+                                                                       v}.tar.bz2"+          }++let bash-completion =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "bash-completion", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/scop/bash-completion/releases/download/${versionString}/bash-completion-${versionString}.tar.xz"+              }++let hugs =+      let hugsEnv =+            λ(_ : List Text) →+            λ(cfg : types.BuildVars) →+              Some+                [ { var = "CFLAGS", value = "-std=gnu89" }+                , { var = "PATH", value = prelude.mkPathVar cfg.binDirs }+                ]++      in    prelude.simplePackage { name = "hugs", version = [ 2006, 9 ] }+          ⫽ { pkgUrl =+                "https://www.haskell.org/hugs/downloads/2006-09/hugs98-plus-Sep2006.tar.gz"+            , pkgSubdir = "hugs98-plus-Sep2006"+            , configureCommand =+                prelude.generalConfigure+                  hugsEnv+                  "configure"+                  ([] : List Text)+                  ([] : List Text)+            , pkgBuildDeps =+              [ prelude.unbounded "coreutils"+              , prelude.unbounded "sed"+              , prelude.unbounded "gcc"+              , prelude.unbounded "binutils"+              , prelude.unbounded "grep"+              , prelude.unbounded "findutils"+              ]+            }++let bash =+      λ(v : List Natural) →+          prelude.simplePackage { name = "bash", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/gnu/bash/bash-${prelude.showVersion+                                                     v}.tar.gz"+          }++let findutils =+      λ(v : List Natural) →+          prelude.simplePackage { name = "findutils", version = v }+        ⫽ { pkgUrl =+              "https://ftp.gnu.org/pub/gnu/findutils/findutils-${prelude.showVersion+                                                                   v}.tar.xz"+          }++let ghc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "ghc", version = v }+            ⫽ { pkgUrl =+                  "https://downloads.haskell.org/~ghc/${versionString}/ghc-${versionString}-x86_64-deb9-linux.tar.xz"+              , buildCommand = prelude.doNothing+              }++let cmark =+      λ(v : List Natural) →+          prelude.simplePackage { name = "cmark", version = v }+        ⫽ prelude.cmakePackage+        ⫽ { pkgUrl =+              "https://github.com/commonmark/cmark/archive/${prelude.showVersion+                                                               v}.tar.gz"+          }++let lzip =+      λ(v : List Natural) →+          prelude.simplePackage { name = "lzip", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/lzip-${prelude.showVersion+                                                                       v}.tar.lz"+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/lzip" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/lzip.1", section = 1 } ]+          }++let clzip =+      λ(v : List Natural) →+          prelude.simplePackage { name = "clzip", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/clzip/clzip-${prelude.showVersion+                                                                              v}.tar.lz"+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/clzip" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/clzip.1", section = 1 } ]+          }++let lunzip =+      λ(v : List Natural) →+          prelude.simplePackage { name = "lunzip", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/lunzip/lunzip-${prelude.showVersion+                                                                                v}.tar.lz"+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/lunzip" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/lunzip.1", section = 1 } ]+          }++let lzlib =+      λ(v : List Natural) →+          prelude.simplePackage { name = "lzlib", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/lzlib/lzlib-${prelude.showVersion+                                                                              v}.tar.lz"+          , configureCommand = prelude.configureWithFlags [ "--enable-shared" ]+          }++let lziprecover =+      λ(v : List Natural) →+          prelude.simplePackage { name = "lziprecover", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/lziprecover/lziprecover-${prelude.showVersion+                                                                                          v}.tar.lz"+          , installCommand = prelude.installWithBinaries [ "bin/lziprecover" ]+          }++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}"+              }++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 ] }+                ]+              }++let libogg =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libogg", version = v }+        ⫽ { pkgUrl =+              "https://downloads.xiph.org/releases/ogg/libogg-${prelude.showVersion+                                                                  v}.tar.xz"+          }++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" ]+          }++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" ]+              }++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"+          }++let swi-prolog =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.ninjaPackage { name = "swi-prolog", version = v }+            ⫽ { pkgUrl =+                  "https://www.swi-prolog.org/download/stable/src/swipl-${versionString}.tar.gz"+              , configureCommand = prelude.cmakeConfigureNinja+              , pkgBuildDeps =+                [ prelude.unbounded "cmake"+                , prelude.unbounded "ninja"+                , prelude.unbounded "coreutils"+                ]+              , pkgSubdir = "swipl-${versionString}"+              }++let exiftool =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "exiftool", version = v }+            ⫽ { pkgUrl =+                  "https://sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-${versionString}.tar.gz"+              , pkgSubdir = "Image-ExifTool-${versionString}"+              , configureCommand = prelude.perlConfigure+              , installCommand =+                  λ(cfg : types.BuildVars) →+                    let perlWrapper =+                          "PERL5LIB=${cfg.installDir}/lib/site_perl/5.30.0/ ${cfg.installDir}/bin/exiftool \$@"++                    let wrapped = "wrapper/exiftool"++                    in    prelude.defaultInstall cfg+                        # [ prelude.createDir "wrapper"+                          , prelude.writeFile+                              { file = wrapped, contents = perlWrapper }+                          , prelude.mkExe wrapped+                          , prelude.copyFile wrapped wrapped+                          , prelude.symlinkBinary wrapped+                          ]+              , pkgBuildDeps = [ prelude.unbounded "perl" ]+              }++let subversion =+      λ(v : List Natural) →+          prelude.simplePackage { name = "subversion", version = v }+        ⫽ { pkgUrl =+              "https://www-eu.apache.org/dist/subversion/subversion-${prelude.showVersion+                                                                        v}.tar.bz2"+          , pkgDeps =+            [ prelude.unbounded "apr"+            , prelude.unbounded "apr-util"+            , prelude.unbounded "sqlite"+            , prelude.unbounded "lz4"+            , prelude.unbounded "zlib"+            , prelude.unbounded "utf8proc"+            ]+          , pkgBuildDeps = [ prelude.unbounded "pkg-config" ]+          , installCommand = prelude.installWithBinaries [ "bin/svn" ]+          }++let utf8proc =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "utf8proc", version = v }+            ⫽ prelude.cmakePackage+            ⫽ { pkgUrl =+                  "https://github.com/JuliaStrings/utf8proc/archive/v${versionString}.tar.gz"+              }++let apr =+      λ(v : List Natural) →+          prelude.simplePackage { name = "apr", version = v }+        ⫽ { pkgUrl =+              "https://www-eu.apache.org/dist/apr/apr-${prelude.showVersion+                                                          v}.tar.bz2"+          }++let apr-util =+      λ(v : List Natural) →+          prelude.simplePackage { name = "apr-util", version = v }+        ⫽ { pkgUrl =+              "https://www-eu.apache.org/dist/apr/apr-util-${prelude.showVersion+                                                               v}.tar.bz2"+          , pkgDeps = [ prelude.unbounded "apr" ]+          , configureCommand =+              λ(cfg : types.BuildVars) →+                prelude.configureWithFlags+                  [ "--with-apr=${concat cfg.linkDirs}/../" ]+                  cfg+          }++let libsass =+      λ(v : List Natural) →+          prelude.simplePackage { name = "libsass", version = v }+        ⫽ { pkgUrl =+              "https://github.com/sass/libsass/archive/${prelude.showVersion+                                                           v}.tar.gz"+          , pkgBuildDeps =+            [ prelude.unbounded "autoconf"+            , prelude.unbounded "automake"+            , prelude.unbounded "m4"+            , prelude.unbounded "grep"+            , prelude.unbounded "sed"+            , prelude.unbounded "coreutils"+            , prelude.unbounded "libtool"+            ]+          , configureCommand =+              λ(cfg : types.BuildVars) →+                  [ prelude.call+                      { program = "autoreconf"+                      , arguments = [ "-i" ]+                      , environment = Some+                        [ { var = "PATH"+                          , value = prelude.mkPathVar cfg.binDirs+                          }+                        , prelude.mkAclocalPath cfg.shareDirs+                        ]+                      , procDir = None Text+                      }+                  ]+                # prelude.defaultConfigure cfg+          }++let zstd =+      λ(v : List Natural) →+        let versionString = prelude.showVersion v++        in    prelude.simplePackage { name = "zstd", version = v }+            ⫽ { pkgUrl =+                  "https://github.com/facebook/zstd/releases/download/v${versionString}/zstd-${versionString}.tar.zst"+              , configureCommand = prelude.doNothing+              , installCommand =+                  λ(cfg : types.BuildVars) →+                      [ prelude.call+                          { program = "make"+                          , arguments =+                            [ "PREFIX=${cfg.installDir}", "install" ]+                          , environment = Some (prelude.buildEnv cfg)+                          , procDir = None Text+                          }+                      , prelude.symlinkBinary "bin/zstd"+                      ]+                    # prelude.symlinkManpages+                        [ { file = "share/man/man1/zstd.1", section = 1 } ]+              }++let luarocks =+      λ(v : List Natural) →+          prelude.simplePackage { name = "luarocks", version = v }+        ⫽ { pkgUrl =+              "http://luarocks.org/releases/luarocks-${prelude.showVersion+                                                         v}.tar.gz"+          , pkgBuildDeps = [ prelude.unbounded "lua" ]+          , installCommand = prelude.installWithWrappers [ "luarocks" ]+          }++let star =+      λ(v : List Natural) →+          prelude.simplePackage { name = "star", version = v }+        ⫽ { pkgUrl =+              "https://downloads.sourceforge.net/s-tar/star-${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/star"+                  ]+                # prelude.symlinkManpages+                    [ { file = "opt/schily/share/man/man1/star.1", section = 1 }+                    , { file = "opt/schily/share/man/man1/scpio.1"+                      , section = 1+                      }+                    , { file = "opt/schily/share/man/man1/spax.1", section = 1 }+                    ]+          }++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+                      }+                    , { file = "opt/schily/share/man/man5/makefiles.5"+                      , section = 5+                      }+                    , { file = "opt/schily/share/man/man5/makerules.5"+                      , section = 5+                      }+                    ]+          }++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"+                ]+          }++let tarlz =+      λ(v : List Natural) →+          prelude.simplePackage { name = "tarlz", version = v }+        ⫽ { pkgUrl =+              "http://download.savannah.gnu.org/releases/lzip/tarlz/tarlz-${prelude.showVersion+                                                                              v}.tar.lz"+          , installCommand =+              λ(cfg : types.BuildVars) →+                  prelude.installWithBinaries [ "bin/tarlz" ] cfg+                # prelude.symlinkManpages+                    [ { file = "share/man/man1/tarlz.1", section = 1 } ]+          }++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, 36 ], patch = 0 }+    , ats [ 0, 4, 0 ]+    , autoconf [ 2, 69 ]+    , automake [ 1, 16, 2 ]+    , babl { version = [ 0, 1 ], patch = 68 }+    , bash [ 5, 0, 17 ]+    , bash-completion [ 2, 9 ]+    , 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 ]+    , cimg [ 2, 7, 0 ]+    , clang [ 9, 0, 0 ]+    , clzip [ 1, 11 ]+    , cmake { version = [ 3, 17 ], patch = 2 }+    , cmark [ 0, 29, 0 ]+    , compositeproto [ 0, 4 ]+    , coreutils [ 8, 31 ]+    , ctags [ 5, 8 ]+    , curl [ 7, 66, 0 ]+    , damageproto [ 1, 2, 1 ]+    , dbus [ 1, 13, 12 ]+    , diffutils [ 3, 7 ]+    , dri2proto [ 2, 8 ]+    , eigen [ 3, 3, 7 ]+    , elfutils [ 0, 177 ]+    , emacs [ 26, 3 ]+    , exiftool [ 11, 65 ]+    , exiv2 [ 0, 27, 1 ]+    , expat [ 2, 2, 9 ]+    , fdk-aac [ 2, 0, 1 ]+    , feh [ 3, 2, 1 ]+    , ffmpeg [ 4, 2, 2 ]+    , fftw [ 3, 3, 8 ]+    , findutils [ 4, 7, 0 ]+    , fixesproto [ 5, 0 ]+    , fontconfig [ 2, 13, 1 ]+    , fossil [ 2, 10 ]+    , flex [ 2, 6, 3 ]+    , fltk [ 1, 3, 5 ]+    , freetype-prebuild [ 2, 10, 1 ]+    , freetype [ 2, 10, 1 ]+    , fribidi [ 1, 0, 9 ]+    , gawk [ 5, 0, 1 ]+    , gc [ 8, 0, 4 ]+    , gcc [ 10, 1, 0 ]+    , gdb [ 8, 3, 1 ]+    , gdk-pixbuf { version = [ 2, 38 ], patch = 1 }+    , gegl { version = [ 0, 4 ], patch = 16 }+    , gettext [ 0, 20, 2 ]+    , gexiv2 { version = [ 0, 12 ], patch = 0 }+    , ghc [ 8, 8, 3 ]+    , gperf [ 3, 1 ]+    , gperftools [ 2, 7 ]+    , giflib [ 5, 1, 4 ]+    , git [ 2, 26, 2 ]+    , glib { version = [ 2, 64 ], patch = 2 }+    , glib-networking { version = [ 2, 61 ], patch = 2 }+    , glproto [ 1, 4, 17 ]+    , glu [ 9, 0, 0 ]+    , json-glib { version = [ 1, 4 ], patch = 4 }+    , glibc [ 2, 30 ]+    , gmp [ 6, 2, 0 ]+    , gobject-introspection { version = [ 1, 62 ], patch = 0 }+    , gnome-doc-utils { version = [ 0, 20 ], patch = 10 }+    , gnupg [ 2, 2, 20 ]+    , gnutls { version = [ 3, 6 ], patch = [ 13 ] }+    , graphviz [ 2, 40, 1 ]+    , grep [ 3, 3 ]+    , gsl [ 2, 6 ]+    , gtk2 { version = [ 2, 24 ], patch = 32 }+    , gtk3 { version = [ 3, 24 ], patch = 18 }+    , gzip [ 1, 10 ]+    , harfbuzz [ 2, 6, 4 ]+    , htop [ 2, 2, 0 ]+    , hugs+    , icu [ 64, 2 ]+    , icu-le-hb [ 1, 0, 3 ]+    , imageMagick [ 7, 0, 8 ]+    , imlib2 [ 1, 5, 1 ]+    , inputproto [ 2, 3, 2 ]+    , intltool [ 0, 51, 0 ]+    , itstool [ 2, 0, 6 ]+    , jemalloc [ 5, 2, 1 ]+    , joe [ 4, 6 ]+    , json-c { version = [ 0, 13, 1 ], dateStr = "20180305" }+    , kbproto [ 1, 0, 7 ]+    , krb5 [ 1, 18 ]+    , lapack [ 3, 8, 0 ]+    , lcms2 [ 2, 9 ]+    , leptonica [ 1, 78, 0 ]+    , libarchive [ 3, 4, 3 ]+    , libass [ 0, 14, 0 ]+    , libassuan [ 2, 5, 3 ]+    , libatomic_ops [ 7, 6, 10 ]+    , libav [ 12, 3 ]+    , libboost [ 1, 72, 0 ]+    , libcds [ 2, 3, 2 ]+    , libcroco { version = [ 0, 6 ], patch = 12 }+    , libdatrie [ 0, 2, 12 ]+    , libdrm [ 2, 4, 96 ]+    , libepoxy [ 1, 5, 3 ]+    , libev [ 4, 25 ]+    , libevent [ 2, 1, 10 ]+    , libexif [ 0, 6, 21 ]+    , libffi [ 3, 3 ]+    , libgcrypt [ 1, 8, 5 ]+    , libglade { version = [ 2, 6 ], patch = 4 }+    , libgpgError [ 1, 37 ]+    , libICE [ 1, 0, 9 ]+    , libiconv [ 1, 16 ]+    , libjpeg [ 9 ]+    , libjpeg-turbo [ 2, 0, 4 ]+    , 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 ]+    , libpng [ 1, 6, 37 ]+    , libpsl [ 0, 21, 0 ]+    , libpthread-stubs [ 0, 4 ]+    , libraw [ 0, 19, 2 ]+    , librsvg { version = [ 2, 48 ], patch = 4 }+    , libsamplerate [ 0, 1, 9 ]+    , libsass [ 3, 6, 2 ]+    , libselinux [ 3, 0 ]+    , libsndfile [ 1, 0, 28 ]+    , libsepol [ 3, 0 ]+    , libsodium [ 1, 0, 17 ]+    , libsoup { version = [ 2, 67 ], patch = 3 }+    , libspng [ 0, 5, 0 ]+    , libssh2 [ 1, 8, 0 ]+    , libtasn1 [ 4, 15, 0 ]+    , libtiff [ 4, 0, 10 ]+    , libtool [ 2, 4, 6 ]+    , libuv [ 1, 24, 0 ]+    , libwebp [ 1, 0, 3 ]+    , libSM [ 1, 2, 3 ]+    , libthai [ 0, 1, 28 ]+    , libvorbis [ 1, 3, 6 ]+    , libvpx [ 1, 8, 2 ]+    , libX11 [ 1, 6, 8 ]+    , libXau [ 1, 0, 9 ]+    , libXaw [ 1, 0, 13 ]+    , libXaw3d [ 1, 6, 3 ]+    , libxcb [ 1, 13 ]+    , libXcomposite [ 0, 4, 5 ]+    , libXdamage [ 1, 1, 5 ]+    , libXdmcp [ 1, 1, 3 ]+    , libXext [ 1, 3, 4 ]+    , libXfixes [ 5, 0, 3 ]+    , libXft [ 2, 3, 3 ]+    , libXi [ 1, 7, 10 ]+    , libXinerama [ 1, 1, 4 ]+    , libxml2 [ 2, 9, 9 ]+    , libXmu [ 1, 1, 3 ]+    , libXpm [ 3, 5, 12 ]+    , libXScrnSaver [ 1, 2, 3 ]+    , libxshmfence [ 1, 3 ]+    , libxslt [ 1, 1, 33 ]+    , libXrandr [ 1, 5, 2 ]+    , libXrender [ 0, 9, 10 ]+    , libXt [ 1, 2, 0 ]+    , libXtst [ 1, 2, 3 ]+    , libXxf86vm [ 1, 1, 4 ]+    , llvm [ 9, 0, 0 ]+    , lmdb [ 0, 9, 23 ]+    , lua [ 5, 3, 5 ]+    , luarocks [ 3, 2, 1 ]+    , lunzip [ 1, 11 ]+    , lz4 [ 1, 9, 2 ]+    , lzip [ 1, 21 ]+    , lziprecover [ 1, 21 ]+    , lzlib [ 1, 11 ]+    , m17n [ 1, 8, 0 ]+    , m4 [ 1, 4, 18 ]+    , make [ 4, 2, 1 ]+    , mako [ 1, 0, 7 ]+    , markupSafe [ 1, 0 ]+    , memcached [ 1, 5, 18 ]+    , mercury+    , mesa [ 19, 0, 5 ]+    , meson [ 0, 51, 2 ]+    , mosh [ 1, 3, 2 ]+    , motif [ 2, 3, 8 ]+    , mpc [ 1, 1, 0 ]+    , mpfr [ 4, 0, 2 ]+    , mpg123 [ 1, 25, 12 ]+    , musl [ 1, 1, 20 ]+    , nano [ 4, 3 ]+    , nasm [ 2, 14 ]+    , ncurses [ 6, 2 ]+    , nginx [ 1, 15, 7 ]+    , ninja [ 1, 9, 0 ]+    , node [ 12, 17, 0 ]+    , npth [ 1, 6 ]+    , nspr [ 4, 20 ]+    , openblas [ 0, 3, 2 ]+    , opencv [ 4, 2, 0 ]+    , openssh [ 7, 9 ]+    , openssl [ 1, 1, 1 ]+    , p11kit [ 0, 23, 16, 1 ]+    , pango { version = [ 1, 43 ], patch = 0 }+    , pari [ 2, 11, 1 ]+    , patch [ 2, 7 ]+    , pcre [ 8, 44 ]+    , pcre2 [ 10, 33 ]+    , pdfgrep [ 2, 1, 2 ]+    , perl5 [ 5, 30, 2 ]+    , phash [ 0, 9, 6 ]+    , pixman [ 0, 38, 4 ]+    , pkg-config [ 0, 29, 2 ]+    , poppler [ 0, 84, 0 ]+    , postgresql [ 12, 2 ]+    , protobuf [ 3, 8, 0 ]+    , pycairo [ 1, 18, 1 ]+    , pygobject { version = [ 2, 28 ], patch = 7 }+    , pygtk { version = [ 2, 24 ], patch = 0 }+    , python [ 2, 7, 17 ]+    , python [ 3, 8, 2 ]+    , qrencode [ 4, 0, 2 ]+    , qt { version = [ 5, 13 ], patch = 0 }+    , quazip [ 0, 8, 1 ]+    , r [ 4, 0, 0 ]+    , ragel [ 6, 10 ]+    , randrproto [ 1, 5, 0 ]+    , re2c [ 1, 1, 1 ]+    , readline [ 8, 0 ]+    , recordproto [ 1, 14, 2 ]+    , renderproto [ 0, 11, 1 ]+    , ruby { version = [ 2, 7 ], patch = 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 ]+    , swig [ 3, 0, 12 ]+    , swi-prolog [ 8, 0, 3 ]+    , tar [ 1, 32 ]+    , tarlz [ 0, 16 ]+    , tcc [ 0, 9, 27 ]+    , texinfo [ 6, 6 ]+    , tesseract [ 4, 0, 0 ]+    , time [ 1, 9 ]+    , unistring [ 0, 9, 10 ]+    , utf8proc [ 2, 4, 0 ]+    , util-linux { version = [ 2, 34 ] }+    , util-macros [ 1, 19, 2 ]+    , vala { version = [ 0, 45 ], patch = 3 }+    , valgrind [ 3, 15, 0 ]+    , vim [ 8, 2 ]+    , wayland [ 1, 17, 0 ]+    , wget [ 1, 20, 3 ]+    , which [ 2, 21 ]+    , xcb-proto [ 1, 13 ]+    , xextproto [ 7, 3, 0 ]+    , xf86vidmodeproto [ 2, 3, 1 ]+    , xineramaproto [ 1, 2 ]+    , xmlParser [ 2, 44 ]+    , xproto [ 7, 0, 31 ]+    , xtrans [ 1, 4, 0 ]+    , xz [ 5, 2, 5 ]+    , zlib [ 1, 2, 11 ]+    , zstd [ 1, 4, 5 ]     ]
src/Package/C/PackageSet.hs view
@@ -24,11 +24,11 @@ import           Package.C.Type.Tree  defaultPackageSetHash :: T.Text-defaultPackageSetHash = "sha256:4e933beb267d7c5b55afca08137f204f3555ef82a5763c617782026fc2898fde"+defaultPackageSetHash = "sha256:a3898bfbcc705d1561ff41fc01b6eee94f3eb344f1451917c75402a9865c4cf9"  defaultPackageSetDhall :: Maybe String -> IO PackageSetDhall defaultPackageSetDhall (Just pkSet) = input auto (T.pack pkSet)-defaultPackageSetDhall Nothing      = input auto ("https://raw.githubusercontent.com/vmchale/cpkg/80d61a9f060f5b950e72f4d30a4c51b83bb2d729/pkgs/pkg-set.dhall " <> defaultPackageSetHash)+defaultPackageSetDhall Nothing      = input auto ("https://raw.githubusercontent.com/vmchale/cpkg/c6522de9a876e1fa3141752d61bff2272d92075c/pkgs/pkg-set.dhall " <> defaultPackageSetHash)   displayPackageSet :: Maybe String -> IO ()