Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 110233 - MLton 20070826 is out
Summary: MLton 20070826 is out
Status: RESOLVED FIXED
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
URL: http://mlton.org/
Whiteboard:
Keywords:
: 110231 (view as bug list)
Depends on: 110231
Blocks:
  Show dependency tree
 
Reported: 2005-10-23 08:50 UTC by Carsten Varming
Modified: 2008-04-14 21:06 UTC (History)
5 users (show)

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


Attachments
mlton ebuild file (mlton-20041109.ebuild,923 bytes, text/plain)
2005-10-23 08:51 UTC, Carsten Varming
Details
mlton-bin-20070826.ebuild (mlton-bin-20070826.ebuild,726 bytes, text/plain)
2007-11-09 14:26 UTC, Daniel Herzog
Details
mlton-20070826.ebuild (mlton-20070826.ebuild,669 bytes, text/plain)
2007-11-09 15:32 UTC, Daniel Herzog
Details
upgrade-basis-20070826.patch (upgrade-basis-20070826.patch,615 bytes, patch)
2007-11-10 23:01 UTC, Daniel Herzog
Details | Diff
mlton-bin-20070826.patch (mlton-bin-20070826.patch,259 bytes, patch)
2007-11-10 23:01 UTC, Daniel Herzog
Details | Diff
makefile-mlyacc-20070826.patch (makefile-mlyacc-20070826.patch,837 bytes, patch)
2007-11-10 23:02 UTC, Daniel Herzog
Details | Diff
makefile-mlton-20070826.patch (makefile-mlton-20070826.patch,1.99 KB, patch)
2007-11-10 23:02 UTC, Daniel Herzog
Details | Diff
makefile-mlprof-20070826.patch (makefile-mlprof-20070826.patch,368 bytes, patch)
2007-11-10 23:03 UTC, Daniel Herzog
Details | Diff
makefile-mlnlffigen-20070826.patch (makefile-mlnlffigen-20070826.patch,347 bytes, patch)
2007-11-10 23:03 UTC, Daniel Herzog
Details | Diff
makefile-mllex-20070826.patch (makefile-mllex-20070826.patch,298 bytes, patch)
2007-11-10 23:04 UTC, Daniel Herzog
Details | Diff
makefile-front-end-20070826.patch (makefile-front-end-20070826.patch,621 bytes, patch)
2007-11-10 23:04 UTC, Daniel Herzog
Details | Diff
makefile-benchmark-20070826.patch (makefile-benchmark-20070826.patch,333 bytes, patch)
2007-11-10 23:05 UTC, Daniel Herzog
Details | Diff
mlton-20070826.ebuild (mlton-20070826.ebuild,2.04 KB, text/plain)
2007-11-10 23:06 UTC, Daniel Herzog
Details
mlton-20070826.ebuild (mlton-20070826.ebuild,1.06 KB, text/plain)
2007-11-11 18:09 UTC, Marijn Schouten (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carsten Varming 2005-10-23 08:50:33 UTC
Hi,

This ebuild will install the source version of mlton-20041109.
Mlton is an optimizing SML compiler.
The 20041109 version handles the mlb extension to sml.
Comment 1 Carsten Varming 2005-10-23 08:51:59 UTC
Created attachment 71289 [details]
mlton ebuild file

This ebuild is dependent of mlton-bin-20041109 submitted in bug 110231
Comment 2 Andrzej 2005-10-31 04:50:51 UTC
Thanks a lot Carsten.  I confirming that the new ebuild works for me on x86
stable, when bootstrapping with mlton version that is currently in portage
20040227 installed from the non-binary ebuild.  I have not tried bootstrapping
with the binary version.  

This "new" version has been released a year ago by upstream (can be considered
fairly stable).
Comment 3 Andrzej 2005-10-31 04:54:33 UTC
(In reply to comment #1)
> This ebuild is dependent of mlton-bin-20041109 submitted in bug 110231

It is not strictly dependent. As you see in my comment, it can be compiled
having an older mlton-bin installation.  What slightly worries me is the stric
dependency on mlton-bin  (at least this is how I understand the ebuild). In fact
it should be just as happy if there is a previous version of nonbinary mlton in
portage.

Comment 4 Andrzej 2005-10-31 11:40:54 UTC
One more problem.  Mysteriously the old man page survived the emerge of the new
ebuild at /usr/share/man/man1/mlton.1.gz while the new one is
/usr/man/man1/mlton.1.gz.  This might be an inconsistency between the binary and
nonbinary mlton ebuilds putting man pages in different places.  I do not exactly
know where the bug is then.  The result is that the old man page is default,
which may be fairly misleading for an accidental reader.
Comment 5 Marijn Schouten (RETIRED) gentoo-dev 2007-10-09 17:27:06 UTC
MLton 20070826 is out
Comment 6 Marijn Schouten (RETIRED) gentoo-dev 2007-10-09 17:27:42 UTC
*** Bug 110231 has been marked as a duplicate of this bug. ***
Comment 7 Daniel Herzog 2007-11-09 14:26:00 UTC
Created attachment 135587 [details]
mlton-bin-20070826.ebuild

I modified the ebuild found in Portage to install the latest binary version.
Comment 8 Daniel Herzog 2007-11-09 15:32:09 UTC
Created attachment 135594 [details]
mlton-20070826.ebuild

modified version from portage tree to install the latest release
Comment 9 Daniel Herzog 2007-11-10 23:01:01 UTC
Created attachment 135683 [details, diff]
upgrade-basis-20070826.patch
Comment 10 Daniel Herzog 2007-11-10 23:01:32 UTC
Created attachment 135685 [details, diff]
mlton-bin-20070826.patch
Comment 11 Daniel Herzog 2007-11-10 23:02:17 UTC
Created attachment 135686 [details, diff]
makefile-mlyacc-20070826.patch
Comment 12 Daniel Herzog 2007-11-10 23:02:47 UTC
Created attachment 135688 [details, diff]
makefile-mlton-20070826.patch
Comment 13 Daniel Herzog 2007-11-10 23:03:16 UTC
Created attachment 135690 [details, diff]
makefile-mlprof-20070826.patch
Comment 14 Daniel Herzog 2007-11-10 23:03:37 UTC
Created attachment 135692 [details, diff]
makefile-mlnlffigen-20070826.patch
Comment 15 Daniel Herzog 2007-11-10 23:04:12 UTC
Created attachment 135694 [details, diff]
makefile-mllex-20070826.patch
Comment 16 Daniel Herzog 2007-11-10 23:04:48 UTC
Created attachment 135695 [details, diff]
makefile-front-end-20070826.patch
Comment 17 Daniel Herzog 2007-11-10 23:05:17 UTC
Created attachment 135697 [details, diff]
makefile-benchmark-20070826.patch
Comment 18 Daniel Herzog 2007-11-10 23:06:54 UTC
Created attachment 135698 [details]
mlton-20070826.ebuild

This ebuild combines the binary and source versions to avoid collisions.
USEes "binary" like ghc does.
Comment 19 Daniel Herzog 2007-11-10 23:54:25 UTC
Known issues:
- need to change one of the patches dynamically in ebuild
- maybe patches can be make more "universal" for reuseability with future
  releases
- two QA notices (stacks and prestripped binaries)
- USE="doc" and USE="binary doc" don't install an equal number of files (2703
  files when compiled, and 2356 when installed from binary)
- needs ~2.?GB of memory (ram+swap) to compile on amd64, therefore it should
  abort if less is available (which it doesnt atm) and it should
- warn about excessive memory usage
- still some errors about missing files during src_compile, but I guess they're
  harmless

(For now, fixing them is beyond my interest.)
Comment 20 Davide Pesavento (RETIRED) gentoo-dev 2007-11-11 10:56:45 UTC
You could use some sed instead of all those patches ;)
Comment 21 Marijn Schouten (RETIRED) gentoo-dev 2007-11-11 18:09:23 UTC
Created attachment 135758 [details]
mlton-20070826.ebuild

What about this simple ebuild? Please test it.
Comment 22 Daniel Herzog 2007-11-15 16:58:08 UTC
(In reply to comment #21)
> Created an attachment (id=135758) [edit]
> mlton-20070826.ebuild
> 
> What about this simple ebuild? Please test it.
> 
Shoudnt things like 
   die "emerge with binary use flag first"
be avoided when possible? It is some kind of interactivity which is the cause emerge exists: avoid manual actions, once the desired result is verbalized (i.e., emerge foo).
At least I strongly dislike those ebuilds :-)
Comment 23 Daniel Herzog 2007-11-15 16:59:26 UTC
(In reply to comment #20)
> You could use some sed instead of all those patches ;)
> 

I dont see how (otherwise I would have done so), if you know it, just do it so we'll see what you mean.
Comment 24 Daniel Herzog 2007-11-15 17:15:02 UTC
(In reply to comment #22)
> (In reply to comment #21)
> > Created an attachment (id=135758) [edit]
> > mlton-20070826.ebuild
> > 
> > What about this simple ebuild? Please test it.
> > 
> Shoudnt things like 
>    die "emerge with binary use flag first"
> be avoided when possible? It is some kind of interactivity which is the cause
> emerge exists: avoid manual actions, once the desired result is verbalized
> (i.e., emerge foo).
> At least I strongly dislike those ebuilds :-)
> 

A quick
   grep "first" -R /usr/portage|grep emerge
showed that very few ebuilds seem to do the like it, and I guess those are cases without a workaround.
Comment 25 Marijn Schouten (RETIRED) gentoo-dev 2007-11-15 18:01:53 UTC
(In reply to comment #24)
> > Shoudnt things like 
> >    die "emerge with binary use flag first"
> > be avoided when possible? It is some kind of interactivity which is the
> > cause emerge exists: avoid manual actions, once the desired result is
> > verbalized (i.e., emerge foo).
> > At least I strongly dislike those ebuilds :-)
> A quick
>    grep "first" -R /usr/portage|grep emerge
> showed that very few ebuilds seem to do the like it, and I guess those are
> cases without a workaround.

Only ebuilds for compilers that need to bootstrap are really interesting to compare for this particular issue. The way I set it up you don't have to download a binary each time you bump mlton, you just use your existing mlton (or even smlnj), but you may still choose to do so using the bin use-flag. So it's more flexible. Perhaps we could change it so that the first time instead of dying it downloads a binary and compiles itself with that. What do you think?

Comment 26 Daniel Herzog 2007-11-17 23:33:37 UTC
> you just use your existing mlton
might raise problems if it's a rather old version, therefore one needs to test of all versions in portage are actually able to compile the one in question
> (or even smlnj)
But not with the current ebuild or am I missing something?!
> Perhaps we could change it so that the first time instead
> of dying it downloads a binary and compiles itself with that. What do you
> think?
Well, that would mean you need to maintain all the patches (or whatever equivalent someone comes up with) I made - although it would be a cool thing of course. That's something for the maintainer to decide.
Comment 27 Stratos Psomadakis (RETIRED) gentoo-dev 2008-04-04 15:16:25 UTC
i tested marijn's ebuild, and works fine on amd64...
i used the binary useflag at first, and then tried to compile mlton from source,but it was needed too much ram and time...
maybe, i'll test it on a machine with more ram, and give some feedback...
Comment 28 marty rosenberg 2008-04-14 12:38:12 UTC
just compiled -binary -doc on amd64 successfully.  it also produces correct executables (it correctly compiled es4).  doc requires latex-base in order to compile.  it dies with 

make -C "mllex" docs
make[1]: Entering directory `/tmp/portage/dev-lang/mlton-20070826/work/mlton-20070826/mllex'
latex lexgen.tex
make[1]: latex: Command not found

as is to be expected
Comment 29 Marijn Schouten (RETIRED) gentoo-dev 2008-04-14 21:06:39 UTC
Thanks for testing, fixed.