#exult@irc.freenode.net logs for 19 Nov 2016 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:22:29] <Marzo> Dominus, wjp: I am also thinking of starting to use these with Exult: https://travis-ci.org/ https://scan.coverity.com/
[00:23:08] <Marzo> Free for Open Source projects, GitHub integration
[00:24:32] <Marzo> *And* there is integration between the two
[00:53:24] <Epitrope> that++
[02:33:59] <-- Dominus has left IRC (Ping timeout: 256 seconds)
[02:34:24] --> Dominus has joined #exult
[02:34:24] <-- Dominus has left IRC (Changing host)
[02:34:24] --> Dominus has joined #exult
[02:34:24] --- ChanServ gives channel operator status to Dominus
[08:35:30] <-- Lightkey has left IRC (Ping timeout: 260 seconds)
[09:36:29] <wjp> Marzo: sounds good; travis and coverity are useful
[09:41:56] <Dominus> arrrghh.... boost annoys me....
[09:42:21] <Dominus> cross compilation for ppc is a real pain...
[09:42:57] <Dominus> probably need to build t on a real ppc machine...
[10:02:25] <Dominus> Marzo: regarding boost, reading up on getting it to compile and what pitfalls there are, it seems to me that we are inviting another source of inexplicable errors. But I can't prove that feeling
[10:47:40] <wjp> a lot of boost doesn't require any compilation
[10:48:10] <wjp> (but is just a set of headers)
[10:48:49] <wjp> so it depends a bit on what parts you'd want to use
[11:01:23] <-- Marzo has left IRC (Ping timeout: 260 seconds)
[12:34:41] --> Marzo has joined #exult
[13:30:52] <Marzo> wjp, Dominus: the first piece of Boost I am interested in using is header only, I think: boost/endian/conversion.hpp
[13:31:36] <Marzo> With it, I can make optimized versions of the Read2, Read4 and ReadN functions that will be much faster than what we have
[13:31:38] <Marzo> (I checked)
[13:32:32] <Marzo> There are other header-only things I also want to use
[13:32:48] <Marzo> But the main thing I eventually want to use is Boost Filesystem
[13:32:58] <Marzo> Which is an actual library
[13:35:51] <wjp> filesystem? Do we do that much filesystem manipulation?
[13:38:41] <Marzo> The idea would be to simplify the file handling code as much as possible
[13:38:51] <Marzo> And abstract away a lot of things
[13:39:13] <wjp> would have to look at the effect on portability
[13:39:43] <wjp> because it makes us depend on how much backend support boost has rather than we have ourselves
[13:39:59] <Marzo> Which is why I prefer to talk about it instead of starting to use it right away
[13:40:26] <Marzo> We have to also see how much of what we have still works
[13:40:43] <Marzo> Especially since much of it is a mess
[13:40:48] <wjp> I don't have much objection to endian I suppose, although from what I remember it's a pretty thin wrapper around things like gcc intrinsics for that
[13:41:49] <Marzo> It has wrappers for intrinsics of a lot of compilers, yes
[13:42:10] <Marzo> With some defaults for when the compiler does not support those intrinsics
[13:45:50] <wjp> we could also borrow the relevant code from scummvm
[13:46:02] <wjp> it wraps the same intrinsics I think
[13:46:26] <wjp> ( https://github.com/scummvm/scummvm/commit/endian.h )
[13:46:39] <wjp> um
[13:46:54] <wjp> something went wrong there
[13:47:08] <wjp> https://github.com/scummvm/scummvm/blob/master/common/endian.h
[13:49:56] <Marzo> Hm, that would work
[13:51:17] <Marzo> We would have to modify it a bit, though, because while most stuff we have assumes little endian data, some of it (in audio code) assumes big endian data
[13:51:33] <Marzo> And at a glance, it seems ScummVM's code does not allow that
[13:52:09] <Marzo> Ah, I see it, they have it
[13:52:55] <Dominus> looking into getting boost to work for ppc already proved to me that it is not an easy library to add but rather a fickle one that likes to break easily on setting up (probably fine once it is actually compiled)
[13:55:36] <Marzo> It seems that Boost has issues on any systems that the devs don't have access to
[13:56:33] <Marzo> One message in their discussion list says that the only reason there is no official OSX and iOS builds is that none of the devs have thos systems, and no one else volunteered to run their regression tests on them
[14:10:56] <Marzo> Hm
[14:11:39] <Marzo> Seems like it might be possible to configure Travis CI to update the website when a commit is made to exult-web
[14:13:33] <Dominus> how would that work with Travis CI? I don't have any experience with both Travis CI and Coverity and looking at it only gives me some idea
[14:15:22] <Marzo> Travis CI can be configured to do things after a build finishes successfully
[14:15:46] <Marzo> For exult-web, maybe this could be running through php interpreter to catch errors
[14:16:28] <Marzo> Then, it seems like it could be configured to ssh to Sourceforge and run the script we use to pull the most recent changes
[14:16:53] <Marzo> I have seen that it can be configured to send messages to IRC about a pending build
[14:18:04] <Marzo> Oh, look
[14:18:29] <Marzo> Seems like we can have OSX builds in Travis CI as well as Ubuntu builds
[14:19:30] <Marzo> I will probably need your assistance in setting up the OSX build
[14:20:54] <Dominus> I see my job getting taken by an automaton ;(
[14:21:03] <Dominus> But nice
[14:22:52] <Dominus> Concerning OS X builds, the only magic I have to perform is making sure you can run it on all OS X versions (>= 10.4), not
[14:23:06] <Dominus> Just the most recent one
[14:23:24] <Dominus> Will be interesting to see how Travis does that
[14:23:28] <Marzo> It seems possible to specify a version
[14:23:37] <Marzo> At least for Ubuntu it is, maybe for OSX too
[14:24:02] <Marzo> In any event, you will probably continue to make your builds to generate packages for distribution
[14:24:14] <Dominus> Yeah probably
[14:24:36] <Dominus> But a quick feedback on whether a build works is welcome
[14:24:41] <Marzo> Going out for lunch, bbl
[15:13:18] <-- Marzo has left IRC (Disconnected by services)
[15:13:21] --> gbptpipydvnotuzi has joined #exult
[15:13:23] --- gbptpipydvnotuzi is now known as gzjjupmmwnsryprr
[15:13:27] --- gzjjupmmwnsryprr is now known as Marzo
[18:40:42] <Marzo> Dominus: Travis CI only allows OSX 10.10 and up (it technically has a 10.9, but it will be retired soon)
[18:41:44] <Dominus> thanks, I see. so god for quick test whether it compiles but not compareable to my built :)
[18:42:03] <Marzo> Correct
[18:42:12] <Marzo> Now I just need to setup the OSX build
[18:42:36] <Marzo> Their VMs start with brew instead of Macports, but you can install MacPorts if needed
[18:43:22] <Dominus> I don't know how brew works, only used MacPorts and sticked to that
[18:43:32] <Marzo> Ideally, I would like to build as much as possible of Exult, ES, tools and stuff
[18:43:49] <Marzo> So first order of business is installing MacPorts :-)
[18:44:28] <Dominus> yes, I trust MacPorts more, they know their stuff and test it extensively
[18:47:11] <Marzo> Can you list the MacPorts packages that need to be installed (and the commands needed)?
[18:48:37] <Dominus> sudo port install automake libtool pkgconfig libvorbis libpng zlib libglade2
[18:48:47] <Dominus> sudo port install libsdl +x11
[18:48:52] <Dominus> sudo port install libsdl2 +x11
[18:49:06] <Marzo> Note that the VMs are kind of clean
[18:49:16] <Marzo> Ah, I was about to ask about X11
[18:49:54] <Dominus> oh and before all that
[18:50:05] <Dominus> sudo port selfupdate
[18:50:26] <Marzo> MacPorts will be installed clean, so no need for that :-)
[18:50:37] <Dominus> sudo port sudo port upgrade outdated
[18:50:41] <Dominus> it's still recommended
[18:50:46] <Dominus> AFAIR
[18:51:20] <Dominus> and then the above sudo port install commands
[18:51:52] <Dominus> this *should* have everything as all the x11 stuff should be pulled in by libglade2
[18:52:17] <Dominus> (same as libvorbis install pulls in libogg)
[18:54:10] <Dominus> libsdl needs the +x11 variant because the normal install is without x and that will fail the exult studio support compile
[18:57:30] <Marzo> What can be built with these? I imagine everything but Gimp plugin and Gnome SHP thumbnailer, right?
[19:00:32] <Marzo> Can you use MacPorts to build using GCC too?
[19:01:41] <Marzo> And what are the options you generally use on OSX for ./configure?
[19:01:57] <Dominus> yes, for the Gimp Plugin you would need to install Gimp2 with macports, but honestly, since the plugin just needs "gimptool ourcodde.c"...
[19:02:26] <Dominus> and yes, you can have MacPorts build several gcc versions and then switch via "gcc select" or something like that
[19:03:57] <Marzo> All I need is one version so I can test build on GCC and clang on both Linux and OSX
[19:04:37] <Dominus> by default it uses the Xcode clang
[19:05:16] <Dominus> Ah, I forgot, you will need to install fluidsynth as well
[19:05:28] <Dominus> (sudo port install fluidsynth)
[19:05:54] <Dominus> I don't build with fluidsynth as that is a hell to link static...
[19:06:16] <Dominus> so my default configure is "--enable-opengl --enable-mt32emu --enable-static-libraries --disable-oggtest --disable-vorbistest --disable-alsa --disable-fluidsynth --disable-timidity-midi --with-macosx-static-lib-path=/opt/local/lib"
[19:09:37] <Dominus> a working script I use http://pastebin.com/xyuTJSaZ
[19:09:40] <Marzo> I think I will use your configure options on OSX and everything else on Linux
[19:10:14] <Dominus> (except right now it is not working as my macports is with quartz and not x11 and thus exult will fail...)
[19:15:28] <Dominus> I normally don't build with Exult Studio because of x. Native is much faster and I have one Exult Studio install somewhere in case I need it :)
[19:16:59] <Dominus> *and* for my builds I don't actually use MacPorts. I built my own small prefix for each arch I built (i386, x86_64, ppc)
[19:17:46] <Dominus> but macports is easier for testing lock stock OS X compile
[19:19:14] <Dominus> I'm off for the night, I hope the event I'm going to is not that boring that I look up what's happening here :)
[19:24:36] <Marzo> Have fun :-)
[19:31:38] <-- Marzo has left IRC (Ping timeout: 245 seconds)
[20:07:28] --> travis-ci has joined #exult
[20:07:28] <travis-ci> exult/exult#1 (master - 98a8669 : Marzo Sette Torres Junior): The build has errored.
[20:07:28] <travis-ci> Change view : https://github.com/exult/exult/compare/184c50c1d6a0...98a866944523
[20:07:28] <travis-ci> Build details : https://travis-ci.org/exult/exult/builds/177315048
[20:07:28] <-- travis-ci has left #exult
[20:11:05] --> Marzo has joined #exult
[20:15:30] --> GitHub has joined #exult
[20:15:30] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXF5R
[20:15:30] <GitHub> exult/master e3c0fb5 Marzo Sette Torres Junior: Fixing a couple of mistakes preventing Travis CI from working.
[20:15:30] <-- GitHub has left #exult
[20:21:33] --> GitHub has joined #exult
[20:21:34] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXF5S
[20:21:34] <GitHub> exult/master 2224d17 Marzo Sette Torres Junior: Fixing more Travis CI errors.
[20:21:34] <-- GitHub has left #exult
[20:43:45] --> GitHub has joined #exult
[20:43:45] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXFFT
[20:43:45] <GitHub> exult/master 094fda9 Marzo Sette Torres Junior: Adding missing execute bit to Travis CI scripts. Fixing MacPorts version.
[20:43:45] <-- GitHub has left #exult
[20:50:55] --> GitHub has joined #exult
[20:50:55] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXFFl
[20:50:55] <GitHub> exult/master ad6e339 Marzo Sette Torres Junior: Making optimized debug work with clang.
[20:50:55] <-- GitHub has left #exult
[21:38:46] <-- Marzo has left IRC (Quit: Leaving)
[21:39:04] --> Marzo has joined #exult
[21:55:15] --> GitHub has joined #exult
[21:55:16] <GitHub> [exult] marzojr deleted coverity_scan at cf86842: https://git.io/vXFA4
[21:55:16] <-- GitHub has left #exult
[21:56:32] --> travis-ci has joined #exult
[21:56:33] <travis-ci> exult/exult#8 (coverity_scan - cf86842 : Marzo Sette Torres Junior): The build was canceled.
[21:56:33] <travis-ci> Change view : https://github.com/exult/exult/compare/coverity_scan
[21:56:33] <travis-ci> Build details : https://travis-ci.org/exult/exult/builds/177331096
[21:56:33] <-- travis-ci has left #exult
[22:14:53] --> GitHub has joined #exult
[22:14:53] <GitHub> [exult] marzojr created coverity_scan from master (+0 new commits): https://git.io/vXFAf
[22:14:53] <-- GitHub has left #exult
[22:16:20] --> GitHub has joined #exult
[22:16:20] <GitHub> [exult] marzojr deleted coverity_scan at a1d6f24: https://git.io/vXFxG
[22:16:20] <-- GitHub has left #exult
[22:18:42] --> GitHub has joined #exult
[22:18:42] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXFxC
[22:18:42] <GitHub> exult/master 8dbe61c Marzo Sette Torres Junior: Fixing Coverity Scan identation.
[22:18:42] <-- GitHub has left #exult
[22:20:33] --> GitHub has joined #exult
[22:20:34] <GitHub> [exult] marzojr created coverity_scan from master (+0 new commits): https://git.io/vXFAf
[22:20:34] <-- GitHub has left #exult
[22:29:53] --> travis-ci has joined #exult
[22:29:54] <travis-ci> exult/exult#11 (master - 8dbe61c : Marzo Sette Torres Junior): The build has errored.
[22:29:54] <travis-ci> Change view : https://github.com/exult/exult/compare/a1d6f2409ca9...8dbe61c4c5b7
[22:29:54] <travis-ci> Build details : https://travis-ci.org/exult/exult/builds/177335265
[22:29:54] <-- travis-ci has left #exult
[22:31:19] --> GitHub has joined #exult
[22:31:19] <GitHub> [exult] marzojr deleted coverity_scan at 8dbe61c: https://git.io/vXFxx
[22:31:19] <-- GitHub has left #exult
[23:03:29] --> GitHub has joined #exult
[23:03:29] <GitHub> [exult] marzojr pushed 1 new commit to master: https://git.io/vXFh7
[23:03:29] <GitHub> exult/master 21bbca3 Marzo Sette Torres Junior: Hopefully fixing Travis CI build on OSX, broken by Coverity Scan...
[23:03:29] <-- GitHub has left #exult
[23:03:43] --> GitHub has joined #exult
[23:03:43] <GitHub> [exult] marzojr created coverity_scan from master (+0 new commits): https://git.io/vXFAf
[23:03:44] <-- GitHub has left #exult
[23:27:43] --> travis-ci has joined #exult
[23:27:44] <travis-ci> exult/exult#13 (master - 21bbca3 : Marzo Sette Torres Junior): The build passed.
[23:27:44] <travis-ci> Change view : https://github.com/exult/exult/compare/8dbe61c4c5b7...21bbca30a3d2
[23:27:44] <travis-ci> Build details : https://travis-ci.org/exult/exult/builds/177341862
[23:27:44] <-- travis-ci has left #exult
[23:34:14] --> travis-ci has joined #exult
[23:34:15] <travis-ci> exult/exult#14 (coverity_scan - 21bbca3 : Marzo Sette Torres Junior): The build passed.
[23:34:15] <travis-ci> Change view : https://github.com/exult/exult/compare/coverity_scan
[23:34:15] <travis-ci> Build details : https://travis-ci.org/exult/exult/builds/177341888
[23:34:15] <-- travis-ci has left #exult
[23:55:54] <Marzo> First Coverity report available now
[23:56:29] <Marzo> Next steps: Try to setup a MinGW build with AppVeyor; fix the Coverity errors
[23:57:44] <Marzo> (that is, in about two business days, which is when they will conclude that Exult is open source)