Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 416703 - Please slot games-engines/love
Summary: Please slot games-engines/love
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Chí-Thanh Christopher Nguyễn
Depends on:
Reported: 2012-05-20 09:42 UTC by Tobias Leupold
Modified: 2012-05-22 06:54 UTC (History)
1 user (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Leupold 2012-05-20 09:42:52 UTC
I've tried to play Not Tetris 2 ( ) and installed the latest Löve 2d framework (0.8.0). That game didn't run with this version, so I tried 0.7.2, wich worked. Other Löve games do work with 0.8.0 but don't with 0.7.2.

As I see, version 0.8.0 brought major changes, esp. in the physics module of the framework which cause breakage. I'm not so familiar with Lua, but I think the incompatibilities can't be fixed very easy. I could fix include errors simply by creating some directories and moving some files in the sources, but when it comes to the broken physics code, I'm outty!

So I propose to create slots for the 0.7 version and the 0.8 version so one can use both, like with Python (calling "love-0.7" and "love-0.8", etc.)
Comment 1 Tobias Leupold 2012-05-20 09:46:26 UTC
Here's the release announcement confirming the new version breaks all kind of stuff:
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-05-20 09:49:14 UTC
Patches welcome.

Not Tetris 2 problem is known to developers already.
Comment 3 Tobias Leupold 2012-05-20 09:52:22 UTC
Anyway, I think slotting would be meaningful (at least for now), as the 0.8.0 breakage problem does not only affect Not Tetris 2, but all Löve 2d games using the physics module, doesn't it?
Comment 4 Julian Ospald 2012-05-20 11:12:43 UTC
--- games-engines/love/love-0.7.2.ebuild
+++ games-engines/love/love-0.7.2-r1.ebuild
@@ -4,14 +4,14 @@
-inherit games
+inherit base games
 DESCRIPTION="A framework for 2D games in Lua"
 KEYWORDS="~amd64 ~x86"
@@ -32,3 +32,11 @@
 DOCS=( "readme.txt" "changes.txt" )
+src_install() {
+	base_src_install
+	if [[ "${SLOT}" != "0" ]]; then
+		mv "${D}${GAMES_BINDIR}"/love \
+			"${D}${GAMES_BINDIR}"/love-${SLOT} || die
+	fi

I don't know if it would make sense to add an eselect module. Probably overkill.
Comment 5 Tobias Leupold 2012-05-20 11:40:40 UTC
That's it! The src_install routine does the job for both the 0.7.2 and the 0.8.0 ebuild.

But if this goes into the tree, I would propose to name the slots "0.7" and "0.8", as 0.7.2 seems not to break 0.7.2, so probably, 0.8.1 won't break 0.8.1 and so on.
Comment 6 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-05-21 21:33:06 UTC
A slightly modified version was committed, incorporating the suggestion from comment 5.

At this time only a 0.7 slot was added. If/when love breaks backwards compatibility again, this can be revisited.
Comment 7 Tobias Leupold 2012-05-22 06:54:40 UTC
Of course, I meant "as 0.7.2 seems not to break 0.7.1, so probably, 0.8.1 won't break 0.8.0 and so on."

Thanks for the very fast fixing :-)