Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 121234 - dev-lang/mercury ebuild request
Summary: dev-lang/mercury ebuild request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Keri Harris
URL: http://www.cs.mu.oz.au/research/mercury/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-01 16:11 UTC by ash
Modified: 2006-03-23 01:47 UTC (History)
1 user (show)

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


Attachments
mercury-compiler-0.12.2.ebuild (mercury-compiler-0.12.2.ebuild,758 bytes, text/plain)
2006-02-20 02:14 UTC, Ryan Kelly
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ash 2006-02-01 16:11:40 UTC
I was hoping somebody qith some experience could create a mercury ebuild. If nobody does, I will try, but since I am quite the n00b to linux it will probably suck.
Comment 1 Ryan Kelly 2006-02-20 02:14:13 UTC
Created attachment 80256 [details]
mercury-compiler-0.12.2.ebuild

I've got a basic ebuild for mercury (attached) but it runs into numerous "sandbox violations" during the install procedure.  This means that to install it, you need to disable the sandbox safety features like so:

  >> FEATURES="-sandbox" emerge mercury-compiler

I'm sure this is not Gentoo recommended practise, but it will get you a portage-managed mercury environment.  Of course, the ebuild will never be added to portage in this state.

I dont know whether there is a standard way to address these problems, or whether the mercury team would need to adjust their build environment before we can make it work.  But, if anyone has suggestions on how to fix this, I work in the same department as many of the core mercury developers so I'd be happy to pass suggestions/queries to them.

By the way, for those unfamiliar with Mercury, the project website is:

  http://www.cs.mu.oz.au/research/mercury/


  Cheers,

     Ryan
Comment 2 Keri Harris gentoo-dev 2006-03-17 02:39:57 UTC
Ryan, thanks for the ebuild. A few comments:

- (a minor quibble) - it's perhaps preferable to rename the package to mercury-0.12.

- you don't need to inherit the eutils eclass unless you're going to use it.

- you have mono in IUSE, yet don't refer to this anywhere in the ebuild. Is this for the .dotnet grade?

- is version 1.4 of virtual/jdk required when USE="java", or is it possible for a user to use the java grade with >=jdk-1.2?

- upstream's build methodology looks sane; the sandbox errors should be able to be resolved by passing ${INSTALL_PREFIX} to make install. Note: you'll also need to set ${MERCURY_COMPILER} to the file 'mercury_compile' that will be sitting in ${D}.

- man pages should be installed into "${D}"/usr/share/man; info pages should be installed into "${D}"/usr/share/info. These locations can be set via ${INSTALL_MAN_DIR} and ${INSTALL_INFO_DIR}.

- there are a few extra READMEs and other plain text docs that should be installed.
Comment 3 Keri Harris gentoo-dev 2006-03-17 11:51:04 UTC
- point one should read "...rename the package to mercury-0.12.2" :)
Comment 4 Keri Harris gentoo-dev 2006-03-21 03:09:55 UTC
Two more issues to consider for a mercury ebuild:

- A vanilla build will not bail out on a compile failure. The toplevel Makefile will need to be patched in order to do this.

- The java grade will not compile; there is no type definition for pseudo_type_desc in library/type_desc.m
Comment 5 Keri Harris gentoo-dev 2006-03-21 03:13:56 UTC
Assigning this bug to myself. mercury is a fantastic language and will make a fine addition to dev-lang. :)
Comment 6 Keri Harris gentoo-dev 2006-03-23 01:47:29 UTC
mercury-0.12.2 has been committed to cvs. It contains a few patches that resolve the following issues:

- mgnuc will now respect ${CFLAGS} when compiling source files
- 'mmake all' and 'mmake install' will bail out on errors
- dvi docs are not installed