diff --git a/DockerfileUBI b/DockerfileUBI index a94f1fe07..847d62e93 100644 --- a/DockerfileUBI +++ b/DockerfileUBI @@ -59,13 +59,12 @@ RUN dnf install -y \ ncurses-devel \ zlib-devel -RUN cabal update - # Copy source tree COPY . /build # Build Monocle RUN cd /build && \ + cabal update \ cabal build --project-file=cabal-override.project && \ cp $(find dist-newstyle/build/*/*/*/*/monocle/build/ -name monocle -type f) / diff --git a/Justfile b/Justfile index a773eee70..a53734cee 100644 --- a/Justfile +++ b/Justfile @@ -128,3 +128,10 @@ codegen-openapi: set -euxo pipefail protoc {{PINCLUDE}} --openapi_out=./doc/ monocle/protob/http.proto echo Created doc/openapi.yaml + +# Generate the cabal-override.project +[private] +codegen-cabal-override: + nix develop --command cabal freeze + mv cabal.project.freeze cabal-override.project + cat cabal-override.project.tmpl >> cabal-override.project \ No newline at end of file diff --git a/cabal-override.project b/cabal-override.project index 2f9618ecf..d01d7f035 100644 --- a/cabal-override.project +++ b/cabal-override.project @@ -1,11 +1,365 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.Diff ==0.4.1, + any.Glob ==0.10.2, + any.HUnit ==1.6.2.0, + any.HsOpenSSL ==0.11.7.8, + any.HsOpenSSL-x509-system ==0.1.0.4, + any.HsYAML ==0.2.1.4, + any.HsYAML-aeson ==0.2.0.1, + any.MonadRandom ==0.6.1, + any.OneTuple ==0.4.2, + any.Only ==0.1, + any.QuickCheck ==2.14.3, + any.RSA ==2.4.1, + any.SHA ==1.6.4.4, + any.StateVar ==1.2.2, + any.adjunctions ==4.4.2, + any.aeson ==2.1.2.1, + any.aeson-casing ==0.2.0.0, + any.aeson-pretty ==0.8.10, + any.aeson-yaml ==1.1.0.1, + any.ansi-terminal ==1.0.2, + any.ansi-terminal-types ==0.11.5, + any.ansi-wl-pprint ==1.0.2, + any.appar ==0.1.8, + any.array ==0.5.6.0, + any.array-builder ==0.1.4.1, + any.array-chunks ==0.1.4.2, + any.asn1-encoding ==0.9.6, + any.asn1-parse ==0.9.5, + any.asn1-types ==0.3.4, + any.assoc ==1.1.1, + any.async ==2.2.5, + any.atomic-primops ==0.8.8, + any.atomic-write ==0.2.1.0, + any.attoparsec ==0.14.4, + any.attoparsec-aeson ==2.1.0.0, + any.attoparsec-iso8601 ==1.1.1.0, + any.authenticate-oauth ==1.7, + any.auto-update ==0.1.6, + any.base ==4.18.2.1, + any.base-compat ==0.13.1, + any.base-compat-batteries ==0.13.1, + any.base-orphans ==0.9.2, + any.base-unicode-symbols ==0.2.4.2, + any.base16-bytestring ==1.0.2.0, + any.base64 ==0.4.2.4, + any.base64-bytestring ==1.2.1.0, + any.basement ==0.0.16, + any.bifunctors ==5.6.2, + any.binary ==0.8.9.1, + any.binary-orphans ==1.0.5, + any.bitvec ==1.1.5.0, + any.blaze-builder ==0.4.2.3, + any.blaze-html ==0.9.2.0, + any.blaze-markup ==0.8.3.0, + any.bloodhound ==0.19.1.0, + any.boring ==0.2.2, + any.bsb-http-chunked ==0.0.0.4, + any.bugzilla-redhat ==1.0.1.1, + any.bytebuild ==0.3.16.2, + any.byteorder ==1.0.4, + any.byteslice ==0.2.13.2, + any.bytesmith ==0.3.11.1, + any.bytestring ==0.11.5.3, + any.bytestring-builder ==0.10.8.2.0, + any.call-stack ==0.4.0, + any.case-insensitive ==1.2.1.0, + any.cassava ==0.5.3.2, + any.cborg ==0.2.10.0, + any.cborg-json ==0.2.6.0, + any.cereal ==0.5.8.3, + any.cgroup-rts-threads ==0.2.1.1, + any.charset ==0.3.10, + any.clock ==0.8.4, + any.code-page ==0.2.1, + any.colour ==2.3.6, + any.comonad ==5.0.8, + any.concise ==0.1.0.1, + any.conduit ==1.3.6, + any.conduit-extra ==1.3.6, + any.constraints ==0.14.2, + any.containers ==0.6.7, + any.contiguous ==0.6.4.2, + any.contravariant ==1.5.5, + any.cookie ==0.4.6, + any.criterion ==1.6.4.0, + any.criterion-measurement ==0.2.3.0, + any.crypto-api ==0.13.3, + any.crypto-pubkey-types ==0.4.3, + any.cryptohash-md5 ==0.11.101.0, + any.cryptohash-sha1 ==0.11.101.0, + any.cryptohash-sha256 ==0.11.102.1, + any.crypton ==0.34, + any.crypton-connection ==0.3.2, + any.crypton-x509 ==1.7.7, + any.crypton-x509-store ==1.6.9, + any.crypton-x509-system ==1.6.7, + any.crypton-x509-validation ==1.6.13, + any.cryptonite ==0.30, + any.data-default ==0.7.1.2, + any.data-default-class ==0.1.2.2, + any.data-default-instances-containers ==0.0.1, + any.data-default-instances-dlist ==0.0.1.2, + any.data-default-instances-old-locale ==0.0.1.2, + any.data-diverse ==4.7.1.0, + any.data-fix ==0.3.4, + any.data-sketches ==0.3.1.0, + any.data-sketches-core ==0.1.0.0, + any.dec ==0.0.6, + any.deepseq ==1.4.8.1, + any.dense-linear-algebra ==0.1.0.0, + any.dhall ==1.42.1, + any.dhall-json ==1.7.12, + any.dhall-yaml ==1.2.12, + any.directory ==1.3.8.5, + any.distributive ==0.6.2.1, + any.dlist ==1.0, + any.dotgen ==0.4.3, + any.double-conversion ==2.0.5.0, + any.easy-file ==0.2.5, + any.effectful ==2.3.1.0, + any.effectful-core ==2.3.1.0, + any.either ==5.0.2, + any.entropy ==0.4.1.10, + any.envparse ==0.5.0, + any.exceptions ==0.10.7, + any.fakedata ==1.0.5, + any.fakedata-parser ==0.1.0.0, + any.fast-logger ==3.2.4, + any.file-embed ==0.0.16.0, + any.filepath ==1.4.300.1, + any.foldl ==1.4.17, + any.formatting ==7.2.0, + any.free ==5.2, + any.generically ==0.1.1, + any.gerrit ==0.1.6.1, + any.ghc ==9.6.6, + any.ghc-bignum ==1.3, + any.ghc-boot ==9.6.6, + any.ghc-boot-th ==9.6.6, + any.ghc-heap ==9.6.6, + any.ghc-prim ==0.10.0, + any.ghci ==9.6.6, + any.gitrev ==1.3.1, + any.half ==0.3.1, + any.hashable ==1.4.4.0, + any.hashtables ==1.3.1, + any.haskeline ==0.8.2.1, + any.haskell-lexer ==1.1.2, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.14, + any.hostname ==1.0, + any.hourglass ==0.2.12, + any.hpc ==0.6.2.0, + any.http-api-data ==0.5.1, + any.http-client ==0.7.17, + any.http-client-openssl ==0.3.3, + any.http-client-tls ==0.3.6.4, + any.http-conduit ==2.3.9.1, + any.http-date ==0.0.11, + any.http-media ==0.8.1.1, + any.http-mock ==0.1.0.0, + any.http-types ==0.12.4, + any.http2 ==5.0.1, + any.indexed-profunctors ==0.1.1.1, + any.indexed-traversable ==0.1.4, + any.indexed-traversable-instances ==0.1.2, + any.insert-ordered-containers ==0.2.5.3, + any.integer-conversion ==0.1.0.1, + any.integer-gmp ==1.1, + any.integer-logarithms ==1.0.3.1, + any.invariant ==0.6.3, + any.iproute ==1.7.15, + any.iso8601-time ==0.1.5, + any.jose ==0.11, + any.jose-jwt ==0.9.6, + any.js-chart ==2.9.4.1, + any.json-syntax ==0.2.7.2, + any.kan-extensions ==5.2.6, + any.lens ==5.2.3, + any.lens-aeson ==1.2.3, + any.lens-family-core ==2.1.3, + any.libyaml ==0.1.4, + any.libyaml-clib ==0.2.5, + any.list-t ==1.0.5.7, + any.logict ==0.8.2.0, + any.lucid ==2.11.20230408, + any.managed ==1.0.10, + any.math-functions ==0.3.4.4, + any.megaparsec ==9.5.0, + any.memory ==0.18.0, + any.microstache ==1.0.2.3, + any.mime-types ==0.1.2.0, + any.mmorph ==1.2.0, + any.modern-uri ==0.3.6.1, + any.monad-control ==1.0.3.1, + any.monad-time ==0.4.0.0, + any.mono-traversable ==1.0.20.0, + monocle -ci -codegen, + any.morpheus-graphql-app ==0.27.3, + any.morpheus-graphql-client ==0.27.3, + any.morpheus-graphql-code-gen-utils ==0.27.3, + any.morpheus-graphql-core ==0.27.3, + any.morpheus-graphql-subscriptions ==0.27.3, + any.mtl ==2.3.1, + any.mtl-compat ==0.2.2, + any.mwc-random ==0.15.1.0, + any.natural-arithmetic ==0.1.4.0, + any.neat-interpolation ==0.5.1.4, + any.network ==3.1.4.0, + any.network-byte-order ==0.1.7, + any.network-control ==0.0.2, + any.network-info ==0.2.1, + any.network-uri ==2.6.4.2, + any.oidc-client ==0.8.0.0, + any.old-locale ==1.0.0.7, + any.old-time ==1.1.0.4, + any.optics-core ==0.4.1.1, + any.optics-extra ==0.4.2.1, + any.optional-args ==1.0.2, + any.optparse-applicative ==0.18.1.0, + any.os-string ==2.0.7, + any.parallel ==3.2.2.0, + any.parameterized ==0.5.0.0, + any.parsec ==3.1.16.1, + any.parser-combinators ==1.3.0, + any.parsers ==0.12.12, + any.path ==0.9.5, + any.pem ==0.2.4, + any.pretty ==1.1.3.6, + any.pretty-show ==1.10, + any.pretty-simple ==4.1.2.0, + any.prettyprinter ==1.7.1, + any.prettyprinter-ansi-terminal ==1.1.3, + any.prettyprinter-compat-ansi-wl-pprint ==1.0.2, + any.primitive ==0.8.0.0, + any.primitive-addr ==0.1.0.3, + any.primitive-offset ==0.2.0.1, + any.primitive-unlifted ==2.1.0.0, + any.process ==1.6.19.0, + any.profunctors ==5.6.2, + any.prometheus-client ==1.1.1, + any.prometheus-metrics-ghc ==1.0.1.2, + any.proto3-suite ==0.8.1, + any.proto3-wire ==1.4.3, + any.psqueues ==0.2.8.0, + any.qq-literals ==0.1.1.0, + any.quickcheck-instances ==0.3.30, + any.random ==1.2.1.2, + any.recv ==0.1.0, + any.reflection ==2.1.8, + any.relude ==1.2.2.0, + any.repline ==0.4.2.0, + any.req ==3.13.2, + any.resourcet ==1.3.0, + any.retry ==0.9.3.1, + any.retry-effectful ==0.1.0.0, + any.rts ==1.0.2, + any.run-st ==0.1.3.3, + any.safe ==0.3.21, + any.safe-exceptions ==0.1.7.4, + any.scientific ==0.3.7.0, + any.scientific-notation ==0.1.7.0, + any.semialign ==1.3.1, + any.semigroupoids ==6.0.1, + any.semigroups ==0.20, + any.semver ==0.4.0.1, + any.serialise ==0.2.6.1, + any.servant ==0.20.2, + any.servant-auth ==0.4.2.0, + any.servant-auth-server ==0.4.9.0, + any.servant-blaze ==0.9.1, + any.servant-lucid ==0.9.0.6, + any.servant-server ==0.20.2, + any.simple-sendfile ==0.2.32, + any.singleton-bool ==0.1.8, + any.socks ==0.6.1, + any.some ==1.0.6, + any.sop-core ==0.5.0.2, + any.split ==0.2.5, + any.splitmix ==0.1.0.5, + any.statistics ==0.16.2.1, + any.stm ==2.5.1.0, + any.streaming ==0.2.4.0, + any.streaming-commons ==0.2.2.6, + any.strict ==0.5, + any.string-interpolate ==0.3.4.0, + any.string-random ==0.1.4.3, + any.syb ==0.7.2.4, + any.system-cxx-std-lib ==1.0, + any.system-filepath ==0.4.14.1, + any.tagged ==0.8.8, + any.tasty ==1.4.3, + any.tasty-hunit ==0.10.2, + any.template-haskell ==2.20.0.0, + any.temporary ==1.3, + any.terminfo ==0.4.1.6, + any.text ==2.0.2, + any.text-conversions ==0.3.1.1, + any.text-manipulate ==0.3.1.0, + any.text-short ==0.1.6, + any.text-time ==0.3.2, + any.th-abstraction ==0.5.0.0, + any.th-compat ==0.1.5, + any.th-env ==0.1.1, + any.th-expand-syns ==0.4.11.0, + any.th-lift ==0.8.5, + any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.15, + any.th-reify-many ==0.1.10, + any.these ==1.2.1, + any.time ==1.12.2, + any.time-compat ==1.9.6.1, + any.time-manager ==0.0.1, + any.tls ==1.8.0, + any.transformers ==0.6.1.0, + any.transformers-base ==0.4.6, + any.transformers-compat ==0.7.2, + any.tuples ==0.1.0.0, + any.turtle ==1.6.2, + any.typed-process ==0.2.12.0, + any.unix ==2.8.4.0, + any.unix-compat ==0.7.3, + any.unix-time ==0.4.16, + any.unliftio ==0.2.25.0, + any.unliftio-core ==0.2.1.0, + any.unordered-containers ==0.2.20, + any.utf8-string ==1.0.2, + any.uuid ==1.3.15, + any.uuid-types ==1.0.5.1, + any.vault ==0.3.1.5, + any.vector ==0.13.1.0, + any.vector-algorithms ==0.9.0.2, + any.vector-binary-instances ==0.2.5.2, + any.vector-stream ==0.1.0.1, + any.vector-th-unbox ==0.2.2, + any.void ==0.7.3, + any.wai ==3.2.4, + any.wai-app-static ==3.1.9, + wai-app-static +crypton -print, + any.wai-cors ==0.2.7, + any.wai-extra ==3.1.17, + wai-extra -build-example, + any.wai-logger ==2.5.0, + any.wai-middleware-prometheus ==1.0.1.0, + any.warp ==3.3.31, + any.websockets ==0.12.7.3, + any.wide-word ==0.1.6.0, + any.witch ==1.2.3.1, + any.witherable ==0.4.2, + any.word-compat ==0.0.6, + any.word8 ==0.1.3, + any.wuss ==2.0.2.0, + any.yaml ==0.11.11.2, + any.zigzag ==0.0.1.0, + any.zlib ==0.6.3.0 +index-state: hackage.haskell.org 2025-01-06T16:40:37Z package proto3-suite flags: -swagger packages: . --- dhall expects aeson < 2.2 -constraints: aeson < 2.2, data-default < 0.8, base64 < 1.0, envparse < 0.6 - source-repository-package type: git location: https://github.com/awakesecurity/proto3-suite diff --git a/cabal-override.project.tmpl b/cabal-override.project.tmpl new file mode 100644 index 000000000..3dd8561df --- /dev/null +++ b/cabal-override.project.tmpl @@ -0,0 +1,9 @@ +package proto3-suite + flags: -swagger + +packages: . + +source-repository-package + type: git + location: https://github.com/awakesecurity/proto3-suite + tag: 53ae1df5eb757fedbfe1ec5f99fc7ed5068928e5 diff --git a/monocle.cabal b/monocle.cabal index 341549937..5d2cfef03 100644 --- a/monocle.cabal +++ b/monocle.cabal @@ -120,7 +120,7 @@ library , aeson-casing , aeson-pretty , attoparsec >= 0.13 - , base64 >= 0.4 + , base64 < 1.0 , cgroup-rts-threads , blaze-markup >= 0.8.2.8 , blaze-html >= 0.9.1.2 @@ -139,7 +139,7 @@ library , effectful < 2.4.0.0 , effectful-core -- , effectful-plugin - , envparse >= 0.4 + , envparse < 0.6 , exceptions >= 0.10 , fakedata >= 1.0 , fast-logger diff --git a/nix/default.nix b/nix/default.nix index 6fd63859d..37b129445 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -44,8 +44,8 @@ let src = pkgs.fetchFromGitHub { owner = "softwarefactory-project"; repo = "gerrit-haskell"; - rev = "daa44c450f819f3af2879099ec065c1efb973ef8"; - sha256 = "sha256-g+nMToAq1J8756Yres6xKraQq3QU3FcMjyLvaqVnrKc="; + rev = "f369a2468cf2c7814ac1e57d8a70e5b51403b072"; + sha256 = "sha256-A5JBZAfGzURlcq0MpormUh43AEAjh8XUPGnX4kaDuRk="; }; in hpPrev.callCabal2nix "gerrit" src { }; @@ -66,9 +66,8 @@ let src = pkgs.fetchFromGitHub { owner = "awakesecurity"; repo = "proto3-suite"; - # https://github.com/awakesecurity/proto3-suite/pull/239 - rev = "6b6245fe8526a1f9fd64472bf1218bd7fdea9960"; - sha256 = "sha256-XYGeQJ2EXDnezI8NfhI+R3t1k31PKyfg9doOKp5FsCk="; + rev = "53ae1df5eb757fedbfe1ec5f99fc7ed5068928e5"; + sha256 = "sha256-VmoM4H/E72WT/MG77cRXo7qCljpZL9SIrxilYo6aptg="; }; pkg = hpPrev.callCabal2nix "proto3-suite" src { }; in pkgs.lib.pipe pkg [