Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 245452 - games-arcade/ultrastar-ng becomes games-arcade/performous - new version
Summary: games-arcade/ultrastar-ng becomes games-arcade/performous - new version
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement with 1 vote (vote)
Assignee: Gentoo Games
URL: http://sourceforge.net/projects/ultra...
Whiteboard:
Keywords:
: 276709 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-11-03 23:24 UTC by Vincent Le Ligeour
Modified: 2012-02-21 20:52 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
performous-0.3.0.ebuild (performous-0.3.0.ebuild,2.35 KB, text/plain)
2008-11-03 23:25 UTC, Vincent Le Ligeour
Details
performous-0.3.0.ebuild (performous-0.3.0.ebuild,2.48 KB, text/plain)
2008-11-05 13:16 UTC, Vincent Le Ligeour
Details
ebuild for performous 0.3.1 (performous-0.3.1.ebuild,3.09 KB, text/plain)
2009-07-19 17:53 UTC, Peter Read
Details
performous-0.3.2.ebuild (performous-0.3.2.ebuild,3.11 KB, text/plain)
2009-07-27 19:56 UTC, Vincent Le Ligeour
Details
performous-0.4.0.ebuild (performous-0.4.0.ebuild,2.65 KB, text/plain)
2009-11-28 14:22 UTC, Vincent Le Ligeour
Details
Patch to performous v0.5.1: {,game/}CMakeList.txt (performous-0.5.1-modules.patch,1.78 KB, patch)
2010-09-21 13:07 UTC, Jyrki Launonen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Le Ligeour 2008-11-03 23:24:59 UTC
games-arcade/ultrastar-ng new version is released as games-arcade/performous.
You will find the proposed ebuild attached

Reproducible: Always
Comment 1 Vincent Le Ligeour 2008-11-03 23:25:53 UTC
Created attachment 170656 [details]
performous-0.3.0.ebuild
Comment 2 Vincent Le Ligeour 2008-11-05 13:16:52 UTC
Created attachment 170805 [details]
performous-0.3.0.ebuild

Updated ebuild to install files into the right directories (performous should launch now)
Comment 3 Mr. Bones. (RETIRED) gentoo-dev 2009-07-07 05:24:30 UTC
*** Bug 276709 has been marked as a duplicate of this bug. ***
Comment 4 Peter Read 2009-07-19 17:53:36 UTC
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.
Comment 5 Vincent Le Ligeour 2009-07-27 19:56:28 UTC
Created attachment 199382 [details]
performous-0.3.2.ebuild

New ebuild for new bugfix upstream release
Comment 6 Mr. Bones. (RETIRED) gentoo-dev 2009-10-14 07:00:55 UTC
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.
Comment 7 Vincent Le Ligeour 2009-10-14 13:39:19 UTC
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.
Comment 8 Tomáš Chvátal (RETIRED) gentoo-dev 2009-10-14 13:52:06 UTC
learn about cmake-utils eclass. In this state it simply can't go to main tree.
Comment 9 Vincent Le Ligeour 2009-10-14 14:02:48 UTC
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 ?
Comment 10 Tristan Heaven (RETIRED) gentoo-dev 2009-10-14 14:06:50 UTC
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
Comment 11 Vincent Le Ligeour 2009-10-14 15:54:26 UTC
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
Comment 12 Vincent Le Ligeour 2009-10-22 14:45:58 UTC
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)
Comment 13 Vincent Le Ligeour 2009-11-28 14:22:11 UTC
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
Comment 14 Mr. Bones. (RETIRED) gentoo-dev 2009-11-29 06:35:16 UTC
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.
Comment 15 Vincent Le Ligeour 2009-12-04 17:58:37 UTC
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
Comment 16 Mr. Bones. (RETIRED) gentoo-dev 2009-12-04 18:41:25 UTC
The plugins (if I'm remembering correctly) should go in $(games_get_libdir).
Comment 17 Bruno 'brubru' Tarquini 2009-12-22 16:25:07 UTC
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....
Comment 18 Angelo Arrifano (RETIRED) gentoo-dev 2009-12-30 03:13:40 UTC
(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
Comment 19 Bruno 'brubru' Tarquini 2010-01-14 19:36:10 UTC
(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...
Comment 20 Vincent Le Ligeour 2010-08-12 15:58:58 UTC
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.
Comment 21 Mr. Bones. (RETIRED) gentoo-dev 2010-08-12 16:47:08 UTC
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
Comment 22 Vincent Le Ligeour 2010-08-17 14:41:54 UTC
(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 ?
Comment 23 Mr. Bones. (RETIRED) gentoo-dev 2010-08-17 14:47:01 UTC
The code needs to be patched to honor GAMES_DATADIR
Comment 24 Jyrki Launonen 2010-09-21 13:07:20 UTC
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?).
Comment 25 Vincent Le Ligeour 2010-09-21 15:04:13 UTC
(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
Comment 26 Jyrki Launonen 2010-09-21 16:10:48 UTC
(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)
Comment 27 Tupone Alfredo gentoo-dev 2012-02-21 20:52:35 UTC
It is in portage now. Thanks for the game. 
Please check if there is something that does not work as expected.