Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local 9.8 #8

Open
wants to merge 133 commits into
base: tracsis-9.8
Choose a base branch
from

Conversation

Benjamin-McRae-Tracsis
Copy link

No description provided.

IOHK and others added 30 commits February 28, 2024 00:49
* Support conditional source-repository-packages

Updates the way haskell.nix handles source-repository-package blocks so that this can work:

```
if !os(ghcjs)
  source-repository-package
    type: git
    location: https://github.com/hamishmack/hs-libsodium.git
    tag: c094f210f3bd34d97204451ea57855a5d17e2086
    --sha256: sha256-6iCKvdLdjwg2jcoWMEj3qcFTvKe3P4BYxgKeXY3QwRM=

```

* Use actions/checkout@v4

* Update patch bounds

* Remove __trace
* Add GHC-9.8.2

* Fix for genprimopcode (from angerman/fix-aarch64-musl)

* Add dummy-ghc materialized files

* Fix patch upper bounds

* Add materialized files

* Update hackage.head

* Use latest double-conversion from hackage

* Update ghc git versions to 9.10 and 9.11 (HEAD)

* GHC Head Fixes

* Skip plugin test for git ghc

* Avoid building cabal-install with ghc >=9.9

* Avoid old version of Win32 in plan.json

* Fix missing ghc-iserv for musl

* Fix for hashable

* Fix ghc-iserv for profiling

* Fix ghc lib build for ghc HEAD

* Update debug info check for ghc-internal

---------

Co-authored-by: Teo Camarasu <[email protected]>
IOHK and others added 29 commits May 23, 2024 00:50
* Fix ghc:-dynamic-system-linker for android

(cherry picked from commit 6c6c32b)

* Set -dynamic-system-linker if musl and not x86_64

(cherry picked from commit 89b97d5)

* add parens

* Add iserv-syms.patch

* Add iserv/proxy_args logic to linux as well (same as weindows)

* Add keep cafs.

* bump flakes

* Let's try using it directly.

* cleanup

* bump iserv

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Add static-external-plugin logic for cross compilers.

* Fix musl copy

* Fix x86_64-musl

* initial iserv-proxy

* Add deadbeef patches

* Add pool allocator patch

* Drop duplicates.

* Fix alignment

* ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Add more 9.6 patches 🤦

* Update patches

* Add pool alignment and hidden support for 9.6

Pool alignment only for musl.

* fixup! Set -dynamic-system-linker if musl and not x86_64

* Use gold with musl. Seems like the bug has been resolved.

* Fixup patch

* Extend patch range to cover 8.10 as well

* apparently this doesn't apply to 9.8 :(

* Sigh, ffs. gold still broken with the NCG.

* Reduce allocation to 512MB not 1G

* Fix up pool allocator stuff.

* From 8.10, not 9.10 🤦

* rm -rf materialized/dummy-ghc

* nix flake update iserv-proxy

* Fix for non SECTION_POOL sections

* Exclude pool related patches for non aarch64 target platforms

* Avoid gold for llvm+musl builds

* Use +dynamic-system-linker for aarch64 -> aarch64 musl

* Include fixes for ghc 9.10 as well

* Include fixes for ghc 9.10 as well

---------

Co-authored-by: Hamish Mackenzie <[email protected]>
* Move warning logic into cabal-project.nix

This also adds `old-compiler-warning` project argument we can use to switch off the warning when building hadrian.  We build hadrian with ghc 9.6.2 from nixpkgs because 9.6.5 may not be present in nixpkgs.

* Fix ci

* ifdLevel 2

* ifdLevel 3

* Better fix

* Update overlays/bootstrap.nix

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Keep nix 2.4 fix

* Fix warning for llvm compilers

* Fix warning for llvm compilers

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Minimal TH test for windows DLL

* Use `--no-load-call` for windows cross compilation TH proxy & interpreter
…nput-output-hk#2207)

Haskell.nix now respects the `pre-existing` packages selected
by the cabal planner.  The selection made by the planner
is used to set `nonReinstallablePkgs`.

Instead setting `nonReinstallablePkgs` and `reinstallableLibGhc`
haskell.nix projects should add `constraints` to the cabal project.

For instance to force the use of the `pre-exising` `text`
package add:

```
  constraints: text installed
```

To make sure `text` is reinstalled use:

```
  constraints: text source
```

The `pre-existing` `ghc` will now be used by default as
that is what `cabal` will choose (haskell.nix used to choose
`reinstallableLibGhc=true` by default).

To allow cabal to choose reinstalling `ghc` add:

```
  allow-boot-library-installs: True
```

To force cabal to choose reinstalling:

```
  constraints: ghc source
  allow-boot-library-installs: True
```

It may also need `allow-newer: ghc:Cabal`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants