Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
ryandesign
Prole
Posts: 3
Joined: Fri Nov 15, 2013 7:05 pm

Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Post by ryandesign »

Dear developers of LÖVE,

I'm a manager of the MacPorts package management system, interested in adding LÖVE to MacPorts, because a game that I liked to play stopped working after upgrading to OS X 10.9 Mavericks; my understanding is that all LÖVE games distributed as an OS X application that were developed before the release of Mavericks do not work on Mavericks. This is clearly a problem that needs a solution.

After several days of working through various build system bugs, the latest 0.9.0 code is building OK on Mavericks. (Some of these changes have yet to appear in the main repository.) But it has become apparent to me that LÖVE 0.9.0 is quite different from LÖVE 0.8.0, which was drastically different from LÖVE 0.7.2. Games written for one cannot be used on the other without significant changes which the developers of the games would be best equipped to make, except that they don't appear to tend to make them; games seem to get written for whatever version of LÖVE was current at the time, then often never updated again. (Of the games listed on the Games page in the wiki, 7 games use LÖVE 0.8.x, 24 use 0.7.x, 14 use 0.6.x, and 1 uses 0.5.x.)

Since my ultimate goal is to add several LÖVE-using games to MacPorts, it seems necessary to add multiple versions of LÖVE (0.9.x, 0.8.x, 0.7.x, 0.6.x at least) to MacPorts. And this leads to the problem: LÖVE 0.8.0 (and presumably earlier) do not build on OS X when using the autotools system; they need the same build system fixes that were recently made for 0.9.0. In addition, they need a change to SDLMain.c and perhaps to GLee.c and GLee.h for Mavericks compatibility, and perhaps other changes I haven't yet discovered. I have already spent many hours trying to backport fixes to 0.8.0 to make it build, but I have not yet succeeded. Meanwhile, the OS X version of 0.8.0 was recently re-released on your site for Mavericks compatibility, but this was done by making local changes to the LÖVE source code which were not pushed to the git repository.

I am therefore requesting that new versions of each major version of LÖVE be released (e.g. 0.8.1, 0.7.3, etc.), including the source code (i.e. in your git repository), with Mavericks support, that can be built with autotools on OS X. If there's a way I can help make this happen (e.g. suggest changes to backport) please let me know.
User avatar
slime
Solid Snayke
Posts: 3162
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Post by slime »

If LÖVE is not run as a traditional Mac appliction (.app), the bug affecting Mavericks does not trigger. Therefore MacPorts is not affected, since as far as I can tell you're not building LÖVE as an .app.

The games listed on the wiki page are not representative of what people actually run using LÖVE. :)
User avatar
josefnpat
Inner party member
Posts: 955
Joined: Wed Oct 05, 2011 1:36 am
Location: your basement
Contact:

Re: Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Post by josefnpat »

slime wrote:The games listed on the wiki page are not representative of what people actually run using LÖVE. :)
Here is a curated list of games for love 0.8.0 that I have collected;

https://github.com/josefnpat/vapor
Missing Sentinel Software | Twitter

FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
ryandesign
Prole
Posts: 3
Joined: Fri Nov 15, 2013 7:05 pm

Re: Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Post by ryandesign »

slime wrote:If LÖVE is not run as a traditional Mac appliction (.app), the bug affecting Mavericks does not trigger. Therefore MacPorts is not affected, since as far as I can tell you're not building LÖVE as an .app.
People like to double-click games in the Finder, or launch them from the Dock or Launchpad or Spotlight, so yes the plan is for LÖVE games in MacPorts to be packaged as traditional Mac application bundles, so IIUC they would be affected by the SDLMain.c problem.

But before I can even get to the point of checking if that's so, I need to be able to build those versions of LÖVE on OS X. The Xcode project is unsuitable because it assumes the dependencies are frameworks, which they aren't in MacPorts, and modifying other people's Xcode projects tends to be an exercise in frustration for me, so I prefer to use the autotools build, except that it has bugs that make it not work on OS X, which are being fixed for 0.9.0, but which have not been backported to earlier versions of LÖVE.

The point I was trying to make is that because there are still games out there that require earlier versions of LÖVE that people might still want to play on newer versions of OS X, it would behoove you to make available buildable source code (and runnable binaries) of those versions. You've already provided the runnable binary of 0.8.0 for Mavericks which is great; now I'm asking for buildable source of 0.8.x, and the same for earlier major versions.
User avatar
slime
Solid Snayke
Posts: 3162
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Release LÖVE 0.8.1, 0.7.3, etc. for OS X 10.9 Mavericks

Post by slime »

ryandesign wrote:People like to double-click games in the Finder, or launch them from the Dock or Launchpad or Spotlight, so yes the plan is for LÖVE games in MacPorts to be packaged as traditional Mac application bundles, so IIUC they would be affected by the SDLMain.c problem.
In that case the bug still won't affect bundled .apps as long as you fuse the game's .love to the executable instead of putting it in game.app/Contents/Resources/.
ryandesign wrote:I prefer to use the autotools build, except that it has bugs that make it not work on OS X, which are being fixed for 0.9.0, but which have not been backported to earlier versions of LÖVE.
They aren't bugs - the only official path to building LÖVE on OS X is through the Xcode project. The autotools scripts were never intended to be run on OS X. bartbes has added some support for this for 0.9, but earlier versions are dead and gone - it was decided quite a while ago to move to 0.9.0 instead of releasing a 0.8.1.
ryandesign wrote:The point I was trying to make is that because there are still games out there that require earlier versions of LÖVE that people might still want to play on newer versions of OS X, it would behoove you to make available buildable source code (and runnable binaries) of those versions. You've already provided the runnable binary of 0.8.0 for Mavericks which is great; now I'm asking for buildable source of 0.8.x, and the same for earlier major versions.
Again, the patch you need to apply to fix the issue is here: https://hg.libsdl.org/SDL/rev/cfec3f86fba7

There are very few LÖVE games people actively play that only run on versions lower than 0.8.0 - and most of the select few that do are being updated by their creators.

0.7.x and below are legacy versions, there won't be any more updates to them. 0.9.0 is about to be released and then the path for lovers will be to use 0.9.0 (which has many many bug fixes) instead of waiting for a 0.8.1.
Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 3 guests