New ebuild for Heroes of Might and Magic 3. Currently only for minimum installation, so you need a cd to play it.
Created attachment 20573 [details] Heroes3 ebuild. There are few problems with this ebuild: 1) The patch fails (so it's disabled) 2) Only minimum installation is supported (maybe implement custom IUSE flags) 3) Currently only x86, because i don't know how to get ${ARCH}. The 1.3.1 patch adds support for PPC. 4) I don't know if Gnome menuitem is generated always. Read the ebuild for more information.
Funny enough, I have a completed ebuild for this game, which is capable of 3 different install sizes based on USE flags (nocd and videos). I have not added it to portage because of one thing, the failing patch. I consider that to be a show-stopper and won't add any ebuilds for this game to portage until I can resolve the patch failing problem. I will say that now that someone has created a bug for this, I'll probably be more diligent in working on it, rather than letting it sit stale in my local portage tree.
Maybe it's possible to use a patcher from other games like soldieroffortune.
The problem seems to stem from portage, though. The patch works flawlessly if run manually, which tells me it is something being set in the envirnment by portage which is causing the problem. The only solution that I have come up with is to create an ebuild for Loki's patch utility and making it a DEPEND, but I would like to avoid that if at all possible.
Created attachment 20588 [details] My ebuild Here's my ebuild if you would like to see what I've done on it.
Anyway, there's a ppc version (it's the patch) available, but i'm having problems getting this to work: if [ $ARCH = "x86" ] ; then SRC_URI="ftp://ftp.planetmirror.com/pub/lokigames/updates/heroes3/heroes3-${PV}a-cdrom-x86.run ftp://snuffleupagus.animearchive.org/loki/updates/heroes3/heroes3-${PV}a-cdrom-x86.run" else SRC_URI="ftp://ftp.planetmirror.com/pub/lokigames/updates/heroes3/heroes3-${PV}a-ppc.run ftp://snuffleupagus.animearchive.org/loki/updates/heroes3/heroes3-${PV}a-ppc.run" fi
i think this brings up something i mentioned sometime ago ... dont remember when really ... should i write a script replacement for the loki patch ?
Created attachment 20591 [details] New ebuild based on two previous and adding ppc support. I merged previous two ebuilds. Also if patching works on ppc, then ppc port is fine. On x86 patch fails.
I don't know enough about Loki's patcher to really say if it could be implemented as a script easily. I think it might be just as simple to just maintain a loki_patch ebuild/package. We could probably do the same with Loki_setup, since many packages use it and it is still actively maintained.
I'm going to work on this a bit and post a new ebuild with support for both ppc and x86. Your "merged" ebuild is pretty close to what is correct, so I'll be basing off of it. I am trying to avoid the mutliple local USE flags, but there will be 3 different installs.
Just a quick side note, you can name the ebuild heroes3-1.3.1a.ebuild and it still fits proper Gentoo naming convention/policy.
Created attachment 20610 [details] Newest version with multiple USE flags
Chris, there's a bug in your new ebuild. The downloads should be like this (notice 'a' after ${PV}): ftp://ftp.planetmirror.com/pub/lokigames/updates/heroes3/heroes3-${PV}a-cdrom-x86.run
Also note two missing files: heroes3.xpm and hiscore.dat are missing
Well, the missing "a" is intentional. I named the ebuild heroes3-1.3.1a.ebuild, which means ${PV} = 1.3.1a and not 1.3.1. I am going to be making a few changes to the ebuild anyway. I still haven't decided exactly how I want to "fix" loki_patch for this game. I am still leaning towards making a loki_setupdb loki_setup and loki_patch ebuilds. Thoughts?
I'd suggest if you think the ebuilds would be useful to people, then make them, if it's just for us to unpack stuff it should be in an eclass. The patches are, iirc, pretty easy to extract, although I don't know how easy it would be to download them.
Ok.. i was offline for a while. The latest ebuild has some still some problems. heroes3.xpm file is not created, so there is no icon in gnome menu. And hiscore.dat file which stores high scores isn't copied to game directory.
I am not bothering to post my updated ebuild which fixes these things since there is the much larger problem of loki_patch not working. I consider the loki_patch problem to be a showstopper and it must be resolved before I will consider adding this ebuild to portage. Right now, I don't have time to create ebuilds for loki_patch and loki_setupdb, which would both be needed, so I am essentially putting this on hold until I get some more free time.
Ok.. i have checked recently into the patch problem... I have created a loki_patch package based on original loki patch sources. http://amd.colony.ee/projects/files/loki_patch-1.0.tar.bz2 Maybe this helps...
Created attachment 32093 [details] heroes3-1.3.1a.ebuild Here is the version that I created (a long time ago) but never added to portage due to the loki_patch problems.
Re-assigning back to games so Mr_Bones_ can grab it.
Created attachment 36468 [details] heroes3-1.3.1a.ebuild (Updated) This is a slightly modified version of the last one posted (by Chris). It looks like some of the things his was calling from the games.eclass were no longer in there. One has an equivalent in eutils now, and I don't know what games_verify_cd formerly did (it not being there to look at), so I commented it out. Sadly, the ebuild still fails running loki_patch. -- Daniel Mannarino
Hi, I just found this bug and maybe I can help out a bit: Some time ago i wrote a perl-script that does successfully patch heroes to 1.3.1a on x86. It uses an updated loki_patch binary that can be found at http://icculus.org/~msphil/loki/x86. It's just a hack, but it works... the cvs-build of loki_patch also works (more info at http://www.icculus.org/loki_setup/). I tested the script on a few machines and didn't get any problems. Hope that helps... Is there still interest in having ebuilds for loki_patch-cvs, loki_setup-cvs and loki_setupdb-cvs around? Have a nice day, Alex
Created attachment 39375 [details] heroes3_x86_up.pl
I committed ebuilds for loki_setupdb and loki_patch. See bugs #63648 and #63649.
With loki_patch in portage, there would be no need to use anything external. The problem has been loki_patch all along, and my general lack of time to build and maintain loki_* ebuilds.
Created attachment 40682 [details] heroes3-1.3.1a.ebuild This ebuild uses the newer cdrom syntax and shoudl work now that loki_patch is in portage. I cannot test it on ppc, so I'm not adding those keywords. I don't have my CD ready at the moment, so this is untested. Feedback would be appreciated on whether it works properly.
Created attachment 40705 [details] heroes3-1.3.1a.ebuild W/ loki_patch DEPEND Since this ebuild uses the loki_patch currently available in portage. I thought it would be a good idea to add a loki_patch dependency. Now if only loki_patch would compile for me...
With "games-util/loki_patch" in DEPEND the ebuild works on my boxes (x86).
Doh! I forgot to attach the right one... anyway, yeah, it needs loki_patch in DEPEND.
...and added to portage... enjoy!
I've tried to use this ebuild on amd64 and it fails when emerging loki_setupdb. I must say that I tried this because I have on disk, on a backup directory, a previous installation of heroes3 made with an athlon XP (before I upgraded) and it executes just fine on amd64. The loki setup that comes with the CD does not work, so I tried to emerge adding ~amd64 to the ebuild's KEYWORDS. This is what it says when emerging loki_setupdb: [...] creating ./config.status creating Makefile creating config.h Makefile:34: warning: overriding commands for target `AMD' Makefile:31: warning: ignoring old commands for target `AMD' Makefile:34: warning: overriding commands for target `Athlon(tm)' Makefile:31: warning: ignoring old commands for target `Athlon(tm)' Makefile:34: warning: overriding commands for target `64' Makefile:31: warning: ignoring old commands for target `64' Makefile:34: warning: overriding commands for target `Processor' Makefile:31: warning: ignoring old commands for target `Processor' Makefile:37: warning: overriding commands for target `AMD' Makefile:34: warning: ignoring old commands for target `AMD' Makefile:37: warning: overriding commands for target `Athlon(tm)' Makefile:34: warning: ignoring old commands for target `Athlon(tm)' Makefile:37: warning: overriding commands for target `64' Makefile:34: warning: ignoring old commands for target `64' Makefile:37: warning: overriding commands for target `Processor' Makefile:34: warning: ignoring old commands for target `Processor' make: Circular AMD <- AMD dependency dropped. make: Circular Athlon(tm) <- AMD dependency dropped. make: Circular Athlon(tm) <- Athlon(tm) dependency dropped. make: Circular 64 <- AMD dependency dropped. make: Circular 64 <- Athlon(tm) dependency dropped. make: Circular 64 <- 64 dependency dropped. make: Circular Processor <- AMD dependency dropped. make: Circular Processor <- Athlon(tm) dependency dropped. make: Circular Processor <- 64 dependency dropped. make: Circular Processor <- Processor dependency dropped. mkdir AMD Athlon(tm) 64 Processor 3200+ /bin/sh: -c: line 1: syntax error near unexpected token `(' /bin/sh: -c: line 1: `mkdir AMD Athlon(tm) 64 Processor 3200+' make: Circular Processor <- AMD dependency dropped. make: Circular Processor <- Athlon(tm) dependency dropped. make: Circular Processor <- 64 dependency dropped. make: Circular Processor <- Processor dependency dropped. make: *** [3200+] Error 2 !!! ERROR: games-util/loki_setupdb-20040916 failed. !!! Function src_compile, Line 22, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message.
Hey nico, This PR was started to get the heroes3 ebuild into portage. This was accomplished and this PR was changed to resolved. If your having issues compiling loki_setupdb with an AMD64 processor, you may which to open a PR against that.
Honestly, I don't care. There is nothing wrong with this ebuild and the bug was to have it added to portage. Now, loki_setubdb does not work on amd64, but that is a separate package. Also, I did not KEYWORD it amd64 for a reason... because it doesn't work. We do not support bug reports for things that do not work because you changed them, sorry. In case you're wondering, yes, I have an amd64 and yes, I tried to get it to work, so I know it won't and know why it won't.