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.
Can you provide a patch that applies cleanly? I have conflicts on lang/ocaml.
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.
I have this error: devel/ocaml-yojson depends on nonexistent origin 'devel/ocaml-biniou'
Created attachment 181441 [details] Update lang/ocaml and add ocaml.mk Sorry again. devel/ocaml-biniou was missing.
lang/ocaml doesn't fetch ocaml-4.04.0.tar.xz so it fails to extract it
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.
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
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.
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
Created attachment 182846 [details] patch for devel/ocaml-findlib patch for devel/ocaml-findlib
(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
(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.
(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
(In reply to Wen Heping from comment #13) Can you provide a full patch (ocaml.mk, update to 4.04.1, ocaml-findlib fixes...)
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...)
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
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
Created attachment 183188 [details] [patch] new patch for ocaml antoine@: Would you exp-run this new patch ? Thank you ! wen
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
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.
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 on attachment 183347 [details] [ocaml patch of 20170609] The patch to graphics/llpp is wrong. It just needs USES=ocaml:build.
JFYI, I will take a look into this again in the next week because I had no time to do so for a while.
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
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
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.
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).
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).
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).
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.
Guys, may I help somehow? This upgrade is crucial for my service stability.
Hi. How is it going? I am updating `lang/ocaml` and was planning to (try to) update all necessary ocaml-* port.
lang/ocaml-4.07.1: https://reviews.freebsd.org/D19318
The patch is 2 years old so it's probably stalled.
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...
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.
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.
New failure logs on 12.0 i386: http://pb2.nyi.freebsd.org/data/120i386-default-PR218333/2019-06-18_17h09m47s/logs/ocaml-4.05.0.log http://pb2.nyi.freebsd.org/data/120i386-default-PR218333/2019-06-18_17h09m47s/logs/ocaml-nox11-4.05.0.log
New failure logs on 12.0 amd64: http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/ocaml-camlp5-6.16.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/scilab-5.5.2_18.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/mldonkey-3.1.5_2.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/mldonkey-core-3.1.5_2.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/mldonkey-gui-3.1.5_2.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/unison240-2.40.128_3.log http://package18.nyi.freebsd.org/data/120amd64-default-PR218333/2019-06-18_17h09m48s/logs/unison240-nox11-2.40.128_3.log
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!
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.
ocaml-findlib fails to package on i386: http://package23.nyi.freebsd.org/data/112i386-default-PR218333/2019-06-22_19h20m28s/logs/ocaml-findlib-1.7.1.log http://pb2.nyi.freebsd.org/data/120i386-default-PR218333/2019-06-22_19h20m24s/logs/ocaml-findlib-1.7.1.log
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.
Exp-run looks fine.
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
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
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
(In reply to Antoine Brodin from comment #47) Hmm, LDFLAGS_i386=-Wl,-znotext line was added back in r480033, I'd have to investigate...
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
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
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
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?
(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.
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.
(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...
(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.