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
739b7f2f
Commit
739b7f2f
authored
Sep 15, 2021
by
Vaibhav Sagar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
release.nix: use functions to make passthru more useful
parent
7818a979
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
26 deletions
+42
-26
release.nix
release.nix
+42
-26
No files found.
release.nix
View file @
739b7f2f
...
...
@@ -50,11 +50,13 @@ let
ihaskellEnv
=
haskellPackages
.
ghcWithPackages
packages
;
jupyterlab
=
nixpkgs
.
python3
.
withPackages
(
ps
:
[
ps
.
jupyterlab
]
++
pythonPackages
ps
);
ihaskellGhcLib
=
nixpkgs
.
writeShellScriptBin
"ihaskell"
''
${
ihaskellExe
}
/bin/ihaskell -l $(
${
ihaskellE
nv
}
/bin/ghc --print-libdir) "$@"
ihaskellGhcLib
Func
=
exe
:
env
:
nixpkgs
.
writeShellScriptBin
"ihaskell"
''
${
exe
}
/bin/ihaskell -l $(
${
e
nv
}
/bin/ghc --print-libdir) "$@"
''
;
ihaskellGhcLib
=
ihaskellGhcLibFunc
ihaskellExe
ihaskellEnv
;
kernelFile
=
{
ihaskellKernelFileFunc
=
ihaskellGhcLib
:
rtsopts
:
{
display_name
=
"Haskell"
;
argv
=
[
"
${
ihaskellGhcLib
}
/bin/ihaskell"
...
...
@@ -66,46 +68,60 @@ let
];
language
=
"haskell"
;
};
ihaskellKernelFile
=
ihaskellKernelFileFunc
ihaskellGhcLib
rtsopts
;
ihaskellKernelSpec
=
nixpkgs
.
runCommand
"ihaskell-kernel"
{}
''
ihaskellKernelSpec
Func
=
ihaskellKernelFile
:
nixpkgs
.
runCommand
"ihaskell-kernel"
{}
''
export kerneldir=$out/kernels/haskell
mkdir -p $kerneldir
cp
${
./html
}
/* $kerneldir
echo '
${
builtins
.
toJSON
k
ernelFile
}
' > $kerneldir/kernel.json
echo '
${
builtins
.
toJSON
ihaskellK
ernelFile
}
' > $kerneldir/kernel.json
''
;
ihaskellKernelSpec
=
ihaskellKernelSpecFunc
ihaskellKernelFile
;
ihaskellLabextension
=
nixpkgs
.
runCommand
"ihaskell-labextension"
{}
''
mkdir -p $out/labextensions/
ln -s
${
./jupyterlab-ihaskell/labextension
}
$out/labextensions/jupyterlab-ihaskell
''
;
ihaskellDataDir
=
nixpkgs
.
buildEnv
{
ihaskellDataDir
Func
=
ihaskellKernelSpec
:
ihaskellLabextension
:
nixpkgs
.
buildEnv
{
name
=
"ihaskell-data-dir"
;
paths
=
[
ihaskellKernelSpec
ihaskellLabextension
];
};
ihaskellDataDir
=
ihaskellDataDirFunc
ihaskellKernelSpec
ihaskellLabextension
;
in
nixpkgs
.
buildEnv
{
name
=
"ihaskell-with-packages"
;
buildInputs
=
[
nixpkgs
.
makeWrapper
];
paths
=
[
ihaskellEnv
jupyterlab
];
postBuild
=
''
for prg in $out/bin"/"*;do
if [[ -f $prg && -x $prg ]]; then
wrapProgram $prg \
--prefix PATH : "
${
nixpkgs
.
lib
.
makeBinPath
([
ihaskellEnv
]
++
systemPackages
nixpkgs
)
}
" \
--prefix JUPYTER_PATH : "
${
ihaskellDataDir
}
"
fi
done
''
;
ihaskellBuildEnvFunc
=
{
ihaskellEnv
,
jupyterlab
,
sysPackages
,
ihaskellDataDir
}:
nixpkgs
.
buildEnv
{
name
=
"ihaskell-with-packages"
;
buildInputs
=
[
nixpkgs
.
makeWrapper
];
paths
=
[
ihaskellEnv
jupyterlab
];
postBuild
=
''
for prg in $out/bin"/"*;do
if [[ -f $prg && -x $prg ]]; then
wrapProgram $prg \
--prefix PATH : "
${
nixpkgs
.
lib
.
makeBinPath
([
ihaskellEnv
]
++
sysPackages
)
}
" \
--prefix JUPYTER_PATH : "
${
ihaskellDataDir
}
"
fi
done
''
;
passthru
=
{
inherit
haskellPackages
;
inherit
ihaskellExe
;
passthru
=
{
inherit
haskellPackages
;
inherit
ihaskellExe
;
inherit
ihaskellEnv
;
inherit
jupyterlab
;
inherit
ihaskellGhcLibFunc
;
inherit
ihaskellKernelFileFunc
;
inherit
ihaskellKernelSpecFunc
;
inherit
ihaskellLabextension
;
inherit
ihaskellDataDirFunc
;
inherit
ihaskellBuildEnvFunc
;
};
};
ihaskellBuildEnv
=
ihaskellBuildEnvFunc
{
inherit
ihaskellEnv
;
inherit
jupyterlab
;
inherit
ihaskellKernelSpec
;
inherit
ihaskellLabextension
;
inherit
ihaskellDataDir
;
sysPackages
=
systemPackages
nixpkgs
;
};
}
in
ihaskellBuildEnv
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