Created attachment 333216 [details] dungeon-defenders-20121218.ebuild One of the best-looking games on Linux? I think this Humble Bundle version is currently the only Linux edition of the game available. It includes the downloadable content. It uses SDL 2.0, which we don't have in the tree yet, let alone in the 32-bit emulation packages, so it just installs that alongside the binary for now. I did unbundle OpenAL though. The SDL library has a silly bug where it tries to run /usr/bin/gnome-screensaver-command and bombs with a cryptic error if it's missing. I've worked around this with sed. I'm having strange focus issues under XFCE. I can play it with a bit of fiddling but not fullscreen. I'm not sure how it fares under other window managers but I gather fullscreen is still a bit flakey under SDL 2.0.
it works; which is good but it installs into /usr but precompiled stuff should go into /opt if I am not mistaken. Maybe you could change that
If I'm reading the ebuild right, would replacing ${GAMES_BINDIR} in the dosym with ${GAMES_PREFIX_OPT} do the trick? I don't really see the point however, unless we can pull the actual executable over to /opt without breaking the package.
Created attachment 333454 [details] dungeon-defenders-20121218.ebuild Good point, I don't know why I didn't use /opt in the first place. It's just a one line change. The symlink needs to remain in /usr/games/bin because /opt/bin is not used for games.
so when I know emerge the ebuild; it checks on /usr for space with CHECKREQS_DISK_USR="5750M" but it should check on opt right? so is CHECKREQS_DISK_OPT="5750M"the right choice?
Created attachment 333564 [details] dungeon-defenders-20121218.ebuild Oh yep, thanks. But actually there is no CHECKREQS_DISK_OPT. You could potentially do the calls manually but it would be fiddly and I don't think the eclass is supposed to be used like this. I'll just use CHECKREQS_DISK_BUILD. I've also removed x11-misc/xdg-utils. Even though xdg-open was included in the tarball, I don't think it's really used.
- provide a "system-libs" useflag or something similar to make unbundling optional. This is not opensource and in case new library versions break this game the user is left alone. Don't forget to update QA_PREBUILT then. - it's safe to use EAPI=5 - doicon supports "--size" or "-s".. like "doicon -s 48" for 48x48 dimensions. This will install it into /usr/share/icons/hicolor/48x48/apps and that allows us to use the icon cache. You have to inherit gnome2-utils.eclass then and call the appropriate functions in pkg_preinst, pkg_postinst, pkg_postrm (don't forget to add the games_pkg_preinst and games_pkg_postinst function so you don't overwrite them), see games-arcade/mari0 for example - drop DEPEND variable - as per new PMS spec you can also drop IUSE if it's empty - for unlicensed packages we assume "all-rights-reserved" but we still don't have that license. You should add a comment in the ebuild wrt bug 444424 so you don't forget to fix it when we get this new license file - since you call "doicon" directly (and make_desktop_entry) you _must_ inherit eutils.eclass which provides these functions (yes, even if games.eclass already inherits it, we must not rely on that if we call a function from any eclass directly) - seems it should rather be RESTRICT=fetch with an appropriate pkg_nofetch function
This version, while promising, is riddled with show-stopper bugs. I am personally hit by https://bugzilla.icculus.org/show_bug.cgi?id=5844 and https://bugzilla.icculus.org/show_bug.cgi?id=5845 which obscures any further issues. It's not a proper solution, but I think that we can workaround 5844 by making /opt/dungeon-defenders/Engine/Config/DunDefHeroes.dun and DunDefHeroes.dun.bak group writeable, and we may need to config protect those files so they do not get wiped out by new/re-emerged ebuilds.
(In reply to comment #6) > - provide a "system-libs" useflag or something similar to make unbundling > optional. This is not opensource and in case new library versions break this > game the user is left alone. Don't forget to update QA_PREBUILT then. I would argue that OpenAL has been very stable over the years, only changing major version once, but it doesn't hurt. I will make system-libs the default though because the bundled one doesn't include all the output drivers and has a statically linked libpulse, which is probably bad news. > - it's safe to use EAPI=5 I haven't had time to digest 5 yet and I didn't want to blindly use it when I knew that 4 would work. I will use it this time though. > - doicon supports "--size" or "-s".. like "doicon -s 48" for 48x48 > dimensions. This will install it into /usr/share/icons/hicolor/48x48/apps > and that allows us to use the icon cache. You have to inherit > gnome2-utils.eclass then and call the appropriate functions in pkg_preinst, > pkg_postinst, pkg_postrm (don't forget to add the games_pkg_preinst and > games_pkg_postinst function so you don't overwrite them), see > games-arcade/mari0 for example I was unaware of this cache and it sounds nice but shouldn't this be more transparent? I don't mind specifying the size but defining three stage functions just so I can cache an icon seems a little OTT. Since I'm unsure about this, I'll hold off uploading a new ebuild for the moment. What are your thoughts? > - drop DEPEND variable > - as per new PMS spec you can also drop IUSE if it's empty Force of habit. :) > - for unlicensed packages we assume "all-rights-reserved" but we still don't > have that license. You should add a comment in the ebuild wrt bug 444424 so > you don't forget to fix it when we get this new license file I was going to dig up the license but it slipped my mind. > - since you call "doicon" directly (and make_desktop_entry) you _must_ > inherit eutils.eclass which provides these functions (yes, even if > games.eclass already inherits it, we must not rely on that if we call a > function from any eclass directly) I normally would, just forgot. > - seems it should rather be RESTRICT=fetch with an appropriate pkg_nofetch > function Okay but because RESTRICT=fetch is not selective, I will have to include the icon in FILESDIR, which probably isn't a bad idea anyway.
(In reply to comment #7) > This version, while promising, is riddled with show-stopper bugs. I am > personally hit by https://bugzilla.icculus.org/show_bug.cgi?id=5844 and > https://bugzilla.icculus.org/show_bug.cgi?id=5845 which obscures any further > issues. It's not a proper solution, but I think that we can workaround 5844 > by making /opt/dungeon-defenders/Engine/Config/DunDefHeroes.dun and > DunDefHeroes.dun.bak group writeable, and we may need to config protect > those files so they do not get wiped out by new/re-emerged ebuilds. I must admit that I've only played the game briefly a couple of times and I hadn't noticed the save issue. That's obviously serious and I'm surprised given that Ryan Gordon did the port. As I mentioned above, I have seen the focus issues. Alt-tabbing didn't work for me but what did work was not pressing anything at all until the actual game intro starts.
(In reply to comment #8) > (In reply to comment #6) > > - for unlicensed packages we assume "all-rights-reserved" but we still don't > > have that license. You should add a comment in the ebuild wrt bug 444424 so > > you don't forget to fix it when we get this new license file > > I was going to dig up the license but it slipped my mind. I now see that, as you said, there really is no license to speak of. I will watch that bug then.
(In reply to comment #5) > Created attachment 333564 [details] > dungeon-defenders-20121218.ebuild > > Oh yep, thanks. But actually there is no CHECKREQS_DISK_OPT. You could > potentially do the calls manually but it would be fiddly and I don't think > the eclass is supposed to be used like this. I'll just use > CHECKREQS_DISK_BUILD. > > I've also removed x11-misc/xdg-utils. Even though xdg-open was included in > the tarball, I don't think it's really used. the bundled xdg-open is used when you want to create a gamespy account for online play; though it seems hardcoded to the bundled path because it complained about it being non-existent when the bundled library is removed
(In reply to comment #11) > the bundled xdg-open is used when you want to create a gamespy account for > online play; though it seems hardcoded to the bundled path because it > complained about it being non-existent when the bundled library is removed Strange, I grepped the whole thing for "xdg-open" and nothing came up. I'll add it back, together with a symlink.
Created attachment 341246 [details] dungeon-defenders-20130305.ebuild I took a stab at updating the humblebundle packaged version of dungeon defenders. We could also unpackage libSDL2.so.1, but the upstream version was unable to skip the intro sequence on my system. I switched the icon to the one packaged in the distfile and removed the gnome-screensaver workaround. I was unable to properly test this version of dungeon defenders because I am affected by https://bugzilla.icculus.org/show_bug.cgi?id=5845
(In reply to comment #13) > Created attachment 341246 [details] > dungeon-defenders-20130305.ebuild > > I took a stab at updating the humblebundle packaged version of dungeon > defenders. We could also unpackage libSDL2.so.1, but the upstream version > was unable to skip the intro sequence on my system. I switched the icon to > the one packaged in the distfile and removed the gnome-screensaver > workaround. > > I was unable to properly test this version of dungeon defenders because I am > affected by https://bugzilla.icculus.org/show_bug.cgi?id=5845 you ignored #c6
+*dungeon-defenders-20130305 (21 Mar 2013) + + 21 Mar 2013; Julian Ospald <hasufell@gentoo.org> + +dungeon-defenders-20130305.ebuild, +metadata.xml: + initial import wrt #448416