Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 585810 - dev-haskell/hslua[system-lua] needs slot operator and broken with lua-5.2
Summary: dev-haskell/hslua[system-lua] needs slot operator and broken with lua-5.2
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo's Haskell Language team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-13 11:53 UTC by Tiziano Müller (RETIRED)
Modified: 2021-10-27 19:55 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tiziano Müller (RETIRED) gentoo-dev 2016-06-13 11:53:53 UTC
The dependency should currently probably look like:

  <dev-lang/lua-5.2:=

On the other hand, since they decide to stay with lua-5.1 for some time, could you possibly introduce the luajit USE flag, as seen in the example on https://hackage.haskell.org/package/hslua ?
Comment 1 Tiziano Müller (RETIRED) gentoo-dev 2016-06-13 12:18:31 UTC
This is what I came up with (should work with lua:0 and tested with luajit:2, lua:1 needs some more work though):

https://gitweb.gentoo.org/dev/dev-zero.git/tree/dev-haskell/hslua/hslua-0.4.1.ebuild
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2016-06-14 13:38:42 UTC
> This is what I came up with (should work with lua:0 and tested with luajit:2, lua:1 needs some more work though):

I assume s/lua:1/luajit:1/

> https://gitweb.gentoo.org/dev/dev-zero.git/tree/dev-haskell/hslua/hslua-0.4.1.ebuild

s/EROOT/EPREFIX/

We use https://github.com/gentoo-haskell/gentoo-haskell/blob/master/dev-haskell/hslua/hslua-0.4.1.ebuild in overlay for a while.

Your change looks better than ebuild was. Feel free to commit your ebuild
in ::gentoo and I'll pull the changes to ::haskell.

I have a question:

::haskell uses :0= slot explicitly as it's the only non-masked slot.

Ideally we should be able to capture rebuild after lua:5.1 unmasking
but I don't know how to express that nicely except for adding
masked hslua-0.4.1-r100 ebuild that depends on lua:5.1=.

What is the more general plan to move to slotted lua in gentoo?
Unmask slotted and mask/delete unslotted at some point?
Comment 3 Tiziano Müller (RETIRED) gentoo-dev 2016-06-14 15:02:16 UTC
(In reply to Sergei Trofimovich from comment #2)
> > This is what I came up with (should work with lua:0 and tested with luajit:2, lua:1 needs some more work though):
> 
> I assume s/lua:1/luajit:1/

No, lua:1 (still p.masked). For this we will have to add the lua5.1 include dir and library because hslua does not expect it to be slotted. luajit:1 is not a problem since they explicitly add -lluajit-5.1 in case '-fluajit' is set.

> 
> > https://gitweb.gentoo.org/dev/dev-zero.git/tree/dev-haskell/hslua/hslua-0.4.1.ebuild
> 
> s/EROOT/EPREFIX/
> 
> We use
> https://github.com/gentoo-haskell/gentoo-haskell/blob/master/dev-haskell/
> hslua/hslua-0.4.1.ebuild in overlay for a while.
> 
> Your change looks better than ebuild was. Feel free to commit your ebuild
> in ::gentoo and I'll pull the changes to ::haskell.
> 
> I have a question:
> 
> ::haskell uses :0= slot explicitly as it's the only non-masked slot.
> 
> Ideally we should be able to capture rebuild after lua:5.1 unmasking
> but I don't know how to express that nicely except for adding
> masked hslua-0.4.1-r100 ebuild that depends on lua:5.1=.

I have to test it again with portage, but '<dev-lang/lua-5.2:=' should work. If lua-5.1:1 gets unmasked, it will block lua-5.1:0, since lua-5.1:1 still satisfies the dependency, portage should schedule a rebuild of hslua.

> 
> What is the more general plan to move to slotted lua in gentoo?
> Unmask slotted and mask/delete unslotted at some point?

Not necessary. I was able to switch from unslotted to slotted without any problems. But packages must never rely on the result of 'eselect lua' but explicitly use the latest-and-greatest they depend on.