Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 30 additions & 7 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1566,13 +1566,36 @@ self: super: {
doJailbreak
];

jsaddle-dom = overrideCabal (old: {
postPatch = old.postPatch or "" + ''
rm Setup.hs
'';
}) super.jsaddle-dom;
jsaddle-hello = doJailbreak super.jsaddle-hello;
ghcjs-dom-hello = doJailbreak super.ghcjs-dom-hello;
ghcjs-dom-hello = appendPatches [
(fetchpatch {
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/53991df6a4eba9f1e9633eb22f6a0486a79491c3.patch";
sha256 = "sha256-HQeUgjvzYyY14+CDYiMahAMn7fBcy2d7p8/kqGq+rnI=";
})
(fetchpatch {
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/d766d937121f7ea5c4c154bd533a1eae47f531c9.patch";
sha256 = "sha256-QTkH+L+JMwGyuoqzHBnrokT7KzpHC4YiAWoeiaFBLUw=";
})
(fetchpatch {
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/831464d995f4033c9aa84f9ed9fb37a268f34d4e.patch";
sha256 = "sha256-hQMy+78geTuxd3kbdiyYqoAFrauu90HbpPi0EEKjMzM=";
})
] super.ghcjs-dom-hello;

# Needs https://github.com/ghcjs/jsaddle-hello/pull/5 and hackage release
jsaddle-hello = appendPatches [
(fetchpatch {
url = "https://github.com/ghcjs/jsaddle-hello/commit/c4de837675117b821c50a5079d20d84ec16ff26a.patch";
sha256 = "sha256-NsM7QqNLt5V8i5bveYgMrawGnZVsIuAoJfBF75jBwV0=";
})
(fetchpatch {
url = "https://github.com/ghcjs/jsaddle-hello/commit/5c437363833684ea951ec74a0d0fdf5b6fbaca85.patch";
sha256 = "sha256-CUyZsts0FAQ3c8Z+zfvwbmlAJCMcidV80n8dA/SoRls=";
})
(fetchpatch {
url = "https://github.com/ghcjs/jsaddle-hello/commit/e2da9e266fbfa8f7fcf3009ab6cfbf825a8bcf7a.patch";
sha256 = "sha256-WL0CcnlMt6KI7MOZMg74fNN/I4gYSO3n+GiaXB2BOP0=";
})
] super.jsaddle-hello;

# Too strict upper bounds on text
lsql-csv = doJailbreak super.lsql-csv;
Expand Down
14 changes: 14 additions & 0 deletions pkgs/development/haskell-modules/configuration-darwin.nix
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,20 @@ self: super: ({
# Tests fail on macOS https://github.com/mrkkrp/zip/issues/112
zip = dontCheck super.zip;

warp = super.warp.overrideAttrs (drv: {
__darwinAllowLocalNetworking = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How did you hit this? Seems like building warp hasn't been a problem so far.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be some combination of sandbox + firewall. I'll try to isolate the trigger

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This builds for me with --option sandbox false, does not build with relaxed or true.
Test suite just hangs after the "range requests" group log and there's no more output:
https://github.com/yesodweb/wai/blob/d50e1184600631a114e3d2ad119abdf0ef08834b/warp/test/ResponseSpec.hs#L106
I suspect this is the first case in the suite that actually performs a network request (apparently in 127.0.0.1 flavor)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you hit this with just GHC 9.8? warp does seem to succeed with GHC 9.6 which is confusing to me.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On further testing it looks like it only happens when both firewall AND sandboxing are active.
Didn't try 9.8.

});

ghcjs-dom-hello = overrideCabal (drv: {
libraryHaskellDepends = with self; [ jsaddle jsaddle-warp ];
executableHaskellDepends = with self; [ ghcjs-dom jsaddle-wkwebview ];
}) super.ghcjs-dom-hello;

jsaddle-hello = overrideCabal (drv: {
libraryHaskellDepends = with self; [ jsaddle lens ];
executableHaskellDepends = with self; [ jsaddle-warp jsaddle-wkwebview ];
}) super.jsaddle-hello;

jsaddle-wkwebview = overrideCabal (drv: {
libraryFrameworkDepends = with pkgs.buildPackages.darwin.apple_sdk.frameworks; [ Cocoa WebKit ];
libraryHaskellDepends = with self; [ aeson data-default jsaddle ]; # cabal2nix doesn't add darwin-only deps
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ self: super: {
stylish-haskell = self.stylish-haskell_0_14_6_0;
hlint = self.hlint_3_8;
ghc-syntax-highlighter = self.ghc-syntax-highlighter_0_0_11_0;
websockets = self.websockets_0_13_0_0;

# A given major version of ghc-exactprint only supports one version of GHC.
ghc-exactprint = self.ghc-exactprint_1_8_0_0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,6 @@ unsupported-platforms:
freenect: [ platforms.darwin ]
FTGL: [ platforms.darwin ]
fuzzytime: [ platforms.darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
ghcjs-dom-hello: [ platforms.darwin ]
ghc-gc-hook: [ platforms.darwin ] # requires C11 threads which Apple doesn't support
gi-adwaita: [ platforms.darwin ]
gi-dbusmenugtk3: [ platforms.darwin ]
Expand Down Expand Up @@ -699,7 +698,6 @@ unsupported-platforms:
intricacy: [ platforms.darwin ] # depends on mesa
iwlib: [ platforms.darwin ]
Jazzkell: [ platforms.darwin ] # depends on Euterpea
jsaddle-hello: [ platforms.darwin ] # depends on jsaddle-webkit2gtk
jsaddle-webkit2gtk: [ platforms.darwin ]
Kulitta: [ platforms.darwin ] # depends on Euterpea
LambdaHack: [ platforms.darwin ]
Expand Down
2 changes: 0 additions & 2 deletions pkgs/development/haskell-modules/hackage-packages.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.