Created attachment 487282 [details] dunelegacy-0.96.4.ebuild Updated ebuild for games-strategy/dunelegacy-0.96.4 Adopted from dunelegacy-0.96.3.ebuild changed dependancy from libsdl to libsdl2 http://dunelegacy.sourceforge.net/website/news.html
Thank you for your contribution. I had a short look on the ebuild. Here a few ideas: * Please test the ebuild with repoman https://wiki.gentoo.org/wiki/Repoman * We always try to use the latest EAPI, please bump to EAPI=6 * Please remove obsolete lines * KEYWORDS need ~ after a version bump
Created attachment 487412 [details] dunelegacy-0.96.4.ebuild Attached new ebuild: - changed to EAPI 6 - removed 'arm' since media-libs/sdl2-mixer is not available on arm - ~amd64 and ~x86 - 'repoman -dx full' doesn't complain - tested (build, run, game works) on ~amd64
ping?
dunelegacy-0.96.3 does build anymore on Gentoo 17 / Gcc 6.4.0: Quite some duplicate declaration errors: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/functional:2133:5: error: redefinition of ‘const std::type_info& std::tr1::function<_Res(_ArgTypes ...)>::target_type() const’ function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/misc/functional.h:4:0, from ../include/GUI/Widget.h:23, from ../include/GUI/Window.h:21, from ../include/GameInterface.h:21, from ../include/Game.h:28, from AStarSearch.cpp:23: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/tr1/functional:2152:5: note: ‘const std::type_info& std::tr1::function<_Res(_ArgTypes ...)>::target_type() const’ previously declared here function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/memory:79:0, from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/tr1/memory:39, from ../include/misc/memory.h:4, from ../include/FileClasses/FontManager.h:24, from ../include/GUI/GUIStyle.h:21, from ../include/GUI/Button.h:22, from ../include/GUI/PictureButton.h:21, from ../include/GameInterface.h:25, from ../include/Game.h:28, from AStarSearch.cpp:23: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/functional:2149:7: error: redefinition of ‘_Functor* std::tr1::function<_Res(_ArgTypes ...)>::target()’ function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/misc/functional.h:4:0, from ../include/GUI/Widget.h:23, from ../include/GUI/Window.h:21, from ../include/GameInterface.h:21, from ../include/Game.h:28, from AStarSearch.cpp:23: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/tr1/functional:2168:7: note: ‘_Functor* std::tr1::function<_Res(_ArgTypes ...)>::target()’ previously declared here function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/memory:79:0, from /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/tr1/memory:39, from ../include/misc/memory.h:4, from ../include/FileClasses/FontManager.h:24, from ../include/GUI/GUIStyle.h:21, from ../include/GUI/Button.h:22, from ../include/GUI/PictureButton.h:21, from ../include/GameInterface.h:25, from ../include/Game.h:28, from AStarSearch.cpp:23: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/functional:2168:7: error: redefinition of ‘const _Functor* std::tr1::function<_Res(_ArgTypes ...)>::target() const’ function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/misc/functional.h:4:0, from ../include/GUI/Widget.h:23, from ../include/GUI/Window.h:21, from ../include/GameInterface.h:21, from ../include/Game.h:28, from AStarSearch.cpp:23: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/tr1/functional:2187:7: note: ‘const _Functor* std::tr1::function<_Res(_ArgTypes ...)>::target() const’ previously declared here function<_Res(_ArgTypes...)>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../include/FileClasses/FontManager.h:24:0, from ../include/GUI/GUIStyle.h:21, from ../include/GUI/Button.h:22, from ../include/GUI/PictureButton.h:21, from ../include/GameInterface.h:25, from ../include/Game.h:28, from AStarSearch.cpp:23: ../include/misc/memory.h:7:18: error: ‘shared_ptr’ is already declared in this scope using std::tr1::shared_ptr; ^~~~~~~~~~ In file included from ../include/GameInterface.h:26:0, from ../include/Game.h:28, from AStarSearch.cpp:23: ../include/GUI/PictureLabel.h: In member function ‘virtual void PictureLabel::draw(SDL_Surface*, Point)’: ../include/GUI/PictureLabel.h:90:30: warning: narrowing conversion of ‘position.Point::x’ from ‘Sint32 {aka int}’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:42: warning: narrowing conversion of ‘position.Point::y’ from ‘Sint32 {aka int}’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:55: warning: narrowing conversion of ‘((PictureLabel*)this)->PictureLabel::pSurface->SDL_Surface::w’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:68: warning: narrowing conversion of ‘((PictureLabel*)this)->PictureLabel::pSurface->SDL_Surface::h’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~~^ In file included from ../include/GameInterface.h:26:0, from ../include/Game.h:28, from Bullet.cpp:25: ../include/GUI/PictureLabel.h: In member function ‘virtual void PictureLabel::draw(SDL_Surface*, Point)’: ../include/GUI/PictureLabel.h:90:30: warning: narrowing conversion of ‘position.Point::x’ from ‘Sint32 {aka int}’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:42: warning: narrowing conversion of ‘position.Point::y’ from ‘Sint32 {aka int}’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:55: warning: narrowing conversion of ‘((PictureLabel*)this)->PictureLabel::pSurface->SDL_Surface::w’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~~^ ../include/GUI/PictureLabel.h:90:68: warning: narrowing conversion of ‘((PictureLabel*)this)->PictureLabel::pSurface->SDL_Surface::h’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] SDL_Rect dest = { position.x, position.y, pSurface->w, pSurface->h }; ~~~~~~~~~~^ Bullet.cpp: In member function ‘void Bullet::blitToScreen()’: Bullet.cpp:280:41: warning: narrowing conversion of ‘((((Bullet*)this)->Bullet::numFrames > 1) ? (((int)((Bullet*)this)->Bullet::drawnAngle) * imageW) : 0)’ from ‘int’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect source = { (numFrames > 1) ? drawnAngle * imageW : 0, 0, imageW, imageH }; ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ Bullet.cpp:280:86: warning: narrowing conversion of ‘imageW’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] Rect source = { (numFrames > 1) ? drawnAngle * imageW : 0, 0, imageW, imageH }; ^ Bullet.cpp:280:86: warning: narrowing conversion of ‘imageH’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] Bullet.cpp:281:57: warning: narrowing conversion of ‘(screenborder->ScreenBorder::world2screenX(((Bullet*)this)->Bullet::realX) - (imageW / 2))’ from ‘int’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] SDL_Rect dest = { screenborder->world2screenX(realX) - imageW/2, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ Bullet.cpp:282:60: warning: narrowing conversion of ‘(screenborder->ScreenBorder::world2screenY(((Bullet*)this)->Bullet::realY) - (imageH / 2))’ from ‘int’ to ‘Sint16 {aka short int}’ inside { } [-Wnarrowing] screenborder->world2screenY(realY) - imageH/2, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ Bullet.cpp:283:40: warning: narrowing conversion of ‘imageW’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] imageW, imageH }; ^ Bullet.cpp:283:40: warning: narrowing conversion of ‘imageH’ from ‘int’ to ‘Uint16 {aka short unsigned int}’ inside { } [-Wnarrowing] make[1]: *** [Makefile:888: Bullet.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:888: AStarSearch.o] Error 1 make[1]: Leaving directory '/var/tmp/portage/games-strategy/dunelegacy-0.96.3/work/dunelegacy-0.96.3/src' make: *** [Makefile:353: all-recursive] Error 1 * ERROR: games-strategy/dunelegacy-0.96.3::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=games-strategy/dunelegacy-0.96.3::gentoo'`, * the complete build log and the output of `emerge -pqv '=games-strategy/dunelegacy-0.96.3::gentoo'`. * The complete build log is located at '/var/log/portage/games-strategy:dunelegacy-0.96.3:20171206-201724.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/games-strategy/dunelegacy-0.96.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/games-strategy/dunelegacy-0.96.3/temp/environment'. * Working directory: '/var/tmp/portage/games-strategy/dunelegacy-0.96.3/work/dunelegacy-0.96.3'
Created attachment 510030 [details] dunelegacy-0.96.4.ebuild Update 0.96.4 ebuild, depend on <sdl2-mixer-2.0.2 because of removed features
@Nico, please create a new bug ticket for this important report about gcc-6. Please *attach* the logfiles, https://wiki.gentoo.org/wiki/Bugzilla/Bug_report_guide#Report_a_build-time_bug_.28emerge_failed.29
Created attachment 570308 [details, diff] Patch to remove MIX_INIT_FLUIDSYNTH This patch removes MIX_INIT_FLUIDSYNTH from 2 files, therefore allowing the package to compile (and run)
Created attachment 570310 [details] dunelegacy-0.96.4.ebuild w/ patch
i created a patch to remove MIX_INIT_FLUIDSYNTH so it will compile with newer versions of SDL2_mixer. i'm not sure if this is the proper approach, butnow it builds, and runs normally on my machine.
Created attachment 570312 [details] dunelegacy-0.96.4.ebuild w/ patch fixes typo and updates copyright year
Latest patch, works for me.
Sorry, I missed this before bumping it myself. It's all good now anyway.