Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 111407 - ebuild for metaocaml
Summary: ebuild for metaocaml
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Team for the ML programming language family
Depends on:
Reported: 2005-11-03 14:08 UTC by Ingo Bormuth
Modified: 2009-09-20 13:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

metaocaml-3.08.027.ebuild (metaocaml-3.08.027.ebuild,2.16 KB, text/plain)
2005-11-03 14:09 UTC, Ingo Bormuth
metaocaml-3.08.027.ebuild (metaocaml-3.08.027.ebuild,2.18 KB, text/plain)
2005-11-21 12:08 UTC, Ingo Bormuth
Alternate ebuil (metaocaml-308_alpha027.ebuild,2.30 KB, text/plain)
2006-01-18 19:36 UTC, Christopher Warrington (c45207)
metaocaml-3.08_alpha027.ebuild (metaocaml-3.08_alpha027.ebuild,2.71 KB, text/plain)
2006-01-21 11:26 UTC, Ingo Bormuth
metaocaml-3.08_alpha027.ebuild (metaocaml-3.08_alpha027.ebuild,2.73 KB, text/plain)
2006-01-22 10:08 UTC, Ingo Bormuth
Fixes ocaml-doc bug (metaocaml-3.09_alpha030.ebuild,2.73 KB, application/octet-stream)
2006-02-07 02:13 UTC, Christopher Warrington (c45207)
Details (,2.46 KB, text/plain)
2006-03-18 10:31 UTC, Ingo Bormuth
metaocaml-3.09_alpha030.ebuild (metaocaml-3.09_alpha030.ebuild,2.65 KB, text/plain)
2006-03-18 10:32 UTC, Ingo Bormuth
Details (ocaml-rebuild,2.45 KB, text/plain)
2006-03-22 03:48 UTC, Ingo Bormuth
Details (,2.75 KB, text/plain)
2006-03-26 23:48 UTC, Ingo Bormuth
metaocaml-3.09_alpha030.ebuild (metaocaml-3.09_alpha030.ebuild,2.89 KB, text/plain)
2006-03-27 02:16 UTC, Ingo Bormuth
ebuild for MetaOCaml 3.09-alpha030 (metaocaml-3.09_alpha030.ebuild,2.90 KB, text/plain)
2006-03-27 07:07 UTC, Christopher Warrington (c45207)

Note You need to log in before you can comment on or make changes to this bug.
Description Ingo Bormuth 2005-11-03 14:08:03 UTC
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 ?
Comment 1 Ingo Bormuth 2005-11-03 14:09:27 UTC
Created attachment 72061 [details]
Comment 2 Ingo Bormuth 2005-11-04 16:56:16 UTC
Updated to 3.08.027
Comment 3 Ingo Bormuth 2005-11-21 12:08:58 UTC
Created attachment 73321 [details]

Changed SRC_URI (upstream fix: newest version can now be found in dist/old).
Comment 4 Ingo Bormuth 2006-01-17 23:00:38 UTC
Fixed typo in name of this bug (mamaocaml -> metaocaml)-

BTW: Is there anybody out there ... ?
Comment 5 Alexandre Buisse (RETIRED) gentoo-dev 2006-01-18 02:38:06 UTC
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 also works for metaocaml?

Please fix as much as you can and we'll try to include this package in portage.

Comment 6 Christopher Warrington (c45207) 2006-01-18 19:36:59 UTC
Created attachment 77493 [details]
Alternate ebuil

This is an alternate ebuild. It is somewhat based on Ingo's, but a tough more flexible.
Comment 7 Christopher Warrington (c45207) 2006-01-18 19:42:26 UTC
(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


I don't know if I followed protocol but submitting a different ebuild instead of a patch. Please advise.
Comment 8 Ingo Bormuth 2006-01-21 11:26:02 UTC
Created attachment 77742 [details]

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"

   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 works very nice.

Comment 9 Ingo Bormuth 2006-01-22 10:08:32 UTC
Created attachment 77842 [details]

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
                         ~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
Comment 10 Ingo Bormuth 2006-01-30 13:23:26 UTC
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
Comment 11 Christopher Warrington (c45207) 2006-02-07 02:12:10 UTC
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).
Comment 12 Christopher Warrington (c45207) 2006-02-07 02:13:40 UTC
Created attachment 79093 [details]
Fixes ocaml-doc bug
Comment 13 Ingo Bormuth 2006-03-18 10:31:26 UTC
Created attachment 82474 [details]

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.
Comment 14 Ingo Bormuth 2006-03-18 10:32:47 UTC
Created attachment 82475 [details]
Comment 15 Ingo Bormuth 2006-03-22 03:48:31 UTC
Created attachment 82856 [details]

Forgot to remove -p in emerge calls ...
Comment 16 Christopher Warrington (c45207) 2006-03-26 16:11:06 UTC
The rebuild script does not add the required = sign before atoms.

Also, one cannot use --byname and --force together.
Comment 17 Christopher Warrington (c45207) 2006-03-26 18:38:01 UTC
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?
Comment 18 Ingo Bormuth 2006-03-26 23:48:05 UTC
Created attachment 83214 [details]

Thanks for your feedback. Could be that one was a slightly to quick shot.

Here is an updated version. What do you think?
Comment 19 Christopher Warrington (c45207) 2006-03-27 01:03:43 UTC
Looks pretty good to me. Thanks for the quick turn around.

You thoughts on
make metaocamlopt?
Comment 20 Ingo Bormuth 2006-03-27 02:16:32 UTC
Created attachment 83218 [details]

> 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
Comment 21 Christopher Warrington (c45207) 2006-03-27 07:07:27 UTC
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 22 Ingo Bormuth 2006-03-27 07:43:12 UTC
Comment on attachment 83218 [details]

Thanks :)
Comment 23 Ingo Bormuth 2006-03-27 08:19:12 UTC
Asked dev-list on weather to create virtual/ocaml:
Comment 24 Alexandre Buisse (RETIRED) gentoo-dev 2006-03-27 14:04:08 UTC
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 :)
Comment 25 Christopher Warrington (c45207) 2006-04-23 22:54:07 UTC
Any progress?
Comment 26 Christopher Warrington (c45207) 2006-09-10 10:12:36 UTC
This seems to have stalled over the summer. What still needs to be done before this can make in into the tree?
Comment 27 Alexis Ballier gentoo-dev 2009-09-20 13:22:28 UTC
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.