Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add OCaml Jupyter 0.0.0 #9932

Merged
merged 3 commits into from
Jul 28, 2017
Merged

Add OCaml Jupyter 0.0.0 #9932

merged 3 commits into from
Jul 28, 2017

Conversation

akabe
Copy link
Contributor

@akabe akabe commented Jul 25, 2017

I released an OCaml kernel for Jupyter notebook: https://akabe.github.io/ocaml-jupyter/

There is another OCaml kernel "IOCaml". It seems no longer maintained, and has some bugs, e.g., unable to use ppx and unsupported session keys. Thus I re-implemented a new program without such bugs.

@akabe
Copy link
Contributor Author

akabe commented Jul 26, 2017

I don't know the reason of failed test cases.

@camlspotter
Copy link
Contributor

camlspotter commented Jul 26, 2017

It failed to install zeromq development package for CentOS 7. It is a glitch of conf-zmq.0.1 which your package depends on: https://github.com/ocaml/opam-repository/blob/master/packages/conf-zmq/conf-zmq.0.1/opam
My understanding is that you can leave it. Mighty OPAM team will take care of the rest.

@akabe
Copy link
Contributor Author

akabe commented Jul 26, 2017

@camlspotter Thanks. I guess conf-zmq is not broken because building on Debian and Alpine Linux is not failed. However, epel-release is required in CentOS7 because CentOS 7 has no zeromq-devel in the standard package repository. I tried on docker:

$ docker run -it --rm centos:7 bash
# yum update
# yum search all zeromq zmq
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: mirror.vastspace.net
 * updates: download.nus.edu.sg
Warning: No matches found for: zeromq
Warning: No matches found for: zmq
No matches found
# yum install -y epel-release
# yum search all zeromq zmq
...
zeromq-devel.x86_64 : Development files for zeromq
zeromq3-devel.x86_64 : Development files for zeromq3
zeromq.x86_64 : Software library for fast, message-based applications
zeromq3.x86_64 : Software library for fast, message-based applications
...

epel-release must be installed before installation of zeromq, i.e., yum install -y epel-release zeromq-devel says that zeromq-devel is not found, but yum install -y epel-release && yum install -y zeromq-devel succeeds.

@akabe
Copy link
Contributor Author

akabe commented Jul 26, 2017

I tried editing conf-zmq.1.0/opam as follows:

opam-version: "1"
maintainer: "[email protected]"
homepage: "http://zeromq.org/"
license: "LGPL"
build: [
  ["cc" "test.c" "-I/usr/local/include" "-L/usr/local/lib" "-lzmq"]
]
depexts: [
  [["debian"] ["libzmq3-dev"]]
  [["ubuntu"] ["libzmq3-dev"]]
  [["osx" "homebrew"] ["zeromq"]]
  [["alpine"] ["zeromq-dev"]]
  [["centos"] ["epel-release" "zeromq-devel"]]       # added epel-release
]

but it was failed installing zeromq-devel due to the reason of the above comment.

@akabe
Copy link
Contributor Author

akabe commented Jul 27, 2017

@avsm @samoht I need to install epel-release before zeromq-devel. Do you have any good ideas?

P.S. Some other packages require epel-release, but opam depext for them failed (I tried it on CentOS7 in Docker).

@avsm
Copy link
Member

avsm commented Jul 27, 2017

an issue for this on https://github.com/ocaml/opam-depext/issues would be appreciated -- sounds like we need to support yet more metadata for centos

@avsm
Copy link
Member

avsm commented Jul 27, 2017

cc @andrewray as well so he can comment on IOCaml's support status

@akabe
Copy link
Contributor Author

akabe commented Jul 27, 2017

@avsm Thanks. I'll issue this case.

cc @andrewray Sorry, I should contact you before publishing this package. I use IOCaml at work because IOCaml is an awesome package. I need ppx and comm messages, etc. but related issues and PRs are not updated from a few years ago. I tried adding ppx to IOCaml, while it's difficult for me (andrewray/iocaml#38).

@akabe
Copy link
Contributor Author

akabe commented Jul 27, 2017

I posted ocaml-opam/opam-depext#70. I'll add os != "centos" for passing CI for now.

@andrewray
Copy link
Contributor

This package certainly fixes a need that a number of users have requested - namely updated protocol support.

IOcaml has been stalled for some time due partly to a severe lack of time, but also due to the complexity of updating the entire suite of kernel, server and javascript components.

I reality iocaml has become unsupported for some time as any help that has been offered has been concentrated on the kernel only, without considering the other projects. That's mainly my fault for splitting the projects in the first place. @rgrinberg has offered help in fixing some of this that I should really make some time to support.

@akabe
Copy link
Contributor Author

akabe commented Jul 27, 2017

@andrewray Thanks. I plan to only support kernel (and already support ppx and Jupyter protocol v5). JS kernel and server of IOCaml are useful, but I mainly use numerical computing libraries including C bindings (difficult to migrate to JS).

I was impressive when I first used IOCaml! I wanted to improve it, but some bugs are hard for me. As a result, I re-implemented.

@akabe
Copy link
Contributor Author

akabe commented Jul 27, 2017

Hmm. os = linux on CentOS7 in Docker. It seems opam config list contains no information related to linux distribution.

@akabe
Copy link
Contributor Author

akabe commented Jul 28, 2017

@avsm cc @yallop

I fixed conf-zmq for installation of zeromq-devel after epel-release on CentOS7 (see this script) and added the fedora case.

@yallop
Copy link
Member

yallop commented Jul 28, 2017

Thanks for fixing the conf-zmq package, @akabe. Since the changes only affect metadata, could you please just apply them directly to conf-zmq.0.1 rather than creating a new version (conf-zmq.0.2)?

@akabe
Copy link
Contributor Author

akabe commented Jul 28, 2017

@yallop OK. I fix it.

@yallop
Copy link
Member

yallop commented Jul 28, 2017

Thanks!

@yallop yallop merged commit bfe4249 into ocaml:master Jul 28, 2017
@akabe akabe deleted the jupyter.0.0.0 branch February 27, 2018 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants