Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 416703

Summary: Please slot games-engines/love
Product: Gentoo Linux Reporter: Tobias Leupold <tl>
Component: [OLD] GamesAssignee: Chí-Thanh Christopher Nguyễn <chithanh>
Status: RESOLVED FIXED    
Severity: enhancement CC: games
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Tobias Leupold 2012-05-20 09:42:52 UTC
I've tried to play Not Tetris 2 ( http://stabyourself.net/nottetris2/ ) 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: https://love2d.org/forums/viewtopic.php?f=3&t=8750
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.
http://forum.stabyourself.net/viewtopic.php?f=10&t=1451
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 @@
 
 EAPI=3
 
-inherit games
+inherit base games
 
 DESCRIPTION="A framework for 2D games in Lua"
 HOMEPAGE="http://love2d.org/"
 SRC_URI="mirror://bitbucket/rude/${PN}/downloads/${P}-linux-src.tar.gz"
 
 LICENSE="ZLIB"
-SLOT="0"
+SLOT="7.2"
 KEYWORDS="~amd64 ~x86"
 IUSE=""
 
@@ -32,3 +32,11 @@
 S=${WORKDIR}/${PN}-HEAD
 
 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 :-)