Please find attached an ebuild for metaocaml 3.08 alpha 26. Metaocaml is a multi staged version of ocaml which I just use as a drop in replacement (native compiler only for x86). BTW: Do you need man power in the ml-herd ?
Created attachment 72061 [details] metaocaml-3.08.027.ebuild
Updated to 3.08.027
Created attachment 73321 [details] metaocaml-3.08.027.ebuild Changed SRC_URI (upstream fix: newest version can now be found in dist/old).
Fixed typo in name of this bug (mamaocaml -> metaocaml)- BTW: Is there anybody out there ... ?
Yes, there are :) Some remarks on your ebuild (some of these also apply to dev-lang/ocaml but you should fix them here if you can) : - name should be something like metaocaml-3.08_alpha027.ebuild so that we can bump it more easily (I have a working ebuild with this name) - you don't use versionator eclass, so you don't need to inherit it - your src_unpack could be removed as it is the default one - ./configure explicit call sucks, you should use econf but I am not sure it is possible here - LICENSE and INSTALL files shouldn't be installed - Are you sure that ocaml-rebuild.sh also works for metaocaml? Please fix as much as you can and we'll try to include this package in portage. Thanks
Created attachment 77493 [details] Alternate ebuil This is an alternate ebuild. It is somewhat based on Ingo's, but a tough more flexible.
(In reply to comment #5) > - name should be something like metaocaml-3.08_alpha027.ebuild so that we can > bump it more easily (I have a working ebuild with this name) Fixed in my ebuild. > - you don't use versionator eclass, so you don't need to inherit it I do use it, but I may not need to. > - your src_unpack could be removed as it is the default one Mine doesn't use it. > - ./configure explicit call sucks, you should use econf but I am not sure it is > possible here I tried, but this configure doesn't work with --prefix=<dir> syntax; it needs -prefix <dir> syntax. > - LICENSE and INSTALL files shouldn't be installed Fixed. I don't know if I followed protocol but submitting a different ebuild instead of a patch. Please advise.
Created attachment 77742 [details] metaocaml-3.08_alpha027.ebuild Here is a merged version - thank you Chris ! Comments on the following would be appreciated: 1) I directly provide dev-lang/ocaml but looking at man 5 ebuild I suspect this to be against policy. PROVIDE = "virtual/TARGET" This variable should only be used when a package provides a virtual target. Quickly searching the tree for prior art made me think even harder. grep -r --include="*.ebuild" "PROVIDE=" * | grep -v "virtual" [nothing] Is there any valid alternative but using the virtual and changing all depending ebuilds as well? 2) I added DEPEND="doc? app-doc/ocaml-docs" which installs the ocaml reference manual. I posted an ebuild in bug #119838. 3) In my hands ocaml-rebuild.sh works very nice. Cheers
Created attachment 77842 [details] metaocaml-3.08_alpha027.ebuild Minor changes: 32: add version in PROVIDE="dev-lang/ocaml-${major}.${minor}" 90: typo in einfo I have an ebuild for cameleon wich depends on >=dev-lang/ocaml-3.08. That dependency was broken because xx_alpha if interpreted to be prior to xx so I provide 3.08 explecitely. Nevertheless Im still not sure about providing a non virtual. Even repoman complains: virtual.exists 1 dev-lang/metaocaml/metaocaml-3.08_alpha027.ebuild: dev-lang/ocaml virtual.unavailable 1 dev-lang/metaocaml/metaocaml-3.08_alpha027.ebuild: ~x86(default-linux/x86/2005.1) dev-lang/ocaml virtual.versioned 1 dev-lang/metaocaml/metaocaml-3.08_alpha027.ebuild: dev-lang/ocaml-3.08
How is the chance to get this into the tree ? What are the fixes you need ? Also upstream is interested in some feedback. Thank you - Ingo
Ebuild works for version 309_alpha030. ocaml-docs is actually ocaml-doc and it is in dev-ml. See the uploaded ebuild which has this correction (and is backwards compat. with 308_alpha027).
Created attachment 79093 [details] Fixes ocaml-doc bug
Created attachment 82474 [details] ocaml-rebuild.sh I recently ran into trouble using the original ocaml-rebuild script. It tried to reinstall ocaml after switching to metaocaml. Here is a version optionally using equery.
Created attachment 82475 [details] metaocaml-3.09_alpha030.ebuild
Created attachment 82856 [details] ocaml-rebuild.sh Forgot to remove -p in emerge calls ...
The rebuild script does not add the required = sign before atoms. Also, one cannot use --byname and --force together.
Should emake ${makeOptions} metaocamlopt be added even though it only works on x86 machines? If so, what's the best way to test for x86-ness?
Created attachment 83214 [details] ocaml-rebuild.sh Thanks for your feedback. Could be that one was a slightly to quick shot. Here is an updated version. What do you think?
Looks pretty good to me. Thanks for the quick turn around. You thoughts on make metaocamlopt?
Created attachment 83218 [details] metaocaml-3.09_alpha030.ebuild > Should emake ${makeOptions} metaocamlopt > be added even though it only works on x86 machines? I'd say yes, on x86. What about: 73 # on supported architectures build metaocaml native code compiler 74 if [[ ${ARCH} == 'x86' ]]; then emake ${makeOptions} metaocamlopt || die "emake opt failed" 75 else einfo "Native code compilation (metaocamlopt) is not available this platform." ; fi
Created attachment 83233 [details] ebuild for MetaOCaml 3.09-alpha030 Minor changes to Ingo's latest version; fixes the text in the metaocamlopt einfo call.
Comment on attachment 83218 [details] metaocaml-3.09_alpha030.ebuild Thanks :)
Asked dev-list on weather to create virtual/ocaml: http://thread.gmane.org/gmane.linux.gentoo.devel/36941
Great. As soon as we reach a decision on that virtual problem, I'll test&commit this ebuild. Thanks a lot to all those who worked on this ebuild :)
Any progress?
This seems to have stalled over the summer. What still needs to be done before this can make in into the tree?
This seems dead, last release in 2006, based on ocaml 3.09. Sorry this hasn't made it into the tree, feel free to reopen if I'm wrong by burying it too quickly.