Commit Graph

381 Commits

Author SHA1 Message Date
Remy
b0d840019b
[Script] Do not use type constructor in AnyInterfaceChoice anymore (#15188)
companion PR of digital-asset/ghc#137

CHANGELOG_BEGIN
CHANGELOG_END
2022-10-20 10:30:20 +00:00
dylant-da
0efadf61eb
GHC - Extract more info about templates (#15170)
* Point to fixed GHC

* Fix daml-test-files for improved GHC errors

* Fix error message to match critical parts of improved GHC errors

* satisfy changelog

CHANGELOG_BEGIN
CHANGELOG_END

* point to updated GHC

* Point to updated GHC

* Fix damlc tests for new GHC error messages

* Point to updated GHC
2022-10-19 15:47:45 +00:00
Gerolf Seitz
1454497f3a
Upgrade dependencies to their latest stable release (#15216)
The outdated dependencies where determined by running
`bazel run @maven//:outdated`.

Not all dependencies are brought up to the latest version available on
Maven Central, for the following reasons:

Nobody dares to touch DB:
  com.oracle.database.jdbc:ojdbc8 [19.14.0.0 -> 21.7.0.0]
  com.oracle.database.jdbc.debug:ojdbc8_g [19.14.0.0 -> 21.7.0.0]
  com.h2database:h2 [2.1.210 -> 2.1.214]
  org.flywaydb:flyway-core [8.4.1 -> 9.4.0]

License issues beyond version 2.6.x:
  com.typesafe.akka:akka-actor_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-actor-testkit-typed_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-actor-typed_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-http_2.13 [10.2.8 -> 10.4.0-M1]
  com.typesafe.akka:akka-http-spray-json_2.13 [10.2.8 -> 10.4.0-M1]
  com.typesafe.akka:akka-http-testkit_2.13 [10.2.8 -> 10.4.0-M1]
  com.typesafe.akka:akka-slf4j_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-stream_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-stream-testkit_2.13 [2.6.18 -> 2.7.0-M3]
  com.typesafe.akka:akka-testkit_2.13 [2.6.18 -> 2.7.0-M3]

Not a stable release:
  com.chuusai:shapeless_2.13 [2.3.3 -> 2.4.0-M1]
  io.circe:circe-core_2.13 [0.14.3 -> 0.15.0-M1]
  io.circe:circe-generic_2.13 [0.14.3 -> 0.15.0-M1]
  io.circe:circe-parser_2.13 [0.14.3 -> 0.15.0-M1]
  org.scalameta:munit_2.13 [0.7.29 -> 1.0.0-M6]
  org.scalactic:scalactic_2.13 [3.2.14 -> 3.3.0-SNAP3]
  org.scalatest:scalatest_2.13 [3.2.14 -> 3.3.0-SNAP3]
  org.scalatestplus:scalacheck-1-15_2.13 [3.2.11.0 -> 3.3.0.0-SNAP3]
  org.scalatestplus:selenium-3-141_2.13 [3.2.10.0 -> 3.3.0.0-SNAP3]
  org.scalatestplus:testng-6-7_2.13 [3.2.10.0 -> 3.3.0.0-SNAP3]
  org.tpolecat:doobie-core_2.13 [0.13.4 -> 1.0.0-RC2]
  org.tpolecat:doobie-hikari_2.13 [0.13.4 -> 1.0.0-RC2]
  org.tpolecat:doobie-postgres_2.13 [0.13.4 -> 1.0.0-RC2]
  com.fasterxml.jackson.core:jackson-core [2.13.4 -> 2.14.0-rc2]
  com.fasterxml.jackson.core:jackson-databind [2.13.4 -> 2.14.0-rc2]

Netty + boringssl + grpc + protobuf need be kept in sync, and the latest
versions also aren't stable releases:
  io.netty:netty-buffer [4.1.79.Final -> 5.0.0.Alpha2]
  io.netty:netty-codec-http2 [4.1.79.Final -> 5.0.0.Alpha2]
  io.netty:netty-handler [4.1.79.Final -> 5.0.0.Alpha2]
  io.netty:netty-handler-proxy [4.1.79.Final -> 5.0.0.Alpha2]
  io.netty:netty-resolver [4.1.79.Final -> 5.0.0.Alpha2]
  com.google.protobuf:protobuf-java [3.21.7 -> 4.0.0-rc-2]

Scalaz changed a few annoying things in 7.3, so let's stick to 7.2:
  org.scalaz:scalaz-core_2.13 [7.2.34 -> 7.4.0-M12]
  org.scalaz:scalaz-scalacheck-binding_2.13 [7.2.34-scalacheck-1.15 -> 7.4.0-M12]
  org.scalacheck:scalacheck_2.13 [1.15.4 -> 1.17.0]

Determined by the rules_scala:
  org.scala-lang:scala-library [2.13.8 -> 2.13.10]

CHANGELOG_BEGIN
Upgraded to the latest stable version of the following JVM dependencies:

ch.qos.logback:logback-classic:1.4.4
ch.qos.logback:logback-core:1.4.4
com.auth0:java-jwt:4.1.0
com.auth0:jwks-rsa:0.21.2
com.fasterxml.jackson.core:jackson-core:2.13.4
com.fasterxml.jackson.core:jackson-databind:2.13.4
com.github.ben-manes.caffeine:caffeine:3.1.1
com.github.pathikrit:better-files_2.13:3.9.1
com.github.pureconfig:pureconfig-core_2.13:0.17.1
com.github.pureconfig:pureconfig-generic-base_2.13:0.17.1"
com.github.pureconfig:pureconfig-generic_2.13:0.17.1
com.github.pureconfig:pureconfig_2.13:0.17.1
com.github.scopt:scopt_2.13:4.1.0
com.google.code.gson:gson:2.9.1
com.lihaoyi:pprint_2._13:0.8.0"
com.lihaoyi:sourcecode_2.13:0.3.0
com.sparkjava:spark-core:2.9.4
com.squareup:javapoet:1.13.0
com.storm-enroute:scalameter-core_2.13:0.21
com.storm-enroute:scalameter_2.13:0.21
com.thesamet.scalapb:scalapb-json4s_2.13:0.12.0
com.typesafe.scala-logging:scala-logging_2.13:3.9.5
com.zaxxer:HikariCP:5.0.1
commons-io:commons-io:2.11.0
eu.rekawek.toxiproxy:toxiproxy-java:2.1.7
io.circe:circe-core_2.13:0.14.3
io.circe:circe-generic-extras_2.13:0.14.2
io.circe:circe-generic_2.13:0.14.3
io.circe:circe-parser_2.13:0.14.3
io.circe:circe-yaml_2.13:0.14.1
io.github.paoloboni:spray-json-derived-codecs_2.13:2.3.9
io.reactivex.rxjava2:rxjava:2.2.21
io.spray:spray-json_2.13:1.3.6
javax.annotation:javax.annotation-api:1.3.2
javax.ws.rs:javax.ws.rs-api:2.1.1
junit:junit-dep:4.11
junit:junit:4.13.2
net.logstash.logback:logstash-logback-encoder:7.2
org.apache.commons:commons-lang3:3.12.0
org.apache.commons:commons-text:1.10.0
org.awaitility:awaitility:4.2.0
org.checkerframework:checker-qual:3.26.0
org.checkerframework:checker:3.26.0
org.codehaus.janino:janino:3.1.8
org.freemarker:freemarker-gae:2.3.31
org.jline:jline-reader:3.21.0
org.jline:jline:3.21.0
org.junit.jupiter:junit-jupiter-api:5.9.1
org.junit.jupiter:junit-jupiter-engine:5.9.1
org.junit.platform:junit-platform-engine:1.9.1
org.junit.platform:junit-platform-runner:1.9.1
org.mockito:mockito-core:4.6.1
org.mockito:mockito-inline:4.6.1
org.mockito:mockito-scala_2.13:1.17.12
org.pcollections:pcollections:3.2.0
org.playframework.anorm:anorm-akka_2.13:2.7.0
org.playframework.anorm:anorm_2.13:2.7.0
org.postgresql:postgresql:42.5.0
org.reactivestreams:reactive-streams-tck:1.0.4
org.reactivestreams:reactive-streams:1.0.4
org.reflections:reflections:0.10.2
org.sangria-graphql:sangria-ast_2.13:3.4.0
org.sangria-graphql:sangria-core_2.13:3.4.0
org.sangria-graphql:sangria-derivation_2.13:3.4.0
org.sangria-graphql:sangria-parser_2.13:3.4.0
org.sangria-graphql:sangria-spray-json_2.13:1.0.3
org.scala-lang.modules:scala-parallel-collections_2.13:1.0.4
org.scalactic:scalactic_2.13:3.2.10
org.scalameta:munit_2.13:0.7.29
org.scalatest:scalatest_2.13:3.2.10
org.scalatestplus:scalacheck-1-15_2.13:3.2.10.0
org.scalatestplus:selenium-3-141_2.13:3.2.10.0
org.scalatestplus:testng-6-7_2.13:3.2.10.0
org.scalaz:scalaz-core_2.13:7.2.34
org.scalaz:scalaz-scalacheck-binding_2.13:7.2.34-scalacheck-1.15
org.seleniumhq.selenium:selenium-java:4.5.0
org.slf4j:slf4j-api:2.0.3
org.slf4j:slf4j-simple:2.0.3
org.testng:testng:6.7
org.typelevel:cats-core_2.13:2.8.0
org.typelevel:cats-kernel_2.13:2.8.0
org.typelevel:cats-laws_2.13:2.8.0
org.typelevel:paiges-core_2.13:0.4.2
org.wartremover:wartremover_2.13.8:3.0.6
org.xerial:sqlite-jdbc:3.39.3.0
CHANGELOG_END
2022-10-18 08:50:23 +02:00
dylant-da
485eb2b8dd
Archive choices for interfaces (#15085)
* Point to latest GHC with archive choices on interfaces

* Update Desugared daml for interfaces Archives

* satisfy changelog check

CHANGELOG_BEGIN
CHANGELOG_END

* Update daml-doc test files

* Add relevant identifiers to SignatureReaderSpec for iface Archive choice

* lint

* Point to GHC with generated HasArchive instance

* Add test for archive on interface

* Test that second archive doesn't work

* Update desugar tests

* Point to GHC merge
2022-09-29 10:57:07 +01:00
dylant-da
7db1bfab54
Point to GHC with merge commit for large tuples branch (#15062)
* Point to GHC with merge commit for large tuples branch

https://github.com/digital-asset/ghc/pull/134

* satisfy changelog check

CHANGELOG_BEGIN
CHANGELOG_END
2022-09-22 11:45:23 +01:00
dylant-da
89e2f4db9b
Add warnings to conversion, Warn for tuples size > 5 (#15018)
* Add warnings to conversion

* Fix warning code, add warning for tuples larger than 5 in convertType

* Add flag AllowLargeTuples to ignore when tuples of size > 5 are used

* Predicate tuple warning on AllowLargeTuples flag

* Compile stdlib / prim packages with --allow-large-tuples

* satisfy changelog

CHANGELOG_BEGIN
CHANGELOG_END

* Fix type error in LFConversion test due to runConvertM signature change

* Move warning to convertDataCon, so un-type-annotated uses are detected

* Add TODO

* Add codeGenAllowLargeTuples internal function to DA.Internal.Desugar

* Unsplit convertDataCon and convertDataCon' via envAllowLargeTuples check

* Desugar codeGenAllowLargeTuples call to allow large tuples on subexprs

* Point to GHC with auto-inserted codeGenAllowLargeTuples calls

* Reorder codeGenAllowLargeTuples replacement to be before internals check

* Export codeGenAllowLargeTuples from DA.Internal.Desugar

* Reverse warnings at end of ConvertM run

* Comment role of Either and tuple in ConvertM

* Rename --allow-large-tuples=yes to --disable-warn-large-tuples=yes

* Make disable_warn_large_tuples an option, false by default

* Add tests for tuple size warning

* Use minimum tuple size to trigger large tuple warning

* Disable large tuple warning during stdlib compilation

* Use a pattern synonym for tuple detection

* lint
2022-09-21 14:16:39 +01:00
dylant-da
931734d59c
PoC: Custom errors, for Interfaces (#14950)
* Point to GHC version with custom typecheck interface error messages

* Fix tests for new messages

* satisfy changelog check

CHANGELOG_BEGIN
CHANGELOG_END

* Point to GHC revision with TcDaml module & minor fixes

* Add TcDaml to ghc-lib.cabal

* Point to GHC: better HasMethod msg, uses PrelNames

* Point at non-PrelNames approach - turns out that didn't work

* Point to GHC with multiple module checks

* Point to GHC with tentative PrelNames work fully removed

* Add tests for new "non existent method" and "view" error messages

* Point to merged GHC changes
2022-09-15 12:53:30 +00:00
Moisés Ackerman
3ac7d87498
Monomorphize interface methods and choices (#14853)
* Update ghc rev

* Update daml-test-file InterfaceGuarded

* Add daml-test-files for interface method and choice monomorphicity

* Update daml-test-files *.EXPECTED.desugared-daml

* Update daml-test-files *.EXPECTED.{md,rst}

* Fix data-dependencies tests

* Fix ide test

* Update code-snippets-dev/Interfaces.daml

* Update interface reference docs to reflect monomorphic methods and choices

* Apply suggestions from code review

changelog_begin
changelog_end

Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
2022-08-29 16:24:35 +02:00
dylant-da
4f4aa63fde
Change ghc version to point to merged distinguish guards commit in GHC (#14840)
CHANGELOG_BEGIN
CHANGELOG_END
2022-08-25 14:37:51 +00:00
dylant-da
6ece737e46
Desugar guards compatibly with 1.15/1.dev split (#14773)
* Add version 1.15 - move interfaces into them

* Update Ast/Version & docs for 1.15, split interface into simple/extended

* Stage 1.15 protobuf

* Remove references to dev from 1.15 protobufs

* Add Tests file for 1.15 in ledger API testtool

* Update Version 1.15 changelog with Call/implements

* Make 1.14 default again

* Add 1.15 as preview version

* Add 1.15 test suite to testtool

* Reinclude 1.15 in COMPILER_LF_VERSIONS to build model-tests-1.15

* Move v1_15 ledger-api-tests into own suite

* Fix InterfaceNotSupported message to 1.15 or higher

* satisfy changelog check

CHANGELOG_BEGIN
CHANGELOG_END

* Update tests with extended interface features to only run on 1.dev

* Allow unsafe_from_interface and interface_template_type_rep in 1.15

* Fix StableVersions back to 1.14, make EarlyAccessVersions 1.15

* Run retroactive implements tests only in extended interfaces

* lint

* Temporarily disable 1.15 conformance tests - handle in another PR

* Also disable conformance-test-tls1.2-or-newer-1.15

* Disable PureConfigReaderWriter tests that assume early-access == stable

* lint

* Temporarily disable decode extended interface primitives test

* Use dictionary comprehension to generate ledger/test-common test_names

* Move InterfaceSubscriptionsIT test back into 1.dev suite

* lint

* Make exercise guards nullable, ignore Nothing in decode/encode

* Desugar UExerciseInterface[Guarded] differently, point to updated GHC

* Update to new GHC revision, removes pred argument from `exercise`

* Attach correct range to guard support error (if any)

Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>

* Rename interface features

Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>

* Remove unnecessary mention of v1_14 from supportedInputVersions

Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>

* Clarify purpose of `Maybe Expr` type for exercise guard

Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>

* Remove guarded exercise when Extended Interfaces are not enabled

* Remove all instances of guarded exercises in versions <= 1.15

* Add check for isId to splitDFunId

* Exclude via $cexerciseGuarded check - ClassOpId approach did not work

* Run damlc interface tests w/o requires when since DAML_INTERFACE

* Update desugared daml for UExerciseInterface[Guarded] generation

* Temporarily disable failing damlc tests

* Remove 1.dev-only references from 1.15 protobuf

Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
2022-08-25 14:20:03 +01:00
Moisés Ackerman
009c3c306b
Add interface instance syntax, including retroactive interface instances (#14715)
* Extract qualifyLocally in LFConversion

* Update ghc rev

* Add parent type argument to interface instance desugaring types

* Check interface instance parent in LFConversion

* Convert interface instances in interface declarations

* Update daml-test-files to use 'interface instance' syntax

* Update other tests to use 'interface instance' syntax

* Update interface reference docs to use 'interface instance' syntax

* Update other files to use 'interface instance' syntax

* Add todo in DA.Daml.LF.Ast.Pretty

* Add daml-test-files for retroactive interface instances

changelog_begin
changelog_end
2022-08-17 12:06:59 +00:00
dylant-da
b73e852604
Better errors related to Interface Views (#14648)
* Point to new GHC with errors for missing views

* Add placeholder view to ImplementsNonInterface

* Fix doc comment in InterfaceViewNotSpecified

* Add test for error when method named `view` is declared

* Add placeholder unit viewtype to doc tests

* Update err message in ImplementsNonInterface - error now detected in LF

* empty changelog commit

CHANGELOG_BEGIN
CHANGELOG_END
2022-08-10 13:45:25 +00:00
Remy
b163638d19
Damlc: Remove precondition for interface (#14548)
* Damlc: Remove precondition for interfaces

follow up of #14511, goes together with digital-asset/ghc#129

* Address Ackerman's review

* Update ghc rev

CHANGELOG_BEGIN
CHANGELOG_END
2022-07-28 16:34:12 +00:00
dylant-da
87938faaf7
DAML Views - Syntax Only (#14435)
* Point to new GHC version with viewtype and view syntax

* Make minimum modifications to erase newly generated view code

CHANGELOG_BEGIN
CHANGELOG_END

* Point to updated GHC - no longer requires viewtype/view at syntax level

* Add DA_Internal_Interface to convertTypeDef exclusion check

* Move desugared types/values for interface views into DA.Internal.Desugar

* Disable unused TypeFamilies extension in DA.Internal.Interface

* Point to updated GHC, "Remove shortViewName"

* Update to latest GHc view syntax changes

* Update GHC to merged view syntax changes
2022-07-26 16:57:51 +00:00
Moisés Ackerman
2393b5071f
Reject class method overlapping with record field (#14391)
* Update GHC patch

* Add daml-test-files for overlapping methods and fields

* changelog

changelog_begin
* [daml] Programs where a class method overlaps with a record field are no longer accepted (#14390)
changelog_end
2022-07-11 12:58:20 +00:00
Andreas Herrmann
891640fbc4
Update rules_sh and use new sh_binaries (#14303)
* Update rules_sh

CHANGELOG_BEGIN
CHANGELOG_END

* Update to sh_binaries provided by rules_sh

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2022-06-30 16:14:33 +02:00
dylant-da
32d6a4a2dc
Improve error message when implementing non-interface (Issue #13823) (#14249)
* Improve error for `implements` on non-interface using GHC source-map

* Pass source location for implements directly

* Update GHC revision to pick up updated implements location

* Change revision to point to merged GHC source location changes

CHANGELOG_BEGIN
CHANGELOG_END

* Handlers output strings in convertInterfaceTyCon

* Improve error for requires on non-interface

* Use prettyPrint instead of GHC.showSDocUnsafe . ppr

* Test error messages for implement/require noninterface

* Fix error line numbers, point to merged GHC changes instead of branch

* Enable interfaces in new tests, Fix copyright year

* Add trailing newline to interface tests

Co-authored-by: Remy <remy.haemmerle@daml.com>

Co-authored-by: Remy <remy.haemmerle@daml.com>
2022-06-28 10:14:53 +01:00
Claudio Bley
21ef82066a
Drop haskell-rts-docs.patch and haskell-ghc-includes.patch (#14045)
* Update rules_haskell version and hash

* remove `haskell-rts-docs.patch`
* remove `haskell-ghc-includes.patch`

CHANGELOG_BEGIN
CHANGELOG_END
2022-06-16 13:52:24 +02:00
Andreas Herrmann
e8001fc4ff
Speed up ghc-lib(-parser) sdist generation (#14076)
* Update ghc-lib to speed up sdist generation

To incorporate https://github.com/digital-asset/ghc-lib/pull/379, which
is a more generic version of the changes introduced in
41ab1c2cba
to speed-up ghc-lib(-parser) sdist generation in Daml.

The slowest step in the ghc-lib(-parser) sdist generation is the
generation of `.hs` files from `.hsc` files via `hsc2hs` and from `.x`
or `.y` files via `alex` or `happy`. The reason that it's slow is that
`ghc-lib-gen` performs these through GHC's build system, hadrian, and
these steps require almost a full stage1 GHC build.

The `.hs` files are only needed to enable dependency discovery through
`ghc -M`, as it doesn't understand `.hsc|.x|.y` files. Apart from that
we can use the original `.hsc|.x|.y` files in the final sdist.

With this update `ghc-lib-gen` finds all relevant `.hsc|.x|.y` files
and replaces them with dummy `.hs` files that have the same module name
and the same imports. These dummy files are only used for the purposes
of dependency discovery via `ghc -M` and are not included in the final
sdist.

With this update the sdist generation is sped up between 4.3 to 4.5
times:
- ghc-lib-parser: 3m2s down to 42.04s (4.3x)
- ghc-lib: 3m5s down to 40.96s (4.5x)

I've applied `diffoscope` to the generated sdist tarballs with and
without this update to ensure that no unexpected differences are
introduced with this change.

https://github.com/digital-asset/ghc-lib/pull/379 reports a less
dramatic speed up of about a third reduction in build time for `stack
runhaskell CI.hs`. The reason for the discrepancy is that `CI.hs`
performs more steps than just the sdist generation, e.g. checking out
GHC's source tree, or building hadrian. These steps are not included in
the above benchmarks, because they are executed in separate Bazel
actions and can be cached separately.

CHANGELOG_BEGIN
CHANGELOG_END

* Update Cabal files

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2022-06-09 09:15:19 +02:00
Moisés Ackerman
3255dccfc9
Qualify interface name in _requires_ markers (#14054)
* Add failing test
* update ghc patch
* Update *.EXPECTED.desugared-daml daml-test-files
2022-06-07 10:00:36 +00:00
Moisés Ackerman
cd6ae5dddc
Use -DDAML_PRIM cpp flag for building ghc-lib{,-parser} (#14074)
* Use -DDAML_PRIM cpp flag for building ghc-lib{,-parser}

changelog_begin
changelog_end
2022-06-03 15:04:23 +00:00
Andreas Herrmann
520578a8d5
Remove absolute paths to execroot (#14072)
CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2022-06-03 09:17:20 +02:00
Remy
7638e086ae
Script: infer the typeId of Choice in daml (#13971)
part of #13653

goes with digital-asset/ghc#122

CHANGELOG_BEGIN
CHANGELOG_END
2022-06-02 14:02:12 +00:00
Claudio Bley
02e8826b6e
Make building ghc in-project and with Bazel work again (#13970)
* Pass `with_bazel` flag to cabal when building Hadrian inside ghc

* Update GHC

with digital-asset/ghc#121

* Bring back documentation how to test syntax changes

CHANGELOG_BEGIN
CHANGELOG_END
2022-05-30 09:47:44 +02:00
Claudio Bley
ef07f36e2d
Remove haskell-arm-m1.patch from rules_haskell_patches (#13891) 2022-05-23 16:36:22 +02:00
Remy
a3cccbc6eb
Update GHC (#13917)
with digital-asset/ghc#120

fixes #13915

CHANGELOG_BEGIN
CHANGELOG_END
2022-05-19 12:52:46 +00:00
Andreas Herrmann
18a9c93549
Bazelify ghc-lib (#12508)
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
Co-authored-by: Claudio Bley <claudio.bley@digitalasset.com>
2022-05-19 10:49:16 +02:00
Claudio Bley
8931f35139
Drop the nixpkgs-disable-http2 patch (#13820)
This patch works around an old problem in libcurl, when using HTTP/2.

The problem was fixed with nix version 2.3.3, see https://github.com/NixOS/nix/issues/2733#issuecomment-587979164.

CHANGELOG_BEGIN

CHANGELOG_END
2022-05-10 10:57:36 +02:00
Claudio Bley
38f424155a
Update rules_nixpgks to HEAD and drop rules-nixpkgs-arm.patch (#13798)
* Update `rules_nixpgks` to HEAD

Since [rules_nixpkgs#191] has been merged, we can drop the `rules-nixpkgs-arm.patch` from rules_nixpkgs.

Also, rules_nixpkgs has been split into several components which need to be
added explicitly in `deps.bzl`, see [#182].

[#191]: https://github.com/tweag/rules_nixpkgs/pull/191
[#182]: https://github.com/tweag/rules_nixpkgs/issues/182

* Adapt `compatibility/deps.bzl`

* Update platforms repository to version 0.0.4

It has been updated in rules_nixpkgs, so this just follows suite.

* Pass through `isClang` attribute for the cc-toolchain

In rules_nixpkgs, this attribute is now used to determine whether the compiler is clang, see [#216].

[#216]: https://github.com/tweag/rules_nixpkgs/pull/216

CHANGELOG_BEGIN
CHANGELOG_END
2022-05-10 10:16:20 +02:00
Andreas Herrmann
8114bff4cf
Darwin M1 Support (#13401)
* Update rules_nixpkgs and rules_sh

rules_sh was an implicit dependency before. We are now depending on it
explicitly to be able to control the version.

* Patch rules_nixpkgs to detect ARM M1

This should be upstreamed.

* Patch rules_haskell for ARM M1 compatibility

* Detect MacOS M1 OS and architecture.
* Consistently use the CC toolchains' linker.
  This is important when we switch to GHC with LLVM.

* Detect Darwin M1 in os_info.bzl

* Use the new rules_nixpkgs host platform

The old flags hard-coded the CPU architecture. The new platform
automatically inherits from Bazel's builtin host platform.

* Import the Go toolchain from rules_nixpkgs

* Update nodejs to version 16

* Disable Haddock on lsp-types

We're also disabling it on the other haskell_cabal_library instances,
and it is causing build errors on M1.

```
Running Haddock on library for lsp-types-1.4.0.0..
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt
contents: <<<
--prologue=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-prologue42424-0.txt
--dump-interface=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/lsp-types.haddock
--package-name=lsp-types
--package-version=1.4.0.0
--since-qual=external
--hide=Language.LSP.Types.CallHierarchy
--hide=Language.LSP.Types.Cancellation
--hide=Language.LSP.Types.ClientCapabilities
--hide=Language.LSP.Types.CodeAction
--hide=Language.LSP.Types.CodeLens
--hide=Language.LSP.Types.Command
--hide=Language.LSP.Types.Common
--hide=Language.LSP.Types.Completion
--hide=Language.LSP.Types.Configuration
--hide=Language.LSP.Types.Declaration
--hide=Language.LSP.Types.Definition
--hide=Language.LSP.Types.Diagnostic
--hide=Language.LSP.Types.DocumentColor
--hide=Language.LSP.Types.DocumentFilter
--hide=Language.LSP.Types.DocumentHighlight
--hide=Language.LSP.Types.DocumentLink
--hide=Language.LSP.Types.DocumentSymbol
--hide=Language.LSP.Types.FoldingRange
--hide=Language.LSP.Types.Formatting
--hide=Language.LSP.Types.Hover
--hide=Language.LSP.Types.Implementation
--hide=Language.LSP.Types.Initialize
--hide=Language.LSP.Types.Location
--hide=Language.LSP.Types.LspId
--hide=Language.LSP.Types.MarkupContent
--hide=Language.LSP.Types.Method
--hide=Language.LSP.Types.Message
--hide=Language.LSP.Types.Parsing
--hide=Language.LSP.Types.Progress
--hide=Language.LSP.Types.Registration
--hide=Language.LSP.Types.References
--hide=Language.LSP.Types.Rename
--hide=Language.LSP.Types.SelectionRange
--hide=Language.LSP.Types.ServerCapabilities
--hide=Language.LSP.Types.SemanticTokens
--hide=Language.LSP.Types.SignatureHelp
--hide=Language.LSP.Types.StaticRegistrationOptions
--hide=Language.LSP.Types.TextDocument
--hide=Language.LSP.Types.TypeDefinition
--hide=Language.LSP.Types.Uri
--hide=Language.LSP.Types.Utils
--hide=Language.LSP.Types.Window
--hide=Language.LSP.Types.WatchedFiles
--hide=Language.LSP.Types.WorkspaceEdit
--hide=Language.LSP.Types.WorkspaceFolders
--hide=Language.LSP.Types.WorkspaceSymbol
--html
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/array-0.5.4.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/array-0.5.4.0/array.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0/base.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/binary-0.8.8.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/binary-0.8.8.0/binary.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/bytestring-0.10.12.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/bytestring-0.10.12.1/bytestring.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/containers-0.6.4.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/containers-0.6.4.1/containers.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/deepseq-1.4.5.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/deepseq-1.4.5.0/deepseq.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/directory-1.3.6.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/directory-1.3.6.2/directory.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/exceptions-0.10.4,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/exceptions-0.10.4/exceptions.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/filepath-1.4.2.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/filepath-1.4.2.1/filepath.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-bignum-1.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-bignum-1.1/ghc-bignum.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-boot-th-9.0.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-boot-th-9.0.2/ghc-boot-th.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-prim-0.7.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-prim-0.7.0/ghc-prim.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/integer-gmp-1.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/integer-gmp-1.1/integer-gmp.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/mtl-2.2.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/mtl-2.2.2/mtl.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/parsec-3.1.14.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/parsec-3.1.14.0/parsec.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/pretty-1.1.3.6,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/pretty-1.1.3.6/pretty.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/stm-2.5.0.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/stm-2.5.0.0/stm.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/template-haskell-2.17.0.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/template-haskell-2.17.0.0/template-haskell.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/text-1.2.5.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/text-1.2.5.0/text.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/time-1.9.3,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/time-1.9.3/time.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/transformers-0.5.6.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/transformers-0.5.6.2/transformers.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/unix-2.7.2.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/unix-2.7.2.2/unix.haddock
--odir=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/
--title=lsp-types-1.4.0.0:\ Haskell\ library\ for\ the\ Microsoft\ Language\
Server\ Protocol,\ data\ types
--optghc=-fbuilding-cabal-package
--optghc=-O
--optghc=-outputdir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-odir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-hidir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-stubdir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-i
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-isrc
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/global-autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/global-autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-optP-D__HADDOCK_VERSION__=2251
--optghc=-optP-include
--optghc=-optP../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen/cabal_macros.h
--optghc=-this-unit-id
--optghc=lsp-types-1.4.0.0
--optghc=-hide-all-packages
--optghc=-Wmissing-home-modules
--optghc=-no-user-package-db
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/Diff-0.4.1/_install/Diff-0.4.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-orphans-0.8.6/_install/base-orphans-0.8.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/OneTuple-0.3.1/_install/OneTuple-0.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/splitmix-0.1.0.4/_install/splitmix-0.1.0.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/random-1.2.1/_install/random-1.2.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/QuickCheck-2.14.2/_install/QuickCheck-2.14.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/hashable-1.3.5.0/_install/hashable-1.3.5.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/integer-logarithms-1.0.3.1/_install/integer-logarithms-1.0.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/primitive-0.7.3.0/_install/primitive-0.7.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/scientific-0.3.7.0/_install/scientific-0.3.7.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/attoparsec-0.14.4/_install/attoparsec-0.14.4-attoparsec-internal.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/attoparsec-0.14.4/_install/attoparsec-0.14.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-compat-0.11.2/_install/base-compat-0.11.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-compat-batteries-0.11.2/_install/base-compat-batteries-0.11.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-fix-0.3.2/_install/data-fix-0.3.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/dlist-1.0/_install/dlist-1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/indexed-traversable-0.1.2/_install/indexed-traversable-0.1.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/tagged-0.8.6.1/_install/tagged-0.8.6.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/unordered-containers-0.2.16.0/_install/unordered-containers-0.2.16.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/vector-0.12.3.1/_install/vector-0.12.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/indexed-traversable-instances-0.1.1/_install/indexed-traversable-instances-0.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/distributive-0.6.2.1/_install/distributive-0.6.2.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/transformers-compat-0.6.6/_install/transformers-compat-0.6.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/comonad-5.0.8/_install/comonad-5.0.8.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/th-abstraction-0.4.3.0/_install/th-abstraction-0.4.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/bifunctors-5.5.11/_install/bifunctors-5.5.11.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/StateVar-1.2.2/_install/StateVar-1.2.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/contravariant-1.5.5/_install/contravariant-1.5.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semigroupoids-5.3.7/_install/semigroupoids-5.3.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/assoc-1.0.2/_install/assoc-1.0.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/these-1.1.1.1/_install/these-1.1.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semialign-1.2.0.1/_install/semialign-1.2.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/strict-0.4.0.1/_install/strict-0.4.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/text-short-0.1.5/_install/text-short-0.1.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/time-compat-1.9.6.1/_install/time-compat-1.9.6.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/uuid-types-1.0.5/_install/uuid-types-1.0.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/witherable-0.4.2/_install/witherable-0.4.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/aeson-2.0.3.0/_install/aeson-2.0.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-class-0.1.2.0/_install/data-default-class-0.1.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-containers-0.0.1/_install/data-default-instances-containers-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-dlist-0.0.1/_install/data-default-instances-dlist-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/old-locale-1.0.0.7/_install/old-locale-1.0.0.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-old-locale-0.0.1/_install/data-default-instances-old-locale-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-0.7.1.1/_install/data-default-0.7.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-3.1.2.7/_install/network-3.1.2.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-bsd-2.8.1.0/_install/network-bsd-2.8.1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/hslogger-1.3.1.0/_install/hslogger-1.3.1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/call-stack-0.4.0/_install/call-stack-0.4.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/profunctors-5.6.2/_install/profunctors-5.6.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/transformers-base-0.4.6/_install/transformers-base-0.4.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/free-5.1.7/_install/free-5.1.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semigroups-0.19.2/_install/semigroups-0.19.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/void-0.7.3/_install/void-0.7.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/adjunctions-4.4/_install/adjunctions-4.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/invariant-0.5.5/_install/invariant-0.5.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/kan-extensions-5.2.3/_install/kan-extensions-5.2.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/parallel-3.2.2.0/_install/parallel-3.2.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/reflection-2.1.6/_install/reflection-2.1.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/lens-5.0.1/_install/lens-5.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semirings-0.6/_install/semirings-0.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/mod-0.1.2.2/_install/mod-0.1.2.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/th-compat-0.1.3/_install/th-compat-0.1.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-uri-2.6.4.1/_install/network-uri-2.6.4.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/rope-utf16-splay-0.3.2.0/_install/rope-utf16-splay-0.3.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/some-1.0.3/_install/some-1.0.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/temporary-1.3/_install/temporary-1.3.conf.d
--optghc=-package-db
--optghc=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/_install/lsp-types-1.4.0.0.conf.d
--optghc=-package-db
--optghc=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/package.conf.inplace
--optghc=-package-id
--optghc=Diff-0.4.1
--optghc=-package-id
--optghc=aeson-2.0.3.0
--optghc=-package-id
--optghc=base-4.15.1.0
--optghc=-package-id
--optghc=binary-0.8.8.0
--optghc=-package-id
--optghc=bytestring-0.10.12.1
--optghc=-package-id
--optghc=containers-0.6.4.1
--optghc=-package-id
--optghc=data-default-0.7.1.1
--optghc=-package-id
--optghc=deepseq-1.4.5.0
--optghc=-package-id
--optghc=directory-1.3.6.2
--optghc=-package-id
--optghc=dlist-1.0
--optghc=-package-id
--optghc=filepath-1.4.2.1
--optghc=-package-id
--optghc=hashable-1.3.5.0
--optghc=-package-id
--optghc=hslogger-1.3.1.0
--optghc=-package-id
--optghc=lens-5.0.1
--optghc=-package-id
--optghc=mod-0.1.2.2
--optghc=-package-id
--optghc=mtl-2.2.2
--optghc=-package-id
--optghc=network-uri-2.6.4.1
--optghc=-package-id
--optghc=rope-utf16-splay-0.3.2.0
--optghc=-package-id
--optghc=scientific-0.3.7.0
--optghc=-package-id
--optghc=some-1.0.3
--optghc=-package-id
--optghc=template-haskell-2.17.0.0
--optghc=-package-id
--optghc=temporary-1.3
--optghc=-package-id
--optghc=text-1.2.5.0
--optghc=-package-id
--optghc=unordered-containers-0.2.16.0
--optghc=-XHaskell2010
--optghc=-XStrictData
--optghc=-Wall
-B/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2
src/Language/LSP/Types.hs
src/Language/LSP/Types/Capabilities.hs
src/Language/LSP/Types/Lens.hs
src/Language/LSP/Types/SMethodMap.hs
src/Language/LSP/VFS.hs
src/Data/IxMap.hs
src/Language/LSP/Types/CallHierarchy.hs
src/Language/LSP/Types/Cancellation.hs
src/Language/LSP/Types/ClientCapabilities.hs
src/Language/LSP/Types/CodeAction.hs
src/Language/LSP/Types/CodeLens.hs
src/Language/LSP/Types/Command.hs
src/Language/LSP/Types/Common.hs
src/Language/LSP/Types/Completion.hs
src/Language/LSP/Types/Configuration.hs
src/Language/LSP/Types/Declaration.hs
src/Language/LSP/Types/Definition.hs
src/Language/LSP/Types/Diagnostic.hs
src/Language/LSP/Types/DocumentColor.hs
src/Language/LSP/Types/DocumentFilter.hs
src/Language/LSP/Types/DocumentHighlight.hs
src/Language/LSP/Types/DocumentLink.hs
src/Language/LSP/Types/DocumentSymbol.hs
src/Language/LSP/Types/FoldingRange.hs
src/Language/LSP/Types/Formatting.hs
src/Language/LSP/Types/Hover.hs
src/Language/LSP/Types/Implementation.hs
src/Language/LSP/Types/Initialize.hs
src/Language/LSP/Types/Location.hs
src/Language/LSP/Types/LspId.hs
src/Language/LSP/Types/MarkupContent.hs
src/Language/LSP/Types/Method.hs
src/Language/LSP/Types/Message.hs
src/Language/LSP/Types/Parsing.hs
src/Language/LSP/Types/Progress.hs
src/Language/LSP/Types/Registration.hs
src/Language/LSP/Types/References.hs
src/Language/LSP/Types/Rename.hs
src/Language/LSP/Types/SelectionRange.hs
src/Language/LSP/Types/ServerCapabilities.hs
src/Language/LSP/Types/SemanticTokens.hs
src/Language/LSP/Types/SignatureHelp.hs
src/Language/LSP/Types/StaticRegistrationOptions.hs
src/Language/LSP/Types/TextDocument.hs
src/Language/LSP/Types/TypeDefinition.hs
src/Language/LSP/Types/Uri.hs
src/Language/LSP/Types/Utils.hs
src/Language/LSP/Types/Window.hs
src/Language/LSP/Types/WatchedFiles.hs
src/Language/LSP/Types/WorkspaceEdit.hs
src/Language/LSP/Types/WorkspaceFolders.hs
src/Language/LSP/Types/WorkspaceSymbol.hs
>>>
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt
Environment: [("CABAL_VERBOSE","True"),("CC_WRAPPER_CC_PATH","external/local_config_cc/cc_wrapper.sh"),("CC_WRAPPER_CPU","darwin_arm64"),("CC_WRAPPER_PLATFORM","darwin"),("CODESIGN_ALLOCATE","/nix/store/3ibr5yy13sxl2vb5rig8fivj85sqcvf2-cctools-port-949.0.1/bin/codesign_allocate"),("HOME","/var/empty"),("LANG","C.UTF-8"),("LC_CTYPE","UTF-8"),("LD_LIBRARY_PATH",""),("LIBRARY_PATH",""),("PATH","/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/bin:/nix/store/p90xw78bb3xsxg5v7k31qj5hpwm2pngp-llvm-12.0.1/bin:/nix/store/5havjxkv59cprx4czgi1lwnvv7y22dzi-posix-toolchain/bin"),("PWD","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/lsp-types"),("PYTHONPATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/bazel_tools:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/com_github_digital_asset_daml:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/local_config_cc:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_haskell:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_haskell_ghc_nixpkgs:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_python:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/bazel_tools:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/com_github_digital_asset_daml:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/rules_haskell"),("RULES_HASKELL_DOCDIR_PATH","/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0"),("RULES_HASKELL_EXEC_ROOT","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml"),("RULES_HASKELL_GHC_PATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/ghc"),("RULES_HASKELL_GHC_PKG_PATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg"),("RULES_HASKELL_LIBDIR_PATH","/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2"),("RUNFILES_DIR","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles"),("SDKROOT","macosx"),("SHLVL","0"),("TEMP","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("TMP","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("TMPDIR","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("__CF_USER_TEXT_ENCODING","0x1F5:0x0:0x0")]
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/haddock '@/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt'
   0% (  0 /  7) in 'Data.IxMap'
  Missing documentation for:
    Module header
    IxOrd (src/Data/IxMap.hs:17)
    IxMap (src/Data/IxMap.hs:21)
    emptyIxMap (src/Data/IxMap.hs:23)
    insertIxMap (src/Data/IxMap.hs:26)
    lookupIxMap (src/Data/IxMap.hs:31)
    pickFromIxMap (src/Data/IxMap.hs:37)
`cc' failed in phase `Linker'. (Exit code: 134)
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/haddock
returned ExitFailure 1
Target //compiler/damlc:damlc failed to build
ERROR: /Users/builder/daml-andreas/compiler/damlc/BUILD.bazel:38:9 Middleman _middlemen/compiler_Sdamlc_Sdamlc-runfiles failed: (Exit 1): cabal_wrapper failed: error executing command
  (cd /private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml && \
  exec env - \
    CABAL_VERBOSE=True \
    CC_WRAPPER_CC_PATH=external/local_config_cc/cc_wrapper.sh \
    CC_WRAPPER_CPU=darwin_arm64 \
    CC_WRAPPER_PLATFORM=darwin \
    LANG=C.UTF-8 \
    PATH=/nix/store/5havjxkv59cprx4czgi1lwnvv7y22dzi-posix-toolchain/bin \
    RULES_HASKELL_DOCDIR_PATH=/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0 \
    RULES_HASKELL_GHC_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc \
    RULES_HASKELL_GHC_PKG_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg \
    RULES_HASKELL_LIBDIR_PATH=/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2 \
    SDKROOT=macosx \
  bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types_cabal_wrapper_args.json)
Execution platform: @io_tweag_rules_nixpkgs//nixpkgs/platforms:host

Use --sandbox_debug to see verbose messages from the sandbox
INFO: Elapsed time: 344.702s, Critical Path: 329.09s
INFO: 49 processes: 14 internal, 35 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
```

* Disable create-daml-app tests on MacOS M1

These fail to build because puppeteer fails to install Chromium on M1.
See https://github.com/digital-asset/daml/pull/13250.

* Resign binaries after patching in package-app

Otherwise they fail to execute on MacOS Monterey on M1.
They symptom is that executing or otherwise loading the binary (e.g.
into lldb) fails with exit code -9 without further indications.

* Use GHC with LLVM on MacOS M1

The native backend only supports M1 starting from GHC 9.2. However, we
are still on GHC 9.0.

We wrap GHC to ensure that the LLVM toolchain and the codesign tool are
present in the environment and point to the correct versions provided by
nixpkgs.

* Update the CC toolchain for MacOS M1 compatibility

Use nixpkgs `nix-support/cc-cflags` file to provide default flags
instead of using `makeWrapper`. On M1 there was an issue where passing
`-l` flags or `-isystem` to `cc -v` would cause the following errors:

```
lang version 11.1.0
Target: aarch64-apple-darwin
Thread model: posix
InstalledDir: /nix/store/v6iidz79b425hli98g45xq9iblapn1zy-clang-11.1.0/bin
"/nix/store/b82mvqzvdx5mh1n9n77v8h5vk9fgqrxj-clang-wrapper-11.1.0/bin/ld" -demangle -lto_library /nix/store/v6iidz79b425hli98g45xq9iblapn1zy-clang-11.1.0/lib/libLTO.dylib -dynamic -arch arm64 -platform_version macos 11.0.0 0.0.0 -o a.out -L/nix/store/hc8a94w57ppwmn2gscm56pvlwi3zhyh1-libSystem-11.0.0/lib -L/nix/store/6f5ygwif1r523jj2qfwfiwix0fga4rgp-clang-11.1.0-lib/lib -L/nix/store/7pkxnbhpi0c10w18rirj8zxz3wv571nj-libcxx-11.1.0/lib -no_uuid -arch arm64 -lSystem /nix/store/b82mvqzvdx5mh1n9n77v8h5vk9fgqrxj-clang-wrapper-11.1.0/resource-root/lib/darwin/libclang_rt.osx.a
Undefined symbols for architecture arm64:
"_main", referenced from:
 implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
```

This also includes additional standard library search paths:
`-isystem ${llvmPackages_12.libcxx.dev}/include/c++/v1` alone is not
enough because some headers in it are [wrapper
headers](https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html) that
use `include_next` directives. For these to resolve we need to add the
compiler's builtin headers to the search path as well.

This also sets `-Wno-elaborated-enum-base` to avoid build failures of
absl on MacOS Monterey M1.
```
In file included from external/com_google_absl/absl/time/internal/cctz/src/time_zone_lookup.cc:26:                                                                                                                                                                              In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFTimeZone.h:13:
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:474:9: error: non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone declaration;
 missing list of enumerators? [-Welaborated-enum-base]
typedef CF_ENUM(CFIndex, CFComparisonResult) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:169:55: note: expanded from macro 'CF_ENUM'
\#define CF_ENUM(...) __CF_ENUM_GET_MACRO(__VA_ARGS__, __CF_NAMED_ENUM, __CF_ANON_ENUM, )(__VA_ARGS__)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:134:48: note: expanded from macro '__CF_ENUM_GET_MACRO'
\#define __CF_ENUM_GET_MACRO(_1, _2, NAME, ...) NAME
                                               ^
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:142:75: note: expanded from macro '__CF_NAMED_ENUM'
\#define __CF_NAMED_ENUM(_type, _name)     enum __CF_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type
                                                                          ^~~~~~~
                                                                          In file included from external/com_google_absl/absl/time/internal/cctz/src/time_zone_lookup.cc:26:                                                                                                                                                                              In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFTimeZone.h:18:
In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h:17:
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFCharacterSet.h:62:9: error: non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone decla
ration; missing list of enumerators? [-Welaborated-enum-base]
typedef CF_ENUM(CFIndex, CFCharacterSetPredefinedSet) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:169:55: note: expanded from macro 'CF_ENUM'
\#define CF_ENUM(...) __CF_ENUM_GET_MACRO(__VA_ARGS__, __CF_NAMED_ENUM, __CF_ANON_ENUM, )(__VA_ARGS__)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:134:48: note: expanded from macro '__CF_ENUM_GET_MACRO'
\#define __CF_ENUM_GET_MACRO(_1, _2, NAME, ...) NAME
                                               ^
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:142:75: note: expanded from macro '__CF_NAMED_ENUM'
\#define __CF_NAMED_ENUM(_type, _name)     enum __CF_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type                                                                                                                                                                                                                                               ^~~~~~~
...
```

* Link libc++ in fat_cc_library on MacOS

* Build on native ARM M1 instead of Rosetta

changelog_begin
changelog_end

* Drop unused ghcLLVMWrapper

* Select ghcWithLLVM within Nix

If we generally expose ghcWithLLVM from Nix and then select on the
Bazel, then we'd need to filter that derivation out from the Nix and
dev-tool build step on CI.

* fmt

* Update Node version in compatibility

* Expose node in PATH in create-daml-app test

It seems that the node update made the `--scripts-prepend-node-path`
flag less effective than it was before.

Without explicitly adding `node` to `PATH` the install step fails with
the following error:

```
Failure: Command "CreateProcess {cmdspec = RawCommand "/home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/1435/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-0.0.0-platform-2.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js" ["install","--scripts-prepend-node-path"], cwd = Nothing, env = Nothing, std_in = Inherit, std_out = Inherit, std_err = Inherit, close_fds = False, create_group = False, delegate_ctlc = False, detach_console = False, create_new_console = False, new_session = False, child_group = Nothing, child_user = Nothing, use_process_jobs = False}" exited with ExitFailure 127

npm ERR! code 127
npm ERR! path /tmp/extra-dir-7515936101075/create-daml-app/ui/node_modules/puppeteer
npm ERR! command failed
npm ERR! command sh -c node install.js
npm ERR! sh: line 1: node: command not found

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/extra-dir-7515936101074/_logs/2022-03-24T10_18_15_227Z-debug.log
```

* Skip create-daml-app compat tests pre 2.0.0

changelog_begin
changelog_end

In these tests the install step fails with the following error due to
mismatch babel-jest dependency versions:

```
==================== Test output for //:create-daml-app-1.8.1-platform-0.0.0:
Create Daml App tests
  Getting Started Guide: WARNING: Specifying the template via

    daml new create-daml-app create-daml-app

is deprecated. The recommended way of specifying the template is

    daml new create-daml-app --template create-daml-app

Created a new project in "create-daml-app" based on the template "create-daml-app".

> create-daml-app@0.1.0 test
> react-scripts test --testURL='http://localhost:7575'

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "babel-jest": "^24.9.0"

Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-jest was detected higher up in the tree:

  /tmp/extra-dir-3298351016846/create-daml-app/ui/node_modules/babel-jest (version: 25.5.1)

Manually installing incompatible versions is known to cause hard-to-debug issues.

If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.

To fix the dependency tree, try following the steps below in the exact order:

  1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
  2. Delete node_modules in your project folder.
  3. Remove "babel-jest" from dependencies and/or devDependencies in the package.json file in your project folder.
  4. Run npm install or yarn, depending on the package manager you use.

In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:

  5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
     This may help because npm has known issues with package hoisting which may get resolved in future versions.

  6. Check if /tmp/extra-dir-3298351016846/create-daml-app/ui/node_modules/babel-jest is outside your project directory.
     For example, you might have accidentally installed something in your home folder.

  7. Try running npm ls babel-jest in your project folder.
     This will tell you which other package (apart from the expected react-scripts) installed babel-jest.

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.

P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

FAIL (125.62s)
    Create app from template                          (0.05s)
    Patch the application code with messaging feature
    Extract codegen output                            (0.06s)
    Set up libraries and workspaces                   (0.01s)
    Install Jest, Puppeteer and other dependencies    (123.95s)
    Run Puppeteer end-to-end tests                    (1.54s)
      callProcess: /home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/2351/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-1.8.1-platform-0.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js "run" "test" "--ci" "--all" "--scripts-prepend-node-path" (exit 1): failed

1 out of 1 tests failed (125.62s)
================================================================================
```

Applying the suggested `SKIP_PREFLIGHT_CHECK=true` fix leads to the
following failure instead:

```
==================== Test output for //:create-daml-app-1.9.0-platform-0.0.0:
Create Daml App tests
  Getting Started Guide: WARNING: Specifying the template via

    daml new create-daml-app create-daml-app

is deprecated. The recommended way of specifying the template is

    daml new create-daml-app --template create-daml-app

Created a new project in "create-daml-app" based on the template "create-daml-app".

> create-daml-app@0.1.0 test
> react-scripts test --testURL='http://localhost:7575'

PASS src/components/App.test.tsx
  ● Console

    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:Message.
    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:User.

12:42:55.745 [program-resource-pool-4] INFO  c.d.l.sandbox.AkkaSubmissionsBridge - Instantiated Akka submissions bridge., context: {participantId: "sandbox"}
12:42:57.897 [program-resource-pool-3] INFO  c.d.ledger.sandbox.SandboxOnXRunner - Initialized sandbox-on-x with conflict checking ledger bridge, version 0.0.0, run-mode = combined participant, index DB backend = h2database, participant-id = sandbox, ledger-id = create-daml-app-sandbox, port = 0, time mode = wall-clock time, allowed language versions = [min = LanguageVersion(V1,LanguageMinorVersion(6)), max = LanguageVersion(V1,LanguageMinorVersion(14))], authentication = all unauthenticated allowed, contract ids seeding = strong
24-03-2022 12:43:02.413 [main] INFO  com.daml.http.Main - Config(ledgerHost=localhost, ledgerPort=34937, address=127.0.0.1, httpPort=7575, portFile=Some(json-api.port), packageReloadInterval=5 seconds, packageMaxInboundMessageSize=None, maxInboundMessageSize=4194304, tlsConfig=TlsConfiguration(false,None,None,None,None,REQUIRE,false,None), jdbcConfig=None, staticContentConfig=None, allowNonHttps=true, wsConfig=None, nonRepudiationCertificateFile=None, nonRepudiationPrivateKeyFile=None, nonRepudiationPrivateKeyAlgorithm=None, surrogateTpIdCacheMaxEntries=None), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:02.745 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  akka.event.slf4j.Slf4jLogger - Slf4jLogger started
24-03-2022 12:43:03.041 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.HttpService - HTTP Server pre-startup, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.251 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempting to connect to the ledger localhost:34937 (600 attempts), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.594 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempt 1/600 succeeded!, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.596 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempting to connect to the ledger localhost:34937 (600 attempts), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.600 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempt 1/600 succeeded!, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.601 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.HttpService - contractDao: None, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:04.132 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Main - Started server: (ServerBinding(/127.0.0.1:7575),None), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:05.280 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "2ab72d48-cdef-4e00-ac17-0afda5084008"}
24-03-2022 12:43:05.791 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "2ab72d48-cdef-4e00-ac17-0afda5084008"}

> create-daml-app@0.1.0 start
> react-scripts start

[HPM] Proxy created: function (pathname, req) {
  // Proxy requests to the http json api when in development
  const proxied = pathname.match("^/v1") && process.env.NODE_ENV === "development";

  if (proxied) {
    console.log(
      `Request with path ${pathname} proxied from host ${req.headers.host} to host ${httpJsonDevUrl}`
    );
  }

  return proxied;
}  -> http://localhost:undefined
ℹ 「wds」: Project is running at http://192.168.1.114/
ℹ 「wds」: webpack output is served from
ℹ 「wds」: Content not from webpack is served from /tmp/extra-dir-99443589994656/create-daml-app/ui/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

24-03-2022 12:43:07.495 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "ce0131fd-6a4c-4eb1-8c1b-6d68418fde82"}
24-03-2022 12:43:07.606 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "ce0131fd-6a4c-4eb1-8c1b-6d68418fde82"}
24-03-2022 12:43:07.623 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "a4d1c7b0-406c-4297-a690-66ba2b692f19"}
24-03-2022 12:43:07.725 [http-json-ledger-api-akka.actor.default-dispatcher-16] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "a4d1c7b0-406c-4297-a690-66ba2b692f19"}
24-03-2022 12:43:07.741 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "bf65790a-38bc-4686-aa15-607c3c24661a"}
24-03-2022 12:43:07.846 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "bf65790a-38bc-4686-aa15-607c3c24661a"}
24-03-2022 12:43:07.865 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "3ab06283-270c-4994-852c-92c8c3b34ecc"}
24-03-2022 12:43:07.964 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "3ab06283-270c-4994-852c-92c8c3b34ecc"}
24-03-2022 12:43:07.980 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "b332b66a-6231-4492-817d-a2c58c85d04c"}
24-03-2022 12:43:08.084 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "b332b66a-6231-4492-817d-a2c58c85d04c"}
24-03-2022 12:43:08.098 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8c77ce53-52b5-4e0c-993a-3f810b54bfec"}
24-03-2022 12:43:08.204 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8c77ce53-52b5-4e0c-993a-3f810b54bfec"}
24-03-2022 12:43:08.220 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8813ad99-79c7-42c4-9719-5bdcfeb5077e"}
24-03-2022 12:43:08.326 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8813ad99-79c7-42c4-9719-5bdcfeb5077e"}
24-03-2022 12:43:08.340 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "deeca40b-0f05-47c9-927d-f71b0fe08ccb"}
24-03-2022 12:43:08.444 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "deeca40b-0f05-47c9-927d-f71b0fe08ccb"}
24-03-2022 12:43:08.462 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "9be53420-eb4d-4ee3-9915-4a4381c51bea"}
24-03-2022 12:43:08.563 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "9be53420-eb4d-4ee3-9915-4a4381c51bea"}
24-03-2022 12:43:08.576 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8d64b076-ff2b-4f5b-8653-95e5e949cb34"}
24-03-2022 12:43:08.685 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8d64b076-ff2b-4f5b-8653-95e5e949cb34"}
24-03-2022 12:43:08.697 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "87246c50-00b7-453e-9771-83f176a3cbfc"}
24-03-2022 12:43:08.802 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "87246c50-00b7-453e-9771-83f176a3cbfc"}
24-03-2022 12:43:08.818 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "65bb8c95-a253-4ac5-a297-1abeff6ce44c"}
24-03-2022 12:43:08.920 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "65bb8c95-a253-4ac5-a297-1abeff6ce44c"}
24-03-2022 12:43:08.930 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/query from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "d45c0c95-1576-480c-b048-f59919a1d139"}
24-03-2022 12:43:10.016 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.PackageService - new package IDs loaded: bfcd37bd6b84768e86e432f5f6c33e25d9e7724a9d42e33875ff74f6348e733f, 518032f41fd0175461b35ae0c9691e08b4aea55e62915f8360af2cc7a1f2ba6c, cc348d369011362a5190fe96dd1f0dfbc697fdfd10e382b9e9666f0da05961b7, f78511c39cc293d5ed72acf5a4a81411af75a435df4106c5e37823af6589040b, 6839a6d3d430c569b2425e9391717b44ca324b88ba621d597778811b2d05031d, 99a2705ed38c1c26cbb8fe7acf36bbf626668e167a33335de932599219e0a235, 76bf0fd12bd945762a01f8fc5bbcdfa4d0ff20f8762af490f8f41d6237c6524f, e22bce619ae24ca3b8e6519281cb5a33b64b3190cc763248b4c3f9ad5087a92c, d58cf9939847921b2aab78eaa7b427dc4c649d25e6bee3c749ace4c3f52f5c97, 6c2c0667393c5f92f1885163068cd31800d2264eb088eb6fc740e11241b2bf06, c1f1f00558799eec139fb4f4c76f95fb52fa1837a5dd29600baa1c8ed1bdccfd, 733e38d36a2759688a4b2c4cec69d48e7b55ecc8dedc8067b815926c917a182a, 057eed1fd48c238491b8ea06b9b5bf85a5d4c9275dd3f6183e0e6b01730cc2ba, 52af8c65ac2c4b3d61637558935d2b0a92369ec4da39978a29f90a5f738f3e14, d14e08374fc7197d6a0de468c968ae8ba3aadbf9315476fd39071831f5923662, e491352788e56ca4603acc411ffe1a49fefd76ed8b163af86cf5ee5f4c38645b, 40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7, 8a7806365bbd98d88b4c13832ebfa305f6abaeaf32cfa2b7dd25c4fa489b79fb, bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef, context: {ledger_id: "create-daml-app-sandbox", cmd: "GetActiveContractsRequest(OneAnd(TemplateId(Some(bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef),User,User),Set()),Map(),None)", request_id: "d45c0c95-1576-480c-b048-f59919a1d139", instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", application_id: "create-daml-app", read_as: "List()", act_as: "List(party-c276900f)"}
24-03-2022 12:43:10.192 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "d45c0c95-1576-480c-b048-f59919a1d139"}
24-03-2022 12:43:10.420 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/create from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1"}
24-03-2022 12:43:10.490 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.CommandService - Submitting create command, context: {command_id: "9371a5a2-1ab5-4deb-8cec-ad21c0e620dc", ledger_id: "create-daml-app-sandbox", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1", instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", application_id: "create-daml-app", template_id: "TemplateId(bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef,User,User)", read_as: "List()", act_as: "List(party-c276900f)"}
24-03-2022 12:43:12.870 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1"}
24-03-2022 12:43:12.885 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/fetch from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd827c73-d3b8-4e42-877a-ce9af707da2a"}
24-03-2022 12:43:12.992 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd827c73-d3b8-4e42-877a-ce9af707da2a"}
24-03-2022 12:43:13.004 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/query from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "94adec23-cb1a-464b-9fad-8bf7da06b99f"}
24-03-2022 12:43:13.017 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "94adec23-cb1a-464b-9fad-8bf7da06b99f"}
24-03-2022 12:43:13.074 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42f7aaf6-f3f7-4138-a4c6-1be224c100bc"}
24-03-2022 12:43:13.121 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42f7aaf6-f3f7-4138-a4c6-1be224c100bc"}
Compiled successfully!

You can now view create-daml-app in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://192.168.1.114:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:43:53.540 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "f1da2b78-e020-40fc-b4cc-e635fc78f8fb"}
24-03-2022 12:43:53.681 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "f1da2b78-e020-40fc-b4cc-e635fc78f8fb"}
24-03-2022 12:43:53.690 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42e89b95-f5b7-4c39-bcd8-4264e86a924d"}
24-03-2022 12:43:53.802 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42e89b95-f5b7-4c39-bcd8-4264e86a924d"}
24-03-2022 12:43:53.814 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd54814b-fc1f-479b-b65a-1b3bc59392b8"}
24-03-2022 12:43:53.923 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd54814b-fc1f-479b-b65a-1b3bc59392b8"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:44:24.809 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "cde08b6a-68c1-4f7d-9d20-f5bde5c478aa"}
24-03-2022 12:44:24.880 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "cde08b6a-68c1-4f7d-9d20-f5bde5c478aa"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:44:55.691 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8dfa15a7-044d-41f7-9597-37662c2ff5ff"}
24-03-2022 12:44:55.818 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8dfa15a7-044d-41f7-9597-37662c2ff5ff"}
24-03-2022 12:44:55.828 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fe3af4d3-7e89-41a5-bfb3-ec639967a0f8"}
24-03-2022 12:44:55.938 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fe3af4d3-7e89-41a5-bfb3-ec639967a0f8"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
FAIL src/index.test.ts (154.562s)
  ● Console

    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:Message.
    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:User.

  ● log in as a new user, log out and log back in

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:313:3)

  ● log in as three different users and start following each other

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:349:3)

  ● error when following self

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:455:3)

  ● error when adding a user that you are already following

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:471:3)

Test Suites: 1 failed, 1 passed, 2 total
Tests:       4 failed, 3 passed, 7 total
Snapshots:   0 total
Time:        155.201s
Ran all test suites.
12:45:26.673 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.675 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.676 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.677 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
[WARN] [03/24/2022 12:45:26.723] [program-resource-pool-6] [CoordinatedShutdown(akka://sandbox-on-x)] Could not addJvmShutdownHook, due to: Shutdown in progress
[INFO] [03/24/2022 12:45:26.724] [program-resource-pool-6] [CoordinatedShutdown(akka://sandbox-on-x)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
24-03-2022 12:45:26.630 [shutdownHook1] INFO  com.daml.http.HttpService - Stopping server..., context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
12:45:26.648 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
FAIL (278.22s)
    Create app from template                          (0.04s)
    Patch the application code with messaging feature
    Extract codegen output                            (0.04s)
    Set up libraries and workspaces
    Install Jest, Puppeteer and other dependencies    (120.36s)
    Run Puppeteer end-to-end tests                    (157.77s)
      callProcess: /home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/2357/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-1.9.0-platform-0.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js "run" "test" "--ci" "--all" "--scripts-prepend-node-path" (exit 1): failed

1 out of 1 tests failed (278.22s)
================================================================================
```

* Revert "Skip create-daml-app compat tests pre 2.0.0"

This reverts commit 762e61941f164e5deb10fc752f391b69003377cf.

* Revert "Expose node in PATH in create-daml-app test"

This reverts commit 8541b39d0f1b36c63366b90f97a69f7d950c92c5.

* Revert "Update Node version in compatibility"

This reverts commit 389639402d19c3ffa714e22bc61e042f82070b74.

* Keep using NodeJS 14 for the compatibility tests

NodeJS 16 is needed for M1 compatibility, but it breaks the
compatibility tests. So, for now, we stick to the older version for the
compatibility tests.

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2022-04-07 17:50:53 +02:00
Moritz Kiefer
fbf97d1432
Change Canton synchronization to use the healthcheck endpoint (#13463)
changelog_begin
changelog_end
2022-03-30 16:31:13 +02:00
Gary Verhaegen
7f35d3dc27
update daml.com URLs (#13226)
Requested by Olivia Yu.

CHANGELOG_BEGIN
CHANGELOG_END
2022-03-09 18:15:40 +00:00
Moritz Kiefer
8a7aaa0c3d
Fix Windows linking issues (#13097)
I have to admit I still fdon’t fully understand why this sometimes
fails and sometimes doesn’t. It looks like some caching issue is
involved (e.g. currently builds in /d/a/2 succeed while builds in
/d/a/1 succed) but I’m not entirely sure that’s all.

This PR tries to address this in two ways:

1. Add the library when linking the Haskell bits instead of only on
the C library. I think this is required since we the final Haskell
binary is linked against the static cbits which does not carry a
reference to bcrypt but I’m not completely sure.
2. Rename the target to avoid interference with builds from before the
grpc upgrade. I suspect what is happening is that due to the lack of
sandboxing we sometimes end up picking up that library if it is in the
build tree from an older build instead of the new one.

changelog_begin
changelog_end
2022-02-28 08:35:30 +01:00
Moritz Kiefer
4699201a13
Fix Window linker errors (#13078)
Apparently https://github.com/digital-asset/daml/pull/13066 resulted
in linker errors but only on clean builds (I think). I don’t fully
understand why. The requirement from bcrypt seems to come from the
grpc upgrade but reverting that still leaves undefined symbol errors
to DbgHelp. Don’t really care enough to track it down given that this
fixes it.

changelog_begin
changelog_end
2022-02-25 10:14:08 +01:00
Moritz Kiefer
e40f62f88a
Revert "Switch to Bazel 5 (#12935)" (#12974)
This reverts commit 4c0118df4d.

This breaks passing -p to bazel test for Haskell tests, e.g.,

bazel test //compiler/damlc/tests:integration-v1dev --test_arg -p
--test_arg InterfaceEq

which breaks with something horrifying like

moritz@adjunction ~/daml (main)> bazel test //compiler/damlc/tests:integration-v1dev --test_arg -p --test_arg InterfaceEq
[dev-env] Building tools.bazel...
[dev-env] Built tools.bazel in /nix/store/m7gzlmr0pqjpl01ihgvazxgfs3sfwl61-bazel and linked to /home/moritz/daml/dev-env/var/gc-roots/bazel
[dev-env] Building tools.find...
[dev-env] Built tools.find in /nix/store/645v3545lcbx77wq7355rgdrgbhn5wx7-findutils-4.8.0 and linked to /home/moritz/daml/dev-env/var/gc-roots/find
INFO: Invocation ID: 034b3e45-851f-472e-ab71-b7f718829582
DEBUG: /home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/rules_haskell/haskell/private/versions.bzl:60:10: WARNING: bazel version is too recent. Supported versions range from 4.0.0 to 4.2.1, but found: 5.0.0- (@non-git)
/nix/store/dadkhf8vch2i2kvig962ilfr5j3chshr-go-1.17.6
/nix/store/pzh24n543i6jqa01hdmgqknlyf294bn1-bazel-nixpkgs-posix-toolchain
/nix/store/2hfwndk47wpvaib06qyhcdp83b423xvh-jq-1.6-bin
/nix/store/hjggs9s82qh7r5j8sgapn389hf24wdx8-bazel-nixpkgs-cc-toolchain
/nix/store/yxgg3bn4v288sc00kf09svrwz2r461c9-ghc-native-bignum-9.0.2
/nix/store/2hwx0jhcdsx3wfvmb50ih19jkh2ra4jh-glibc-locales-2.33-108
/nix/store/8wpmx049z8m0ffhy3jyi41qb6pbxwvy8-bazel-nixpkgs-java-runtime
ERROR: file 'external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.pic.o' is generated by these conflicting actions:
Label: @bazel_tools//src/tools/launcher:launcher
RuleClass: cc_binary rule
Configuration: 869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9, 8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c
Mnemonic: CppCompile
Action key: 3d79fe1470dcb842d5944c98dfe7a62715db6d86fdb12d3ff60af3bdf41b7996
Progress message: Compiling src/tools/launcher/dummy.cc
PrimaryInput: File:[/home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/bazel_tools[source]]src/tools/launcher/dummy.cc
PrimaryOutput: File:[[<execution_root>]bazel-out/k8-opt/bin]external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.pic.o
Owner information: ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9]}, ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c]}
MandatoryInputs: are equal
Outputs: are equal
ERROR: file 'external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o' is generated by these conflicting actions:
Label: @bazel_tools//src/tools/launcher:launcher
RuleClass: cc_binary rule
Configuration: 869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9, 8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c
Mnemonic: CppCompile
Action key: 9f46e824944add9e9951ef51ddb6cb4b744bc97f90b5749132179d1d1699dfa1
Progress message: Compiling src/tools/launcher/dummy.cc
PrimaryInput: File:[/home/moritz/.cache/bazel/_bazel_moritz/bb4e4404f889dc1b816f246b08c0d9ea/external/bazel_tools[source]]src/tools/launcher/dummy.cc
PrimaryOutput: File:[[<execution_root>]bazel-out/k8-opt/bin]external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o
Owner information: ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[869f6bbd14d2ac66dcacb164312d88fa059b017e3c17513cb5051b23879ac7f9]}, ConfiguredTargetKey{label=@bazel_tools//src/tools/launcher:launcher, config=BuildConfigurationValue.Key[8c138cc79f95329f01b0d325511ad0ea89ca5126e421e67e5239706d0f247c2c]}
MandatoryInputs: are equal
Outputs: are equal
ERROR: com.google.devtools.build.lib.skyframe.ArtifactConflictFinder$ConflictException: com.google.devtools.build.lib.actions.MutableActionGraph$ActionConflictException: for external/bazel_tools/src/tools/launcher/_objs/launcher/dummy.o, previous action: action 'Compiling src/tools/launcher/dummy.cc', attempted action: action 'Compiling src/tools/launcher/dummy.cc'

changelog_begin
changelog_end
2022-02-16 18:24:00 +00:00
Moritz Kiefer
4c0118df4d
Switch to Bazel 5 (#12935)
* Switch to Bazel 5

changelog_begin
changelog_end

* .

* .

changelog_begin
changelog_end
2022-02-16 10:47:05 +00:00
Moritz Kiefer
704de6dc35
Drop patch for mod package in lsp-types (#12921)
We needed this before the upgrade to GHC 9.0 due to our use of
integer-simple. With GHC 9.0 and the corresponding switch from
integer-simple to ghc-bignum native this is no longer required.

changelog_begin
changelog_end
2022-02-15 10:24:05 +01:00
Moritz Kiefer
01d827b7c4
Enable java_conversions in scalapb (#12784)
* Enable java_conversions in scalapb

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end
2022-02-07 14:57:57 +00:00
Brian Healey
e70237a673
upgrade scalapb/netty/grpc/protobuf in proven combination (#12628)
* upgrade scalapb/netty/grpc/protobuf in proven combination

CHANGELOG_BEGIN
Upgrade scalapb, netty, grpc, protobuf and guava versions
CHANGELOG_END

* bazel reformat

* match grpc version in deps.bzl

* upgrade akka

* keep grpc version to 1.43 that is used in latest nixpkgs-unstable

* rebase and regen

* update SHA for scalapb tarball

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2022-02-03 08:38:38 -05:00
Victor Peter Rouven Müller
aa45f48798
Upgrade to Scala 2.13.8 (#12506)
* Upgrade to Scala 2.13.8

changelog_begin
changelog_end

* Update hash for scala in nixpkgs

* update more hashes for scala upgrade

* Fix most warnings etc.

* Fix remaining errors etc.

* Fix formatting

* Resolve last errors hopefully

* Fix ledger api common build file

* Combine imports & revert accidental change that broke the CI run

* Rename exporting vals to scriptExport & minimize diff

* Remove more wrong changes

* moved warning around
2022-02-03 09:05:31 +00:00
Moisés Ackerman
e4764cc426
Upgrade to GHC 9.0.2 (#12300)
changelog_begin
changelog_end

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2022-02-01 11:27:11 +01:00
Moritz Kiefer
39a421eaf4
Drop unused silencer variable (#12640)
changelog_begin
changelog_end
2022-01-28 08:17:16 +01:00
Sofia Faro
53edac1fd7
Move some daml-script compat tests to sandbox-on-x (#12595)
* Move some daml-script compat tests to sandbox-on-x

The new sandbox doesn't accept LF < 1.14, so move those cases to
sandbox-on-x.

changelog_begin
changelog_end

* add comment

* buildifier
2022-01-26 17:43:34 +00:00
Moritz Kiefer
ea62021eaf
Upgrade ghcide (#12579)
* Upgrade ghcide

Spun out from the GHC 9 upgrade to make it easier to review. All
credit goes to Moisés.

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
2022-01-26 16:00:20 +01:00
Moritz Kiefer
16a4f0626b
Avoid explicitly listing all Oracle tests in build.yml (#12594)
changelog_begin
changelog_end
2022-01-26 11:28:44 +00:00
Moritz Kiefer
7bcce7c1aa
Upgrade rules-haskell (#12580)
Spun out from the GHC 9 upgrade.

changelog_begin
changelog_end
2022-01-26 10:12:30 +01:00
Moritz Kiefer
5bfe4ed589
Wait for server process in client_server_test (#12551)
withCreateProcess kills the server process but it doesn’t wait for it
to finish. The `typed-process` version does things properly here which
is also why we switched to it in other places.

changelog_begin
changelog_end
2022-01-24 20:21:23 +00:00
Stefano Baghino
aec3390904
Replace silencer plugin with built-in warning configuration (#12543)
Since Scala 2.13.2, Scala introduced built-in support to
manage warnings in a more granular fashion, thus making
the silencer plugin we are currently using no longer
strictly useful. Removing compiler plugins also removes
friction from migrating to Scala 3 in the future. As a
cherry on top, the built-in warning configuration also
allows to check whether a `@nowarn` actually does
anything, allowing us to proactively remove unused
warnings should the need arise.

[Here][1] is s a blog post by the Scala team about it.

Warnings have been either solved or preserved if useful,
trying to minimize the scope (keeping it at the single
expression scope if possible). In particular, all
remaining usages of the Scala Collection API compatibility
module have been removed.

Using the silencer plugin also apparently hid a few
remaining usages of compatibility libraries that were used
as part of the transition from Scala 2.12 to Scala 2.13
that are no longer needed. Removing those warnings
highlighted those.

changelog_begin
changelog_end

[1]: https://www.scala-lang.org/2021/01/12/configuring-and-suppressing-warnings.html
2022-01-24 15:01:35 +00:00
Sofia Faro
a5f56e0671
Use canton sandbox in script+trigger compat tests (#12514)
Part of #11831. This kills another two uses of sandbox-kv.

Also fixes a daml-helper issue where we weren't passing "localhost" to the
ledger flags, so it was complaining about starting outside of a project.

changelog_begin
changelog_end
2022-01-20 17:10:11 +00:00
Sofia Faro
09013eb501
Add eager timeouts to the polling functions used in daml start and assistant integration tests. (#12361)
* Add timeouts to polling funcs in daml start.

This PR adds timeouts to some polling functions used in daml start and
the assistant integration tests, and also early exits based on a process
exit status. E.g. waitForHttpServer will make sure some process is
still running, instead of waiting to timeout.

The effect of this is that now whenever there is some error in a
subprocess, daml start and the integration tests will finish early
instead of running forever (or timing out in bazel).

changelog_begin
changelog_end

* missing a readPortFile instance
2022-01-12 10:01:56 +00:00
Gary Verhaegen
d2e2c21684
update copyright headers (#12240)
New year, new copyright, new expected unknown issues with various files
that won't be covered by the script and/or will be but shouldn't change.

I'll do the details on Jan 1, but would appreciate this being
preapproved so I can actually get it merged by then.

CHANGELOG_BEGIN
CHANGELOG_END
2022-01-03 16:36:51 +00:00
Andreas Herrmann
c97f923d8c
Use more deterministic distdir path in haskell_cabal_* (#11963)
* Update rules_haskell

changelog_begin
changelog_end

* Use mostly deterministic distdir path

changelog_begin
changelog_end

Use a path for distdir in the `haskell_cabal_*` rules that is based on
the package name and deterministic unless there is a collision with an
already existing file or directory.

The distdir path enters flags that are passed to GHC and thereby enters
the 'flag hash' field of the generated interface files. If the distdir
path is indeterministic, then the interface file will also be
indeterministic.

* Pin com_google_protobuf to 3.17.3

The latest version of rules_haskell pins protoc to 3.19.1. However, this
generates code that also requires a more recent version of the Java
proto libraries. This change pins the protoc version at the same version
as the protobuf-java library, see https://github.com/protocolbuffers/protobuf/issues/9236.

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-12-02 19:25:26 +00:00
Andreas Herrmann
66b407467f
Update protobuf docs plugin (#11880)
* Try to upgrade protobuf docs plugin

changelog_begin
changelog_end

* Fix extension number 65020 is already registered

Building `//ledger-api/grpc-definitions:ledger-api-docs` [failed
with](https://github.com/digital-asset/daml/issues/11761#issuecomment-978947565)
```
panic: proto: extension number 65020 is already registered on message google.protobuf.FieldOptions
```

Go dependencies are now pulled in via Gazelle. By default Gazelle will
generate new proto rules for any `.proto` files encountered in third
party Go dependencies. However, many of these already have pregenerated
`.pb.go` files generate with the appropriate configuration.

The problem can be avoided by configuring Gazelle to not generate new
proto rules, but instead use pre-existing `.pb.go` files.

For reference the field number is set in
[go-proto-validators](32a686adf8/validator.proto (L19))
which is an indirect dependency through protoc-gen-doc.

In this case we need to update protoc-gen-validate to v0.6.2 to include
4f41f10dde
which fixes unknown label errors.

* ./fmt

* Expose gRPC status.proto for Haskell bindings

* Update Gazelle to support embedsrcs on Windows

`protoc-gen-doc` relies on `go:embed` file embedding
2dde01902b/resources.go (L8).
Gazelle supports `embedsrcs`, however, it did not generate the attribute
correctly on Windows due to the different directory separator. This is
fixed in https://github.com/bazelbuild/bazel-gazelle/pull/1101.

* Add gazelle to compatibility workspace

It's loaded into `@daml`'s top-level `BUILD` file and ends up being a
dependency of the compatibility workspace as well.

* shift go_googleapis import

* Delete dead code

protobuf is imported transitively.

* Document how to add Go dependencies

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-25 20:51:24 +00:00
Andreas Herrmann
2fde30d916
Disable writing volatile bits in Scala statsfile (#11875)
Make Scala targets deterministic by disabling writing milliseconds
timestamps into the statsfile.

Before (cache disabled)
```
$ n=1; bazel clean; bazel build //libs-scala/adjustable-clock --execution_log_json_file=execlog$n.json; rsync -aL bazel-bin output$n
$ n=2; bazel clean; bazel build //libs-scala/adjustable-clock --execution_log_json_file=execlog$n.json; rsync -aL bazel-bin output$n
$ diff -u execlog1.json execlog2.json
--- execlog1.json       2021-11-25 09:53:45.638891575 +0100
+++ execlog2.json       2021-11-25 10:01:52.831225558 +0100
@@ -311392,7 +311392,7 @@
   }, {
     "path": "bazel-out/k8-opt/bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/scala_version.statsfile",
     "digest": {
-      "hash": "1c535baa94812c16d33b6b3dcf2dec8e12b77e3a28cd1280ca2c9678840c4de6",
+      "hash": "a7f6f1b168649c1c5346ff92c69f0095b68781690e4b3f33321d8f35af8b3d77",
       "sizeBytes": "16",
       "hashFunctionName": "SHA-256"
     }
@@ -311705,7 +311705,7 @@
   }, {
     "path": "bazel-out/k8-opt/bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/dependency_analyzer.statsfile",
     "digest": {
-      "hash": "b3af662512a906ec56abfb222f43af189b88b00ae0449bd44c25b7e90689c4db",
+      "hash": "d6c6e2a36754efea4863593a838fbfb500a66e0150d3c3e2e2490ad65c22a2cd",
       "sizeBytes": "16",
       "hashFunctionName": "SHA-256"
     }
@@ -312025,7 +312025,7 @@
   }, {
     "path": "bazel-out/k8-opt/bin/libs-scala/adjustable-clock/adjustable-clock.statsfile",
     "digest": {
-      "hash": "4326088227e5ecf2c21e76ddb6d77c9692ef1689dd146f65ec1e75c235382251",
+      "hash": "8a6b23f3c64ce3ff171772808ca0064af52bc145a32d1b6398de124aeb813c97",
       "sizeBytes": "16",
       "hashFunctionName": "SHA-256"
     }
$ diff -r output1 output2
diff -ur output1/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/dependency_analyzer.statsfile output2/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/dependency_analyzer.statsfile
--- output1/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/dependency_analyzer.statsfile      2021-11-25 09:53:41.706824833 +0100
+++ output2/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/dependency_analyzer.statsfile      2021-11-25 10:01:49.047160467 +0100
@@ -1 +1 @@
-build_time=2507
+build_time=2522
diff -ur output1/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/scala_version.statsfile output2/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/scala_version.statsfile
--- output1/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/scala_version.statsfile    2021-11-25 09:53:39.110780774 +0100
+++ output2/bazel-bin/external/io_bazel_rules_scala/third_party/dependency_analyzer/src/main/scala_version.statsfile    2021-11-25 10:01:46.427115402 +0100
@@ -1 +1 @@
-build_time=4162
+build_time=3946
diff -ur output1/bazel-bin/libs-scala/adjustable-clock/adjustable-clock.statsfile output2/bazel-bin/libs-scala/adjustable-clock/adjustable-clock.statsfile
--- output1/bazel-bin/libs-scala/adjustable-clock/adjustable-clock.statsfile    2021-11-25 09:53:45.282885532 +0100
+++ output2/bazel-bin/libs-scala/adjustable-clock/adjustable-clock.statsfile    2021-11-25 10:01:52.511220053 +0100
@@ -1 +1 @@
-build_time=3158
+build_time=3100
```

After (cache disabled)
```
$ n=3; bazel clean; bazel build //libs-scala/adjustable-clock --execution_log_json_file=execlog$n.json; rsync -aL bazel-bin output$n
$ n=4; bazel clean; bazel build //libs-scala/adjustable-clock --execution_log_json_file=execlog$n.json; rsync -aL bazel-bin output$n
$ diff -u execlog3.json execlog4.json
$ diff -ur output3 output4
```

See https://github.com/bazelbuild/rules_scala/pull/1298

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-25 11:01:17 +00:00
Moritz Kiefer
5785bbfcfd
Drop LF < 1.14 from supported damlc output versions (#11701)
* Drop LF < 1.14 from supported damlc output versions

fixes #11319

We keep test coverage by depending on the most recent snapshot which
still has 1.14 support.

changelog_begin

- [Daml Compiler] Damlc can only produce Daml-LF 1.14 or
  newer. Passing aynthing older to `--target` is an error. If you
  need to produce older versions, use an older SDK.

changelog_end

* Switch around legacy_compiler_lf_versions

changelog_begin
changelog_end

* drop since-lf

changelog_begin
changelog_end
2021-11-22 16:20:17 +00:00
Moritz Kiefer
c8ace8b1cf
Factor kind projector target into a variable (#11759)
Seems nicer than trying to format a string everywhere

changelog_begin
changelog_end
2021-11-18 09:51:43 +01:00
Moritz Kiefer
bb19c0de91
Drop Scala 2.12 support (#11619)
* Drop Scala 2.12 support

This only includes the CI/build system infrastructure
changes. Dropping compatibility layers from our code for 2.12 can be
done separately.

This is fine even in the context of backport builds since we already
disable the Scala 2.12 job for those anyway.

fixes #11315

changelog_begin
changelog_end

* Update bazel-java-deps.bzl

Co-authored-by: pbatko-da <pawel.batko@digitalasset.com>

Co-authored-by: pbatko-da <pawel.batko@digitalasset.com>
2021-11-17 18:38:43 +01:00
Andreas Herrmann
a9de728575
Update rules_scala (#11616)
* Update rules_scala

Two patches have since been upstreamed and can be removed.

changelog_begin
changelog_end

* JMH deps were moved into a toolchain

https://github.com/bazelbuild/rules_scala/pull/1106

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-11 12:45:10 +00:00
Moritz Kiefer
afee94858f
Bump rules_nixpkgs (#11517)
We need to make some changes to have any chance of ARM support working
and I’d rather make those on top of the latest version.

Also deletes an unused patch.

changelog_begin
changelog_end
2021-11-03 12:02:46 +01:00
Moritz Kiefer
92495b0662
Upgrade nixpkgs (#11490)
* Upgrade nixpkgs

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end
2021-11-02 15:52:55 +01:00
Andreas Herrmann
cdd2accc26
Explicitly import Java runtime from Nix/dadew (#11411)
* Fix rules_scala Windows launcher

* Define nixpkgs_java_configure

To generate a java_runtime based on a Nix provided JDK similar to how it
is done with the Python and CC toolchain.

changelog_begin
changelog_end

* Enable Nix provided Java runtime on Linux and MacOS

* Define dadew_java_configure

To import a JDK and JAVA_HOME from dadew similar to
nixpkgs_java_configure.

* Enable dadew Java runtime on Windows

* Remove now unused java_home_runtime

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-11-01 18:18:45 +01:00
Hubert Slojewski
ac28e615b8
Update ScalaPB to the latest version (0.11.6) (#11409)
CHANGELOG_BEGIN
CHANGELOG_END
2021-10-28 09:28:02 +02:00
Hubert Slojewski
ad42dfa915
Update gRPC to the latest (1.41.0) and Protobuf (#11380)
CHANGELOG_BEGIN
CHANGELOG_END
2021-10-25 17:26:55 +00:00
Moritz Kiefer
dd09c38f4a
Upgrade rules-nodejs (#11290)
I got confused by an error and thought I might as well debug it on the
latest version instead of debugging it on 3.5.1.

changelog_begin
changelog_end
2021-10-19 14:13:55 +00:00
Samir Talwar
81fde97b87
Bazel: Call _wrap_rule directly when building the Scala REPL rule. (#11279)
If we build the dependency lists in the `_create_scala_repl` function,
we don't add the correct `scalac` options; specifically, we don't add
the Silencer option to ignore unused imports from
`scala.collection .compat`.

By passing directly to `_wrap_rule`, we compute the `scalac` options
correctly.

CHANGELOG_BEGIN
CHANGELOG_END
2021-10-18 14:57:06 +00:00
Moritz Kiefer
a9885797fe
Fix Scala repl targets (#11272)
We need _wrap_rule to make sure plugins like wartremover are also
correctly applied here.

We need jline because otherwise the repl starts but then fails because
jline isn’t in scope.

changelog_begin
changelog_end
2021-10-18 07:19:41 +00:00
Moisés Ackerman
0de7b2eae5
Use nix-provided gRPC on Unix-like OSs (#11031)
* Use nix-provided gRPC on Unix-like OSs

This fixes the da-ghcid command on macOS and Linux.

Unfortunately on macos at least on CI it still seems to segfault when
trying to run damlc in ghci. However, at least typechecking works
so this is clearly progress.

changelog_begin
changelog_end
2021-10-12 13:43:20 +02:00
nickchapman-da
51125991e5
Explicit discard in daml-lf/interpreter (#11067)
* Explicit discard to avoid NonUnitStatement.

CHANGELOG_BEGIN
CHANGELOG_END

* define lf_scalacopts_stricter in scala.bzl
2021-09-29 11:24:42 +00:00
Moritz Kiefer
bdad7d5c99
Upgrade Java on Windows (#10965)
* Upgrade Java on Windows

No reason to be stuck on an older patch release.

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end
2021-09-22 15:54:59 +00:00
pbatko-da
bd01a211f4
[DPP-418] Protect Participant TLS keys (#10629)
Adding support for accepting server's private key as an encrypted file (since storing unencrypted private key in a file system might be a risk).

Encrypted private key is assumed to be encrypted using AES or similar algorithm. The details necessary to decrypt it are be obtained from a secrets server over HTTP as JSON document. The URL to secret's server is supplied through the new `--secrets-url` CLI parameter.

One can supply private in either plaintext (old behavior) or ciphertext: if a private key's file ends with .enc suffix it is assumed to be ciphertext. Otherwise it is assumed to be plain text.

CHANGELOG_BEGIN
- [DPP-418] [Participant] Add support for supplying server's private key as an encrypted file and then decrypting it with the help of a secrets server.
CHANGELOG_END
2021-08-30 09:24:52 +02:00
Andreas Herrmann
7b94b0674e
Map shortened scala test suite names to long names on Windows (#10628)
* Generate short to long name mapping in aspect

Maps shortened test names in da_scala_test_suite on Windows to their
long name on Linux and MacOS.

Names are shortened on Windows to avoid exceeding MAX_PATH.

* Script to generate scala test name mapping

* Generate scala-test-suite-name-map.json on Windows

changelog_begin
changelog_end

* Generate UTF-8 with Unix line endings

Otherwise the file will be formatted using UTF-16 with CRLF line
endings, which confuses `jq` on Linux.

* Apply Scala test name remapping before ES upload

* Pipe bazel output into intermediate file

Bazel writes the output of --experimental_show_artifacts to stderr
instead of stdout. In Powershell this means that these outputs are not
plain strings, but instead error objects. Simply redirecting these to
stdout and piping them into further processing will lead to
indeterministically missing items or indeterministically introduced
additional newlines which may break paths.

To work around this we extract the error message from error objects,
introduce appropriate newlines, and write the output to a temporary file
before further processing.

This solution is taken and adapted from
https://stackoverflow.com/a/48671797/841562

* Add copyright header

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-08-24 17:03:45 +02:00
Samir Talwar
8dd136fc7d
bazel-tools: Replace runner with either runner_with_port_check or runner_with_port_file. (#10615)
* Use `extra` in the port file runner, rather than `temporary`.

* ledger-api-test-tool-on-canton: Use the port check runner.

Much simpler than the port file runner for our purposes.

* Replace `runner` with `runner_with_port_file`.

Rather than expecting a particular set of command-line-arguments, we use
templating.

CHANGELOG_BEGIN
CHANGELOG_END

* Rename the `runner_with_port_check` target to the default.
2021-08-18 15:23:45 +00:00
Samir Talwar
3227e860e0
Use the port file and dynamic port generation in client/server tests. (#10604)
* Use the port file and dynamic port generation in client/server tests.

This creates a runner named `runner_with_port_file` which knows how to
interpolate two variables, `%PORT_FILE%` and `%PORT%`. This allows us to
use the `port-file` argument to the kvutils runner rather than
hard-coding a port for conformance tests.

For now, we only use this for generating the kvutils reference ledger
export.

CHANGELOG_BEGIN
CHANGELOG_END

* Simplify the runner_with_port_file considerably.

It doesn't need to check if the port is open; we trust that the process
will do it.

This also makes sure the port file will be cleaned up, and reduces the
number of dependencies by making use of more functions in `extra`.

* Simplify port file generation in the new client-server runner.

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>

* Simplify the runner_with_port_file further.

This doesn't need to work if the server doesn't take a port file.

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-08-18 13:25:58 +00:00
Samir Talwar
41e60f7302
Upgrade to Scala 2.12.14 and 2.13.6. (#10573)
* Upgrade to Scala 2.12.14.

* Upgrade Scala to 2.13.6.

CHANGELOG_BEGIN
CHANGELOG_END

* compability: Re-pin the Maven dependencies.
2021-08-12 14:25:53 +00:00
Andreas Herrmann
68e60cacd3
Fix typo in windows extra libs patch (#10538)
changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-08-11 11:00:03 +02:00
Andreas Herrmann
881d0aba91
Upgrade rules_haskell and rules_nixpkgs (#10517)
* Update rules_haskell & rules_nixpkgs

changelog_begin
changelog_end

* remove unused patch

* Remove the strict-source-names patch

This patch was largely motivated by issues with directory outputs on
Windows occasionally producing empty outputs that would poison the
remote cache. However, we have continued seeing this type of issue
despite this patch and have since resorted to a regular fixup job that
cleans such empty items out of the cache.

With that the strongest motivation with this change is no longer valid
and it doesn't seem worth it to maintain it any longer.

changelog_begin
changelog_end

* Remove windows-remove-fake-libs patch

This patch was upstreamed.

* Update windows-extra-libraries patch

The GHC bindist patch is no longer required as it applied to GHC version
8.10.3 but we are using 8.10.4 instead.

* Remove cc-wrapper-windows patch

This was upstreamed.

* Remove protobuf-source patch

This was upstreamed

* Keep patches in sync between daml and compatibility

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-08-09 15:19:17 +02:00
Robin Krom
36f3ba8a6a
lsp-types patch for platform independence (#10288)
* fix shake rebuild tests

* patch pretty printing in ghc

* pin linux deps

* pin windows deps

* cosmetics

* address review

* update ghc commit hash

* pin linux stackage deps

* update stack snapshot

* pin windows deps
2021-08-04 21:33:52 +02:00
Moritz Kiefer
1b7f06e12d
Fix typo in protobuf url (#10442)
I’ll take this as a sign that I should stop working for today.

changelog_begin
changelog_end
2021-07-28 23:46:52 +00:00
Moritz Kiefer
9cb83100f1
Patch transitive protobuf dependency (#10441)
Part 2 of #10437

changelog_begin
changelog_end
2021-07-28 17:11:10 +00:00
Miklos
643a2de006
v2 participant state API draft [KVL-998] (#10210)
CHANGELOG_BEGIN
CHANGELOG_END
2021-07-12 18:11:52 +02:00
Moritz Kiefer
fa80f1b615
Bump ghcide and upgrade to lsp/lsp-types (#10139)
* Bump ghcide and upgrade to lsp/lsp-types

changelog_begin
changelog_end

* Bump rev

changelog_begin
changelog_end
2021-06-30 12:16:12 +00:00
Samir Talwar
c764fbe573
contextualized-logging: Introduce different logging types for more structure. [KVL-996] (#10134)
* contextualized-logging: Automatically convert logging values to strings.

For now, this has almost the same behavior, but it allows us to
customize the output in the future.

The main change is that the log format has gone from:

    context: {a=b, x=1, foo=bar}

to:

    context: {a: "b", x: "1", foo: "bar"}

* contextualized-logging: Move `writeTo` inside `LoggingValue`.

* contextualized-logging: Allow for more than just strings.

`null`, numbers, and sequences are now correctly logged.

The log format has gone from:

    context: {a: "b", x: "1", foo: "bar", parties: "[alice, bob]"}

to:

    context: {a: "b", x: 1, foo: "bar", parties: ["alice", "bob"]}

CHANGELOG_BEGIN
- The log output of Daml components has changed so that the structured
  part is closer to JSON. This allows us to distinguish and parse
  numbers and lists. If you are parsing this log output, you may need to
  change your parser.

  The log output has changed from:

  .. code-block::

     context: {a=b, x=1, foo=bar, parties=[alice, bob]}

  to:

  .. code-block::

     context: {a: "b", x: 1, foo: "bar", parties: ["alice", "bob"]}

CHANGELOG_END

* contextualized-logging: Extract the string serializer.

* Use non-string logging where possible.

* contextualized-logging: Split logging values from serialization.

So that callers don't have to know about Jackson.

* contextualized-logging: `SeqView` is `Iterable`. Don't need both.

* contextualized-logging: Make `ToStringToLoggingValue` a `val`.

Co-Authored-By: Stephen Compall <stephen.compall@daml.com>

* contextualized-logging: Add a transient dependency for 2.12 only.

This required more infrastructure than I thought it would.

* kvutils: Make it explicit that we're logging the hashes of archives.

The implicit was found to be a little confusing.

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2021-06-29 09:16:26 +00:00
Samir Talwar
63c471fa79
Upgrade protobuf-java and scalapb. [KVL-938] (#9713)
* Upgrade protobuf-java and scalapb.

CHANGELOG_BEGIN
CHANGELOG_END

* Bazel: Generate ScalaPB classes without `unknownFields`.

This is very annoying because it means that extractors need an extra
`_` for no good reason. It also breaks Circe's automatic derivation.

Including unknown fields is the default behavior in Protocol Buffers for
Java now, and we'll probably have to reckon with it at some point, but
let's kick that can down the road a little.

* Upgrade protobuf-java to 3.17.1.

This is identical to 3.17.0, but let's track it anyway.

* Bazel: Move ScalaPB versions into their own file.

They don't need to go into the generated one.
2021-05-27 13:41:28 +00:00
Moritz Kiefer
87a1198318
Publish nameof library (#9798)
* Publish nameof library

changelog_begin
changelog_end

* Fix version suffix on builtins

changelog_begin
changelog_end
2021-05-26 09:58:02 +00:00
Moritz Kiefer
77e6fd6aa9
Bump rules_nodejs to 3.5.1 (#9796)
Just cleaning up the mess I produced with the 3.5.0 upgrade (or more
like moving the mess into rules_nodejs).

changelog_begin
changelog_end
2021-05-26 10:35:18 +02:00
Moritz Kiefer
cae429237e
Upgrade rules-nodes to version 3.5.0 (#9635)
* Upgrade rules-nodes to version 3.4.2

No particularly strong reason for doing that. I just like staying up2date.

changelog_begin
changelog_end

* Patch Windows

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end

* .

changelog_begin
changelog_end
2021-05-25 16:04:39 +02:00
Andreas Herrmann
10177d239e
Add golden test for example Daml ledger export (#9732)
* client_server_build - user defined outputs

Let the user define a list of output files on client_server_build.

changelog_begin
changelog_end

* daml-script runner expose main(config)

changelog_begin
changelog_end

* Add an example Daml ledger export to the docs

* Build Daml ledger export

changelog_begin
changelog_end

* sh_inline_test

Support toolchain arguments to sh_inline_test. Usefuly for make variable
expansion, e.g. for the POSIX toolchain.

* Add a golden test for Daml ledger export

* Test args files as well

* Use sed from POSIX toolchain

* Add normalization comment to top-level comment

* Ignore trailing CR on Windows

The JSON formatting of the args file uses Windows line endings on
Windows. Therefore, the args.json output technically differs from the
expected output. We're happy to ignore the difference in CRLF here.

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-05-19 12:02:14 +00:00
Moritz Kiefer
b1738c7202
Switch Scala default to 2.13 (#9699)
changelog_begin
changelog_end
2021-05-17 15:04:53 +00:00
Andreas Herrmann
010e2b1b27
Fix client_server_build/test with port file (#9701)
* client_server runner - use temp dir for port file

The sandbox will not overwrite an already existing port file but instead
fail, or worse, silently ignore the error and leave the port-file empty.

changelog_begin
changelog_end

* sandbox: Fail if writing the port file fails

So far this was being silently ignored, leaving a pre-existing port-file
untouched.

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-05-17 11:36:25 +00:00
Stephen Compall
ca9e89b3da
check whether collection.compat is unused when compiling for Scala 2.12 (#9604)
* check whether collection.compat is unused when compiling for Scala 2.12

- Instead of always suppressing warnings for collection.compat._,
  we should only do it for Scala 2.13

- We can also reduce boilerplate by automatically adding this
  option when both silencer_plugin and collection-compat are
  present

CHANGELOG_BEGIN
CHANGELOG_END

* remove unused import

* remove another unused import

* remove even more unused imports

* missed compat dependency

* more missed compat dependencies

* missed compat dependency

* use scala_deps in scaladoc_jar

- #8423 inlined the major version expansion, but this seems to
  have been prior to proper support by scaladoc_jar

* restore custom handling of participant-integration-api

- fixing scaladoc_jar isn't worth it for a single case, as with
  deps vs scala_deps
2021-05-11 21:54:14 +00:00
Samir Talwar
d3106682dd
Add a REPL for each Scala target, for debugging. (#9643)
* Add a REPL for each Scala target, for debugging.

For each Scala library target, this adds a `*_repl` target that can be
built and run to provide a Scala REPL with access to the library and all
its dependencies.

To use:

```
$ bazel build //ledger/ledger-on-memory:ledger-on-memory_repl
INFO: Invocation ID: f1c4ec07-68e7-4bc2-a182-40f6ea035110
INFO: Analyzed target //ledger/ledger-on-memory:ledger-on-memory_repl (32 packages loaded, 714 targets configured).
INFO: Found 1 target...
Target //ledger/ledger-on-memory:ledger-on-memory_repl up-to-date:
  bazel-bin/ledger/ledger-on-memory/ledger-on-memory_repl.jar
  bazel-bin/ledger/ledger-on-memory/ledger-on-memory_repl
INFO: Build completed successfully, 7 total actions

$ ./bazel-bin/ledger/ledger-on-memory/ledger-on-memory_repl
Welcome to Scala 2.12.13 (OpenJDK 64-Bit Server VM, Java 1.8.0_272).
Type in expressions for evaluation. Or try :help.

scala> import scala.concurrent.ExecutionContext.Implicits.global
scala> import com.google.protobuf.ByteString
scala> import com.daml.ledger.on.memory._
scala> import com.daml.ledger.participant.state.kvutils.OffsetBuilder
scala> import com.daml.ledger.participant.state.kvutils.Raw
scala> import com.daml.ledger.participant.state.kvutils.api.LedgerRecord

scala> val state = InMemoryState.empty
state: com.daml.ledger.on.memory.InMemoryState = com.daml.ledger.on.memory.InMemoryState@ff21443

scala> state.write { (log, state) => Future { log += LedgerRecord(OffsetBuilder.fromLong(1), Raw.LogEntryId(ByteString.copyFromUtf8("A")), Raw.Envelope(ByteString.EMPTY)) } }
```

The REPL target has the tag "manual", so will only be built on demand.

CHANGELOG_BEGIN
CHANGELOG_END

* Turns out you can run a REPL with `bazel run`.
2021-05-11 14:11:58 +00:00
Stefano Baghino
8f6c92d409
Use common compiler plugins and options for the scaladoc_jar rule (#9558)
changelog_begin
changelog_end

Removes the following error message:

```
> bazel build //ledger-service/...
INFO: Invocation ID: a6259f2e-b4d2-445f-9fed-f1a456ba49b9
INFO: Analyzed 105 targets (0 packages loaded, 0 targets configured).
INFO: Found 105 targets...
INFO: From ScaladocGen ledger-service/http-json/http-json-ce_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 179 documentable templates
INFO: From ScaladocGen ledger-service/http-json/http-json-ee_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 179 documentable templates
INFO: From ScaladocGen ledger-service/http-json-testing/ee_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 21 documentable templates
INFO: From ScaladocGen ledger-service/http-json-testing/ce_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 21 documentable templates
INFO: From ScaladocGen ledger-service/http-json-perf/http-json-perf-ee_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 27 documentable templates
INFO: From ScaladocGen ledger-service/http-json-perf/http-json-perf-ce_scaladoc_tmpdir:
error: bad option: -P:wartremover:traverser:org.wartremover.warts.NonUnitStatements
model contains 27 documentable templates
INFO: From ScaladocGen ledger-service/http-json/integration-tests-lib-ce_scaladoc_tmpdir:
model contains 14 documentable templates
INFO: From ScaladocGen ledger-service/http-json/integration-tests-lib-ee_scaladoc_tmpdir:
model contains 14 documentable templates
INFO: Elapsed time: 145.575s, Critical Path: 144.69s
INFO: 43 processes: 6 remote cache hit, 1 internal, 22 linux-sandbox, 14 worker.
INFO: Build completed successfully, 43 total actions
```
2021-05-03 15:06:05 +00:00
Moritz Kiefer
4aca199bbd
Upgrade to Scala 2.13.5 (#9528)
changelog_begin
changelog_end
2021-04-29 13:05:57 +00:00
Moritz Kiefer
0075ff1899
Pass along tags in da_scala_test_suite (#9521)
changelog_begin
changelog_end
2021-04-28 09:14:27 +02:00
Samir Talwar
8cd3658b14
Switch to an environment variable for enabling Oracle tests. (#9511)
* participant-integration-api: Build Oracle tests, but don't run them.

CHANGELOG_BEGIN
CHANGELOG_END

* triggers: Switch to an environment variable for enabling Oracle tests.

* http-json: Switch to an environment variable for enabling Oracle tests.

* Disable running Oracle tests by default, not building them.

* triggers/service: Remove unused test dependencies.
2021-04-27 11:50:39 +00:00
Samir Talwar
e1af564bcc
Switch from @silent to @nowarn. (#9498)
* Switch from `@silent` to `@nowarn`.

This annotation is native to Scala 2.12.13+ and 2.13.2+. It replaces
most usages of `@silent`.

I had to get creative about a couple of use cases that didn't work.
Specifically:

  1.  Suppressing deprecation warnings works, but Scala 2.12 erroneously
      complains that the `@nowarn` is unnecessary.  I had to suppress
      this warning too with `-Ywarn-unused:-nowarn`.
  2.  I can't seem to suppress the warning, "The outer reference in this
      type test cannot be checked at run time." Instead, I have
      refactored the code to remove the warning.

We still need to use the silencer plugin to suppress some warnings about
unused imports (because of compatibility between Scala 2.12 and 2.13),
but this means we no longer need the library, and therefore it is not a
transitive dependency that downstream consumers need to worry about.

CHANGELOG_BEGIN
CHANGELOG_END

* Add some comments around `@nowarn` support.

* language-support/scala: Fix a warning suppression.

* Revert to the default warnings.

Compatibility was complaining.
2021-04-26 19:46:14 +00:00
Samir Talwar
3db928c548
compatibility: Use the same Scala version as the root. (#9502)
* compatibility: Use the same Scala version as the root.

It's confusing to get out of sync. `compatibility` was using Scala
2.12.12 while the root was on 2.12.13.

This brings them in sync to 2.12.13.

CHANGELOG_BEGIN
CHANGELOG_END

* Factor out Scala artifacts into scala_version.bzl.

* Bazel: Explicitly specify artifact hashes for Scala 2.13.

Not strictly necessary, as we _happen_ to depend on the same point
release as the Bazel Scala plugin, but this is incidental and we don't
want to bank on it.
2021-04-26 17:49:43 +00:00
Samir Talwar
6035840d8a
Upgrade Scala 2.12 to v2.12.13. (#9280)
* Upgrade Scala 2.12 to v2.12.13.

This is being pulled in anyway because of Maven/Gradle/etc's fun
"favor the most recent" resolution mechanism. The version of Akka we
depend upon transitively depends on Scala 2.12.13, so any downstream
consumers will see that as the Scala version required.

Bringing the Daml repo in line means no more confusion.

CHANGELOG_BEGIN
- [Scala Bindings] If you are using Daml on Scala 2.12, it now depends
  on Scala v2.12.13 (from v2.12.12).
CHANGELOG_END

* Scala 2.12.13 is the default version in our pinned version of nixpkgs.

* Upgrade Scala 2.13's Wartremover version.

* Rename `scala_version_rule` to `scala_version_configure`.

* Add a test case to ensure the Scala versions are the same everywhere.

* Add tests for the Scala JAR versions in maven_install_*.json

* gatling-utils: Change the sort order of the expected CSV in tests.

I don't know why this changed, but it seems to be stable.

* compatibility: `scala_version` -> `scala_version_configure`.

* Bazel: Disable the Scala version tests on Windows.

* compatibility: Upgrade Wartremover to Scala 2.12.13.
2021-03-30 11:02:18 +00:00
Sofia Faro
e6ea8fa9b3
Start adding exception syntax support. (#8960)
* Start adding exception syntax support.

changelog_begin
changelog_end

* .

* ..

* . .

* ....

* .___.

* ..__..

* ._._._.

* update stack snapshot

* recompile ghc-lib

* update stackage

* add CmmParse patch

* incorporate CmmParse.y patch into ghc branch

* Add a first test for exception syntax desugaring.

* Add a test for multiple message declarations

* update ghc patch

* Update duplicate message test with location

* add brackets test

* Add final patch SHA

* update stack-snapshot and unpin for unix

* Update stackage pin on windows
2021-03-10 12:07:53 +00:00
Andreas Herrmann
f4eeed396a
Update rules_haskell (#8987)
changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-03-03 10:40:26 +01:00