Hi Just made a quick ebuild for my favourite game and my favourite distribution :) Because icculus.org doesnt offer snapshots of the codes (only CVS), I have made such a snapshot and put it on one of my websites. If this ebuild is commited I would prefer to have the snapshot into gentoo's distfiles mirroring system. Snapshot URL: http://dizzy.roedu.net/fs2/freespace2-20040510.tar.bz2 One "problem" unsolved with this ebuild file is the license. I dont know exactly what to put in there, the only license information I got so far are this words from every source file: Based on the Freespace 2 source code: Copyright (C) Volition, Inc. 1999. All rights reserved. All source code herein is the property of Volition, Inc. You may not sell or otherwise commercially exploit the source or things you created based on the source. Please see the attached ebuild file.
Created attachment 31086 [details] freespace2 20040510 snapshot ebuild
Ok, about license, this is one answer from one of the main developers: "So if you don't make any money off of it and accept that Volition can pretty much do what they want with any changes to the game then there is no problem distributing the source. Game data is another issue though, it's definitely not free. But if you just distribute the source you shouldn't have any problems." Any hints what should I put in the license variable of the ebuild ?
The ebuild worked great for me. I am able to play multiplayer against the open source windows client as well, provided that I'm the host. I think there are case sensitivity issues with the mission files when I am a client connecting to a windows host.
Ok... so do I need to fix anything to get it into portage ? It's been almost 3 months now :)
Reopen when they actually make a release please.
They have a tarball release now: http://icculus.org/~taylor/fso/releases/fs2_open-3.6.7.tar.bz2
Yes, but this is for fs2_open. I'll make another ebuild for fs2_open and submit it with another bug entry.
Created attachment 70991 [details] freespace2-cvs-0.ebuild I think you sometimes have to accept that some projects seldom (if ever) make a release. This procect has already been around for ages. The game works great and the site actually says to use the CVS version. I have therefore made a freespace2-cvs ebuild. At least the -cvs would imply that it might not work perfectly. I've made a lot of other additions to the ebuild too. It now also compiles and installs FreeSpace 1 since the engine supports that. I made use of the cdinstall and video USE flags. cdinstall will handle Freespace 1 and the Silent Threat add-on but I didn't do FreeSpace 2 since I don't have it. Could somebody do this for me? I did try fs2_open with fsport (to play FreeSpace 1) but it needs FreeSpace 2 to run at all.
We don't like "live" CVS ebuilds. If the chance is that there won't be a "release" tarball at any time, then the best solution is to create a snapshot ourselves and build an ebuild that uses that. The reason for this is it gives us a static target for testing/QA and also keeps the underlying build from changing without our knowledge. Basically, a live CVS ebuild could break at any time, and we would receive bug reports on it, whereas a snapshot CVS ebuild should be of a "known good" snapshot date/time, and remains the same, independent of upstream CVS. It means a little bit more work on our end to keep up with upstream CVS patches, but in the end, usually ends up being less work. While we accept that some projects will never make a release, we also tend to avoid these, as they end up being more trouble than they're worth. Have you tried contacting the upstream to see if they're willing to make at least a "known good" CVS snapshot tarball available? I find it easier if the snapshot comes from upstream, rather than being arbitrarily created by us, as it has a more official feel to it. Yeah, it's totally semantics, but with hundreds of games packages and only a very small number of games developers, we try to avoid adding things that will end up being a time sync.
Games: do either of you two have these games? I don't have either Freespace game.
Ah sorry, I was going to update this but forgot. The only active maintainer told me that he does intend to release but not unless PXO support has been implemented and he wants to make sure it can compile on Windows. It probably won't be too long now.
It's been brought to my attention that my cdinstall might only work with the English version of the game. Can't really look into that until someone tries to use another version though.
Created attachment 78382 [details] freespace2-cvs-1.ebuild A modular-X-safe version of the cvs ebuild. The patch is: --- /home/obelix/temp/freespace2-cvs-0.ebuild 2006-01-29 01:56:10.000000000 +0200 +++ ./freespace2-cvs-1.ebuild 2006-01-29 01:49:17.000000000 +0200 @@ -18,7 +18,15 @@ KEYWORDS="~x86" IUSE="debug cdinstall videos" -RDEPEND="virtual/x11 +RDEPEND="|| ( + ( + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + ) + virtual/x11 + ) media-libs/libsdl media-libs/openal virtual/opengl"
Update! I decided it would be a good idea to split the engine from the data. I didn't want to have to fetch the CDs again just to upgrade the game. I now present the following ebuilds. - freespace2-cvs - freespace1-data - freespace1-demo-data - silent-threat-data I will describe them each as I upload them. I also intend to follow up with freespace2-demo-data. I would do freespace2-data but I still don't have the game yet. May get it soon.
Created attachment 97224 [details] freespace2-cvs-0.ebuild freespace2-cvs is an improved version of the previous ebuild. As well as leaving the data to the other ebuilds, it now includes demo support, makes use of the system's CFLAGS and has better support for cross compiling. The demo versions are only built when the demo USE flag is enabled. The full versions are always built in case you have the full version of one game and the demo version of the other. I realise that a snapshot would be preferred but I'm going to contact the mailing list about a mildly irritating bug first. Often when you start the game, the screen is offset by a varying amount to the right. Occasionally it even segfaults. I usually have to start it a few times to get it right. I'm guessing that this only affects some graphics cards.
Created attachment 97226 [details] freespace1-data-1.06.ebuild freespace1-data is for the full version of the first game. The cdinstall USE flag isn't used anymore, it just asks for the CDs regardless. You can always use the CD_ROOT option if you want it to copy from some other location. Linux-friendly patches for version 1.06 from http://icculus.org/~taylor/freespace/ are now used. There are patches for the American, British and German versions. You can select one of these using FS_PATCH_LANG, otherwise it doesn't do any patching. These patches are rather unusual. It seems that you can apply them repeatedly without failure so we don't need to bother checking whether the patch has already been applied. It also seems that you can even use them on languages versions that they were not intended for. As the ebuild points out, this isn't recommended. Despite the "x86" in the filenames of the patches, these will work on any architecture. They are so called because they include an x86 binary of loki_patch but we don't use that.
Created attachment 97227 [details] freespace1-demo-data-1.20.ebuild freespace1-demo-data is for the demo version of the first game. I figured it would be cool for Portage to have the demo as well. (-: This ebuild downloads the 1.0 Windows demo from Volition's site and also the 1.20 patch from http://icculus.org/~taylor/freespace/. The Windows demo is extracted using unzip and unshield - nothing nasty there. The patch is then applied using loki_patch. The files are installed in a different directory to the full version so they can be installed at the same time without issue. A different configuration directory is also used within $HOME so that isn't an issue either.
Created attachment 97228 [details] silent-threat-data-1.06.ebuild Finally, we have silent-threat-data for the first game's Silent Threat add-on. This also uses a patch from http://icculus.org/~taylor/freespace/ but this patch doesn't appear to be repeatedly applicable like before. For this reason, the ebuild checks the md5sum of the file (there's only one file) to see whether the patch has already been applied. This is straightforward because there only seems to be one language version of Silent Threat. The installation continues even if the patch fails so the check is largely cosmetic.
Created attachment 97229 [details] freespace1-demo-data-1.20.ebuild Oops. Realised that I should have included app-arch/unzip in the dependencies.
Created attachment 97230 [details] freespace1 License Nearly forgot the licenses!
Created attachment 97232 [details] freespace1-demo License
Created attachment 97276 [details] freespace2-demo-data-1.10.ebuild freespace2-demo-data as promised. (-: This one was simpler than I expected. Even though the only demo package available is for version 1.0, the patch to 1.1 does not affect the data files and hence it is not needed. Despite the demo package being for Windows, all I needed to retrieve the files was unzip! Note that fs2_open does not support the demo version and so this package is only good for the icculus.org version. Finally, I was not able to provide a URL for the demo package because the only "reliable" mirrors that host the file are FilePlanet, FileShack, PlanetMirror and the like. Hopefully hosting this 60MB file on Gentoo mirrors won't be a problem. Otherwise fetch restrictions should probably be enabled.
Created attachment 97277 [details] freespace2-demo License
Added a new data ebuild for Freespace 2 to http://bugs.gentoo.org/show_bug.cgi?id=107081