Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/trunk' into series/M2
Browse files Browse the repository at this point in the history
  • Loading branch information
pchiusano committed Aug 20, 2021
2 parents 233145c + 53b513c commit 4d13caf
Show file tree
Hide file tree
Showing 212 changed files with 7,482 additions and 4,357 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ jobs:
unison-core/.stack-work
yaks/easytest/.stack-work
# Main cache key: commit hash. This should always result in a cache miss...
key: stack-work-0_${{matrix.os}}-${{github.sha}}
key: stack-work-2_${{matrix.os}}-${{github.sha}}
# ...but then fall back on the latest cache stored (on this branch)
restore-keys: stack-work-0_${{matrix.os}}-
restore-keys: stack-work-2_${{matrix.os}}-

# Install stack by downloading the binary from GitHub. The installation process is different for Linux and macOS,
# so this is split into two steps, only one of which will run on any particular build.
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@ scratch.u
.stack-work
stack.yaml.lock

# Cabal
dist-newstyle

# GHC
*.hie
5 changes: 5 additions & 0 deletions CONTRIBUTORS.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,8 @@ The format for this list: name, GitHub handle, and then optional blurb about wha
* Nigel Farrelly (@nini-faroux)
* Johannes Huster (@JohannesHuster)
* Joseph Morag (@jmorag)
* Tavish Pegram (@tapegram)
* Javier Neira (@jneira)
* Simon Højberg (@hojberg)
* David Smith (@shmish111)
* Chris Penner (@ChrisPenner)
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ $ stack --version # we'll want to know this version if you run into trouble
$ stack build && stack exec tests && stack exec unison
```

To run a local codebase-ui while building from source, you can use the `/dev-ui-install.sh` script. It will download the latest release of the codebase-ui and put it in the expected location for the unison executable created by `stack build`. When you start unison, you'll see a url where the codebase-ui is running.

See [`development.markdown`](development.markdown) for a list of build commands you'll likely use during development.

Codebase Server
Expand Down
18 changes: 0 additions & 18 deletions codebase2/codebase-sync/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,3 @@ library:

dependencies:
- base
- bytes
- bytestring
- containers
- extra
- here
- lens
- monad-validate
- mtl
- sqlite-simple
- text
- transformers
- unison-codebase
- unison-core
- unison-util
- unison-util-serialization
- unison-util-term
- unliftio
- vector
20 changes: 1 addition & 19 deletions codebase2/codebase-sync/unison-codebase-sync.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: 3bad1e2687a54aa39423bfd2dc30d8c1ccc8a42b88eb9e10f78cb4c858e92340
-- hash: a62b0e8dbabe51c01ebc0871290e2427a734c0fbf9e78aee138b2bdad34d2704

name: unison-codebase-sync
version: 0.0.0
Expand All @@ -25,22 +25,4 @@ library
./
build-depends:
base
, bytes
, bytestring
, containers
, extra
, here
, lens
, monad-validate
, mtl
, sqlite-simple
, text
, transformers
, unison-codebase
, unison-core
, unison-util
, unison-util-serialization
, unison-util-term
, unliftio
, vector
default-language: Haskell2010
2 changes: 0 additions & 2 deletions codebase2/core/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,5 @@ library:
dependencies:
- base
- containers
- text
- vector
- prelude-extras # deprecated in favor of base
- unison-util
4 changes: 1 addition & 3 deletions codebase2/core/unison-core.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: 0bf63b27f45cff424f3fe8db50af886c47b614dee705f88e4f95d96a91efe6b7
-- hash: f696d0f997ab3afba6494f5932ac232d27e77073a331ab64d3c8b7929d1deb3a

name: unison-core
version: 0.0.0
Expand All @@ -27,8 +27,6 @@ library
build-depends:
base
, containers
, prelude-extras
, text
, unison-util
, vector
default-language: Haskell2010
2 changes: 0 additions & 2 deletions codebase2/util-serialization/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ dependencies:
- bytes
- bytestring
- containers
- extra
- filepath
- text
- text-short
- unliftio
- vector
- unison-util
4 changes: 1 addition & 3 deletions codebase2/util-serialization/unison-util-serialization.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: a3d15e9e483a852609dc7b9c2177cdb29eca32e730651dbbbaac7247b615774b
-- hash: 0dd31d457a6c3bc41017d163374947c1c31752279ce7ce77bc5772150101afe1

name: unison-util-serialization
version: 0.0.0
Expand All @@ -22,11 +22,9 @@ library
, bytes
, bytestring
, containers
, extra
, filepath
, text
, text-short
, unison-util
, unliftio
, vector
default-language: Haskell2010
1 change: 0 additions & 1 deletion codebase2/util/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ dependencies:
- bytestring
- containers
- cryptonite
- extra
- lens
- memory
- safe
Expand Down
3 changes: 1 addition & 2 deletions codebase2/util/unison-util.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: bc7f7157a2b554df63f114447a2a6798a365df3d483cec8e3b87c0770992ac36
-- hash: a8102baaf0e3fe04c94f0f13427e916237c029cf7554b4ca709684c48ff0b3b0

name: unison-util
version: 0.0.0
Expand Down Expand Up @@ -41,7 +41,6 @@ library
, bytestring
, containers
, cryptonite
, extra
, lens
, memory
, safe
Expand Down
64 changes: 58 additions & 6 deletions contrib/cabal.project
Original file line number Diff line number Diff line change
@@ -1,10 +1,62 @@
packages: unison-core/ parser-typechecker/ yaks/easytest/ yaks/haskeline/
packages:
yaks/easytest
parser-typechecker
unison-core
codebase2/codebase
codebase2/codebase-sqlite
codebase2/codebase-sync
codebase2/core
codebase2/util
codebase2/util-serialization
codebase2/util-term

allow-newer: base, directory, filepath
source-repository-package
type: git
location: https://github.com/unisonweb/configurator.git
tag: e47e9e9fe1f576f8c835183b9def52d73c01327a

package unison-core
ghc-options: -Werror -Wno-type-defaults
source-repository-package
type: git
location: https://github.com/unisonweb/haskeline.git
tag: 2944b11d19ee034c48276edc991736105c9d6143

package unison-parser-typechecker
ghc-options: -Werror -Wno-type-defaults
source-repository-package
type: git
location: https://github.com/unisonweb/megaparsec.git
tag: c4463124c578e8d1074c04518779b5ce5957af6b

allow-newer:
haskeline:base

-- For now there is no way to apply ghc-options for all local packages
-- See https://cabal.readthedocs.io/en/latest/cabal-project.html#package-configuration-options
package easytest
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package parser-typechecker
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package codebase
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package codebase-sqlite
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package codebase-sync
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package core
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package util
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package util-serialization
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

package util-term
ghc-options: -Wall -Werror -Wno-name-shadowing -Wno-type-defaults -Wno-missing-pattern-synonym-signatures -fprint-expanded-synonyms -fwrite-ide-info

-- This options are applied to all packages, local ones and also external dependencies.
package *
ghc-options: -haddock
31 changes: 18 additions & 13 deletions development.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,21 @@ That will generate a `<executable-name>.prof` plain text file with profiling dat

## Building with cabal

Unison can also be built/installed with cabal. You'll need ghc 8.6.x to
successfully build its dependencies. The provided project file is also in
contrib/ so you'll need to specify its location on the command line.

* To configure the build, you can use e.g. `cabal v2-configure
--project-file=contrib/cabal.project --with-ghc=ghc-8.6.5` if you have
multiple versions of GHC installed
* To build all projects use `cabal v2-build --project-file=contrib/cabal.project all`
* Tests can be run with e.g. `cabal v2-run --project-file=contrib/cabal.project
parser-typechecker:tests`
* The executable can be installed with `cabal v2-install
--project-file=contrib/cabal.project unison` the install directory can be
modified by setting `installdir: ...` in `.cabal/config`
Unison can also be built/installed with cabal. You'll need the same ghc
used by `stack.yaml` to successfully build its dependencies.
The provided project file is also in contrib/ so you'll need to specify
its location on the command line.

* To build all projects use

`cabal v2-build --project-file=contrib/cabal.project all`

* Tests can be run with e.g.

`cabal v2-test --project-file=contrib/cabal.project all`

* The executable can be installed with

`cabal v2-install --project-file=contrib/cabal.project unison`

* The install directory can be modified with the option `--installdir: ...`
Loading

0 comments on commit 4d13caf

Please sign in to comment.