Page 13 of 22
Re: ToME 2 maintenance
Posted: Thu Jun 28, 2012 4:10 am
by AnonymousHero
I'd
love to get ToME under the GPL -- and will hereby state publicly that all
my T2 code is dual-licensed under the GPL and the T2/Angband license. (I should really get around to add that in the code...)
DarkGod
has indicated (at least to me, via PM when I asked about it, nor sure if there's a public thread anywhere about it -- he may have posted before the Great Forum Crash (in which case it's gone). I'm sure we could convince him to announce it again publicly if necessary.
However, there's a
lot of code by a
lot of authors. Much of the code could perhaps reasonably be assumed to be licensable under GPL as part of the Angband GPL effort, but this is kind of grey area -- it's not clear to me whether the relicensing in that case was a general "sure, use my Angband (specific version) code under GPL" or "sure, use my Angband (any version) code under GPL".
I'm sure Neil Stevens would also need to give his permission. Not sure if he's around on these forums. I also think Furiosity may have to give permission since the integration of Theme into ToME -- a substantial bit of Theme code was moved to C. I took the license in the Furiosty code to be equivalent to the T2/Angband license.)
I guess a major first step would be in finding out who needs to be contacted and if they have been contacted as part of the relicensing effort for Angband -- I imagine this would involve going through the "credits.txt" file and then going through copyright headers in *.c files. I'm pretty sure that effort must have been documented, but I have no idea where.
Finally, we are only talking about relicensing
Code: Select all
here -- the data files would still be covered under the Angband license (and I believe the same is true of the "new" GPL Angband).
If anyone wants to get this effort started, I'm all for it.
Re: ToME 2 maintenance
Posted: Thu Jun 28, 2012 7:53 am
by darwin
I noticed the TOME binary is in not in /usr/games, but /usr/games/bin, which will not automatically run on most systems. I see I never added it to /etc/profile, so I assume this is another change. Is it ok if I make a package install the binary in /usr/games?
Re: ToME 2 maintenance
Posted: Thu Jun 28, 2012 8:01 am
by AnonymousHero
darwin wrote:I noticed the TOME binary is in not in /usr/games, but /usr/games/bin, which will not automatically run on most systems. I see I never added it to /etc/profile, so I assume this is another change. Is it ok if I make a package install the binary in /usr/games?
I don't see any particular problem in installing the binary itself to /usr/games (though I don't see the value of using that particular directory -- whatever floats your boat). As long as the CMAKE_INSTALL_PREFIX is set correctly and the library files are installed to ${CMAKE_INSTALL_PREFIX}/lib/tome, you shouldn't have any problems.
Re: ToME 2 maintenance
Posted: Thu Jun 28, 2012 8:08 am
by darwin
[quote="AnonymousHero"]I don't see any particular problem in installing the binary itself to /usr/games (though I don't see the value of using that particular directory -- whatever floats your boat). As long as the CMAKE_INSTALL_PREFIX is set correctly and the library files are installed to ${CMAKE_INSTALL_PREFIX}/lib/tome, you shouldn't have any problems.[/quote]
Also, /usr/games is traditionally used just for game binaries. There are many other directories used for other files games use, like /usr/lib/games, /usr/share/games, /usr/var/games. I feel that putting a directory in my /usr/games utterly ruins my system layout.
Re: ToME 2 maintenance
Posted: Sat Jul 28, 2012 8:54 pm
by Lord Estraven
Sooo... Has anyone managed to get the git master compiled and running on Windows? If so, can you describe how you did it?
And what about on OSX (presumably via the SDL interface)?
Mind, I have little working knowledge of Windows and none of OSX, but most players in T2's hypothetical future will be on one or the other of those two...

Re: ToME 2 maintenance
Posted: Mon Jul 30, 2012 9:52 pm
by Lord Estraven
Okay, I have managed to get halfway with Windows... I think.
Procedure looks like this:
1. Install msysgit (the dev version with MinGW) to somewhere accessible by your user.
2. Install CMake. Add it to PATH (for your user or everyone).
3. Download jansson. Unpack it somewhere, then ./configure, make, and make install.
4. Download and unpack pkg-config. Export CFLAGS="$CFLAGS -march=i486" and run ./configure with --with-internal-glib. Run make and make install.
You now have all the deps for a Win32 build. In theory, you should be able to enter the T2 build directory, run cmake -G "MSYS Makefiles", and then run make...
But in practice pkg-config will fail to find jansson, even though the .pc file for it is in the right place. Not sure why this is.
I'll keep working on it, when I've got the spare time (and when I'm in the mood to pick a fight with a bad OS).
Re: ToME 2 maintenance
Posted: Tue Jul 31, 2012 3:03 am
by AnonymousHero
Sounds very promising.
I wonder if we should do a "vendor" import directory where the source of all dependencies is included and could be compiled as static libraries (in place) and included that way. This is a bit of an annoyance for packagers and from a security standpoint, but it might make it easier on Win32. (We could perhaps make this conditional on WIN32.)
Re: ToME 2 maintenance
Posted: Wed Aug 01, 2012 12:28 am
by Lord Estraven
Umm, we have a problem on the Linux front...
Code: Select all
tome: error while loading shared libraries: libjansson.so.4: cannot open shared object file: No such file or directory
Needless to say libjansson.so.4 is in the library path, and the whole thing compiled fine. Just to make sure I hadn't messed up with Stow, I tried removing jansson and reinstalling it with Slacktrack... No luck whatsoever.
Any idea what commit might have caused this, before I start bisecting? Assuming it's not my fault anyway.
Edit: duh, me stupid. You have you run ldconfig after installing a new library manually. Double duh.
Re: ToME 2 maintenance
Posted: Fri Aug 17, 2012 2:48 pm
by FatGuyLittleCoat
Does anyone have a windows 7 compatible version of TOME 2.3.X? I tried the floor tile bug fix and it worked great for a bit. Now TOME (even when I reinstall) doesn't work. It'll open the three windows as always, but they are blank. Hitting any key a few times will close the program. TOME 2.3.X is one of my favorite games ever. Please help!
Re: ToME 2 maintenance
Posted: Mon Aug 20, 2012 11:47 am
by Yottle
FatGuyLittleCoat wrote:Does anyone have a windows 7 compatible version of TOME 2.3.X? I tried the floor tile bug fix and it worked great for a bit. Now TOME (even when I reinstall) doesn't work. It'll open the three windows as always, but they are blank. Hitting any key a few times will close the program. TOME 2.3.X is one of my favorite games ever. Please help!
Can you access the drop-down menus at the top of the main menu? Try changing the window font.
Re: ToME 2 maintenance
Posted: Mon Aug 20, 2012 11:53 am
by FatGuyLittleCoat
Thanks!
I rebooted the system and it seems to be working again.
Re: ToME 2 maintenance
Posted: Mon Aug 20, 2012 6:38 pm
by Lord Estraven
FatGuyLittleCoat: were you able to get 2.3.10 compiled on Windows? Because if so that would be great, and I'd love to hear how you managed it.
Re: ToME 2 maintenance
Posted: Wed Nov 28, 2012 3:57 am
by darwin
Is ToME-ah developed for 64-bit only? I made a SlackBuild for v2.3.10-ah and it was refused by the SlackBuilds team because it would not compile under a 32-bit system.
Re: ToME 2 maintenance
Posted: Wed Nov 28, 2012 5:32 am
by AnonymousHero
darwin wrote:Is ToME-ah developed for 64-bit only?
Not as a matter of principle, no. In practice it isn't compiled for 32-bit very often, so things may slip through. (Particularly format strings and such.)
darwin wrote:
I made a SlackBuild for v2.3.10-ah and it was refused by the SlackBuilds team because it would not compile under a 32-bit system.
If you can get the error messages and post them, I'd be grateful. (I don't have much time, if any, to devote to ToME 2.x at the moment, but I'll get around to it when I can.)
Re: ToME 2 maintenance
Posted: Wed Nov 28, 2012 5:52 am
by darwin
Oops, sorry, there was not a problem with ToME compiling on 32-bit. It was Mangband, which I forgot about, then was thinking more about ToME, which I just made some errors in the build script for. However, I had the following problem. The main part of my SlackBuild is below.
Code: Select all
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr/share/games/tome \
-DLIB_SUFFIX=/var/games/tome \
-DCMAKE_BUILD_TYPE=Release \
-DSYSTEM_INSTALL:BOOL=true ..
make
make install DESTDIR=$PKG
This is what happened (everything seemed to compile, then there was a linker error.)
Code: Select all
[...]
[100%] Building C object src/CMakeFiles/tome.dir/w_dun.c.o
Linking C executable tome
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: CMakeFiles/tome.dir/main-sdl.c.o: undefined reference to symbol 'truncf@@GLIBC_2.2.5'
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: note: 'truncf@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line
/lib64/libm.so.6: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [src/tome] Error 1
make[1]: *** [src/CMakeFiles/tome.dir/all] Error 2
make: *** [all] Error 2