ghc.git
11 months agoDrop nonCabalContext, since all GHC packages now come with Cabal files
Andrey Mokhov [Sun, 26 Aug 2018 14:12:06 +0000 (15:12 +0100)] 
Drop nonCabalContext, since all GHC packages now come with Cabal files

11 months agoClean up remaining bits related to ghc-cabal (#658)
Andrey Mokhov [Sun, 26 Aug 2018 13:46:42 +0000 (14:46 +0100)] 
Clean up remaining bits related to ghc-cabal (#658)

* Drop ghcCabal package
* Merge GhcCabal and CabalFlags builders
* Use more consistent naming
* Resolve import cycle
* Rename parseCabal to parseCabalFile
* Remove outdated references to ghc-cabal from comments

11 months agoFix package dependencies (#657)
Andrey Mokhov [Fri, 24 Aug 2018 10:25:39 +0000 (11:25 +0100)] 
Fix package dependencies (#657)

This fixes #654.

There are only two important changes.

1) The first one fixes missing dependencies:

```diff
-pkgDependencies = fmap (fmap PD.dependencies) . readPackageDataFile
+pkgDependencies = fmap (fmap (map pkgName . packageDependencies)) . readCabalFile
```

Here `PD.dependencies` returned versioned package names, e.g. `ghc-8.7`, which then failed to match with non-versioned package names such as `ghc` in `contextDependencies`. Switching from `PD.dependencies` to `packageDependencies` fixes this.

2) I clearly remember that we didn't have this bug before, so I added some tests for our package dependency infrastructure to prevent such regressions in future:

```haskell
testDependencies :: Action ()
testDependencies = do
    putBuild "==== pkgDependencies"
    depLists <- mapM (pkgDependencies . vanillaContext Stage1) ghcPackages
    test $ and [ deps == sort deps | Just deps <- depLists ]
    putBuild "==== Dependencies of the 'ghc-bin' binary"
    ghcDeps <- pkgDependencies (vanillaContext Stage1 ghc)
    test $ isJust ghcDeps
    test $ pkgName compiler `elem` fromJust ghcDeps
    stage0Deps <- contextDependencies (vanillaContext Stage0 ghc)
    stage1Deps <- contextDependencies (vanillaContext Stage1 ghc)
    stage2Deps <- contextDependencies (vanillaContext Stage2 ghc)
    test $ vanillaContext Stage0 compiler `notElem` stage1Deps
    test $ vanillaContext Stage1 compiler `elem`    stage1Deps
    test $ vanillaContext Stage2 compiler `notElem` stage1Deps
    test $ stage1Deps /= stage0Deps
    test $ stage1Deps == stage2Deps
```

Everything else are cosmetic changes, fixing minor issues in comments, and adding TODOs. To figure out the failure in #654 I had to read some code I didn't write and my hands were automatically fixing some style inconsistencies with the rest of the Hadrian code base. (I'd like to emphasise that I make no judgement about which style is better, it's merely an attempt to make the code base look more homogeneous, which I think is useful.)

11 months agoFix warnings, improve comments and error handling, minor refactoring (#656)
Andrey Mokhov [Wed, 22 Aug 2018 23:49:33 +0000 (00:49 +0100)] 
Fix warnings, improve comments and error handling, minor refactoring (#656)

12 months agoBump Cabal upper bound (#651)
Ben Gamari [Sun, 5 Aug 2018 00:22:24 +0000 (20:22 -0400)] 
Bump Cabal upper bound (#651)

12 months agoRemove the hack to use a patched Cabal submodule in CI (#650)
quasicomputational [Tue, 31 Jul 2018 21:45:31 +0000 (22:45 +0100)] 
Remove the hack to use a patched Cabal submodule in CI (#650)

The fix has landed in GHC HEAD.

Closes #634.

13 months agoImplement the equivalent of D4955 (#648)
Alp Mestanogullari [Fri, 20 Jul 2018 13:08:53 +0000 (15:08 +0200)] 
Implement the equivalent of D4955 (#648)

* implement the equivalent of D4991 for hadrian

* use stage2 instead of stage == Stage2

13 months agoFixes building with stack within recent versions of ghc repo (#646)
Michael Sloan [Thu, 19 Jul 2018 13:30:52 +0000 (06:30 -0700)] 
Fixes building with stack within recent versions of ghc repo (#646)

13 months agoSwitch to the fixed Cabal branch in CI and add a fix for Natural (#640)
Alp Mestanogullari [Wed, 27 Jun 2018 19:59:54 +0000 (21:59 +0200)] 
Switch to the fixed Cabal branch in CI and add a fix for Natural (#640)

* use @quasicomputational's Cabal branch in CI for the time being

* workaround can't-use-Natural-in-base

13 months agoFix timeout building rule for Linux (#638)
Alp Mestanogullari [Wed, 27 Jun 2018 15:31:52 +0000 (17:31 +0200)] 
Fix timeout building rule for Linux (#638)

14 months agoMake Cabal install unconditional in build.cabal.sh (#633)
Chitrak Raj Gupta [Fri, 22 Jun 2018 21:36:58 +0000 (03:06 +0530)] 
Make Cabal install unconditional in build.cabal.sh (#633)

* adding include directories

* Adding includes

* Stable cabal sandbox build

14 months agoAdd includes to bindist (#632)
Chitrak Raj Gupta [Wed, 20 Jun 2018 13:09:20 +0000 (18:39 +0530)] 
Add includes to bindist (#632)

* adding include directories

* Adding includes

* Shipping ghci

14 months agoRemove more validation errors (#628)
Chitrak Raj Gupta [Wed, 20 Jun 2018 12:14:53 +0000 (17:44 +0530)] 
Remove more validation errors (#628)

* Improved GhcCabal library arguments

* setting enviornment for extra programs

* Copied necessary programs

* Added support to generate ghcconfig
  We will need it for properly configuring python command

Some revisions

* Using ghcconfig file for test parameters

* minor changes

* minor revision

* Update Ghc.hs

14 months agoAdd new featues to binary distribution (#623)
Chitrak Raj Gupta [Mon, 18 Jun 2018 17:23:47 +0000 (22:53 +0530)] 
Add new featues to binary distribution (#623)

* Added featues to binary distribution

* Minor revision

* Using takeFileName instead of basename

* Update BinaryDist.hs

14 months agoImplement build rules for testsuite/timeout (#499)
Tao He [Mon, 18 Jun 2018 16:07:11 +0000 (00:07 +0800)] 
Implement build rules for testsuite/timeout (#499)

14 months agoRead the `main-is` field from the cabal file for executables (#627)
Tao He [Mon, 18 Jun 2018 14:53:38 +0000 (22:53 +0800)] 
Read the `main-is` field from the cabal file for executables (#627)

* For executables, we should read the `main-is` field from the cabal file.

Previously, we simply treat file name for `Main` module as `Main.hs` to
build executable. That doesn't work for the `timeout` program. This patch
fixes the problem.

* Add comments about the processing of `main-is` field from .cabal file.

14 months agoAdd config file and test speed options to testsuite (#624)
Chitrak Raj Gupta [Fri, 15 Jun 2018 14:41:40 +0000 (20:11 +0530)] 
Add config file and test speed options to testsuite (#624)

* Added option to specify config file

* Added speed setting for validation

* Revision

14 months agoSet more test arguments correctly (#625)
Alp Mestanogullari [Fri, 15 Jun 2018 13:09:57 +0000 (15:09 +0200)] 
Set more test arguments correctly (#625)

* attempt at setting some more test arguments correctly

* use vanillaContext

14 months agoRefactor package-specific settings (#622)
Andrey Mokhov [Fri, 15 Jun 2018 00:15:47 +0000 (01:15 +0100)] 
Refactor package-specific settings (#622)

* Minor clean up

* Track rts.cabal

* Move all package-specific settings to Settings.Packages, plus another revision, see #540

* Drop Rules.PackageData

14 months agoAdd test compiler option to test (#621)
Chitrak Raj Gupta [Thu, 14 Jun 2018 21:53:24 +0000 (03:23 +0530)] 
Add test compiler option to test (#621)

* Rule for testsuite dependencies

* Added RunTest config options

* added support to set test speed with runtest

* Added support for more testing features

* Rectified Merge Errors

* using all available threads

* Minor Revision

* Removed TestThread argument

* Update Utilities.hs

* Added support to choose test compiler

* Minor Revision

* Added comments

* Update RunTest.hs

* Update CommandLine.hs

* Update RunTest.hs

14 months agoMinor revision (#619)
Andrey Mokhov [Thu, 14 Jun 2018 00:43:31 +0000 (01:43 +0100)] 
Minor revision (#619)

See #540

14 months agoAdd `gmp` and `ncurses` as nix dependencies (#616)
Sean Gillespie [Wed, 13 Jun 2018 11:04:57 +0000 (07:04 -0400)] 
Add `gmp` and `ncurses` as nix dependencies (#616)

See #615

14 months agoBump Shake version to 0.16.1. (#618)
Tao He [Wed, 13 Jun 2018 10:31:26 +0000 (18:31 +0800)] 
Bump Shake version to 0.16.1. (#618)

The shake-0.16 can't be built with ghc-8.4.3, due to the
Semigroup-Monoid-Proposal changes. shake-0.16.1 fixed that.

14 months agoAdded support for testsuite (#602)
Chitrak Raj Gupta [Wed, 13 Jun 2018 10:28:25 +0000 (15:58 +0530)] 
Added support for testsuite (#602)

* Rule for testsuite dependencies

* Separated validate builder arguments

* Added RunTest config options

* added support to set test speed with runtest

* Fixed minor bug with testConfigs

Removed indentation error

* Added support for more testing features

* Rectified Merge Errors

* Removed need rule for Hp2ps

* using all available threads

* Minor Revision

* Removed TestThread argument

* Update Utilities.hs

14 months agoUpdate RTS flags (#613)
Andrey Mokhov [Tue, 12 Jun 2018 10:19:52 +0000 (11:19 +0100)] 
Update RTS flags (#613)

* Update RTS flags

See #611

* More tweaks

14 months agoAdd libiserv, rename iserv-bin to iserv, drop primitive (#612)
Andrey Mokhov [Sun, 10 Jun 2018 01:09:51 +0000 (02:09 +0100)] 
Add libiserv, rename iserv-bin to iserv, drop primitive (#612)

See https://phabricator.haskell.org/D4436

14 months agoDo not always add -Iincludes to C arguments (#610)
Alp Mestanogullari [Wed, 6 Jun 2018 20:26:13 +0000 (22:26 +0200)] 
Do not always add -Iincludes to C arguments (#610)

14 months agoAdd ghc-heap
Andrey Mokhov [Fri, 25 May 2018 22:17:48 +0000 (00:17 +0200)] 
Add ghc-heap

15 months agoremove (unnecessary) recursive dependency involving ghcPath (#606)
Alp Mestanogullari [Fri, 18 May 2018 09:58:12 +0000 (11:58 +0200)] 
remove (unnecessary) recursive dependency involving ghcPath (#606)

15 months agoPreliminary nofib rule (#599)
Alp Mestanogullari [Thu, 17 May 2018 13:19:06 +0000 (15:19 +0200)] 
Preliminary nofib rule (#599)

* first draft of a nofib rule

* address some of Andrey's feedback

* refactor nofib into a proper Builder, now runs but one of the programs fails

* more subtle error handling, docs

* get rid of RunNofib builder, invoke commands directly

15 months agoAdd dependency on the new "llvm-passes" file. (#604)
Kavon Farvardin [Wed, 16 May 2018 23:28:04 +0000 (18:28 -0500)] 
Add dependency on the new "llvm-passes" file. (#604)

For details, see https://phabricator.haskell.org/D4695

15 months agoAdd checkPpr package and infrastructure for testsuite packages (#596)
Andrey Mokhov [Fri, 11 May 2018 22:28:56 +0000 (00:28 +0200)] 
Add checkPpr package and infrastructure for testsuite packages (#596)

See #593

15 months agoFix redundant import, minor revision
Andrey Mokhov [Fri, 11 May 2018 20:33:17 +0000 (22:33 +0200)] 
Fix redundant import, minor revision

15 months agoFix unlit by placing it under lib/bin/ instead of bin/ (#591)
Alp Mestanogullari [Thu, 10 May 2018 22:29:34 +0000 (00:29 +0200)] 
Fix unlit by placing it under lib/bin/ instead of bin/ (#591)

A nicer fix would involve patching GHC to not just look under
$libexec/ but also under the directory where the GHC binary itself lives
(bin/ for hadrian), so that we can leave all binaries under bin/.

Addresses Trac #15132.

15 months agoAdd all the default-on extensions to build.global-db.bat (#587)
Neil Mitchell [Fri, 27 Apr 2018 21:52:49 +0000 (22:52 +0100)] 
Add all the default-on extensions to build.global-db.bat (#587)

15 months agoUpdate cross-compiling doc (#586)
Zhen Zhang [Fri, 27 Apr 2018 10:59:47 +0000 (18:59 +0800)] 
Update cross-compiling doc (#586)

15 months agoFix missing symbols when cross-compiling (#583)
Zhen Zhang [Fri, 27 Apr 2018 10:57:59 +0000 (18:57 +0800)] 
Fix missing symbols when cross-compiling (#583)

15 months agoLink to Quick Start guide
Andrey Mokhov [Tue, 24 Apr 2018 10:27:09 +0000 (11:27 +0100)] 
Link to Quick Start guide

15 months agoUpdate README.md (#578)
Alp Mestanogullari [Mon, 23 Apr 2018 12:21:55 +0000 (14:21 +0200)] 
Update README.md (#578)

I noticed that one sentence from the README is out of date, so here's a tentative wording that reflects the current state of things.

16 months agoFix AppVeyor (#577)
Andrey Mokhov [Wed, 18 Apr 2018 00:34:10 +0000 (01:34 +0100)] 
Fix AppVeyor (#577)

* Copy inplace/mingw to the build root

* Run Hadrian with -c on AppVeyor

16 months agoFix path to GHC
Andrey Mokhov [Tue, 17 Apr 2018 19:32:56 +0000 (20:32 +0100)] 
Fix path to GHC

See #541

16 months agoFix CircleCI
Andrey Mokhov [Tue, 17 Apr 2018 18:48:16 +0000 (19:48 +0100)] 
Fix CircleCI

16 months agoFix warning
Andrey Mokhov [Tue, 17 Apr 2018 18:47:29 +0000 (19:47 +0100)] 
Fix warning

16 months agoGeneric library rules (#571)
Alp Mestanogullari [Tue, 17 Apr 2018 17:03:36 +0000 (19:03 +0200)] 
Generic library rules (#571)

* wip

* debugging output

* Compute ProjectVersion on demand ONLY!

* remove debugging output, boot with --hadrian

* go back to using -c everywhere in .travis.yml

* prioritise libgmp.a rule over catch-all *.a rule, to avoid conflict

* add missing import

* tentative fix for the appveyor script

* use backslashes in appveyor.yml

* less 'cd'ing around in appveyor.yml

* address most of @snowleopard's feedback

* address last bit of feedback

16 months agoSpeed up AppVeyor build
Andrey Mokhov [Tue, 17 Apr 2018 00:44:03 +0000 (01:44 +0100)] 
Speed up AppVeyor build

16 months agoFix lint error (#575)
Andrey Mokhov [Tue, 17 Apr 2018 00:31:33 +0000 (01:31 +0100)] 
Fix lint error (#575)

* Minor revision

* Use untracked doesFileExist

16 months agoFix missing libHSghc-8.5-0.a (#574)
Andrey Mokhov [Mon, 16 Apr 2018 22:29:25 +0000 (23:29 +0100)] 
Fix missing libHSghc-8.5-0.a (#574)

* Drop support for lib0 libraries

See #573

* Minor refactoring

16 months agoFix the path to touchy (#572)
Andrey Mokhov [Mon, 16 Apr 2018 19:01:00 +0000 (20:01 +0100)] 
Fix the path to touchy (#572)

* Fix the path to touchy

* Allow binaries to live in lib/bin

16 months agoFix integer-gmp build (#568)
Andrey Mokhov [Mon, 16 Apr 2018 01:10:17 +0000 (02:10 +0100)] 
Fix integer-gmp build (#568)

* Fix path to GMP's config.mk

* Minor revision

* Relocate GMP's build artefacts

16 months agoUndo fs*.h workaround
Andrey Mokhov [Fri, 13 Apr 2018 00:00:54 +0000 (01:00 +0100)] 
Undo fs*.h workaround

See #554

16 months agoFix copying of fs*.h files during RTS registration (#566)
Andrey Mokhov [Thu, 12 Apr 2018 01:32:31 +0000 (02:32 +0100)] 
Fix copying of fs*.h files during RTS registration (#566)

* Fix indentation

* Pass the verbosity setting to Cabal

* Add a workaround for missing fs.h files

16 months agoFix Windows build, improve error reporting (#565)
Andrey Mokhov [Wed, 11 Apr 2018 22:23:50 +0000 (23:23 +0100)] 
Fix Windows build, improve error reporting (#565)

* Print diagnostic info in verbose mode

* Try enable-distro-toolchain

* Improve error handling

16 months agoFix Windows build (#563)
Andrey Mokhov [Tue, 10 Apr 2018 02:22:31 +0000 (03:22 +0100)] 
Fix Windows build (#563)

Fix copyFile failure on Windows plus minor revision

16 months agoFix boot and configure on AppVeyor (#561)
Andrey Mokhov [Sun, 8 Apr 2018 19:53:49 +0000 (20:53 +0100)] 
Fix boot and configure on AppVeyor  (#561)

* Call the boot script using the right Python interpreter

* Install Python3

* Call boot and configure from Stack environment

* Stay in Hadrian directory

* Fix path to Stack

* Fix slashes

* Use bash to run configure

16 months agoPreliminary bindist (#558)
Alp Mestanogullari [Tue, 3 Apr 2018 19:42:39 +0000 (21:42 +0200)] 
Preliminary bindist (#558)

* Preliminary bindist rule

For now, we only ship `<build root>/{bin, lib}` and the few make build system
related files that are needed to support a simple

```
./configure [--prefix=PATH] && make install
```

workflow. The current binary distributions of GHC support a wider range
of parameters, but I figured it would be a good thing to start with this
and enhance it as we all see fit and perhaps using feedback from GHC HQ
(@bgamari in particular) and bindist users.

* document binary distribution rule in README

* sdist-ghc -> source-dist, Rules.Bindist -> Rules.BinaryDist

* add missing src/Rules/BinaryDist.hs

16 months agoRevert "Preliminary bindist rule (#555)" (#557)
Andrey Mokhov [Tue, 3 Apr 2018 16:53:28 +0000 (17:53 +0100)] 
Revert "Preliminary bindist rule (#555)" (#557)

This reverts commit 15797302751614fba8da15f59de588be7841dd27.

16 months agoPreliminary bindist rule (#555)
Alp Mestanogullari [Tue, 3 Apr 2018 16:22:55 +0000 (18:22 +0200)] 
Preliminary bindist rule (#555)

* Preliminary bindist rule

For now, we only ship `<build root>/{bin, lib}` and the few make build system
related files that are needed to support a simple

```
./configure [--prefix=PATH] && make install
```

workflow. The current binary distributions of GHC support a wider range
of parameters, but I figured it would be a good thing to start with this
and enhance it as we all see fit and perhaps using feedback from GHC HQ
(@bgamari in particular) and bindist users.

* document binary distribution rule in README

* sdist-ghc -> source-dist, Rules.Bindist -> Rules.BinaryDist

16 months agoUnregister stage0 package first if it needs to be cloned (#552)
Zhen Zhang [Tue, 3 Apr 2018 13:33:03 +0000 (21:33 +0800)] 
Unregister stage0 package first if it needs to be cloned (#552)

Fixes #543

16 months agoFix Circle CI (#553)
Zhen Zhang [Tue, 3 Apr 2018 08:52:20 +0000 (16:52 +0800)] 
Fix Circle CI (#553)

16 months agoFix warnings (#547)
Andrey Mokhov [Tue, 3 Apr 2018 08:45:05 +0000 (09:45 +0100)] 
Fix warnings (#547)

* Fix warnings

* Link to GitHub issues

See #544

16 months agoMerge pull request #542 from Mistuke/fix-specific-file
Moritz Angermann [Sat, 31 Mar 2018 04:58:55 +0000 (12:58 +0800)] 
Merge pull request #542 from Mistuke/fix-specific-file

Move rts I/O Functions in different namespace.

16 months agoUse Cabal directly in place of ghc-cabal + make build root configurable (#531)
Alp Mestanogullari [Fri, 30 Mar 2018 18:31:03 +0000 (20:31 +0200)] 
Use Cabal directly in place of ghc-cabal + make build root configurable (#531)

* Use Cabal directly in place of ghc-cabal; make build root configurable.

This commit implements two significant changes (that were not easy to
separate):

- Don't use ghc-cabal anymore for getting information about Haskell packages.
  We now instead directly use Cabal-the-library.

- Make the build root configurable. This effectively gets rid of the inplace
  logic and allows us to place _all_ build artefacts in some directory of
  our choice, by passing '--build-root <some path>' to hadrian.

The code for this was mostly taken from #445.

* fix documentation rules

* remove some leftover unrelated, commented-out code

* more documentation fixes, address some feedback

* cleanup

* more cleanup

* boot and configure explicitly in travis CI scripts

* update cabal/ghc versions in .travis.yml (8.0.x not supported anymore)

* temporarily disable dynamic ways in Settings.Default

* update appveyor script

* travis: when booting with 8.2.2, build a complete stage2 compiler

* Fix CI?

Try to fix the CI by adding the `debug` rts way back in.

* Update Quickest.hs

Replicate the make build systems build flavours.

* Update .travis.yml

- Run selftest, and build in separate instances.
- try with python2
- and unify mac to stage2

* Update .travis.yml

upgrade python on mac

* [travis] os x: test the freshly built ghc

* Get rid of two unused GhcCabalMode constructors

* fix ghc-split rule, get rid of Install/Wrappers rules

* address more feedback

* ConfiguredCabal -> PackageData, more comments, more feedback addressed

* make the complete stage 2 build the default

* use a dummy package instead of base in Rules.hs

* update CI scripts

* attempt at fixing hadrian's -c option

* .travis.yml: use -c everywhere again

* travis: back to explicit './boot && ./configure'

* update README.md and doc/user-settings.md to reflect configurable build root

* some more feedback

16 months agofix end
Tamar Christina [Tue, 27 Mar 2018 23:53:12 +0000 (00:53 +0100)] 
fix end

17 months agoAdd user-defined flavour example for turning off dynamic linking (#535)
Alp Mestanogullari [Thu, 22 Mar 2018 00:38:11 +0000 (01:38 +0100)] 
Add user-defined flavour example for turning off dynamic linking (#535)

See #534 and https://ghc.haskell.org/trac/ghc/ticket/10536

17 months agoAdd clean routines for fs (#533)
Tamar Christina [Tue, 20 Mar 2018 08:51:53 +0000 (08:51 +0000)] 
Add clean routines for fs (#533)

17 months agoAdd 'git' to nativeBuildInputs in shell.nix (#530)
Vladislav Zavialov [Mon, 19 Mar 2018 13:41:26 +0000 (16:41 +0300)] 
Add 'git' to nativeBuildInputs in shell.nix (#530)

17 months agoAdd extra include paths when invoking ghc-cabal (#526)
Andrey Mokhov [Wed, 14 Mar 2018 19:34:29 +0000 (19:34 +0000)] 
Add extra include paths when invoking ghc-cabal (#526)

See #523

17 months agoMerge pull request #528 from snowleopard/bump-cabal
Andrey Mokhov [Tue, 13 Mar 2018 21:36:42 +0000 (21:36 +0000)] 
Merge pull request #528 from snowleopard/bump-cabal

Bump Cabal version

17 months agoBump Cabal version
Andrey Mokhov [Tue, 13 Mar 2018 21:21:03 +0000 (21:21 +0000)] 
Bump Cabal version

See #527

17 months agoMerge pull request #521 from snowleopard/drop-chmod
Andrey Mokhov [Mon, 5 Mar 2018 03:17:48 +0000 (03:17 +0000)] 
Merge pull request #521 from snowleopard/drop-chmod

Drop the no longer necessary chmod

17 months agoFix Hadrian after Cabal changes
Andrey Mokhov [Mon, 5 Mar 2018 02:43:47 +0000 (02:43 +0000)] 
Fix Hadrian after Cabal changes

17 months agoDrop the no longer necessary chmod
Andrey Mokhov [Mon, 5 Mar 2018 02:08:14 +0000 (02:08 +0000)] 
Drop the no longer necessary chmod

See #517

17 months agoChange permission bits for build.cabal.sh, fixes #517 (#520)
Zhen Zhang [Mon, 5 Mar 2018 01:59:05 +0000 (09:59 +0800)] 
Change permission bits for build.cabal.sh, fixes #517 (#520)

17 months agoPin nixpkgs and all-cabal-hashes in shell.nix (#511)
Matthew Pickering [Wed, 28 Feb 2018 18:09:34 +0000 (18:09 +0000)] 
Pin nixpkgs and all-cabal-hashes in shell.nix (#511)

* Pin shell.nix

Also adds a new option to build `cabal-install` HEAD which is
sometimes useful.

* Bump QuickCheck bound

* Remove cabal-install which snuck in

17 months agoAdd troubleshooting section
Andrey Mokhov [Tue, 27 Feb 2018 12:44:21 +0000 (12:44 +0000)] 
Add troubleshooting section

See #308

17 months agoMake shell.nix less broken (#510)
Sebastian Graf [Fri, 23 Feb 2018 15:50:23 +0000 (16:50 +0100)] 
Make shell.nix less broken (#510)

* shell.nix: Use ghc822 (ghc821 is no longer available)

* shell.nix: It's nativeBuildInputs now

* shell.nix: ./validate needs sphinx to be available

17 months agoAdd --configure flag to the script
Andrey Mokhov [Thu, 22 Feb 2018 18:55:36 +0000 (18:55 +0000)] 
Add --configure flag to the script

See #508

18 months agoUndo iserv changes (#507)
Andrey Mokhov [Tue, 20 Feb 2018 21:05:09 +0000 (21:05 +0000)] 
Undo iserv changes (#507)

* Undo iserv changes

See #504 and https://phabricator.haskell.org/D4377

* Update comments

18 months agoFix ghc-cabal: Parsec modules are now found in libraries/parsec/src (#506)
Ben Gamari [Tue, 20 Feb 2018 14:05:55 +0000 (09:05 -0500)] 
Fix ghc-cabal: Parsec modules are now found in libraries/parsec/src (#506)

This has been the case since haskell/parsec@89d4541.

18 months agoMove a bunch of types into dedicated modules (#502)
Alp Mestanogullari [Mon, 19 Feb 2018 20:23:10 +0000 (21:23 +0100)] 
Move a bunch of types into dedicated modules (#502)

* move a bunch of types into dedicated modules

* address review feedback

* do away with Hadrian.Builder.Mode for now

18 months agoAdd --quickjump to Haddock (#505)
Andrey Mokhov [Sun, 18 Feb 2018 20:17:11 +0000 (20:17 +0000)] 
Add --quickjump to Haddock (#505)

Also reorder other flags as in the Make build system

See https://phabricator.haskell.org/D4365

18 months agoAdd iserv library (#504)
Andrey Mokhov [Sat, 17 Feb 2018 00:18:01 +0000 (00:18 +0000)] 
Add iserv library (#504)

See https://phabricator.haskell.org/D4377

18 months agoMerge pull request #503 from snowleopard/angerman-patch-1
Andrey Mokhov [Thu, 15 Feb 2018 11:48:57 +0000 (11:48 +0000)] 
Merge pull request #503 from snowleopard/angerman-patch-1

Relax Cabal constraint

18 months agoRelax Cabal constraint
Moritz Angermann [Thu, 15 Feb 2018 10:29:19 +0000 (18:29 +0800)] 
Relax Cabal constraint

As the Cabal 2.2 release branch has been cut, we need to relax the constraint on Cabal in hadrian.

18 months agoMerge pull request #500 from snowleopard/runtime-deps
Andrey Mokhov [Fri, 9 Feb 2018 11:22:05 +0000 (11:22 +0000)] 
Merge pull request #500 from snowleopard/runtime-deps

Add support for runtime dependencies

18 months agoAdd unlit to GHC's runtime dependencies
Andrey Mokhov [Fri, 9 Feb 2018 02:30:00 +0000 (02:30 +0000)] 
Add unlit to GHC's runtime dependencies

18 months agoMinor revision
Andrey Mokhov [Fri, 9 Feb 2018 02:23:44 +0000 (02:23 +0000)] 
Minor revision

18 months agoAdd support for runtime dependencies
Andrey Mokhov [Fri, 9 Feb 2018 01:32:55 +0000 (01:32 +0000)] 
Add support for runtime dependencies

18 months agoFix Hadrian after Cabal changes (#498)
Andrey Mokhov [Wed, 7 Feb 2018 02:50:26 +0000 (02:50 +0000)] 
Fix Hadrian after Cabal changes (#498)

* Fix Hadrian after Cabal changes

* Bump Cabal's lower bound

18 months agoDrop custom logic for Scav_thr and Evac_thr (#497)
Andrey Mokhov [Sun, 4 Feb 2018 02:31:10 +0000 (02:31 +0000)] 
Drop custom logic for Scav_thr and Evac_thr (#497)

See https://phabricator.haskell.org/D3237

18 months agoFix Haddock (#496)
Andrey Mokhov [Sat, 3 Feb 2018 01:56:47 +0000 (01:56 +0000)] 
Fix Haddock (#496)

See #492.

18 months ago[WIP] Support run GHC's test from hadrian. (#495)
HE, Tao [Fri, 26 Jan 2018 13:10:48 +0000 (07:10 -0600)] 
[WIP] Support run GHC's test from hadrian. (#495)

* Support run GHC's test from hadrian.

1. Necessary command line arguments to run test driver.
   + `--test-only=<TEST_CASE>`
   + `--test-skip-perf`
   + `--test-summary=<SUMMARY_FILE>`
   + `--test-junit=<SUMMARY_FILE>`
   + `--test-config=<EXTRA_TEST_CONFIG>`
2. Synchronize configurations from test.mk.
3. Synchronize GHC's compilation flags from test.mk (that's very important).

* The `RunTest` builder and `test` rule to run GHC's test.
* Timeout rules.
* Reduce boilerplate.
* Fix warning.
* Move getTestArgs into Settings.Builders.RunTest.
* Drop `validate` related code to avoid confusion.
* Replace explicit `chmod +x` with `makeExecutable`.
* Fix executable's extension.

20 months agoFix broken colours with `-j` (#484)
Patrick Dougherty [Sun, 17 Dec 2017 02:25:50 +0000 (20:25 -0600)] 
Fix broken colours with `-j` (#484)

* Fix colours

* Simplify data types

* Fix doc typo

20 months agoDrop redundant dependencies on in-tree packages (#491)
Andrey Mokhov [Thu, 14 Dec 2017 02:32:37 +0000 (02:32 +0000)] 
Drop redundant dependencies on in-tree packages (#491)

See #481

20 months agoFix CI (#489)
Andrey Mokhov [Mon, 11 Dec 2017 21:43:25 +0000 (21:43 +0000)] 
Fix CI (#489)

Delete the .git folder explicitly

20 months agoAdd a free ACM download link for the paper
Andrey Mokhov [Mon, 11 Dec 2017 19:43:31 +0000 (19:43 +0000)] 
Add a free ACM download link for the paper

Fix #488

20 months agoDrop -Werror (#487)
Andrey Mokhov [Tue, 5 Dec 2017 23:40:06 +0000 (23:40 +0000)] 
Drop -Werror (#487)

* Drop -Werror from default arguments

See #483, #485.

20 months agoExtend ghcHEAD derivation rather than make a new derivation (#486)
Matthew Pickering [Tue, 5 Dec 2017 21:23:50 +0000 (21:23 +0000)] 
Extend ghcHEAD derivation rather than make a new derivation (#486)

This allows you to use configurePhase/buildPhase as usual and
set the right configureFlags rather than end up with a broken
executable.

21 months agoFollow GHC changes (#479)
Andrey Mokhov [Mon, 20 Nov 2017 22:51:40 +0000 (22:51 +0000)] 
Follow GHC changes (#479)

21 months agoAdd ways to build hadrian using nix (#473)
Moritz Angermann [Mon, 20 Nov 2017 20:06:25 +0000 (04:06 +0800)] 
Add ways to build hadrian using nix (#473)

* Add ways to build hadrian using nix

This adds two new files to the hadrian directory

    shell.nix sets up the build envrionment you need to build ghc
    build-nix is a simple wrapper which invokes hadrian in the correct environment

Note: this patch was authored by @mpickering, however it ended up on phabricator due to the subtree as https://phabricator.haskell.org/D4207.

* Comments and renamed build-nix