Doomsday Engine 2.0.3 and Gentoo

So, I have ran into a couple of problems building this. 1. there arent any ebuilds for the latest stable version, and the older version doesnt compile any more. That being said, when ever I run Cmake to create the makefile, it seems to get hung up on the fact that I have QT4 installed, but doesnt seem to see that I also have QT5 installed. I have a few apps, like Teamviewer that require QT4, or else I would remove it completely. If I tell it not to build the GUI, it still drops out with the same error. Not sure what to do about it. If I can get it to build outside of portage, I can write a proper ebuild for it, so that it can easily be built, using the package manager, but at this stage I cant even get it to do that.

Comments

  • You can tell Doomsday which Qt you want to use with the QMAKE variable. The option to give to CMake would look something like:
    -DQMAKE=/usr/bin/qmake-qt5
    

    If this option is not specified, the qmake found via PATH will be used instead.

    There are some more details here: https://manual.dengine.net/devel/compiling_and_running
  • Thanks, dont know how I missed that, I looked through that guide like 3 times. lol. That fixed the problem, I will get on writing an ebuild for that tomorrow if I can find the time.
  • Another quick question, is there a nice list of cmake arguments, so I can configure this better in the ebuild I am writing for gentoo?

    Attached is an ebuild(Doesnt work as of this second, gets to the end of cmake, and fails, but if I build outside of portage it does work. Still working out the bugs there), but things like installing to /usr is bad gentoo form, they put game related files in /usr/games, and /usr/share/games. It would be nice to meet that form, or if that isnt possible, dump it in /opt. It isnt a requirement, but from the output of cmake, It has an option for install dir, so I would think it would be possible. As for the attached txt(ebuild file), it is what I have managed to piece together from the previous ebuild, so the rdepend libraries might not be 100% correct, but since the correct libraries are already installed on my system, it isnt a huge deal to me to fix it at this moment.

  • edited 2017 Nov 7
    I haven't made a list of the variables, however they are all documented (to some level) in the CMake configuration. You can see the descriptions in "ccmake" or by taking a look at CMakeCache.txt after CMake has been run. Variables affecting Doomsday itself all start with "DENG_". Generally the defaults are good for a release build.

    For non-debug builds you should always set:
    -DCMAKE_BUILD_TYPE=Release
    

    You can set the installation path with PREFIX:
    -DPREFIX=/usr/games
    

    (These two are now mentioned in the manual as well.)
  • If you use -DPREFIX it fails with C and CXX unidentified errors. Which is why I was asking. According to cmake documentation there is a CMAKE_INSTALL_PREFIX option, but if I pass that, it doesnt change the install path. :( In CMakeCache.txt there is a DENG_PREFIX_SET:STRING=YES option, but I cant seem to change that from the command line. It isnt a huge deal, but I would like to keep everything in line with the system.
  • Here is the ebuild I have managed to get working, if you want to add it to your documentation site for gentoo installs, since the gentoo devs havnt added an ebuild for any version past 1.15.8.
    As said in the last post, -DPREFIX fails with Unidentified compiler errors, so I left that out, if you can figure out what is going on there, it would be easy to add to the ebuild. This only works with stable versions of Doomsday, due to sourceforge download paths, but when 2.1 series comes out as stable, you should be able to rename it from doomsday-stable_version_here.ebuild to doomsday-2.1.x.ebuild, and it should still work. This is uploaded as a txt file, as it doesnt allow ebuild uploads.
  • If you use -DPREFIX it fails with C and CXX unidentified errors.
    That is quite strange... Doomsday's config files should just use the PREFIX to set CMAKE_INSTALL_PREFIX and a couple of other defines/variables.

    Thanks for the .ebuild, I can give it a try.
  • I was actually able to get the cmake class in portage to work, so attached is that ebuild also.
  • Here, use this ebuild, one of the gentoo developers took the one posted above that uses the cmake class, and cleaned it up and made it use the class properly. I am still new at the ebuild writing, as 99% of the ebuilds I have "written" were to modify someone elses ebuild to make it work properly, as it hadnt been maintained. This one uses the latest EAPI(Ebuild API), and cleans up the install process, and manual paths to python and the hackish stuff I did to point it at the correct qmake, which would have stopped it from building on non X86 based hardware.
  • Cool, thanks.
Sign In or Register to comment.