Hi, here is an ebuild which performs the task mentioned in the comment at the top of quake1-data-2.40.ebuild: # TODO: if installing off of the 1.01 cd, need to fetch the # quake shareware and use that pak0 It's untested, but looks good to me :)
Created attachment 110091 [details] quake1-data-2.40.ebuild
Created attachment 126208 [details] quake1-data-2.40.ebuild Includes lha fix from bug #159100.
Doesn't work here. I think the problem is with unpacking quake106.zip, when I checked it out the contents were also in the form of a resource.1 file; this would also have to be run through lha to extract the files, then the pak0.pak can be copied over.
Show the error message. Look at the ebuild: cp "${CDROM_ROOT}"/resource.1 resource.x || die "cp" lha xqf resource.x || die "lha resource.x"
id1/pak1.pak - Melted >>> Unpacking quake106.zip to /var/tmp/portage/games-fps/quake1-data-2.40/work cp: cannot stat `pak0.pak': No such file or directory !!! ERROR: games-fps/quake1-data-2.40 failed. Call stack: ebuild.sh, line 1632: Called dyn_unpack ebuild.sh, line 763: Called qa_call 'src_unpack' ebuild.sh, line 44: Called src_unpack quake1-data-2.40.ebuild, line 48: Called die !!! cp demo pak0.pak failed Thanks
Created attachment 127086 [details] quake1-data-2.40.ebuild Should be fixed now.
Thanks Paul, the updated ebuild worked just fine. If there are any other changes or additions you'd like me to test for you please let me know :)
Created attachment 146275 [details] games-fps/quake1-data-2.40-r1.ebuild New ebuild including optional support for transparent water patches. Depends on bug #213556
Created attachment 146322 [details] games-fps/quake1-data-2.40-r1.ebuild Updated, now without fetch restriction.
Created attachment 200971 [details] quake1-data-2.40-r1.ebuild The vispatch stuff wasn't working for me. The paths should be quoted but vispatch didn't seem to like being given a full path anyway. Maybe it's a bug in the program. We don't need to give the full path though so here's a simplified version that works.
Sorry, scratch that, it's still not right because it only patches pak0.pak, not pak1.pak, which contains episodes 2-4. This means pak1.pak should probably be copied to ${S}/id1 first instead of being copied directly into the install tree. It's late, I'll fix it tomorrow.
Created attachment 201010 [details] quake1-data-2.40-r1.ebuild Sorted. :)
care to update to EAPI=2 for ditching the built_with_use check?
Well I'm trying but I can't seem to make the blocker work, even without any USE flags added. I've written countless ebuilds before so I'm really perplexed. What am I doing wrong? RDEPEND="!games-fps/quake1-demodata"
Created attachment 209936 [details] quake1-data-2.40-r2.ebuild This should work I think. (:
@James Please check out the changes I've made for vispatch. Thanks.
Cool, that's a bit simpler thought you might want to add a "die" to the mv. The blocker still isn't working for me but maybe I'm not understanding how they work. Shouldn't "USE=symlink emerge quake1-demodata" fail after emerging this?
(In reply to comment #17) > Shouldn't "USE=symlink emerge quake1-demodata" fail after emerging this? No, the other way around. "USE=symlink emerge quake1-demodata" and then "emerge quake1-data" will be blocked by the symlink use flag in -demodata. But it should fail (anyway) if you have quake1-data installed and you try to emerge -demodata with symlink flag.
Created attachment 238925 [details] ebuild w/ vispatch fixes Fixed two problems with the vispatch code: 1. Main problem: vispatch wouldn't apply; always died with "vispatch failed" 2. Cosmetic problem: complained about missing ID1.VIS The following changes, included in the attached ebuild, fixes this: [ -f "ID1.VIS" ] && mv ID1.VIS id1.vis vispatch -dir id1 -data id1.vis || die "vispatch failed"
Is there anything preventing this from being added to portage at this point? The version already included is broken, failing on the lha command, which led me to this ebuild (thanks for the update, btw). Would be helpful for users to include a working version in portage.
Still no workie: * CPV: games-fps/quake1-data-2.40-r2 * REPO: local * USE: amd64 elibc_glibc kernel_linux multilib userland_GNU vispatch >>> Unpacking source... * This ebuild will need the cdrom for quake1-data * If you do not have the CD, but have the data files * mounted somewhere on your filesystem, just export * the variable CD_ROOT so that it points to the * directory containing the files. * For example: * export CD_ROOT=/mnt/cdrom * Found CD #1 root at /mnt/cdrom >>> Unpacking quake106.zip to /var/tmp/portage/games-fps/quake1-data-2.40-r2/work >>> Unpacking id1_vis.tgz to /var/tmp/portage/games-fps/quake1-data-2.40-r2/work gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now Seems like maybe id1_vis.tgz is a corrupt file?
Try downloading it again. The file looks fine to me.
Created attachment 323836 [details] games-fps/quake1-data-2.40-r3.ebuild Couple updates: 1. cdrom eclass now explicitly included, as required 2. USE flags for doe (bug 144372) and soa (bug 144371) have been added to automatically pull in data for expansion packs