Skip to content

Commit

Permalink
container ubi - use cabal freeze for the constraints
Browse files Browse the repository at this point in the history
Add a Just target to ease maintaining it.

We still need to keep proto3-suite is the override as not published
into hackage.
  • Loading branch information
morucci committed Jan 7, 2025
1 parent 3514d1e commit dc4b209
Show file tree
Hide file tree
Showing 6 changed files with 380 additions and 12 deletions.
3 changes: 1 addition & 2 deletions DockerfileUBI
Original file line number Diff line number Diff line change
Expand Up @@ -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) /

Expand Down
7 changes: 7 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
360 changes: 357 additions & 3 deletions cabal-override.project
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Loading

0 comments on commit dc4b209

Please sign in to comment.