Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215426 - games-emulation/mupen64plus (New Package)
Summary: games-emulation/mupen64plus (New Package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: High enhancement with 2 votes (vote)
Assignee: Gentoo Games
URL:
Whiteboard: [sunrise-overlay]
Keywords: EBUILD, InOverlay
: 240444 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-03-30 11:10 UTC by Milan Nikolic
Modified: 2009-09-02 19:36 UTC (History)
14 users (show)

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


Attachments
games-emulation/mupen64plus-1.3.ebuild (mupen64plus-1.3.ebuild,1.79 KB, text/plain)
2008-03-30 11:12 UTC, Milan Nikolic
Details
mupen64plus-1.3-paths.patch (mupen64plus-1.3-paths.patch,884 bytes, patch)
2008-03-30 11:13 UTC, Milan Nikolic
Details | Diff
games-emulation/mupen64plus-1.3.ebuild (mupen64plus-1.3.ebuild,1.80 KB, text/plain)
2008-03-30 16:32 UTC, Milan Nikolic
Details
games-emulation/mupen64plus-1.3.ebuild (mupen64plus-1.3.ebuild,1.81 KB, text/plain)
2008-03-30 20:16 UTC, Milan Nikolic
Details
Live svn ebuild (mupen64plus-9999.ebuild,2.18 KB, text/plain)
2008-04-05 09:44 UTC, gizmm0
Details
svn ebuild (mupen64plus-9999.ebuild,2.20 KB, text/plain)
2008-05-04 19:38 UTC, Milan Nikolic
Details
SVN build (mupen64plus-9999.ebuild,2.22 KB, text/plain)
2008-06-22 07:16 UTC, Mr. B
Details
games-emulation/mupen64plus-1.4.ebuild (mupen64plus-1.4.ebuild,2.32 KB, text/plain)
2008-10-04 21:53 UTC, Jared B.
Details
version bump for 1.4.1 (mupen64plus-1.4.1.ebuild,2.32 KB, text/plain)
2008-10-24 13:06 UTC, Jeff Simpson
Details
games-emulation/mupen64plus subversion ebuild (mupen64plus-1.9999.ebuild,2.62 KB, text/plain)
2008-11-20 11:42 UTC, Sergey Kondakov
Details
version bump (mupen64plus-1.5.ebuild,2.40 KB, text/plain)
2009-01-08 13:06 UTC, Michał Górny
Details
cleaned up & fixed 1.5 (mupen64plus-1.5.ebuild,2.40 KB, text/plain)
2009-01-09 15:06 UTC, Michał Górny
Details
Additional SSE use flag (mupen64plus-1.5.ebuild,2.45 KB, text/plain)
2009-01-24 17:23 UTC, Mario Kicherer
Details
New merged ebuild (mupen64plus-1.5-r1.ebuild,2.50 KB, text/plain)
2009-04-28 23:16 UTC, Michał Górny
Details
...and patch for the MANPATH problem (mupen64plus-1.5-mandir.patch,467 bytes, patch)
2009-04-28 23:17 UTC, Michał Górny
Details | Diff
New merged ebuild with better path providing (mupen64plus-1.5-r1.ebuild,2.47 KB, text/plain)
2009-04-28 23:36 UTC, Michał Górny
Details
Patch to change plugin search path (mupen64plus-1.5-plugindir.patch,722 bytes, patch)
2009-05-01 07:46 UTC, Michał Górny
Details | Diff
Plugins installed into libdir (mupen64plus-1.5-r2.ebuild,2.60 KB, text/plain)
2009-05-01 07:47 UTC, Michał Górny
Details
mupen64plus-1.5-r3.ebuild (mupen64plus-1.5-r3.ebuild,2.63 KB, text/plain)
2009-06-13 09:20 UTC, Rick Harris
Details
Cleanup, use bundled .desktop (mupen64plus-1.5-r3.ebuild,3.08 KB, text/plain)
2009-07-27 13:30 UTC, Michał Górny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Milan Nikolic 2008-03-30 11:10:21 UTC
Mupen64Plus is a fork of mupen64, now dead project, there has been no activity since last release in 2005. I think removal of mupen64 and all plugins from tree (i think some of them are binary, some never worked, alsasnd for example)
in favour of mupen64plus would be good thing to do, it comes with all good plugins and they are all maintaned now.

Quote for site:
http://code.google.com/p/mupen64plus/
Mupen64Plus is a plugin-based N64 emulator for Linux which is capable of accurately playing many games. Included are four MIPS R4300 CPU emulators, with dynamic recompilers for 32-bit x86 and 64-bit amd64 systems, and necessary plugins for audio, graphical rendering (RDP), signal co-processor (RSP), and input. There are 3 OpenGL video plugins included: glN64, RiceVideoLinux, and Glide64.

Successfully compiled on x86 and amd64.



Reproducible: Always
Comment 1 Milan Nikolic 2008-03-30 11:12:14 UTC
Created attachment 147683 [details]
games-emulation/mupen64plus-1.3.ebuild 

Ebuild
Comment 2 Milan Nikolic 2008-03-30 11:13:16 UTC
Created attachment 147684 [details, diff]
mupen64plus-1.3-paths.patch

Gentoo Paths
Comment 3 Milan Nikolic 2008-03-30 16:32:39 UTC
Created attachment 147700 [details]
games-emulation/mupen64plus-1.3.ebuild

Added yasm in DEPEND, I forget about this.
Comment 4 Ben Klopfenstein 2008-03-30 19:58:12 UTC
Something in this block of code in the ebuild: 

       MARCH=`get-flag "-march"`
       sed -i -e "s:\$\(STRIP\)\ \$\@::" Makefile
       sed -i -e "s:-march=athlon64\|i686:${MARCH}:" pre.mk glide64/Makefile
       if use custom-cflags;then
               sed -i -e "s:CFLAGS\ =\ -pipe\ -O3\ -ffast-math\ -funroll-loops\ -fexpensiv$
               sed -i -e "s:-ffast-math\ -funroll-loops:${CFLAGS}:" glide64/Makefile
       fi

is causing me problems. the build fails with this:

gcc -o main/main.o -pipe -O3 -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing -march=-march=athlon-tbird -mtune=pentium-m -mmmx -msse -fomit-frame-pointer -DWITH_LIRC -DNOGUI_ONLY -DPREFIX=\"/usr/share/games\" `sdl-config --cflags` -c main/main.c
main/main.c:1: error: bad value (-march=athlon-tbird) for -march= switch
make: *** [main/main.o] Error 1

you will notice that -march=-march=athlon-tbird is one of the gcc parameters, and this is totally wrong :)

my CFLAGS in my make.conf is:

CFLAGS="-O2 -march=athlon-tbird -pipe -fomit-frame-pointer"

but it seems to have this problem for me no matter what i set -march= to.

as you can tell, i'm on an x86 arch. commenting out the lines i mentioned above in the ebuild makes it work on this arch....
Comment 5 Milan Nikolic 2008-03-30 20:16:34 UTC
Created attachment 147748 [details]
games-emulation/mupen64plus-1.3.ebuild

Sorry, I don't know sed that well... Try now, It should work, without this line you just compiled with -march=i686, It happened so that I was testing lately only on amd64. I probably tested on x86 before I added this line. I am following this project for the last 2 months and thought that now that they released new version I could post the ebuild here.
Comment 6 gizmm0 2008-04-05 09:44:15 UTC
Created attachment 148720 [details]
Live svn ebuild

Patching fails with svn, hence the ebuild will probably not work with version 1.4. I removed patching alltogether in favor of sed magic and replaced the use of install.sh with manual installation of the different files. 

By the way i get a lot "../pre.mk:62: No libsamplerate development libraries found!" warnings and libsamplerate is installed in my system. Not sure if there is any consequence though.
Comment 7 Milan Nikolic 2008-04-05 19:11:54 UTC
They recently added some samplerate support to jttl_audio, I don't know what is right but they are doing checks with `pkg-config libsamplerate --exists` which on my system returns false, `pkg-config samplerate --exists` is ok. Maybe some sed until they fix this, I ask them about this on forums. And yeah, one more thing, yasm-0.6.2 is the minimum requirement, older versions, can't compile the code.
Comment 8 Daniel Douglas 2008-05-04 13:20:54 UTC
Anything new with the sources that affects the svn ebuild? There might be a file missing. I got it to compile after commenting the 'dodoc' line.

Otherwise works great. Can't wait for this to hit portage! :)
Comment 9 Izad-Yar Daniel Rasheed 2008-05-04 14:35:14 UTC
I agree with Dan, the -9999 ebuild compiles and runs flawlessly on amd64 -- iff the dodoc line in the ebuild is commented out. This is certainly stable enough for portage!
Comment 10 Milan Nikolic 2008-05-04 19:38:30 UTC
Created attachment 151855 [details]
svn ebuild

I made corrections to live ebuild. Also, they added kde4/qt4 frontend, I don't use kde so I didn't want to add it to ebuild, don't know if kdelibs or just qt4 is needed...
Comment 11 Mr. B 2008-06-22 07:16:31 UTC
Created attachment 157975 [details]
SVN build

Ever so slight change, install mupen64plus.ini to install directory as per live change.

>Moved mupen64plus.ini to installdir since its not user edittable.
Comment 12 Robert Rankin 2008-07-23 17:07:45 UTC
1.4 is out now...and a small bugfix version will apparently be available soon
Comment 13 Milan Nikolic 2008-09-15 18:49:04 UTC
svn ebuild is broken, I don't know how to really fix it, as a workaround you should first edit line 
newicon icons/logo.png "${PN}.png" || die "newicon failed"
to
newicon icons/mupen64logo.png "${PN}.png" || die "newicon failed"

And the other thing is that now bunch of Makefiles generate version.h from .svn/entries file, since those are excluded when copied to workdir (was svn export, now rsync because of bug 119236) I just changed this line in subversion.eclass from this
rsync -rlpgo --exclude=".svn/" . "${S}" || die "${ESVN}: can't export to ${S}."
to this
rsync -rlpgo . "${S}" || die "${ESVN}: can't export to ${S}."

This is ugly and will be overwritten by sync but use it when you want to update your build...

Any news about removal old mupen64 from tree and mupen64plus inclusion? Still nobody wants to maintain this package?
Comment 14 Jared B. 2008-10-04 21:53:31 UTC
Created attachment 167224 [details]
games-emulation/mupen64plus-1.4.ebuild

updated for v1.4.  I also removed the .patch file in favor of sed, added support for the new QT4 GUI (using the kde4 USE flag because it actually requires kde4), and added a couple other customizable options via local USE flags.
Comment 15 Tristan Heaven (RETIRED) gentoo-dev 2008-10-08 14:33:12 UTC
*** Bug 240444 has been marked as a duplicate of this bug. ***
Comment 16 Jeff Simpson 2008-10-24 13:06:31 UTC
Created attachment 169712 [details]
version bump for 1.4.1

Compiles with lirc use flag, now (1.4 would not). Haven't tested out 1.4.1, yet, but version 1.4 worked great on ~amd64 (intel quad core)
Comment 17 Sergey Kondakov 2008-11-20 11:42:28 UTC
Created attachment 172453 [details]
games-emulation/mupen64plus subversion ebuild

[X] KDE4 backend has been droped in favour of QT4
[X] paths fixed in gentoo-ways
[X] debug-flag added
[?] VCR disabled due to missing in portage library (avifile)
Comment 18 matt 2008-12-29 22:44:57 UTC
mupen64plus-1.9999.ebuild puts the desktop info in usr/share/applications instead of usr/share/applications/mupen64plus
Comment 19 Dmitry Dzhus 2008-12-30 22:12:46 UTC
(In reply to comment #18)
> mupen64plus-1.9999.ebuild puts the desktop info in usr/share/applications
> instead of usr/share/applications/mupen64plus
> 

Why do you think that it's wrong? /usr/share/applications/ is a common place to put `.desktop` entries in.
Comment 20 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-01-08 13:06:36 UTC
Created attachment 177747 [details]
version bump

Version bump with slight cleanup.
Comment 21 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-01-09 15:06:13 UTC
Created attachment 177879 [details]
cleaned up & fixed 1.5

Now it should work, but stills needs more work.

Also please note that 1.5 doesn't support 1.4 savestates.
Comment 22 Daniel Douglas 2009-01-22 19:38:46 UTC
I'm told that nothing should directly depend upon x11-libs/qt:4 but should use split ebuilds. I ran into troubles with this when trying to use qt 4.5 beta and was missing a package named x11-libs/qt

Also according to the documentation, kdelibs is not a dependency. The "kde" gui is supposedly a generic qt interface.
Comment 23 Sergey Kondakov 2009-01-24 13:28:47 UTC
it looks like they tried to make kde4-gui but after some experiments with it in svn - droped and remade it with plain qt4. so use-flag 'kde' is wrong and should be replaced.
also, it would be nice if someone point out exact qt parts it depend upon, qt-gui maybe ?

and what would even better - if gentoo-devs replace mupen64 with it after proper ebuild will be written, because original mupen64 is pretty much non-functional on x86_64 and obsolete.
Comment 24 Mario Kicherer 2009-01-24 17:23:19 UTC
Created attachment 179569 [details]
Additional SSE use flag

Added the SSE use flag to allow compilation on older CPUs.
If disabled, it sets the NO_ASM make variable to 1.

With NO_ASM=0, compilation fails on a AMD Duron.
I'm not sure if "SSE" is the appropriate flag. Someone with deeper knowledge might correct this.
Comment 25 Renato Alves 2009-04-02 22:06:41 UTC
The latest ebuild sends the mupen64plus manpage into /man instead of /usr/share/man. Causing it not to work when man mupen64plus is issued in any terminal.
Comment 26 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-04-28 23:16:46 UTC
Created attachment 189779 [details]
New merged ebuild

My next ebuild with following changes:
* kde4 flag changed to qt4,
* split qt4 DEPEND added,
* 'sse' USE fro Mario Kicherer's ebuild,
* fixed MANPATH.

Still need to get plugins installed in /usr/lib.
Comment 27 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-04-28 23:17:43 UTC
Created attachment 189780 [details, diff]
...and patch for the MANPATH problem
Comment 28 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-04-28 23:36:09 UTC
Created attachment 189782 [details]
New merged ebuild with better path providing

Ok, seding and patching install.sh isn't best method to provide paths. This ebuild gives them directly to install.sh on the commandline.

Also fixed /share/applications path issue.
Comment 29 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-05-01 07:46:18 UTC
Created attachment 190018 [details, diff]
Patch to change plugin search path
Comment 30 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-05-01 07:47:05 UTC
Created attachment 190020 [details]
Plugins installed into libdir

Like previous one + changed plugin install path into games-libdir. Needs below patch. Requires patch from attachment #190018 [details, diff].
Comment 31 Rick Harris 2009-06-13 09:20:34 UTC
Created attachment 194501 [details]
mupen64plus-1.5-r3.ebuild

The .desktop menu file is missing it's icon.

On closer inspection, we unecessarily create a 'mupen64plus-mupen64plus.desktop' file within the ebuild even though the source also installs it's own 'mupen64plus.desktop' file.

Attached ebuild removes the creation of 'mupen64plus-mupen64plus.desktop' file and fixes SHAREDIR path for the 'mupen64plus.desktop' file so that it finds it's icon.
Comment 32 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-07-27 13:21:00 UTC
(In reply to comment #31)
> On closer inspection, we unecessarily create a
> 'mupen64plus-mupen64plus.desktop' file within the ebuild even though the source
> also installs it's own 'mupen64plus.desktop' file.
> 
> Attached ebuild removes the creation of 'mupen64plus-mupen64plus.desktop' file
> and fixes SHAREDIR path for the 'mupen64plus.desktop' file so that it finds
> it's icon.

Although I agree that we should use bundled .desktop file instead of creating a new one, I can't agree with your solution.

First of all, we should avoid using sed if possible. And in this case the use of sed is absolutely unnecessary - Makefile allows you to change SHAREDIR by supplying new value to make.

Secondly, I don't think that using absolute icon path is the best solution possible. We should install the icon in an adequate directory and use relative icon. Thus, there's no need to provide more correct path to the Makefile as we need to mangle it anyway.

I'll supply new version of my ebuild in a while.
Comment 33 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-07-27 13:30:09 UTC
Created attachment 199337 [details]
Cleanup, use bundled .desktop
Comment 34 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-07-27 16:15:07 UTC
I've commited the ebuild into Sunrise overlay. After an review it will be available under following URL:
* http://overlays.gentoo.org/proj/sunrise/browser/reviewed/games-emulation/mupen64plus

Before that, you can lookup current version on:
* http://overlays.gentoo.org/proj/sunrise/browser/sunrise/games-emulation/mupen64plus
Comment 35 Christian Birchinger (RETIRED) gentoo-dev 2009-08-28 08:07:55 UTC
I've pulled it into the portage tree now. Thanks allot for all the effort you put into maintaining the ebuild.

Since you probably know more about mupen64plus than me, i hope i can CC you when new bugs arrive.