Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
195
Issues
195
List
Board
Labels
Milestones
Merge Requests
12
Merge Requests
12
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
haskell-gargantext
Commits
99c59024
Verified
Commit
99c59024
authored
Mar 06, 2025
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[nix] add corenlp.nix, implement in Dockerfile
parent
181e477d
Pipeline
#7412
failed with stages
in 82 minutes and 18 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
72 additions
and
33 deletions
+72
-33
Dockerfile
devops/docker/Dockerfile
+18
-22
corenlp.nix
nix/corenlp.nix
+41
-0
pkgs.nix
nix/pkgs.nix
+4
-0
Main.hs
test/drivers/hspec/Main.hs
+9
-11
No files found.
devops/docker/Dockerfile
View file @
99c59024
...
@@ -18,32 +18,27 @@ ENV PATH=/root/.local/bin:$PATH
...
@@ -18,32 +18,27 @@ ENV PATH=/root/.local/bin:$PATH
RUN
apt-get update
&&
\
RUN
apt-get update
&&
\
apt-get
install
--no-install-recommends
-y
\
apt-get
install
--no-install-recommends
-y
\
apt-transport-https
\
apt-transport-https
\
autoconf
\
#
autoconf
\
automake
\
#
automake
\
build-essential
\
#
build-essential
\
ca-certificates
\
ca-certificates
\
curl
\
curl
\
#gcc
\
git
\
git
\
gnupg2
\
gnupg2
\
libffi-dev
\
#
libffi-dev
\
libffi8
\
#
libffi8
\
libgmp-dev
\
#
libgmp-dev
\
libgmp10
\
#
libgmp10
\
libncurses-dev
\
#
libncurses-dev
\
libncurses6
\
#
libncurses6
\
libnuma-dev
\
#
libnuma-dev
\
libtinfo6
\
#
libtinfo6
\
locales
\
locales
\
lsb-release
\
#
lsb-release
\
software-properties-common
\
software-properties-common
\
#strace
\
sudo
\
sudo
\
#wget
\
#vim
\
xz-utils
\
xz-utils
\
zlib1g-dev
\
zlib1g-dev
\
#openjdk-21-jdk
\
unzip
&&
\
unzip
&&
\
apt-get clean
&&
rm
-rf
/var/lib/apt/lists/
*
&&
\
apt-get clean
&&
rm
-rf
/var/lib/apt/lists/
*
&&
\
mkdir
-m
0755 /nix
&&
groupadd
-r
nixbld
&&
chown
root /nix
&&
\
mkdir
-m
0755 /nix
&&
groupadd
-r
nixbld
&&
chown
root /nix
&&
\
...
@@ -55,23 +50,24 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
...
@@ -55,23 +50,24 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
COPY
./shell.nix /builds/gargantext/shell.nix
COPY
./shell.nix /builds/gargantext/shell.nix
COPY
./nix/pkgs.nix /builds/gargantext/nix/pkgs.nix
COPY
./nix/pkgs.nix /builds/gargantext/nix/pkgs.nix
COPY
./nix/corenlp.nix /builds/gargantext/nix/corenlp.nix
COPY
./nix/pinned-25.05.nix /builds/gargantext/nix/pinned-25.05.nix
COPY
./nix/pinned-25.05.nix /builds/gargantext/nix/pinned-25.05.nix
COPY
./devops/coreNLP/build.sh /root/devops/coreNLP/build.sh
COPY
./devops/coreNLP/build.sh /root/devops/coreNLP/build.sh
COPY
./devops/coreNLP/startServer.sh /root/devops/coreNLP/startServer.sh
#
COPY ./devops/coreNLP/startServer.sh /root/devops/coreNLP/startServer.sh
COPY
./bin/setup-ci-environment /builds/gargantext/bin/setup-ci-environment
COPY
./bin/setup-ci-environment /builds/gargantext/bin/setup-ci-environment
COPY
./bin/install-cabal2stack /builds/gargantext/bin/install-cabal2stack
COPY
./bin/install-cabal2stack /builds/gargantext/bin/install-cabal2stack
#RUN cd /root/devops/coreNLP; ./build.sh && \
RUN
set
-o
pipefail
&&
\
RUN
set
-o
pipefail
&&
\
locale-gen en_US.UTF-8
&&
\
bash <
(
curl
-L
https://releases.nixos.org/nix/nix-2.26.2/install
)
--no-daemon
&&
\
bash <
(
curl
-L
https://releases.nixos.org/nix/nix-2.26.2/install
)
--no-daemon
&&
\
locale-gen en_US.UTF-8
&&
chown
root
-R
/nix
&&
\
chown
root
-R
/nix
&&
\
.
"
$HOME
/.nix-profile/etc/profile.d/nix.sh"
&&
\
.
"
$HOME
/.nix-profile/etc/profile.d/nix.sh"
&&
\
mkdir
-p
"/builds/gargantext/"
&&
chmod
777
-R
"/builds/gargantext"
&&
\
mkdir
-p
"/builds/gargantext/"
&&
chmod
777
-R
"/builds/gargantext"
&&
\
echo
"source
$HOME
/.nix-profile/etc/profile.d/nix.sh"
>>
"
$HOME
/.bashrc"
&&
\
echo
"source
$HOME
/.nix-profile/etc/profile.d/nix.sh"
>>
"
$HOME
/.bashrc"
&&
\
echo
`
which nix-env
`
&&
\
echo
`
which nix-env
`
&&
\
.
$HOME
/.bashrc
&&
nix-env
--version
&&
\
.
$HOME
/.bashrc
&&
nix-env
--version
&&
\
cd
/builds/gargantext
&&
nix-shell
--run
"./bin/install-cabal2stack"
&&
\
cd
/builds/gargantext
&&
nix-shell
--run
"./bin/install-cabal2stack"
cd
/root/devops/coreNLP
&&
nix-shell
-p
jre
--run
"./build.sh"
#
cd /root/devops/coreNLP && nix-shell -p jre --run "./build.sh"
WORKDIR
"/builds/gargantext/"
WORKDIR
"/builds/gargantext/"
nix/corenlp.nix
0 → 100644
View file @
99c59024
# https://nixos.wiki/wiki/Java
{
fetchzip
,
stdenv
,
writeShellScript
,
jre
,
version
?
"4.5.8"
,
hash
?
"sha256-HZHNyw+LrxAN4OLueAhyxRG2onPWNMm5MwJDLLzsE2M="
}:
let
file_name
=
"stanford-corenlp-
${
version
}
.zip"
;
url
=
"http://nlp.stanford.edu/software/
${
file_name
}
"
;
zip_file
=
fetchzip
{
inherit
url
hash
;
};
start_server
=
writeShellScript
"startCoreNLPServer.sh"
''
PORT=9000
while getopts ':p:h' opt; do
case $opt in
(p) PORT=$OPTARG;;
(h) echo "$(basename $0) [-p 9000]"
exit 0
;;
esac
done
shift "$((OPTIND - 1))"
${
jre
}
/bin/java -mx4g -cp "
${
zip_file
}
/*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port $PORT -timeout 15000
''
;
in
stdenv
.
mkDerivation
rec
{
name
=
"corenlp"
;
inherit
version
;
phases
=
"installPhase"
;
installPhase
=
''
mkdir -p $out/bin
cp
${
start_server
}
$out/bin/startCoreNLPServer.sh
''
;
}
nix/pkgs.nix
View file @
99c59024
...
@@ -88,6 +88,9 @@ rec {
...
@@ -88,6 +88,9 @@ rec {
''
;
''
;
});
});
corenlp
=
pkgs
.
callPackage
./corenlp.nix
{
};
hsBuildInputs
=
[
hsBuildInputs
=
[
ghc966
ghc966
cabal_install
cabal_install
...
@@ -97,6 +100,7 @@ rec {
...
@@ -97,6 +100,7 @@ rec {
];
];
nonhsBuildInputs
=
with
pkgs
;
[
nonhsBuildInputs
=
with
pkgs
;
[
bzip2
bzip2
corenlp
czmq
czmq
docker-compose
docker-compose
git
git
...
...
test/drivers/hspec/Main.hs
View file @
99c59024
...
@@ -19,18 +19,16 @@ startCoreNLPServer :: IO ProcessHandle
...
@@ -19,18 +19,16 @@ startCoreNLPServer :: IO ProcessHandle
startCoreNLPServer
=
do
startCoreNLPServer
=
do
putText
"calling start core nlp"
putText
"calling start core nlp"
devNull
<-
openFile
"/dev/null"
WriteMode
devNull
<-
openFile
"/dev/null"
WriteMode
let
p
=
proc
"./startServer.sh"
[]
let
p
=
proc
"startCoreNLPServer.sh"
[]
(
_
,
_
,
_
,
hdl
)
<-
(
createProcess
$
p
{
cwd
=
Just
"devops/coreNLP/stanford-corenlp-current"
(
_
,
_
,
_
,
hdl
)
<-
(
createProcess
$
p
{
,
delegate_ctlc
=
True
cwd
=
Nothing
,
create_group
=
True
,
delegate_ctlc
=
True
,
std_out
=
UseHandle
devNull
,
create_group
=
True
,
std_err
=
UseHandle
devNull
,
std_out
=
UseHandle
devNull
})
`
catch
`
\
e
->
case
e
of
,
std_err
=
UseHandle
devNull
})
`
catch
`
\
e
->
case
e
of
_
|
True
<-
"does not exist"
`
isInfixOf
`
(
T
.
pack
.
show
@
SomeException
$
e
)
_
|
True
<-
"does not exist"
`
isInfixOf
`
(
T
.
pack
.
show
@
SomeException
$
e
)
->
fail
$
"Cannot execute the 'startServer.sh' script. If this is the "
<>
->
fail
$
"Cannot execute the 'startCoreNLPServer.sh' script. Make sure you are in a nix environment."
"first time you are running the tests, you have to run "
<>
"cd devops/coreNLP && ./build.sh first. You have to run it only once, "
<>
"and then you are good to go for the time being."
|
otherwise
->
throwIO
e
|
otherwise
->
throwIO
e
pure
hdl
pure
hdl
...
...
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