Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 312847 - games-strategy/widelands-0.15: version bump
Summary: games-strategy/widelands-0.15: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Games
URL:
Whiteboard: [gamerlay]
Keywords: EBUILD, InOverlay
Depends on:
Blocks:
 
Reported: 2010-04-02 17:22 UTC by vp
Modified: 2010-11-20 10:09 UTC (History)
5 users (show)

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


Attachments
widelands ebuild (widelands-0.0.15_rc2.ebuild,1.71 KB, text/plain)
2010-04-02 17:23 UTC, vp
Details
widelands ebuild (widelands-0.0.15_rc2.ebuild,1.74 KB, text/plain)
2010-04-02 19:59 UTC, vp
Details
widelands ebuild (widelands-0.0.15_rc2.ebuild,2.58 KB, text/plain)
2010-04-04 17:35 UTC, vp
Details
widelands ebuild (widelands-0.0.15_rc2.ebuild,2.66 KB, text/plain)
2010-04-07 12:10 UTC, vp
Details
diff between ebuilds (widelands-build15.patch,1.93 KB, patch)
2010-04-13 20:23 UTC, Rafał Mużyło
Details | Diff
new gentoo build patch (widelands-0.0.15-build.patch,1.80 KB, patch)
2010-04-13 20:25 UTC, Rafał Mużyło
Details | Diff
new diff (widelands-build15.patch,2.01 KB, patch)
2010-04-27 23:13 UTC, Rafał Mużyło
Details | Diff
Reworked ebuild (widelands-0.15.ebuild,1.46 KB, text/plain)
2010-05-15 20:53 UTC, Michał Górny
Details
widelands-0.0.15-gcc45-fix.patch (widelands-0.0.15-gcc45-fix.patch,2.01 KB, patch)
2010-05-18 21:47 UTC, Azamat H. Hackimov
Details | Diff
An ebuild for build15 that actually woked for me (widelands-0.0.15.ebuild,1.44 KB, text/plain)
2010-06-06 19:39 UTC, Axel Dyks
Details
The same as unified diff to previous (build14) ebuild (widelands-0.0.15.ebuild.patch,2.77 KB, patch)
2010-06-06 19:43 UTC, Axel Dyks
Details | Diff
A little newer version of my ebuild (widelands-0.15.ebuild,1.62 KB, text/plain)
2010-06-06 21:04 UTC, Michał Górny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description vp 2010-04-02 17:22:35 UTC
widelands is about to release build 15. this includes a new build system (cmake instead of scons) here is an ebuild that takes advanatage of this new build system

Reproducible: Always
Comment 1 vp 2010-04-02 17:23:04 UTC
Created attachment 226307 [details]
widelands ebuild
Comment 2 vp 2010-04-02 19:59:25 UTC
Created attachment 226315 [details]
widelands ebuild

widelands ebuild updated
Comment 3 Mr. Bones. (RETIRED) gentoo-dev 2010-04-02 20:44:34 UTC
Any locale files should be installed in /usr/share/locale
Comment 4 vp 2010-04-04 17:35:21 UTC
Created attachment 226573 [details]
widelands ebuild

widelands ebuild. now it installs locales properly
also added language use flags based on available locales
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-04-05 17:24:21 UTC
I would like to just add a single note about the ebuild: you should not hardcode the '-rc2' part but instead take it from ${PV} and change the separator using versionator.eclass.
Comment 6 vp 2010-04-07 12:10:50 UTC
Created attachment 226873 [details]
widelands ebuild

update widelands ebuild. 

rc2 is no longer hardcoded

I didn't use the versionator eclass (yet) because there are some differences how widelands and gentoo gives version numbers (build15-rc2 vs 0.0.15-rc2). will try to find more documentation later if the versionator ebuild is required
Comment 7 ollonois 2010-04-12 16:34:34 UTC
WARNING: Could not open pics/splash.jpg: [/var/tmp/portage/games-strategy/widelands-0.0.15_rc2/work/widelands-build15-rc2-src/src/graphic/graphic.cc:72] Failed loading libjpeg.so.7

I think on systems where the update guide to jpeg-8 was followed this ebuild wont work
Comment 8 Rafał Mużyło 2010-04-13 20:23:34 UTC
Created attachment 227653 [details, diff]
diff between ebuilds

As for comment 7: it seems you didn't follow the guide correctly.

I came up with a far smaller patch (diff between build14 and my ebuild).

Minor note: it seems as if dev-libs/boost should be
in DEPEND only, as though a few CMakeLists.txt claim otherwise,
widelands is using only boost headers, not the libs.

Though, that locale filter looks useful.
Comment 9 Rafał Mużyło 2010-04-13 20:25:47 UTC
Created attachment 227659 [details, diff]
new gentoo build patch

Just the obvious modifications, so it works with
cmake-utils eclass.
Comment 10 Rafał Mużyło 2010-04-13 20:29:41 UTC
That boost line is due to the macro shipped with cmake 2.8.1
only supporting boost up to 1.41.0.
Comment 11 Rafał Mużyło 2010-04-14 15:13:19 UTC
However, that boost problem is fixed for the moment
in cmake-2.8.1-r1.
Comment 12 vp 2010-04-14 16:32:07 UTC
#7: did you run recdep-rebuild? libjpeg 8 is working here

#8/9 i'll test out your changes but for one widelans is no longer hosted at sourceforge so i'm curious which version you are actually getting
Comment 13 Jens 2010-04-14 16:56:49 UTC
I don't have any problems building this against libjpeg-8.
It should, however, also be able to build against libjpeg-7 if someone did not update to libjpeg-8 yet.

About the Boost issue: Yes, only Boost headers are used, no libraries. The two includes in the CMakeLists.txt files are: just an empty include and a useless include which is not used by any sources.

Widelands is not hosted on sourceforge.net anymore, however the homepage has not changed: http://www.widelands.org. Codehosting is now done on Launchpad: https://launchpad.net/widelands
Comment 14 ollonois 2010-04-15 07:59:09 UTC
(In reply to comment #13)
> I don't have any problems building this against libjpeg-8.
> It should, however, also be able to build against libjpeg-7 if someone did not
> update to libjpeg-8 yet.
> 
> About the Boost issue: Yes, only Boost headers are used, no libraries. The two
> includes in the CMakeLists.txt files are: just an empty include and a useless
> include which is not used by any sources.
> 
> Widelands is not hosted on sourceforge.net anymore, however the homepage has
> not changed: http://www.widelands.org. Codehosting is now done on Launchpad:
> https://launchpad.net/widelands
> 

There was an update guide in jpeg-8 ebuild to delete libjpeg.so.7 and run revdep-rebuild to use libjpeg.so.8 now.

On my other gentoo system where have not done this widelands runs fine but only because libjpeg.so.7 is already there. 

Look here at the 2nd post.
http://wl.widelands.org/forum/topic/378/
Comment 15 vp 2010-04-15 08:55:52 UTC
(In reply to comment #14)
#14, noone is arguing that you don't have the issue. or that others don't have the issue. but the problem isn't in widelands itself or the ebuild i proposed. if you look at the output of 'ldd widelands|grep jpeg' if it lists libjpeg.so.7 => not found rebuild widelands. if it isn't listed there then make sure to rebuild the sdl libraries it depends on

Rafal, your diff is smaller but mine only installs the locales you want. it's something that probally will be fixed upstream soon but not before build15. i'd be happy to keep my ebuild updated if people are interested in it. if not just let me know too
Comment 16 Rafał Mużyło 2010-04-15 10:54:40 UTC
@comment 14: revdep-rebuild catches most of the common problems,
however, it can't do a thing about dlopen'ed libs.

Till the recent ebuild revision most of the sdl packages
did that (libsdl, sdl-gfx, sdl-ttf, etc.). You needed to
remember to reemerge them manually.

@comment 15: I think what should matter most is which one
is less hackish, as hack obvious for the author at the time of
writing, becomes far less obvious with time and
leads to maintenance hell eventually.

On a semi-related note CPPFLAGS!=CXXFLAGS.
Comment 17 Rafał Mużyło 2010-04-15 11:10:44 UTC
On a different note: it seems that one of the people
on CC list may be one of widelands devs.

Let me comment on http://wl.widelands.org/forum/topic/391/
(among other).

Those symlink "solutions" are rather unsafe - those jpeg
versions *are* binary incompatible. I don't recall the numbers,
but in Gentoo bugzilla at the time of jpeg7 -> 8 (or was that 6.2 -> 7 ?)
transition, there were a few bugs that came from compiling against headers
of one version and linking against a different one.

Those were actually errors in the build system of those packages,
but the point is that even if it seems to work,
it may fail at any time in rather strange ways.
Comment 18 Rafał Mużyło 2010-04-19 18:17:53 UTC
OK, it's been officially released three days ago.
No build related changes since the tarball I tested my ebuild
with, so it should still work.
Comment 19 Roland Ramthun 2010-04-27 13:08:02 UTC
I asked the games herd in IRC about commiting the updated ebuild to the main tree and ssuominen made the following suggestions for improving the ebuild:
- don't hardcode paths as done in src_configure, use vars from games eclass instead (inherit games eclass)
- if RDEPEND is same as DEPEND, you only need to define DEPEND which will be both then
- the inherited toolchain-funcs seem to be unused (no $(tc-getCXX)s)
Comment 20 Rafał Mużyło 2010-04-27 23:13:54 UTC
Created attachment 229451 [details, diff]
new diff

OK, this is the new diff.
Though I'm almost sure boost should not
be among RDEPEND, just in DEPEND.
Comment 21 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-05-15 20:53:47 UTC
Created attachment 231591 [details]
Reworked ebuild
Comment 22 Azamat H. Hackimov 2010-05-18 21:47:52 UTC
Created attachment 232045 [details, diff]
widelands-0.0.15-gcc45-fix.patch

There patch for gcc-4.5.
https://bugs.launchpad.net/widelands/+bug/572383
Comment 23 Axel Dyks 2010-06-06 19:37:07 UTC
(In reply to comment #21)
> Created an attachment (id=231591) [details]
> Reworked ebuild
> 
Hmm, why do you introduce a new version scheme with your ebuild?

I mean, why is it

  "widelands-0-15.ebuild"

instead of

  "widelands-0-0-15.ebuild"

and in the ebuild itself

  MY_PV=build$(get_version_component_range 2)

instead of

  MY_PV=build$(get_version_component_range 3)

Furthermore I found that the "build" patch can no longer be applied.
Simply because the targeted files no longer exist.

But I think the "gcc45" patch should still be applied.

After removing the two extra " || die" you have added to your ebuild (why?)
I finally get to the following ebuild which I will attach in a separate post.

Almost forgot to mention that

  ./files/widelands-0.0.15-gcc45.patch

is an exact copy of

  ./files/widelands-0.0.14-gcc45.patch

and that this ebuild actually worked on my x86 box.
Comment 24 Axel Dyks 2010-06-06 19:39:06 UTC
Created attachment 234331 [details]
An ebuild for build15 that actually woked for me
Comment 25 Axel Dyks 2010-06-06 19:43:16 UTC
Created attachment 234333 [details, diff]
The same as unified diff to previous (build14) ebuild
Comment 26 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-06-06 19:51:59 UTC
(In reply to comment #23)
> Hmm, why do you introduce a new version scheme with your ebuild?

Because that's new upstream versioning scheme. You can find it in CMakeLists file.

> Furthermore I found that the "build" patch can no longer be applied.
> Simply because the targeted files no longer exist.

Can't happen. And I guess it's quite improbable upstream changed the tarball in the meantime. Did you change the patch name to match new version?

> After removing the two extra " || die" you have added to your ebuild (why?)

Because '|| die' after do*/new* commands is necessary. Removing them only means that you omit catching the error which happens.

Thus, I guess your problem might be uncorrectly unpacked sources. And before criticizing somebody's work, take a look _at least_ at devmanual.
Comment 27 Axel Dyks 2010-06-06 20:34:31 UTC
(In reply to comment #26)
...

> Thus, I guess your problem might be uncorrectly unpacked sources. And before
> criticizing somebody's work, take a look _at least_ at devmanual.

I was just asking questions and stated that your ebuild
did not work for me with current build15 from upstream.

The "build" patch targets the file

    ./build/scons-tools/scons_configure.py

which used to exist in build14 but no longer does in build15.
The entire "scons-tools" folder has been removed.

But the only way to figure out whether I wasn't able to run
your ebuild properly or upstream actually changed something
(so that the "build" patch no longer applies) is to actually
try it out yourself.
Comment 28 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-06-06 21:03:02 UTC
(In reply to comment #27)
> The "build" patch targets the file
> 
>     ./build/scons-tools/scons_configure.py
> 
> which used to exist in build14 but no longer does in build15.
> The entire "scons-tools" folder has been removed.

Take a look at files attached to this bug. There's a fresh build patch there. This one:
http://bugs.gentoo.org/attachment.cgi?id=227659

I'll also attach a little newer ebuild, with some minor changes requested by games herd.
Comment 29 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-06-06 21:04:02 UTC
Created attachment 234339 [details]
A little newer version of my ebuild

This one has more strict dependencies and inheritance order requested by games team.
Comment 30 Axel Dyks 2010-06-06 21:14:10 UTC
(In reply to comment #28)

> Take a look at files attached to this bug. There's a fresh build patch there.
> This one:
> http://bugs.gentoo.org/attachment.cgi?id=227659

Attached to which bug?
Comment 31 Axel Dyks 2010-06-06 21:19:24 UTC
(In reply to comment #26)

...
 
> Because '|| die' after do*/new* commands is necessary. Removing them only means
> that you omit catching the error which happens.

...

> Thus, I guess your problem might be uncorrectly unpacked sources. And before
> criticizing somebody's work, take a look _at least_ at devmanual.

http://devmanual.gentoo.org/ebuild-writing/functions/src_install/index.html

you mean?

Well, to me it seems -- just by looking at the example -- that catching
the error in case of a failing "do*" is more a matter of taste than
something something "devmanual" requires you to do.

... and I admit, I haven't looked it up, before posting my comment
on your ebuild. :-)

Anyway, I just hope we have a working ebuild in portage soon.
And it will surely we done "by the book" ( of "devmanual", "herd", ...)

:-)
Comment 32 Axel Dyks 2010-06-06 21:29:26 UTC
(In reply to comment #30)
> (In reply to comment #28)
> 
> > Take a look at files attached to this bug. There's a fresh build patch there.
> > This one:
> > http://bugs.gentoo.org/attachment.cgi?id=227659
> 
> Attached to which bug?
> 
Sorry, found it in comment #9.
(http://bugs.gentoo.org/show_bug.cgi?id=312847#c9)

Comment 33 Michael Stather 2010-08-15 13:49:12 UTC
Is there a working ebuild somewhere yet? I read through this thread with all of its ideas and several ebuild posts but there's neither an ebuild for .15 in portage nor in gamerlay.
Anyway thanks for your work!!
Comment 34 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-19 21:30:02 UTC
It's in gamerlay now, as of f1e110b.
Comment 35 Mr. Bones. (RETIRED) gentoo-dev 2010-11-20 07:54:40 UTC
fails for me like:

	sk:	..........Traceback (most recent call last):
  File "/var/tmp/portage/games-strategy/widelands-0.15/work/widelands-build15-src/utils/buildlocale.py", line 78, in <module>
    do_compile(l)
  File "/var/tmp/portage/games-strategy/widelands-0.15/work/widelands-build15-src/utils/buildlocale.py", line 37, in do_compile
    if not buildcat.do_buildpo(po, pot, "tmp.po"):
  File "/var/tmp/portage/games-strategy/widelands-0.15/work/widelands-build15-src/utils/buildcat.py", line 270, in do_buildpo
    raise RuntimeError("msgmerge exited with errorcode %i!" % rv)
RuntimeError: msgmerge exited with errorcode 8!
make[2]: *** [CMakeFiles/lang] Error 1
make[1]: *** [CMakeFiles/lang.dir/all] Error 2
make: *** [all] Error 2
Comment 36 Mr. Bones. (RETIRED) gentoo-dev 2010-11-20 08:09:03 UTC
Hmmm, seems like it's parallel make related.
Comment 37 Mr. Bones. (RETIRED) gentoo-dev 2010-11-20 10:09:54 UTC
widelands-0.15.ebuild is in portage.  thanks for the bug report and ebuild/patch submissions.