on master help sign in
Merge obsidian/darwin-depends
commit2a964d0d5fa94e38fb46fff632a3cb9680269d70 authorHamish Mackenzie <Hamish.K.Mackenzie@googlemail.com> dateWed 28 Jun 2017, 02:26 (9 years ago) parent68651f464d85e0
9 files changed+28−31
jsaddle-warp/default.nix+1−1 jsaddle-warp/jsaddle-warp.cabal−2 jsaddle-warp/src/Language/Javascript/JSaddle/WebSockets.hs+1−2 jsaddle-wkwebview/default.nix+11−10 jsaddle/default.nix+6−6 jsaddle/jsaddle.cabal+1−2 jsaddle/src/Language/Javascript/JSaddle/Debug.hs+4−4 jsaddle/src/Language/Javascript/JSaddle/Run.hs+2−2 jsaddle/src/Language/Javascript/JSaddle/Types.hs+2−2
jsaddle-warp/default.nix+1−1
@@ -6,7 +6,7 @@
66}:
77mkDerivation {
88 pname = "jsaddle-warp";
9− version = "0.9.1.0";
9+ version = "0.9.2.0";
1010 src = builtins.filterSource (path: type: !(builtins.elem (baseNameOf path) [ ".git" "dist" ])) ./.;
1111 libraryHaskellDepends = [
1212 aeson base bytestring containers foreign-store http-types jsaddle
jsaddle-warp/jsaddle-warp.cabal−2
@@ -35,8 +35,6 @@ library
3535 text >=1.2.1.3 && <1.3,
3636 time >=1.5.0.1 && <1.8,
3737 transformers >=0.4.2.0 && <0.6,
38− uuid >=1.3.13 && <1.4,
39− uuid-types >=1.0.3 && <1.1,
4038 wai >=3.0.3.0 && <3.3,
4139 wai-websockets >=3.0.0.6 && <3.1,
4240 warp >=3.1.2 && <3.3,
jsaddle-warp/src/Language/Javascript/JSaddle/WebSockets.hs+1−2
@@ -55,7 +55,6 @@ import qualified Data.Map as M (empty, insert, lookup)
5555import Data.IORef
5656 (writeIORef, IORef, readIORef, newIORef, atomicModifyIORef')
5757import Data.ByteString.Lazy (ByteString)
58−import Data.UUID.Types (toText)
5958import Control.Concurrent.MVar
6059 (tryPutMVar, modifyMVar_, putMVar, takeMVar, readMVar, newMVar,
6160 newEmptyMVar, modifyMVar)
@@ -72,7 +71,7 @@ jsaddleOr opts entryPoint otherApp = do
7271 wsApp pending_conn = do
7372 conn <- acceptRequest pending_conn
7473 rec (processResult, processSyncResult, start) <- runJavaScript (sendTextData conn . encode) $ do
75− syncKey <- toText . contextId <$> askJSM
74+ syncKey <- T.pack . show . contextId <$> askJSM
7675 liftIO $ atomicModifyIORef' syncHandlers (\m -> (M.insert syncKey processSyncResult m, ()))
7776 liftIO $ sendTextData conn (encode syncKey)
7877 entryPoint
jsaddle-wkwebview/default.nix+11−10
@@ -1,20 +1,21 @@
11{ mkDerivation, stdenv, aeson, base, bytestring, jsaddle, data-default
2−, buildPackages
2+, buildPackages, hostPlatform
33}:
44
55mkDerivation {
66 pname = "jsaddle-wkwebview";
77 version = "0.9.0.0";
88 src = ./.;
9− libraryHaskellDepends = [ aeson base bytestring jsaddle data-default ]
10− # should use `librarySystemDepends` but it is not propagated
11− ++ (with buildPackages; [
12− darwin.libobjc
13− darwin.apple_sdk.libs.xpc
14− darwin.apple_sdk.frameworks.Foundation
15− darwin.apple_sdk.frameworks.Cocoa
16− darwin.apple_sdk.frameworks.WebKit
17− ]);
9+ libraryHaskellDepends = [ aeson base bytestring jsaddle data-default ];
10+ libraryDarwinFrameworkDepends = with buildPackages; if hostPlatform.useiOSCross or false then [
11+ (assert osx_sdk != null; osx_sdk)
12+ ] else [
13+ darwin.libobjc
14+ darwin.apple_sdk.libs.xpc
15+ darwin.apple_sdk.frameworks.Foundation
16+ darwin.apple_sdk.frameworks.Cocoa
17+ darwin.apple_sdk.frameworks.WebKit
18+ ];
1819 description = "Interface for JavaScript that works with GHCJS and GHC";
1920 license = stdenv.lib.licenses.mit;
2021}
jsaddle/default.nix+6−6
@@ -1,17 +1,17 @@
11{ mkDerivation, aeson, attoparsec, base, base64-bytestring
22, bytestring, containers, deepseq, filepath, ghc-prim, http-types
3−, lens, primitive, process, ref-tf, scientific, stdenv, stm, text
4−, time, transformers, unordered-containers, vector, uuid, uuid-types
3+, lens, primitive, process, random, ref-tf, scientific, stdenv, stm
4+, text, time, transformers, unordered-containers, vector
55}:
66mkDerivation {
77 pname = "jsaddle";
8− version = "0.9.0.0";
8+ version = "0.9.2.1";
99 src = builtins.filterSource (path: type: !(builtins.elem (baseNameOf path) [ ".git" "dist" ])) ./.;
1010 libraryHaskellDepends = [
1111 aeson attoparsec base base64-bytestring bytestring containers
12− deepseq filepath ghc-prim http-types lens primitive process ref-tf
13− scientific stm text time transformers unordered-containers vector
14− uuid uuid-types
12+ deepseq filepath ghc-prim http-types lens primitive process random
13+ ref-tf scientific stm text time transformers unordered-containers
14+ vector
1515 ];
1616 description = "Interface for JavaScript that works with GHCJS and GHC";
1717 license = stdenv.lib.licenses.mit;
jsaddle/jsaddle.cabal+1−2
@@ -42,13 +42,12 @@ library
4242 ghc-prim,
4343 http-types >=0.8.6 && <0.10,
4444 process >=1.2.3.0 && <1.5,
45+ random >= 1.1 && < 1.2,
4546 ref-tf >=0.4.0.1 && <0.5,
4647 scientific >=0.3 && <0.4,
4748 stm >=2.4.4 && <2.5,
4849 time >=1.5.0.1 && <1.8,
4950 unordered-containers >=0.2 && <0.3,
50− uuid >=1.3.13 && <1.4,
51− uuid-types >=1.0.3 && <1.1,
5251 vector >=0.10 && <0.13
5352 exposed-modules:
5453 Data.JSString
jsaddle/src/Language/Javascript/JSaddle/Debug.hs+4−4
@@ -26,7 +26,7 @@ import Data.IORef (readIORef, atomicModifyIORef', newIORef, IORef)
2626import System.IO.Unsafe (unsafePerformIO)
2727import Data.Monoid ((<>))
2828import Control.Monad.IO.Class (MonadIO(..))
29−import Data.UUID (UUID)
29+import Data.Int (Int64)
3030
3131contexts :: IORef [JSContextRef]
3232contexts = unsafePerformIO $ newIORef []
@@ -37,9 +37,9 @@ addContext = do
3737 ctx <- askJSM
3838 liftIO $ atomicModifyIORef' contexts $ \c -> (c <> [ctx], ())
3939
40−removeContext :: MonadIO m => UUID -> m ()
41−removeContext uuid =
42− liftIO $ atomicModifyIORef' contexts $ \c -> (filter ((/= uuid) . contextId) c, ())
40+removeContext :: MonadIO m => Int64 -> m ()
41+removeContext cid =
42+ liftIO $ atomicModifyIORef' contexts $ \c -> (filter ((/= cid) . contextId) c, ())
4343
4444runOnAll :: MonadIO m => JSM a -> m [a]
4545runOnAll f = liftIO (readIORef contexts) >>= mapM (runJSM f)
jsaddle/src/Language/Javascript/JSaddle/Run.hs+2−2
@@ -56,6 +56,7 @@ import Control.Concurrent.MVar
5656
5757import System.IO.Unsafe (unsafeInterleaveIO)
5858import System.Mem.Weak (addFinalizer)
59+import System.Random
5960
6061import GHC.Base (IO(..), mkWeak#)
6162import GHC.Conc (ThreadId(..))
@@ -63,7 +64,6 @@ import Data.Monoid ((<>))
6364import qualified Data.Text as T (unpack, pack)
6465import qualified Data.Map as M (lookup, delete, insert, empty, size)
6566import qualified Data.Set as S (empty, member, insert, delete)
66−import Data.UUID.V4 (nextRandom)
6767import Data.Time.Clock (getCurrentTime,diffUTCTime)
6868import Data.IORef (newIORef, atomicWriteIORef, readIORef)
6969
@@ -155,7 +155,7 @@ sendAsyncCommand cmd = do
155155
156156runJavaScript :: (Batch -> IO ()) -> JSM () -> IO (Results -> IO (), Results -> IO Batch, IO ())
157157runJavaScript sendBatch entryPoint = do
158− contextId' <- nextRandom
158+ contextId' <- randomIO
159159 startTime' <- getCurrentTime
160160 recvMVar <- newEmptyMVar
161161 lastAsyncBatch <- newEmptyMVar
jsaddle/src/Language/Javascript/JSaddle/Types.hs+2−2
@@ -107,9 +107,9 @@ import Control.Monad.Fix (MonadFix)
107107import Control.Monad.Ref (MonadAtomicRef(..), MonadRef(..))
108108import Control.Concurrent.STM.TVar (TVar)
109109import Control.Concurrent.MVar (MVar)
110+import Data.Int (Int64)
110111import Data.Set (Set)
111112import Data.Text (Text)
112−import Data.UUID (UUID)
113113import Data.Time.Clock (UTCTime(..))
114114import Data.Typeable (Typeable)
115115import Data.Coerce (coerce, Coercible)
@@ -132,7 +132,7 @@ import GHC.Exts (Constraint)
132132type JSContextRef = ()
133133#else
134134data JSContextRef = JSContextRef {
135− contextId :: UUID
135+ contextId :: Int64
136136 , startTime :: UTCTime
137137 , doSendCommand :: Command -> IO Result
138138 , doSendAsyncCommand :: AsyncCommand -> IO ()