Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gargantext-ihaskell
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
gargantext-ihaskell
Commits
4245ef51
Commit
4245ef51
authored
Mar 14, 2017
by
Justus Sagemüller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Include RTS flags in kernelspec when installing.
parent
8dcb9050
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
1 deletion
+24
-1
Main.hs
main/Main.hs
+2
-0
Flags.hs
src/IHaskell/Flags.hs
+17
-1
IPython.hs
src/IHaskell/IPython.hs
+5
-0
No files found.
main/Main.hs
View file @
4245ef51
...
...
@@ -113,6 +113,8 @@ parseKernelArgs = foldl' addFlag defaultKernelSpecOptions
kernelSpecOpts
{
kernelSpecDebug
=
True
}
addFlag
kernelSpecOpts
(
GhcLibDir
libdir
)
=
kernelSpecOpts
{
kernelSpecGhcLibdir
=
libdir
}
addFlag
kernelSpecOpts
(
RTSFlags
rts
)
=
kernelSpecOpts
{
kernelSpecRTSOptions
=
rts
}
addFlag
kernelSpecOpts
(
KernelspecInstallPrefix
prefix
)
=
kernelSpecOpts
{
kernelSpecInstallPrefix
=
Just
prefix
}
addFlag
kernelSpecOpts
KernelspecUseStack
=
...
...
src/IHaskell/Flags.hs
View file @
4245ef51
...
...
@@ -31,6 +31,8 @@ data Args = Args IHaskellMode [Argument]
data
Argument
=
ConfFile
String
-- ^ A file with commands to load at startup.
|
OverwriteFiles
-- ^ Present when output should overwrite existing files.
|
GhcLibDir
String
-- ^ Where to find the GHC libraries.
|
RTSFlags
[
String
]
-- ^ Options for the GHC runtime (e.g. heap-size limit
-- or number of threads).
|
KernelDebug
-- ^ Spew debugging output from the kernel.
|
Help
-- ^ Display help text.
|
Version
-- ^ Display version text.
...
...
@@ -96,6 +98,20 @@ help mode = showText (Wrap 100) $ helpText [] HelpFormatAll $ chooseMode mode
ghcLibFlag
::
Flag
Args
ghcLibFlag
=
flagReq
[
"ghclib"
,
"l"
]
(
store
GhcLibDir
)
"<path>"
"Library directory for GHC."
ghcRTSFlag
::
Flag
Args
ghcRTSFlag
=
flagReq
[
"use-rtsopts"
]
storeRTS
"
\"
<flags>
\"
"
"Runtime options (multithreading etc.). See `ghc +RTS -?`."
where
storeRTS
allRTSFlags
(
Args
mode
prev
)
=
fmap
(
Args
mode
.
(
:
prev
)
.
RTSFlags
)
.
parseRTS
.
words
$
filter
(
/=
'"'
)
allRTSFlags
parseRTS
(
"+RTS"
:
fs
)
-- Ignore if this is included (we already wrap
=
parseRTS
fs
-- the ihaskell-kernel call in +RTS <flags> -RTS anyway)
parseRTS
[
"-RTS"
]
=
Right
[]
parseRTS
(
"-RTS"
:
_
)
-- Evil injection of extra arguments? Unlikely, but...
=
Left
"Adding non-RTS options to --use-rtsopts not permitted."
parseRTS
(
f
:
fs
)
=
(
f
:
)
<$>
parseRTS
fs
parseRTS
[]
=
Right
[]
kernelDebugFlag
::
Flag
Args
kernelDebugFlag
=
flagNone
[
"debug"
]
addDebug
"Print debugging output from the kernel."
where
...
...
@@ -125,7 +141,7 @@ store constructor str (Args mode prev) = Right $ Args mode $ constructor str : p
installKernelSpec
::
Mode
Args
installKernelSpec
=
mode
"install"
(
Args
InstallKernelSpec
[]
)
"Install the Jupyter kernelspec."
noArgs
[
ghcLibFlag
,
kernelDebugFlag
,
confFlag
,
installPrefixFlag
,
helpFlag
,
kernelStackFlag
]
[
ghcLibFlag
,
ghcRTSFlag
,
kernelDebugFlag
,
confFlag
,
installPrefixFlag
,
helpFlag
,
kernelStackFlag
]
kernel
::
Mode
Args
kernel
=
mode
"kernel"
(
Args
(
Kernel
Nothing
)
[]
)
"Invoke the IHaskell kernel."
kernelArg
...
...
src/IHaskell/IPython.hs
View file @
4245ef51
...
...
@@ -45,6 +45,7 @@ import StringUtils (replace, split)
data
KernelSpecOptions
=
KernelSpecOptions
{
kernelSpecGhcLibdir
::
String
-- ^ GHC libdir.
,
kernelSpecRTSOptions
::
[
String
]
-- ^ Runtime options to use.
,
kernelSpecDebug
::
Bool
-- ^ Spew debugging output?
,
kernelSpecConfFile
::
IO
(
Maybe
String
)
-- ^ Filename of profile JSON file.
,
kernelSpecInstallPrefix
::
Maybe
String
...
...
@@ -54,6 +55,7 @@ data KernelSpecOptions =
defaultKernelSpecOptions
::
KernelSpecOptions
defaultKernelSpecOptions
=
KernelSpecOptions
{
kernelSpecGhcLibdir
=
GHC
.
Paths
.
libdir
,
kernelSpecRTSOptions
=
[]
,
kernelSpecDebug
=
False
,
kernelSpecConfFile
=
defaultConfFile
,
kernelSpecInstallPrefix
=
Nothing
...
...
@@ -191,6 +193,9 @@ installKernelspec replace opts = void $ do
Nothing
->
[]
Just
file
->
[
"--conf"
,
file
])
++
[
"--ghclib"
,
kernelSpecGhcLibdir
opts
]
++
(
case
kernelSpecRTSOptions
opts
of
[]
->
[]
rtsOpts
->
"+RTS"
:
kernelSpecRTSOptions
opts
++
[
"-RTS"
])
++
[
"--stack"
|
kernelSpecUseStack
opts
]
let
kernelSpec
=
KernelSpec
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment