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
Created attachment 147683 [details] games-emulation/mupen64plus-1.3.ebuild Ebuild
Created attachment 147684 [details, diff] mupen64plus-1.3-paths.patch Gentoo Paths
Created attachment 147700 [details] games-emulation/mupen64plus-1.3.ebuild Added yasm in DEPEND, I forget about this.
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....
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.
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.
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.
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! :)
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!
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...
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.
1.4 is out now...and a small bugfix version will apparently be available soon
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?
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.
*** Bug 240444 has been marked as a duplicate of this bug. ***
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)
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)
mupen64plus-1.9999.ebuild puts the desktop info in usr/share/applications instead of usr/share/applications/mupen64plus
(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.
Created attachment 177747 [details] version bump Version bump with slight cleanup.
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.
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.
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.
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.
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.
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.
Created attachment 189780 [details, diff] ...and patch for the MANPATH problem
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.
Created attachment 190018 [details, diff] Patch to change plugin search path
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].
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.
(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.
Created attachment 199337 [details] Cleanup, use bundled .desktop
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
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.