You are not logged in.

#1 2013-01-30 20:02:59

dotfloat
Member
From: Oslo, Norway
Registered: 2012-11-05
Posts: 14
Website

What to do with single-use applications?

I'm currently writing a script for the installation of Doom64 EX.
For the engine to work, it requires data files that must be extracted from a rom dump of a Nintendo 64 package. The data is obviously copyrighted, so I can't just include it in the engine itself.
The doom64ex project includes a tool (Wadgen) that lets the user extract this data file, however, this tool has to be patched, compiled/linked, and packaged with its own data files.

After the user extracts the files, the tool can be removed. The data isn't likely to ever change, so this is a one time thing.

My question is, how should I release my script? As I see it, my options are:
1. Submit it as an AUR package.
2. Post it somewhere on the web and provide a link in the engine's .install file or somewhere in the package.
3. Submit it as an AUR package that automatically handles extraction and installs the data in the correct locations. (This will be annoying to code)

Offline

#2 2013-01-30 20:25:43

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 3,440
Website

Re: What to do with single-use applications?

Create an AUR package for wadgen and make it a build dependency for Doom64 EX.

...Wait a minute, you say "for the engine to work, it requires data files...". Can these be any WAD files? If so, I'm not even sure it's necessary to do anything with wadgen when building the Doom64 EX package. Instead, after installing it, just post a message that says this game will need WAD files before it'll work.

You could also make a "doom64ex-data" package with the WAD files, that would depend on the wadgen package. Hmm... I guess I'd need to know more about how Doom64 EX to give a more specific answer. tongue

Offline

#3 2013-01-30 20:32:08

chris_l
Member
Registered: 2010-12-01
Posts: 387

Re: What to do with single-use applications?

I would suggest 1 or 3.

I do something similar.

I have on aur the wolf3d-shareware package, that is the shareware version of wolfenstein 3d, saved on /usr/share/wolf3d, to be used for wolf3d ports.

Anyway, the wolf3d data is stored on a propietary SHR format. The wolf3d installer uncompress that file, but starting a DOS installer is not nice on an AUR package. I could have used the installer to extract the files, and gzip them, but how could someone be certain that I am actually distributing the original files?

Well, I found an package called dynamite, and on it's git version includes for some reason an utility called id-shr-extract that is able to decompress that style of files.

So, I added dynamite-git as an makedepend.
It takes time to compile and then is useless after installation (it can be removed).

But hey, is the right thing to do.

PS: Wait, so its going to be possible to play Doom64 EX on linux?  big_smile nice

Last edited by chris_l (2013-01-30 20:39:09)


"open source is about choice"
No.
Open source is about opening the source code complying with this conditions, period. The ability to choose among several packages is just a nice side effect.

Offline

#4 2013-01-30 20:44:40

dotfloat
Member
From: Oslo, Norway
Registered: 2012-11-05
Posts: 14
Website

Re: What to do with single-use applications?

Alright, I guess some background is needed.

Doom64 is a game that was released for the Nintendo 64 a few millenia ago. It is a totally different product from the other games in the series (doom 1-3, all of which are now open-source). Because it was released only for the N64, it can only be played using an emulator.

Doom64 EX is a project that aims to be a faithful port of the original, while also adding features found in various doom 1/2 source ports.

The data files that the engine (doom64ex) needs are DOOM64.WAD and DOOMSND.SF2. These files can be extracted from a N64 romdump (.z64, .r64 or .n64 files) using the tool that is provided. (wadgen).

For legal reasons, I can't include the .z64/.r64/.n64/.wad/.sf2 files or link to them.

The engine itself would be a separate AUR package.

The difference between .z64 .r64 and .n64 is merely the endianess.

Doom64 EX is an engine that works specifically with DOOM64.WAD, so I can't use substitutes (and I wouldn't really want to).

Edit: Yeah, the svn tree for the project supports linux. It's just a pain to actually build.

Last edited by dotfloat (2013-01-30 20:48:38)

Offline

#5 2013-01-30 21:03:36

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 3,440
Website

Re: What to do with single-use applications?

It's sounds like you'd only need two packages:

doom64ex would download, compile, and install Doom64 EX.

doom64ex-data would download the Doom 64 ROM, download wadgen, compile wadgen, use wadgen to convert the ROM, and then install the data files.

doom64ex would depend on doom64ex-data. Well, I guess you could combine everything into a single package, but splitting it up just feels a bit more tidy.

Offline

#6 2013-01-30 21:14:11

chris_l
Member
Registered: 2010-12-01
Posts: 387

Re: What to do with single-use applications?

dotfloat wrote:

Alright, I guess some background is needed.

Well, in my case I already know it (and love it),

Edit: Yeah, the svn tree for the project supports linux. It's just a pain to actually build.

But that is precisely what you are trying to do, right?
Good luck!

drcouzelis wrote:

doom64ex-data would download the Doom 64 ROM, download wadgen, compile wadgen, use wadgen to convert the ROM, and then install the data files.

No, it can't download the ROM, it would not be legal. It could include a reference to it, but the user would have to get it on its own.

I think that instead of a data package, it could be an script to prepare the data with a user-provided ROM, called with a syntax like:

# doom64-extract-rom doom64.rom
or even
# doom64-extract-rom http://some.server/doom64.rom

And that doom64-extract-rom would extract and save on the correct paths the files.

Last edited by chris_l (2013-01-30 21:18:06)


"open source is about choice"
No.
Open source is about opening the source code complying with this conditions, period. The ability to choose among several packages is just a nice side effect.

Offline

#7 2013-01-30 22:07:00

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 3,440
Website

Re: What to do with single-use applications?

chris_l wrote:

No, it can't download the ROM, it would not be legal.

Ah. Yeah, it looks like downloading the Nintendo 64 ROM in an AUR PKGBUILD file is not allowed: https://wiki.archlinux.org/index.php/Ar … the_AUR.3F

Offline

#8 2013-01-30 22:23:34

chris_l
Member
Registered: 2010-12-01
Posts: 387

Re: What to do with single-use applications?

drcouzelis wrote:

Ah. Yeah, it looks like downloading the Nintendo 64 ROM in an AUR PKGBUILD file is not allowed: https://wiki.archlinux.org/index.php/Ar … the_AUR.3F

Hehe, I'm familiar with the rule: https://bbs.archlinux.org/viewtopic.php?id=128832
wink


"open source is about choice"
No.
Open source is about opening the source code complying with this conditions, period. The ability to choose among several packages is just a nice side effect.

Offline

#9 2013-01-30 23:48:05

dotfloat
Member
From: Oslo, Norway
Registered: 2012-11-05
Posts: 14
Website

Re: What to do with single-use applications?

I decided to include Wadgen in the main package.
The source for both the engine and Wadgen are in the same svn repo, so I might as well build both at the same time.

doom64ex-svn

Tomorrow I'll create another package that searches the current directory for file with the correct extension and extracts the files using wadgen from 'doom64ex-svn'.

To install the data manually:

$ doom64ex-wadgen ~/path/to/rom/Doom64.z64 # Supported extensions are .z64 .v64 and .n64
# mv DOOM64.WAD /usr/share/games/doom64/
# mv DOOMSND.SF2 /usr/share/games/doom64/

It's pretty easy to do by hand, but I'd rather have the files associated with a package.

Annyway, thanks for the help!

Offline

Board footer

Powered by FluxBB