Bug 218333 - [exp-run] updating lang/ocaml 4.02 to 4.05.0
Summary: [exp-run] updating lang/ocaml 4.02 to 4.05.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Alexey Dokuchaev
URL: https://reviews.freebsd.org/D19318
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-03 15:45 UTC by Hiroki Sato
Modified: 2020-10-31 17:28 UTC (History)
12 users (show)

See Also:
antoine: exp-run+


Attachments
Update lang/ocaml and add ocaml.mk (582.36 KB, patch)
2017-04-03 15:45 UTC, Hiroki Sato
no flags Details | Diff
Update lang/ocaml and add ocaml.mk (495.98 KB, patch)
2017-04-03 19:21 UTC, Hiroki Sato
no flags Details | Diff
Update lang/ocaml and add ocaml.mk (498.63 KB, patch)
2017-04-03 19:55 UTC, Hiroki Sato
no flags Details | Diff
Update lang/ocaml and add ocaml.mk (498.67 KB, patch)
2017-04-03 21:06 UTC, Hiroki Sato
no flags Details | Diff
Update lang/ocaml and add ocaml.mk (498.93 KB, patch)
2017-04-04 04:34 UTC, Hiroki Sato
no flags Details | Diff
patch for devel/ocaml-findlib (2.57 KB, text/plain)
2017-05-24 02:25 UTC, Wen Heping
no flags Details
full patch (ocaml.mk, update to 4.04, ocaml-findlib fixes...) (496.00 KB, text/plain)
2017-05-26 01:32 UTC, Wen Heping
no flags Details
full patch (ocaml.mk, update to 4.04, ocaml-findlib fixes...) (494.63 KB, text/plain)
2017-05-31 12:24 UTC, Wen Heping
no flags Details
[patch] new patch for ocaml (476.38 KB, text/plain)
2017-06-04 01:19 UTC, Wen Heping
no flags Details
[ocaml patch of 20170609] (546.75 KB, text/plain)
2017-06-09 01:27 UTC, Wen Heping
no flags Details
[patch for ocaml 20170612] (550.21 KB, patch)
2017-06-12 12:07 UTC, Wen Heping
no flags Details | Diff
Update to 4.05.0 (95.74 KB, patch)
2019-06-18 10:08 UTC, Alexey Dokuchaev
no flags Details | Diff
Update to 4.05.0 (try 2) (99.16 KB, patch)
2019-06-21 17:04 UTC, Alexey Dokuchaev
no flags Details | Diff
Update to 4.05.0 (try 3) (100.18 KB, patch)
2019-06-23 15:11 UTC, Alexey Dokuchaev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hiroki Sato freebsd_committer freebsd_triage 2017-04-03 15:45:11 UTC
Created attachment 181432 [details]
Update lang/ocaml and add ocaml.mk

Convert bsd.ocaml.mk to Uses/ocaml.mk and update ports using USE_OCAML and update relevant ports to support OCaml 4.04.
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2017-04-03 18:18:33 UTC
Can you provide a patch that applies cleanly?  I have conflicts on lang/ocaml.
Comment 2 Hiroki Sato freebsd_committer freebsd_triage 2017-04-03 19:21:56 UTC
Created attachment 181439 [details]
Update lang/ocaml and add ocaml.mk

Sorry, the previous patch seemed to have duplicate entry of lang/ocaml.  The new one should work.
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2017-04-03 19:28:35 UTC
I have this error:

devel/ocaml-yojson depends on nonexistent origin 'devel/ocaml-biniou'
Comment 4 Hiroki Sato freebsd_committer freebsd_triage 2017-04-03 19:55:03 UTC
Created attachment 181441 [details]
Update lang/ocaml and add ocaml.mk

Sorry again.  devel/ocaml-biniou was missing.
Comment 5 Antoine Brodin freebsd_committer freebsd_triage 2017-04-03 20:40:54 UTC
lang/ocaml doesn't fetch ocaml-4.04.0.tar.xz so it fails to extract it
Comment 6 Hiroki Sato freebsd_committer freebsd_triage 2017-04-03 21:06:34 UTC
Created attachment 181444 [details]
Update lang/ocaml and add ocaml.mk

It seems I accidentally removed the DISTFILES line after testing.  Please use the new attached patch.
Comment 7 Antoine Brodin freebsd_committer freebsd_triage 2017-04-03 21:42:31 UTC
lang/ocaml fails to package (at least on 10.3 i386) :

===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: lib/ocaml/raw_spacetime_lib.a
Error: Missing: lib/ocaml/raw_spacetime_lib.cma
Error: Missing: lib/ocaml/raw_spacetime_lib.cmi
Error: Missing: lib/ocaml/raw_spacetime_lib.cmx
Error: Missing: lib/ocaml/raw_spacetime_lib.cmxa
Error: Missing: lib/ocaml/raw_spacetime_lib.cmxs
Error: Missing: lib/ocaml/raw_spacetime_lib.mli
Comment 8 Hiroki Sato freebsd_committer freebsd_triage 2017-04-04 04:34:42 UTC
Created attachment 181446 [details]
Update lang/ocaml and add ocaml.mk

I could reproduce it on 32-bit platforms including i386.  The revised patch is attached.
Comment 9 Antoine Brodin freebsd_committer freebsd_triage 2017-04-04 05:49:01 UTC
devel/ocaml-findlib fails to package (at least on 10.3 i386) :

===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%OCAML_SITELIBDIR%%/raw_spacetime/META
Comment 10 Wen Heping freebsd_committer freebsd_triage 2017-05-24 02:25:57 UTC
Created attachment 182846 [details]
patch for devel/ocaml-findlib

patch for devel/ocaml-findlib
Comment 11 Wen Heping freebsd_committer freebsd_triage 2017-05-24 02:27:22 UTC
(In reply to Antoine Brodin from comment #9)
This plist error could be easily fixed.

hrs@, would you commit this PR and update ocaml to 4.04.1 ?

wen
Comment 12 Antoine Brodin freebsd_committer freebsd_triage 2017-05-24 05:20:36 UTC
(In reply to Wen Heping from comment #11)
The exp-run could not complete due to ocaml-findlib failure so it's not ready to  commit.
Comment 13 Wen Heping freebsd_committer freebsd_triage 2017-05-24 06:42:22 UTC
(In reply to Antoine Brodin from comment #12)
Sorry I misunderstand that only ocaml-findlib failed.

Would you restart a exp-run with my fix of ocaml-findlib ?

Thank you !

wen
Comment 14 Antoine Brodin freebsd_committer freebsd_triage 2017-05-24 07:27:44 UTC
(In reply to Wen Heping from comment #13)
Can you provide a full patch  (ocaml.mk,  update to 4.04.1,  ocaml-findlib fixes...)
Comment 15 Wen Heping freebsd_committer freebsd_triage 2017-05-26 01:32:32 UTC
Created attachment 182918 [details]
full patch  (ocaml.mk,  update to 4.04,  ocaml-findlib fixes...)

full patch  (ocaml.mk,  update to 4.04,  ocaml-findlib fixes...)
Comment 16 Antoine Brodin freebsd_committer freebsd_triage 2017-05-26 18:55:14 UTC
Exp-run results on 11.0 amd64:

http://package18.nyi.freebsd.org/build.html?mastername=110amd64-default-PR218333&build=2017-05-26_07h42m55s

New failures logs on 11.0 amd64:


http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-base64-2.0.0_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-mysql-1.1.1_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-sqlite3-4.0.5_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/semantik-0.9.5.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/cil-1.7.3_3.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-menhir-20160303.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-biniou-1.0.12.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-camljava-0.3_4.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-cmdliner-0.9.8_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-cudf-0.8.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-deriving-ocsigen-0.7.1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-lacaml-8.0.7_3.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-parmap-1.0.r6_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-pomap-3.0.7_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-re-1.4.1_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-res-4.0.4_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-type_conv-113.00.02_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-uchar-0.0.1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-ulex-1.1_2.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-uutf-0.9.4_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-images-4.0.1_9,2.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-lablgl-1.05,1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-zarith-1.4.1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-gsl-1.19.1_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/orpie-1.5.2_2.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/scilab-5.5.2_7.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/kalzium-4.14.3_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-cryptokit-1.6_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/sks-1.1.6.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/hevea-2.29.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/ocaml-text-0.8_1.log
http://package18.nyi.freebsd.org/data/110amd64-default-PR218333/2017-05-26_07h42m55s/logs/geneweb-6.08.log
Comment 17 Wen Heping freebsd_committer freebsd_triage 2017-05-31 12:24:27 UTC
Created attachment 183097 [details]
full patch  (ocaml.mk,  update to 4.04,  ocaml-findlib fixes...)

It fix most of the build error which listed above, but not all :(

wen
Comment 18 Wen Heping freebsd_committer freebsd_triage 2017-06-04 01:19:35 UTC
Created attachment 183188 [details]
[patch] new patch for ocaml

antoine@:  
   Would you exp-run this new patch ?
   Thank you !

wen
Comment 19 Antoine Brodin freebsd_committer freebsd_triage 2017-06-05 07:54:11 UTC
There is a problem with ocaml-camljava:

make: "/usr/ports/Mk/bsd.port.mk" line 1437: Cannot open /usr/ports/Mk/Uses/ocamlbuild.mk
make: Fatal errors encountered -- cannot continue/usr/local/share/poudriere/bulk.sh: cannot create /zpoudriere/data/.m/110i386-default-PR218333/ref/.p/var/cache/pkgname-origin/
make: stopped in /usr/ports/devel/ocaml-camljava: No such file or directory           

Also there is a problem in math/coq
Comment 20 Antoine Brodin freebsd_committer freebsd_triage 2017-06-06 18:04:42 UTC
New failure logs:


http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-jsonm-0.9.1_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-mysql-1.1.1_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-camljava-0.3_4.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-cfg-2.0.4_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-deriving-ocsigen-0.7.1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-lacaml-8.0.7_2.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-lwt-2.5.2_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-opam-1.2.2_2.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-sexplib-113.33.00.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-gsl-1.19.1_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/orpie-1.5.2_2.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/scilab-5.5.2_8.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/kalzium-4.14.3_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-cryptokit-1.6_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/hevea-2.29.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/geneweb-6.08.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-05_17h18m10s/logs/ocaml-lablgtk2-2.18.3_2.log

Around 20 ports were skipped due to those failures.
Comment 21 Wen Heping freebsd_committer freebsd_triage 2017-06-09 01:27:31 UTC
Created attachment 183347 [details]
[ocaml patch of 20170609]

1 Update ocaml to 4.04.1
2 fix scilab and many build errors

TODO:
1 math/orpie  : maybe we should deprecate this old port
2 devel/ocaml-deriving-ocsigen:  it require several new ports created
3 www/geneweb: not build with ocaml-4.04, need some time to fix
Comment 22 Tobias Kortkamp freebsd_committer freebsd_triage 2017-06-10 13:02:56 UTC
Comment on attachment 183347 [details]
[ocaml patch of 20170609]

The patch to graphics/llpp is wrong.  It just needs USES=ocaml:build.
Comment 23 Hiroki Sato freebsd_committer freebsd_triage 2017-06-10 19:21:14 UTC
JFYI, I will take a look into this again in the next week because I had no time to do so for a while.
Comment 24 Antoine Brodin freebsd_committer freebsd_triage 2017-06-10 19:22:15 UTC
Exp-run results on 11.0 amd64:

http://pb2.nyi.freebsd.org/build.html?mastername=110amd64-default-PR218333&build=2017-06-10_08h39m29s

Failed ports:
devel/ocaml-camljava:build
www/geneweb:build
devel/ocaml-deriving-ocsigen:configure
math/orpie:build
devel/ocaml-ipaddr:configure
devel/aifad:configure
net/unison240:build
devel/frama-c:build-depends
devel/ocaml-dose3:build-depends

Skipped ports:
devel/ocaml-opam
devel/ocaml-topkg
lang/js_of_ocaml
textproc/coccigrep

Ignored ports:
net-p2p/mldonkey-core
devel/coccinelle
net-p2p/mldonkey
net/unison-devel
net-p2p/mldonkey-gui

Failure logs:

http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/aifad-2.0.8_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/frama-c-20161101_1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/ocaml-camljava-0.3_4.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/ocaml-deriving-ocsigen-0.7.1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/ocaml-dose3-5.0.1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/ocaml-ipaddr-2.6.1.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/orpie-1.5.2_2.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/unison240-2.40.128_3.log
http://pb2.nyi.freebsd.org/data/110amd64-default-PR218333/2017-06-10_08h39m29s/logs/errors/geneweb-6.08.log
Comment 25 Wen Heping freebsd_committer freebsd_triage 2017-06-12 12:07:05 UTC
Created attachment 183423 [details]
[patch for ocaml 20170612]

This patch fix:
1 devel/ocaml-dose3
2 net/unison240
3 devel/frama-c
4 devel/aifad
5 devel/ocaml-camljava

antoine@, would you hold this patch to wait hrs@ further fix?
I am sorry disturb you too much.

wen

BTW. There is a PR to fix geneweb but I did not test:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219793
Comment 26 Gerald Pfeifer freebsd_committer freebsd_triage 2018-03-24 10:17:22 UTC
Hiroki, Wen, thanks for your work on this, and thanks Antoine for the
-exp runs!

How can we move this forward?

(For example, there is a new version of textproc/bibtex2html which I'd
like to update to, but that requires ocaml 4.03 at least.)

My feeling is we should bite the bullet and apply this update and then
see that we quickly follow up (which I commit to do for bibtex2html)
or mark as broken.  Otherwise this is going to stall forever?

Also including danfe@ who has done many good cleanups last December.
Comment 27 Alexey Dokuchaev freebsd_committer freebsd_triage 2018-03-25 12:54:44 UTC
Yes, we need to push this forward.  My original intention is to update OCaml to version 4.05 which should not break existing ports; 4.06+ introduced some more potentially disrupting changes which would require careful checking of consumers and/or another exp-run.  I was actually working on it since last December as Gerald had noticed, and need to get back to it (and other related PRs).
Comment 28 Hannes Mehnert 2018-07-27 19:20:01 UTC
hello,  can I help moving this forward?  I develop OCaml code and use FreeBSD.  Which ports need attention (is there a most recent patch and exp-run?), can we move on to 4.06.1 (or even the just released 4.07.0)?  devel/ocaml-opam is also getting a 2.0 really soon now (works on FreeBSD, at least if installed locally).
Comment 29 Alexey Dokuchaev freebsd_committer freebsd_triage 2018-08-02 15:43:49 UTC
Yeah, I've finally got my act together, have update ready (to 4.05.0 for now), and currently identifying and proactively fixing consumer ports.  I'll submit the final patch for official exp-run shortly, stand by.

Once the dust settles, we'll convert bsd.ocaml.mk to USES and start pulling various bits of the stack to their recent versions (as most of it is quite outdated now).
Comment 30 Hannes Mehnert 2018-09-19 13:16:34 UTC
FWIW, I filed https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231477 which updated devel/ocaml-opam to 2.0.0, now that the 1.2.2 repository will not be updated anymore.
Comment 31 Daniel Kossakowski 2018-12-14 14:03:43 UTC
Guys, may I help somehow? This upgrade is crucial for my service stability.
Comment 32 Alexandre C. Guimarães freebsd_committer freebsd_triage 2019-02-24 20:23:27 UTC
Hi.

How is it going? I am updating `lang/ocaml` and was planning to (try to) update all necessary ocaml-* port.
Comment 33 Alexandre C. Guimarães freebsd_committer freebsd_triage 2019-02-24 20:24:37 UTC
lang/ocaml-4.07.1: https://reviews.freebsd.org/D19318
Comment 34 Antoine Brodin freebsd_committer freebsd_triage 2019-02-24 20:24:59 UTC
The patch is 2 years old so it's probably stalled.
Comment 35 Hiroki Sato freebsd_committer freebsd_triage 2019-02-24 22:55:09 UTC
I had no time to work on this for a long time, but now my situation has got better and probably I am able to take a look into this patch again.  Updating only lang/ocaml does not work because a lot of the other OCaml toolchains closely depend on it...
Comment 36 Alexey Dokuchaev freebsd_committer freebsd_triage 2019-06-18 10:08:11 UTC
Created attachment 205200 [details]
Update to 4.05.0

Update lang/ocaml to version 4.05.0 and patch dependent ports accordingly.  Mark one port broken (devel/ocaml-deriving-ocsigen), it would be handled separately after the dust settles.
Comment 37 Alexey Dokuchaev freebsd_committer freebsd_triage 2019-06-18 10:11:38 UTC
Version 4.05.0 is the last version with unsafe strings by default; updating to the later versions would result in a much larger turmoil with the rest of the stack and dependent ports, so I've decided to execute the update in two phases.  This is phase one.
Comment 40 Hannes Mehnert 2019-06-19 11:51:29 UTC
sorry, don't have enough time to work on a patch, but here are some observations:

i386 failure: spacetime is only available for 64 bit (see https://github.com/ocaml/ocaml/blob/4.05/configure#L1213-L1220) - should be guarded in pkg-plist

mldonkey: problem fixed in 3.1.6 (see https://github.com/ygrek/mldonkey/commit/5f9b2386fac40405d9b648a481621f79e3b10bab), release at https://github.com/ygrek/mldonkey/releases/tag/release-3-1-6

unison: there is a newer release which supports newer ocaml versions at https://github.com/bcpierce00/unison/releases/tag/v2.51.2

camlp5: new version available at https://camlp5.github.io/ (direct https://github.com/camlp5/camlp5/archive/rel707.tar.gz) which support ocaml 4.05.0

thanks for working on this!
Comment 41 Alexey Dokuchaev freebsd_committer freebsd_triage 2019-06-21 17:04:32 UTC
Created attachment 205267 [details]
Update to 4.05.0 (try 2)

OK, another round (updated patch).  This one depends on ports r504630 and ports r504804 applied.
Comment 43 Alexey Dokuchaev freebsd_committer freebsd_triage 2019-06-23 15:11:49 UTC
Created attachment 205297 [details]
Update to 4.05.0 (try 3)

Ah, right, the same "spacetime profiling is only available for native code on 64-bit targets" issue.  Reuploading the patch.
Comment 44 Antoine Brodin freebsd_committer freebsd_triage 2019-06-24 05:32:03 UTC
Exp-run looks fine.
Comment 45 commit-hook freebsd_committer freebsd_triage 2019-06-24 10:15:39 UTC
A commit references this bug:

Author: danfe
Date: Mon Jun 24 10:15:07 UTC 2019
New revision: 505020
URL: https://svnweb.freebsd.org/changeset/ports/505020

Log:
  Update OCaml to version 4.05.0 (this is the last version where strings
  are unsafe by default, which is the main motivation why it was picked,
  but not the very latest one) and synchronize the rest of the stack and
  dependent ports with it, particularly:

    - Update `devel/ocaml-ocamlbuild' to version 0.14.0 and unbreak,
      register build dependency on all ports that require it (should
      be part of USE_OCAML, but we do not want to make any Mk-related
      changes the for time being)
    - Update `devel/ocaml-camlp4' to version 4.05+2
    - Update `devel/ocaml-camlp5' to version 7.07 (the project had
      moved to GitHub)
    - Mark `devel/ocaml-deriving-ocsigen' as BROKEN for now, it is
      very outdated and requires quite a lot of work
    - Update `x11-toolkits/ocaml-labltk' to version 8.06.3

  PR:		218333
  Exp-run by:	antoine

Changes:
  head/converters/ocaml-base64/Makefile
  head/converters/ocaml-jsonm/Makefile
  head/databases/ocaml-sqlite3/Makefile
  head/devel/aifad/Makefile
  head/devel/cil/Makefile
  head/devel/menhir/Makefile
  head/devel/ocaml-camljava/Makefile
  head/devel/ocaml-camlp4/Makefile
  head/devel/ocaml-camlp4/distinfo
  head/devel/ocaml-camlp4/files/patch-Makefile
  head/devel/ocaml-camlp4/files/patch-build_install.sh
  head/devel/ocaml-camlp5/Makefile
  head/devel/ocaml-camlp5/distinfo
  head/devel/ocaml-camlp5/pkg-plist
  head/devel/ocaml-cfg/Makefile
  head/devel/ocaml-cmdliner/Makefile
  head/devel/ocaml-deriving-ocsigen/Makefile
  head/devel/ocaml-findlib/Makefile
  head/devel/ocaml-findlib/pkg-plist
  head/devel/ocaml-ipaddr/Makefile
  head/devel/ocaml-lacaml/Makefile
  head/devel/ocaml-lwt/Makefile
  head/devel/ocaml-ocamlbuild/Makefile
  head/devel/ocaml-ocamlbuild/distinfo
  head/devel/ocaml-ocamlbuild/pkg-plist
  head/devel/ocaml-parmap/Makefile
  head/devel/ocaml-pcre/Makefile
  head/devel/ocaml-pomap/Makefile
  head/devel/ocaml-ppx-tools/Makefile
  head/devel/ocaml-ppx-tools/distinfo
  head/devel/ocaml-re/Makefile
  head/devel/ocaml-react/Makefile
  head/devel/ocaml-res/Makefile
  head/devel/ocaml-sexplib/Makefile
  head/devel/ocaml-sexplib/files/
  head/devel/ocaml-sexplib/files/patch-lib_conv.ml
  head/devel/ocaml-type_conv/Makefile
  head/devel/ocaml-ulex/Makefile
  head/devel/ocaml-uutf/Makefile
  head/lang/ocaml/Makefile
  head/lang/ocaml/distinfo
  head/lang/ocaml/files/patch-configure
  head/lang/ocaml/pkg-descr
  head/lang/ocaml/pkg-plist
  head/lang/ocaml-camlidl/Makefile
  head/math/facile/Makefile
  head/math/ocamlgsl/Makefile
  head/net-p2p/mldonkey/Makefile
  head/security/ocaml-cryptokit/Makefile
  head/security/sks/Makefile
  head/security/sks/files/debian-bug-870150
  head/security/sks/files/patch-Makefile
  head/textproc/hevea/Makefile
  head/textproc/ocaml-text/Makefile
  head/x11-toolkits/ocaml-labltk/Makefile
  head/x11-toolkits/ocaml-labltk/distinfo
Comment 46 commit-hook freebsd_committer freebsd_triage 2019-06-25 12:56:21 UTC
A commit references this bug:

Author: gerald
Date: Tue Jun 25 12:55:28 UTC 2019
New revision: 505087
URL: https://svnweb.freebsd.org/changeset/ports/505087

Log:
  Fix up pkg-plist in case the THREADS option (which is on by default) is
  off by marking a couple of files added in revision 505020 conditional on
  that option.

  PR:		218333

Changes:
  head/lang/ocaml/pkg-plist
Comment 47 Antoine Brodin freebsd_committer freebsd_triage 2019-06-27 05:27:01 UTC
ocaml fails to link on i386 with lld:

http://beefy11.nyi.freebsd.org/data/head-i386-default/p505192_s349446/logs/errors/ocaml-4.05.0.log
Comment 48 Alexey Dokuchaev freebsd_committer freebsd_triage 2019-06-27 11:07:40 UTC
(In reply to Antoine Brodin from comment #47)

Hmm, LDFLAGS_i386=-Wl,-znotext line was added back in r480033, I'd have to investigate...
Comment 49 commit-hook freebsd_committer freebsd_triage 2019-06-27 13:11:28 UTC
A commit references this bug:

Author: danfe
Date: Thu Jun 27 13:11:22 UTC 2019
New revision: 505208
URL: https://svnweb.freebsd.org/changeset/ports/505208

Log:
  Make sure that correct LDFLAGS are passed when linking shared libraries,
  otherwise the build would fail on i386 with recent versions of FreeBSD.

  PR:	218333

Changes:
  head/lang/ocaml/files/patch-configure
Comment 50 Mikael Urankar freebsd_committer freebsd_triage 2019-09-28 10:07:55 UTC
can we add armv6 to the list?

--- Makefile    (revision 513108)
+++ Makefile    (working copy)
@@ -151,7 +151,7 @@
        ${INSTALL_DATA} ${_DISTDIR}${DOCSDISTNAME}-refman.pdf ${STAGEDIR}${DOCSDIR}
 .endif
 # Spacetime profiling is only available for native code on 64-bit targets
-.if ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc
+.if ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc
        @${REINPLACE_CMD} -e '/raw_spacetime_lib/d' ${TMPPLIST}
 .endif

http://beefy8.nyi.freebsd.org/data/head-armv6-default/p512305_s352495/logs/errors/ocaml-4.05.0_1.log
Comment 51 rlwestlund 2020-07-15 03:55:33 UTC
I'm confused about the status of this as it says `Status: In Progress` but the version I just installed from pkg is 4.05.0_1.

But folks, I came to tell you... Ocaml 4.10 is out now... https://ocaml.org/releases/4.10.0.html
Comment 52 Hannes Mehnert 2020-10-17 17:08:40 UTC
I agree this issue should be closed, since OCaml in ports is now 4.05.1, and more recently OCaml 4.11.1 has been released.

I'm curious about the status of OCaml packages in FreeBSD, I see that some libraries were imported to compile certain projects, but some of these ports have been removed since then (e.g. lang/opa astro/planets).

Now, upgrading the OCaml compiler nearly always leads to an exp-run which is costly and work-intensive to fix. Would you be interested in a cleanup run of the FreeBSD ports that remove all the dangling libraries? From my perspective, useful OCaml ports are those which install actual binaries (coq, opam, mldonkey, ..).

Most users (and sysops) are interested in some OCaml binaries, most OCaml developers will need a recent OCaml compiler anyways, and then use opam (devel/ocaml-opam) to install dependent libraries.

What do you think?
Comment 53 Alexey Dokuchaev freebsd_committer freebsd_triage 2020-10-18 02:52:11 UTC
(In reply to hannes from comment #52)
> I agree this issue should be closed, since OCaml in ports is now 4.05.1,
> and more recently OCaml 4.11.1 has been released.
Yeah I guess we can close it.  Shall updating to a more contemporary version require another exp-run, we'd have to open another, dedicated PR anyways.

I'm more sure if I would go all the way to 4.11 or still stick for 4.07 for the moment, due to this regression (still opened):

    https://github.com/ocaml/ocaml/issues/8776

> I'm curious about the status of OCaml packages in FreeBSD, I see that
> some libraries were imported to compile certain projects, but some of
> these ports have been removed since then (e.g. lang/opa astro/planets).
I intend to review and possibly revive most (useful) of them in coming weeks/months.

> Now, upgrading the OCaml compiler nearly always leads to an exp-run
> which is costly and work-intensive to fix.
It was because of the considerable techdebt we gained in between 4.02 and4.05.  I hope the next hop won't be so costly (albeit my procrastination may very well contribute to it).

> Would you be interested in a cleanup run of the FreeBSD ports that
> remove all the dangling libraries?
No, please.

> Most users (and sysops) are interested in some OCaml binaries, most
> OCaml developers will need a recent OCaml compiler anyways, and then
> use opam (devel/ocaml-opam) to install dependent libraries.
Language-specific package managers are cancer (NPM is particularly bad example of this) and do not align well with *nix distributions' own package managers.  It probably makes sense in Windows as it lacks any decent package management, but not in FreeBSD.
Comment 54 Hannes Mehnert 2020-10-18 19:59:56 UTC
Nice to hear from you.

> I intend to review and possibly revive most (useful) of them in coming weeks/months.

Great!

> It was because of the considerable techdebt we gained in between 4.02 and4.05.  I hope the next hop won't be so costly (albeit my procrastination may very well contribute to it).

The "big jump" is to 4.06.0 and above, where the defaults of the "string" type changed -- it is now immutable. This required some effort in the OCaml ecosystem, but there are lots of advantages (easier intuition of code, more compiler optimizations, ..).

> > Would you be interested in a cleanup run of the FreeBSD ports that
> > remove all the dangling libraries?
> No, please.

I looked into that again, and wondered about two things:
- are there any visualization tools for dependencies between ports?
- are there any statistics (maybe from pkg host) about popularity / installations of a certain port?

> Language-specific package managers are cancer (NPM is particularly bad example of this) and do not align well with *nix distributions' own package managers.  It probably makes sense in Windows as it lacks any decent package management, but not in FreeBSD.

I agree with that statement, though looking from the real world I don't know of any OCaml developer using their *nix package manager. Opam is rather friendly with other package managers - it only installs stuff into ~/.opam (not system wide, ...).

Given your above statement, I get that you'd appreciate the existing OCaml ports being retained and maintained (updated)? I'd still be more enthusiastic to find the OCaml ports that are actually useful and used, remove the others, and then move forward upgrading the lang/ocaml to a more recent version.
Comment 55 Gerald Pfeifer freebsd_committer freebsd_triage 2020-10-19 08:44:03 UTC
(In reply to Alexey Dokuchaev from comment #53)
> I'm more sure if I would go all the way to 4.11 or still stick for 4.07
> for the moment, due to this regression (still opened):
>
>    https://github.com/ocaml/ocaml/issues/8776

Maybe use 4.07 as an intermediate step *if* 4.05->4.07 is a smaller and
easier step than 4.05->4.11?

The regression you list is "only" a performance regression. Not great,
but better to accept that instead of being stuck on an old version for
much longer...
Comment 56 Alexey Dokuchaev freebsd_committer freebsd_triage 2020-10-19 08:55:19 UTC
(In reply to Gerald Pfeifer from comment #55)
> Maybe use 4.07 as an intermediate step *if* 4.05->4.07 is a smaller and easier
> step than 4.05->4.11?
Yes, most certainly.  I'd be considering various upgrade paths, but eventually we'd get to the latest version, of course.