on master help sign in
Fixes for linux
243d63fHamish Mackenzie
cabal.project−1
@@ -2,7 +2,6 @@ packages:
2 jsaddle/
2 jsaddle/
3 jsaddle-warp/
3 jsaddle-warp/
4 jsaddle-wkwebview/
4 jsaddle-wkwebview/
5−-- jsaddle-webkitgtk/
6 jsaddle-webkit2gtk/
5 jsaddle-webkit2gtk/
7 jsaddle-clib/
6 jsaddle-clib/
8
7
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+5−5
@@ -55,11 +55,11 @@ import GI.GLib (timeoutAdd, idleAdd, pattern PRIORITY_HIGH, pattern PRIORITY_DEF
55import qualified GI.Gtk as Gtk (main, init)
55import qualified GI.Gtk as Gtk (main, init)
56import GI.Gtk
56import GI.Gtk
57 (windowSetPosition, windowSetDefaultSize, windowNew,
57 (windowSetPosition, windowSetDefaultSize, windowNew,
58− scrolledWindowNew, noAdjustment, containerAdd,
58+ scrolledWindowNew, Adjustment, containerAdd,
59 WindowType(..), WindowPosition(..), widgetDestroy,
59 WindowType(..), WindowPosition(..), widgetDestroy,
60 widgetGetToplevel, widgetShowAll, onWidgetDestroy,
60 widgetGetToplevel, widgetShowAll, onWidgetDestroy,
61 mainQuit)
61 mainQuit)
62−import GI.Gio (noCancellable)
62+import GI.Gio (Cancellable)
63import GI.JavaScriptCore (valueToString)
63import GI.JavaScriptCore (valueToString)
64import GI.WebKit2
64import GI.WebKit2
65 (scriptDialogPromptSetText, scriptDialogPromptGetDefaultText,
65 (scriptDialogPromptSetText, scriptDialogPromptGetDefaultText,
@@ -104,7 +104,7 @@ run main = do
104 _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
104 _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
105 windowSetDefaultSize window 900 600
105 windowSetDefaultSize window 900 600
106 windowSetPosition window WindowPositionCenter
106 windowSetPosition window WindowPositionCenter
107− scrollWin <- scrolledWindowNew noAdjustment noAdjustment
107+ scrollWin <- scrolledWindowNew (Nothing :: Maybe Adjustment) (Nothing :: Maybe Adjustment)
108 contentManager <- userContentManagerNew
108 contentManager <- userContentManagerNew
109 webView <- webViewNewWithUserContentManager contentManager
109 webView <- webViewNewWithUserContentManager contentManager
110 settings <- webViewGetSettings webView
110 settings <- webViewGetSettings webView
@@ -128,11 +128,11 @@ run main = do
128runInWebView :: JSM () -> WebView -> IO ()
128runInWebView :: JSM () -> WebView -> IO ()
129runInWebView f webView = do
129runInWebView f webView = do
130 (processResults, syncResults, start) <- runJavaScript (\batch -> postGUIAsync $
130 (processResults, syncResults, start) <- runJavaScript (\batch -> postGUIAsync $
131− webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") noCancellable Nothing)
131+ webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") (Nothing :: Maybe Cancellable) Nothing)
132 f
132 f
133
133
134 addJSaddleHandler webView processResults syncResults
134 addJSaddleHandler webView processResults syncResults
135− webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) noCancellable . Just $
135+ webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) (Nothing :: Maybe Cancellable) . Just $
136 \_obj _asyncResult ->
136 \_obj _asyncResult ->
137 void $ forkIO start
137 void $ forkIO start
138
138
jsaddle-wkwebview/jsaddle-wkwebview.cabal+3−1
@@ -29,11 +29,13 @@ library
29 base <5
29 base <5
30 default-language: Haskell2010
30 default-language: Haskell2010
31 hs-source-dirs: src
31 hs-source-dirs: src
32− frameworks: Foundation, WebKit
33 ghc-options: -ferror-spans -Wall
32 ghc-options: -ferror-spans -Wall
33+ if os(linux)
34+ buildable: False
34 if impl(ghcjs)
35 if impl(ghcjs)
35 hs-source-dirs: src-ghcjs
36 hs-source-dirs: src-ghcjs
36 else
37 else
38+ frameworks: Foundation, WebKit
37 build-depends:
39 build-depends:
38 aeson >=0.8.0.2 && <1.6,
40 aeson >=0.8.0.2 && <1.6,
39 bytestring >=0.10.6.0 && <0.11,
41 bytestring >=0.10.6.0 && <0.11,
nix/hix.nix+1−1
@@ -1,6 +1,6 @@
1{pkgs, ...}:
1{pkgs, ...}:
2{ modules = [({pkgs, ...}: {
2{ modules = [({pkgs, ...}: {
3− packages.jsaddle-webkit2gtk.components.library.buildable = pkgs.lib.mkForce pkgs.stdenv.hostPlatform.isLinux;
3+ packages.webkit2gtk3-javascriptcore.components.library.doHaddock = false;
4 })];
4 })];
5 shell.buildInputs = [ pkgs.nodejs ];
5 shell.buildInputs = [ pkgs.nodejs ];
6 shell.tools.cabal = {};
6 shell.tools.cabal = {};