Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 398535 - games-engines/gargoyle-2011* version bump
Summary: games-engines/gargoyle-2011* version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michele Noberasco (RETIRED)
URL: http://code.google.com/p/garglk/downl...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-11 14:49 UTC by poncho
Modified: 2012-05-07 13:53 UTC (History)
3 users (show)

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


Attachments
gargoyle-2011.1 ebuild build log (build.log,25.47 KB, text/plain)
2012-05-07 09:11 UTC, Michele Noberasco (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description poncho 2012-01-11 14:49:08 UTC
Version 2011.1 is available.

% grep MY_PV= gargoyle-20100930.ebuild
MY_PV="2010.1"

Reproducible: Always
Comment 1 Nikos Chantziaras 2012-03-25 22:21:03 UTC
I added a cleaned up ebuild for 2011.1 in the interactive-fiction overlay. (It's in layman.)

Direct link to the ebuild:

http://repo.or.cz/w/gentoo-interactive-fiction.git/blob_plain/HEAD:/games-engines/gargoyle/gargoyle-2011.1.ebuild

Is this is added to portage, the current 20100930 version should be removed since it has an unfortunate version number and makes 2011.1 look like a downgrade. (In the overlay, 20100930 is masked due to this.)
Comment 2 Nikos Chantziaras 2012-03-25 22:42:36 UTC
(In reply to comment #1)
> Is this is added to portage, the current 20100930 version should be removed
> since it has an unfortunate version number and makes 2011.1 look like a
> downgrade. (In the overlay, 20100930 is masked due to this.)

And I just found out that portage ignored the package.mask of overlays (grr!), so you still have to mask 20100930 manually.
Comment 3 poncho 2012-03-26 14:56:20 UTC
The ebuild fails for me with the error:

>>> Compiling source in /var/tmp/portage-tmpfs/portage/games-engines/gargoyle-2011.1/work ...
Invalid option: -l

usage: jam [ options ] targets...

-a      Build all targets, even if they are current.
-dx     Display (a)actions (c)causes (d)dependencies
        (m)make tree (x)commands (0-9) debug levels.
-fx     Read x instead of Jambase.
-g      Build from newest sources first.
-jx     Run up to x shell commands concurrently.
-n      Don't actually execute the updating actions.
-ox     Write the updating actions to file x.
-q      Quit quickly as soon as a target fails.
-sx=y   Set variable x=y, overriding environment.
-tx     Rebuild x, even if it is up-to-date.
-v      Print the version of jam and exit.

ERROR: games-engines/gargoyle-2011.1 failed (compile phase):
   (no error message)

Call stack:
ebuild.sh, line  85:  Called src_compile
environment, line 2171:  Called die
The specific snippet of code:
jam -sGARGLKINI="${GAMES_SYSCONFDIR}/garglk.ini" -sUSESDL=yes -sBUNDLEFONTS=no ${MAKEOPTS} || die

In my make.conf I have:
MAKEOPTS="-j5 -l6"

If I remove the -l6 from MAKEOPTS, the ebuild works fine.
Comment 4 Nikos Chantziaras 2012-03-27 03:49:59 UTC
I changed the ebuild to not pass MAKEOPTS to jam.

I wonder if there's a way I can just filter out the "-jN" part of MAKEOPTS and ignore the rest?
Comment 5 Mr. Bones. (RETIRED) gentoo-dev 2012-03-27 05:27:36 UTC
see lincity-ng-2.0.ebuild
Comment 6 Nikos Chantziaras 2012-03-27 05:47:45 UTC
(In reply to comment #5)
> see lincity-ng-2.0.ebuild

Thanks.  I've now used the same sed line and pushed the changes to the overlay.  Please let me know if there's anything in the ebuild that still needs work.
Comment 7 Nikos Chantziaras 2012-04-28 08:38:25 UTC
Could someone please rename gargoyle-20100930.ebuild in portage to gargoyle-2010.1.ebuild (that's the actual version number that gets installed by it) so that the ebuild in the overlay can appear as an upgrade?
Comment 8 Michele Noberasco (RETIRED) gentoo-dev 2012-05-04 15:03:11 UTC
(In reply to comment #7)

Ebuild 20100930 has been renamed to 2010.1.
Comment 9 Michele Noberasco (RETIRED) gentoo-dev 2012-05-07 09:11:19 UTC
Created attachment 311073 [details]
gargoyle-2011.1 ebuild build log

Hi,

I just tried compiling gargoyle-2011.1 using the ebuild from:
http://repo.or.cz/w/gentoo-interactive-fiction.git/blob_plain/HEAD:/games-engines/gargoyle/gargoyle-2011.1.ebuild

The ebuild failed to compile on my amd64 box. Attached you will find the build log; the interesting bit is where it complains:

SharedLink build/linux.release/garglk/libgarglk.so 
Cc build/linux.release/agility/agxfile.o 
Cc build/linux.release/agility/auxfile.o 
Cc build/linux.release/agility/filename.o 
Cc build/linux.release/agility/parser.o 
Cc build/linux.release/agility/exec.o 
Cc build/linux.release/agility/runverb.o 
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lsmpeg
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lvorbisfile
collect2: ld returned 1 exit status

        x86_64-pc-linux-gnu-gcc -shared -Wl,-O1 -Wl,--as-needed -Wl,-soname,libgarglk.so -o build/linux.release/garglk/libgarglk.so build/linux.release/garglk/gi_blorb.o build/linux.release/garglk/gi_dispa.o build/linux.release/garglk/cggestal.o build/linux.release/garglk/cgblorb.o build/linux.release/garglk/cgfref.o build/linux.release/garglk/cgmisc.o build/linux.release/garglk/cgstyle.o build/linux.release/garglk/cgstream.o build/linux.release/garglk/cgunicod.o build/linux.release/garglk/cgdate.o build/linux.release/garglk/window.o build/linux.release/garglk/winblank.o build/linux.release/garglk/winpair.o build/linux.release/garglk/wingrid.o build/linux.release/garglk/wintext.o build/linux.release/garglk/wingfx.o build/linux.release/garglk/winmask.o build/linux.release/garglk/event.o build/linux.release/garglk/draw.o build/linux.release/garglk/config.o build/linux.release/garglk/imgload.o build/linux.release/garglk/imgscale.o build/linux.release/garglk/fontdata.o build/linux.release/garglk/babeldata.o build/linux.release/garglk/sndsdl.o build/linux.release/garglk/sysgtk.o build/linux.release/garglk/fontgtk.o build/linux.release/babel/babel_static.a `pkg-config freetype2 gtk+-x11-2.0 gdk-x11-2.0 gobject-2.0 glib-2.0 fontconfig --libs` -ljpeg -lpng -lz -lSDL_mixer -lSDL_sound -lSDL -lsmpeg -lvorbisfile
    
...failed SharedLink build/linux.release/garglk/libgarglk.so ...
...skipped gargoyle for lack of libgarglk.so...
...skipped advsys for lack of libgarglk.so...
...skipped tadsr for lack of libgarglk.so...

I would say the ebuild is missing dependencies for -lvorbisfile ;-)
Comment 10 Nikos Chantziaras 2012-05-07 10:46:52 UTC
Thanks for catching that one!

Looking at the sources reveals that Jamrules is linking against libraries that are not used directly by gargoyle.  Vorbis and smpeg libraries are used by SDL_sound, which gargoyle links against.

I will submit a fix upstream.  Use flag deps on sdl-sound and (for this version of the ebuild) a sed for Jamrules should fix it.  Before I commit, I'd like to know how can I split this:

sed -i -e "s/GARGLKLIBS += -lSDL_mixer -lSDL_sound -lSDL -lsmpeg -lvorbisfile ;/GARGLKLIBS += -lSDL_mixer -lSDL_sound -lSDL ;/g" Jamrules

into several lines so that it doesn't violate the 80 columns rule :-/
Comment 11 Nikos Chantziaras 2012-05-07 12:24:43 UTC
OK, I've just shortened that sed line.  Let me know if you find any other problems with the ebuild.
Comment 12 Michele Noberasco (RETIRED) gentoo-dev 2012-05-07 13:41:01 UTC
Ebuild worked fine this time. Just added it to Portage :-)
Comment 13 Nikos Chantziaras 2012-05-07 13:47:26 UTC
(In reply to comment #12)
> Ebuild worked fine this time. Just added it to Portage :-)

Thanks! I can now remove the ebuild from the overlay.

You might want to alter the USE deps a bit. For example, although "modplug" is preferred, "mikmod" is also possible (though inferior; libmodplug supports more MOD music formats). Same goes for "mp3" (it uses mpglib) vs "mpeg" (which uses the semi-broken SMPEG library which has trouble with some MP3 files).

I wasn't sure what to do here, so I simply chose the optimal flags. The most "politically correct" thing would be to depend on modplug OR mikmod, and on mp3 OR mpeg.
Comment 14 Michele Noberasco (RETIRED) gentoo-dev 2012-05-07 13:53:39 UTC
Let someone who actually would rather use mikmod or mpeg step forward and open a new bug. Gargoyle ebuild is already complicated enough as it is ...