`cabal` seems to want to download a newer c2hs than what is available on path at
the current nixpkgs pin, and I haven't been able to figure out how to force it
to do otherwise (open to suggestions).
For now, we just cabal slurp it from Hackage rather than using the nixpkgs
version. /shrug
A bunch of files have been missing from the tarballs created by `cabal
sdist`. I’ve changed the nix config to check for this and also found
some examples that I forgot to update in a previous PR (sorry about
that).
This is a "shallow" update, meaning that there are still several dependencies
(such as `grpc` or Haskell packages) that are still pinned and those pins might
not be necessary any longer after this change.
* Squash merge from branch `joel-fix-build-issues-and-broken-tests`
* Update `proto3-wire` and `proto3-suite` refs in `stack.yaml`
* Update `proto3-wire` and `proto3-suite` refs via `cabal2nix` for `nix` builds
* Remove `compile-proto-file` from the repo, as it is now available via `proto3-suite`
* Update `proto3-suite` ref in `stack.yaml`
* Update `proto3-suite` ref via `cabal2nix` for `nix` builds
* Update `proto3-suite` and `proto3-wire` gitrevs
* Regenerate Echo and Arithmetic example modules from their respective .protos
* Fix typo
We no longer require the `--with-gcc=clang` flag and it can cause
failed builds such as the one described in #19. I tested that the
`cabal` workflow works on OS X and NixOS without this flag
* update for reorganized headers in gRPC v1.1: https://github.com/grpc/grpc/pull/7559
* update nix files
* rename all gpr_slice to grpc_slice since we can't be backwards compatible anyway
* use gRPC 1.1.4
* now compatible with gRPC 1.2.0
* use nixpkgs 17.03 to get protobuf3_2, newer proto3-* deps, fix some warnings
* another warning
* Pin nixpkgs to `7ae9da426924537755ce9164fd5b5f81ce16a1c3`; minor documentation tweaks
* Remove use of `fetchgitPrivate` from `proto3-suite` toplevel pkg override attr def
* Update tests.patch
* release.nix fixes for building and running cabal test suite from inside the nix-shell environment
* Update build instructions
* More README updates
* Fix stack tooling and improve documentation
* Update grpc sha256, cleanup build instructions
* Whups, DYLD_LIBRARY_PATH and substituteInPlace is still needed for hydra / macos builds with no brew-installed grpc!
* PR feedback tweaks
This updates the `release.nix` to now correctly run the test suite. You can
now build and test `grpc-haskell` by running:
```
$ nix-build -A grpc-haskell release.nix
```
... and `nix-shell` has been updated, too, so that you can do `cabal`
development inside of a `nix-shell` by running:
```
$ nix-shell -A grpc-haskell.env release.nix
```
For people who prefer to use `stack` you can still just build the `grpc`
library by running:
```
$ nix-build -A grpc release.nix
```
... then pass that library as input to `stack`
* update channel arg names, add compression level arg support, add compression level arg test
* switch to temp test demonstrating bug in grpc 0.15.0
* memset op array to 0
* switch examples back
* Switch to newer `grpc` and enable tests in `release.nix`
* Split out `simple-server` test into separate shell script
* Fix bash invocation
* Add intermediate `./default-tests.nix` build
* Add `tests.patch` to version control
* Split `python` command into separate script
* Provide `python` via `nix`
We now have Jenkins enabled for `gRPC-haskell` which verifies that
`nix-build release.nix` passes for each pull request.
`master` currently doesn't build, and this is the first pull request to fix the
build by adding the recently introduced `sorted-list` dependency to the `nix`
build. This was done by running `cabal2nix . > default.nix` and also adding a
newer version of `sorted-list` to the `release.nix` file. `nixos-16.03`
uses an older version of `sorted-list` which doesn't have an `IsList` instance for
`SortedList`.
The purpose of this is two-fold:
* To demonstrate an example of how to build the repository (which is non-trivial
due to the `grpc` dependency)
* To eventually be used within CI (via `nix-build release.nix`)