games-arcade/ultrastar-ng new version is released as games-arcade/performous. You will find the proposed ebuild attached Reproducible: Always
Created attachment 170656 [details] performous-0.3.0.ebuild
Created attachment 170805 [details] performous-0.3.0.ebuild Updated ebuild to install files into the right directories (performous should launch now)
*** Bug 276709 has been marked as a duplicate of this bug. ***
Created attachment 198492 [details] ebuild for performous 0.3.1 ok well... I don't recall the source it's derived from, or what if anything I changed in it, but here's an ebuild that I'm using in my overlay for 0.3.1 quite happily if it's of any assistance.
Created attachment 199382 [details] performous-0.3.2.ebuild New ebuild for new bugfix upstream release
Needs to honor the games.eclass directories. For example, the binary needs to go in GAMES_BINDIR. Also, why does it install header files and static libraries? Seems like the ebuild needs work before it goes into the tree.
All is now installed in games prefix directory in our git ebuild (see http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=blob;f=portage-overlay/games-arcade/performous/performous-9999.ebuild;hb=HEAD) I will post 0.4.0 version based on this ebuild when the version will be released (but It will use the 9999 modified ebuild). About the libs, performous use internal library, it is now shared but is not yet provided by a separate package. Could you comment the ebuild to reach portage level ASAP.
learn about cmake-utils eclass. In this state it simply can't go to main tree.
I tried dealing with cmake-utils eclass in the past, but AFAIR it cannot be mixed with games eclass. What is the correct way to proceed ? using cmake eclass or games eclass ?
examples: games-action/openastromenace/openastromenace-1.2.0.ebuild games-arcade/tuxanci/tuxanci-0.21.0.ebuild games-board/holdingnuts/holdingnuts-0.0.5.ebuild games-fps/doomsday/doomsday-1.9.0_beta62.ebuild games-strategy/hedgewars/hedgewars-0.9.11.ebuild games-strategy/wesnoth/wesnoth-1.6.5.ebuild
Begin to implement it on git package (see previous git www link). It appears there there is some conflict of behavious between git/games/cmake-utils eclass. Try to invert cmake-utils and games eclasses and the ebuild will fail, but the inverted order seems to work in holdingnuts-0.0.5.ebuild. The only difference I can see from now is the git stuffs. Any help/testing here ? For the moment I cannot see the mycmakeargs in the cmake command line
Latest git version (see #7) now works fine according to #6. http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=blob;f=portage-overlay/games-arcade/performous/performous-0.4.0.ebuild;hb=HEAD is the 0.4.0 candidate, posted for comments. (Btw problem waas caused by abusing copy/paste and having src_compile twice, bug was not triggered when including eclass in a different order)
Created attachment 211455 [details] performous-0.4.0.ebuild Performous 0.4.0 has been released today. This should solve the lastest issues of the ebuild. Source package is currently mirroring on sf.net network
Needs work. It installs the data under ${GAMES_PREFIX} as well. The data should go under GAMES_DATADIR and the man pages, docs, etc. should go under /usr/share.
Would it be ok to have a behavior that: - install data inside (/usr/)..${GAMES_DATADIR}/performous/ - install binary inside (/usr/)..${GAMES_BINDIR}/ - install library (performous plugins) in /usr/lib{suffix}/performous/ our cmake file will use these vars internally
The plugins (if I'm remembering correctly) should go in $(games_get_libdir).
Performous-0.4.0 doesn't compile with (stable) boost-1.35.0. So ebuild should depend on the required version: >=dev-util/boost-1.?? [ 10%] Building CXX object libs/libda/plugins/CMakeFiles/da_audio_dev_alsa.dir/audio_dev_alsa.cpp.o /var/tmp/paludis/games-arcade-performous-0.4.0/work/Performous-0.4.0-Source/libs/plugin++/src/loader.cc: In constructor 'plugin::loader::loader(const boost::filesystem::path&)': /var/tmp/paludis/games-arcade-performous-0.4.0/work/Performous-0.4.0-Source/libs/plugin++/src/loader.cc:55: error: 'struct boost::filesystem::path' has no member named 'parent_path' make[2]: *** [libs/plugin++/CMakeFiles/plugin++.dir/src/loader.cc.o] Error 1 make[1]: *** [libs/plugin++/CMakeFiles/plugin++.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
(In reply to comment #17) > Performous-0.4.0 doesn't compile with (stable) boost-1.35.0. > So ebuild should depend on the required version: >=dev-util/boost-1.?? > >=dev-util/boost-1.41.0
(In reply to comment #18) > (In reply to comment #17) > > Performous-0.4.0 doesn't compile with (stable) boost-1.35.0. > > So ebuild should depend on the required version: >=dev-util/boost-1.?? > > > > >=dev-util/boost-1.41.0 > I did some test, and performous-0.4.0 compiles (and works) fine with boost-1.36. Anyway performous-0.5.0 is out and it seems to need >=boost-1.38 at least (so boost-1.39 on gentoo) 'cause it triggers this bug: http://lists.boost.org/boost-users/2009/01/43735.php with boost-1.36. I looked at the website and I couldn't find the minimal required version for the Boost library. It's sad since this library is an important dependencie of the game. Even CMake doesn't check the version of Boost at configure time...
New performous git ebuild available here: http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=blob;f=portage-overlay/games-arcade/performous/performous-9999.ebuild;hb=HEAD Just like other ebuild in tree it could be used as-is for upcomming 0.6.0 Please note that the libraries installed by performous could be removed in the next version. This is a request for comments on the ebuild, thanks.
games goes last on the inherit line RESTRICT="nostrip" is probably wrong sort KEYWORDS sort IUSE probably more use deps for libsdl no quotes on S= line get rid of extra cd "${S}" in src_unpack use GAMES_DATADIR in src_install
(In reply to comment #21) > games goes last on the inherit line > RESTRICT="nostrip" is probably wrong > sort KEYWORDS > sort IUSE > probably more use deps for libsdl > no quotes on S= line > get rid of extra cd "${S}" in src_unpack > use GAMES_DATADIR in src_install Fixed the 3 first points. About the use deps of libsdl I don't think any other are required, but at least to one given are mandatory to make it compile Point 5 and 6 fixed. About the latest point we found that authorizing absolute data dir outside prefix will break performous packaging. If we want to move data directory in install phase we need to add a launcher for the game setting PERFORMOUS_ROOT, would it be an option ?
The code needs to be patched to honor GAMES_DATADIR
Created attachment 248265 [details, diff] Patch to performous v0.5.1: {,game/}CMakeList.txt Okay, 0.5.1 was released 2010-01-16 and brought some things, at least broken cmake modules. The fix work was done by compiling v0.5.1 sources with renamed performous-0.4.0.ebuild ( attachment 211455 [details] ) and adding following patch work in src_unpack() function: --schnip-- # 1) Don't use shipped (Gettext, Jpeg, Png, Z) cmake modules. # They don't find the required libraries, really. # 2) Use system cmake modules for not-found-modules (JPEG, PNG, ZLIB) # by appending system path to CMAKE_MODULE_PATH (why is it empty?) # 3) Gettext-module needs to be removed from work directory as its name # conflicts with system module otherwise. cd "${S}" epatch "${FILESDIR}"/${P}-modules.patch rm -f "cmake/Modules/FindGettext.cmake" --schnap-- With that add to ebuild and this patch file, compiles, runs, and plays. The issues discussed here earlier need to be solved too (do you have a new or at least some-work-done ebuild, Vincent?).
(In reply to comment #24) I have an ebuild ready that seems to solve the issue discussed. I'm not sure about your patch using system cmake modules as all works fine to me (maybe you misinterpret the warning telling that the library is not found, because we throw this warning if we cannot find it in a pkg-config way, and then try to find it in another way). mr_bones if you want to review the ebuild (with one patch) again :) (link is given in #20). Performous is planning to release 0.6.0 anytime soon with major improvement from 0.5.1
(In reply to comment #25) > (In reply to comment #24) > > I have an ebuild ready that seems to solve the issue discussed. > I'm not sure about your patch using system cmake modules as all works fine to > me (maybe you misinterpret the warning telling that the library is not found, > because we throw this warning if we cannot find it in a pkg-config way, and > then try to find it in another way). > mr_bones if you want to review the ebuild (with one patch) again :) (link is > given in #20). Oh, sorry. My bad. I was blind for not seeing comment 20. Yes, I interpret warnings about not-found as not found even if they are found. It just makes unneeded confusion. I checked more recent version of 0.5.1.ebuild from git found in comment 20, and there was few differences to one posted here. That's okay, I updated local version. But results are the same: compile won't even start as it fails configure. See relevant lines: ==snip== -- checking for module 'jpeg' -- package 'jpeg' not found -- Found Jpeg -- checking for module 'Png' -- package 'Png' not found Png_INCLUDE_DIR=/usr/include Png_LIBRARY=Png_LIBRARY-NOTFOUND CMake Error at cmake/Modules/LibFindMacros.cmake:71 (message): Required library Png NOT FOUND. Install the library (dev version) and try again. If the library is already installed, use ccmake to set the missing variables manually. Call Stack (most recent call first): cmake/Modules/FindPng.cmake:27 (libfind_process) game/CMakeLists.txt:83 (find_package) -- Configuring incomplete, errors occurred! * ERROR: games-arcade/performous-0.5.1 failed: ==snap== But I have libpng: ==snip== media-libs/libpng-1.2.44 was built with the following: USE="" media-libs/libpng-1.4.3 was built with the following: USE="" LDFLAGS="-Wl,-O1" ==snap== Dunno why it does not find them, though. Probably two versions are confusing it or what, but fact is that dev-util/cmake -shipped FindPNG.cmake does find the lib(s) correctly. I quite don't get why the findlib-files are even shipped with source package. Okay I get that old cmake-packages probably didn't ship too good ones, so that's why, but as for recent cmake versions why not use system ones: isn't that the reason for libraries anyways. With my patch the ebuild works again fine, and those not-founds are even removed. > Performous is planning to release 0.6.0 anytime soon with major improvement > from 0.5.1 > The 9999.ebuild works fine, thank you :) (with not-founds-maybe-found -messages, though)
It is in portage now. Thanks for the game. Please check if there is something that does not work as expected.