Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 380021 - New ebuild: app-emulation/pearpc-0.5
Summary: New ebuild: app-emulation/pearpc-0.5
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement with 2 votes (vote)
Assignee: Default Assignee for New Packages
Depends on: 320337
Blocks: 254748
  Show dependency tree
Reported: 2011-08-21 01:11 UTC by Kris Hepler
Modified: 2018-02-19 22:54 UTC (History)
3 users (show)

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

Ebuild to build and install PearPC 0.5 (pearpc-0.5.ebuild,2.43 KB, application/octet-stream)
2011-08-21 01:12 UTC, Kris Hepler
Patch to prevent overriding CFLAGS (pearpc-0.5-configure.patch,1.39 KB, patch)
2011-08-21 01:13 UTC, Kris Hepler
Details | Diff
Patch to change default interface selection (ebuild.patch,1.24 KB, patch)
2011-08-21 19:01 UTC, Kris Hepler
Details | Diff
ebuild: EAPI patch (eapi.patch,598 bytes, text/plain)
2013-04-03 22:18 UTC, Andreas Thalhammer
ebuild: [patch] should be executable (createdisk-executable.patch,310 bytes, patch)
2013-04-03 22:20 UTC, Andreas Thalhammer
Details | Diff
files/pearpc-0.5-amd64.patch (pearpc-0.5-amd64.patch,541 bytes, patch)
2013-04-03 22:26 UTC, Andreas Thalhammer
Details | Diff
files/pearpc-0.5-cuda-parachute-enable.patch (pearpc-0.5-cuda-parachute-enable.patch,602 bytes, patch)
2013-04-03 22:35 UTC, Andreas Thalhammer
Details | Diff
ebuild: [patch] add amd64 and cuda-parachute epatches (amd64+cuda-parachute.patch,330 bytes, patch)
2013-04-03 22:41 UTC, Andreas Thalhammer
Details | Diff
ebuild: [patch] settings insinto /usr/share/${P}/scripts (settings-insinto.patch,522 bytes, patch)
2013-04-04 17:11 UTC, Andreas Thalhammer
Details | Diff
ebuild: pearpc-0.6_pre20150712 (pearpc-0.6_pre20150712.ebuild,2.96 KB, text/plain)
2018-02-19 21:55 UTC, Andreas Thalhammer
ebuild: pearpc-0.6_pre20150712 (pearpc-0.6_pre20150712.ebuild,4.15 KB, text/plain)
2018-02-19 22:46 UTC, Andreas Thalhammer
ebuild: pearpc-0.6_pre20150712 (pearpc-0.6_pre20150712.ebuild,4.20 KB, text/plain)
2018-02-19 22:54 UTC, Andreas Thalhammer

Note You need to log in before you can comment on or make changes to this bug.
Description Kris Hepler 2011-08-21 01:11:52 UTC
I'm requesting PearPC be added back to portage.  I am attaching an ebuild for PearPC-0.5.

I volunteer to maintain this package.

Reproducible: Always
Comment 1 Kris Hepler 2011-08-21 01:12:38 UTC
Created attachment 284077 [details]
Ebuild to build and install PearPC 0.5
Comment 2 Kris Hepler 2011-08-21 01:13:32 UTC
Created attachment 284079 [details, diff]
Patch to prevent overriding CFLAGS
Comment 3 Matt Turner gentoo-dev 2011-08-21 03:09:22 UTC
Good grief. First release in 5.5 years?!

Hm, I might do this. Let me think about it.
Comment 4 Kris Hepler 2011-08-21 17:22:34 UTC
I wouldn't say this depends on bug 320337; version 0.5 fixes the issues identified in that bug.
Comment 5 Kris Hepler 2011-08-21 19:01:46 UTC
Created attachment 284145 [details, diff]
Patch to change default interface selection

As advised by Sebastian Biallas, the ebuild should default to the X interface rather than SDL.  Dependencies are cleaned up a little, and an error message regarding USE flags is corrected.
Comment 6 Pacho Ramos gentoo-dev 2012-02-09 12:07:39 UTC
pearpc was dropped
Comment 7 Kris Hepler 2012-02-09 17:32:26 UTC
"Dropped" as in no maintainer stepped forward?

I actually started this bug/request after PearPC was removed from Portage.  My goal was to have it included once more.
Comment 8 Markos Chandras (RETIRED) gentoo-dev 2012-02-09 22:23:37 UTC
(In reply to comment #7)
> "Dropped" as in no maintainer stepped forward?
> I actually started this bug/request after PearPC was removed from Portage.  My
> goal was to have it included once more.

I guess he meant "there is no such package so there is nothing to bump".

Feel free to contact proxy-maint@ once you have something working
Comment 9 Andreas Thalhammer 2013-04-03 22:18:18 UTC
Created attachment 344308 [details]
ebuild: EAPI patch

 * EAPI assignment in ebuild 'app-emulation/pearpc-0.5::x-portage' does
 * not conform with PMS section 7.3.1 (see bug #402167):
 *      valid EAPI assignment must occur on or before line: 5
Comment 10 Andreas Thalhammer 2013-04-03 22:20:29 UTC
Created attachment 344310 [details, diff]
ebuild: [patch] should be executable

make /usr/share/pearpc-0.5/scripts/ executable
Comment 11 Andreas Thalhammer 2013-04-03 22:26:18 UTC
Created attachment 344312 [details, diff]

wrt upstream

NOTE: this patch is NOT very well tested and I'm NOT a coder, so I assume there ARE BUGS in it!

What it should do: make --enable-cpu=jitc_x86_64 work as expected. I noticed, on my system if I add "amd64" it will select jitc_x86_64, otherwise it will use jitc_x86 (32-Bit) as described in the forementioned upstream bug.
Comment 12 Andreas Thalhammer 2013-04-03 22:35:20 UTC
Created attachment 344314 [details, diff]

As mentioned in the Gentoo Forums:

This patch enables the lock-up parachute for the emulated CUDA IO.

When I run PearPC with Mac OS X (any version, really) I get these errors and the emulation freezes:
[IO/CUDA] <Warning> Event processing timed out. Event dropped.

The lock-up parachute removed the freezes, thus the system (inside the emulation) will continue to be usable. Only the mouse position is occationally offset (it will no longer be able to move to one of the corners of the screen, but this is fixed by moving the mouse to the opposite corner once).
Also, releasing the mouse from the emulator window (by pressing F12) does work as expected.

After patching, the (error) message is:
[IO/CUDA] <Warning> Event processing timed out. Event dropped.
[IO/CUDA] <Warning> lock-up parachute
Comment 13 Andreas Thalhammer 2013-04-03 22:41:36 UTC
Created attachment 344316 [details, diff]
ebuild: [patch] add amd64 and cuda-parachute epatches

This adds the two patches amd64.patch and cuda-parachute-enable.patch from above to the ebuild.
Comment 14 Andreas Thalhammer 2013-04-03 22:58:44 UTC

I've found this bug and I'm happy that there acutally is an ebuild available. I added some patches in the comments above.

My ARCH is amd64, and it seemed to build fine with the jit_x86_64 cpu selected, but when I run Mac OS X with it (Panther, Tiger) it displays the Apple logo and sits there forever. I don't know if it will work with another PPC OS, like BeOS or Linux/PPC.

Anyway, with USE="-jit" (which is the default) it works. (And is terribly slow!)

From the ebuild, I applied the interface selection patch, as GTK and Qt are broken at the moment. See upstream for example (although this would be for version 0.4, as this message is from 2004).

I'm missing the files/settings file. What is in there? An example file would be great...
Also I noticed that this settings file is installed to /usr/share/pearpc-0.5/settings, but the scripts that reside there (namely ifppc_up and ifppc_down) source this settings file from "./scripts/settings". So it would have to go into /usr/share/pearpc-0.5/scripts/settings, right?

Last but not least, I'd be very happy to see this go into the official portage tree again. Yes, it is not ready for a production system, and yes, it is alpha status software. But still, an emulator such as this is a great peace of software! And aren’t there other unstable packages as well? It would still remain ~arch KEYWORDed -- so what?!?

So, thanks for the ebuild and the patches so far!
Comment 15 Kris Hepler 2013-04-03 23:08:59 UTC
After a cursory review, I didn't see anything wrong with your patches.  I haven't rebuilt PearPC recently (not much to update), but I remember it including an example config file.  I wasn't aware the if_up and if_down scripts referenced it, though I don't use them.

I'll see how your patches run and look into the settings file in-depth later this week.  Glad someone else is interested in PPC emulation on Gentoo. :)  FYI, this bug sprang from the following forum thread:
Comment 16 Andreas Thalhammer 2013-04-04 17:11:27 UTC
Created attachment 344416 [details, diff]
ebuild: [patch] settings insinto /usr/share/${P}/scripts

File settings is sourced by /usr/share/${P}/ifppc_up and ifppc_down, so this is where it should be installed.

NOTE: This file is still missing in my app-emulation/pearpc/files directory. Its contents could be reconstructed by exermining the above mentioned scripts. Comments on what is what are not so easy to reconstruct however.

NOTE 2: The files are frome the pearpc source tarbal scripts directory, where the file in question, settings, is missing also.
Comment 17 Andreas Thalhammer 2018-02-19 21:55:58 UTC
Created attachment 520256 [details]
ebuild: pearpc-0.6_pre20150712

The last version available is 0.6pre with patches from sebastianbiallas, as of this commit from 12 Jul 2015 at

I've made an ebuild that pulls exactly that version. I've tested it with USE="X SDL -debug -jit".

Changes from 0.5:
1. No more patches needed (they are already included)
2. In src_compile, ./ was required.
3. I had to add "emake -j1" because with MAKEOPTS="-j2" or more, i.e. parallel build, it fails. (Failed for me with MAKEOPTS="-j16"...)

Also I altered the installation directories a bit... It installs the scripts (and video.x) to /usr/share/pearpc-0.6/ because this is the version, even if it is a 0.6pre version. The doc directory however uses the ebuild version (0.6_pre20150712).
Comment 18 Andreas Thalhammer 2018-02-19 22:46:17 UTC
Created attachment 520258 [details]
ebuild: pearpc-0.6_pre20150712

I've added a USE="extras" useflag which will add the extra downloads from (under "Extras"):
1. A sample 3 GB disk image (bzipped.
2. A sample 6 GB disk image (bzipped).
3. A network card driver ISO for Darwin/PPC and/or Mac OS X.

The downloads are still available from the original sources.

Also I made the scripts only install if USE="scripts" is used. This includes ifppc_up* and ifppc_down* as well as the python script.
Comment 19 Andreas Thalhammer 2018-02-19 22:54:57 UTC
Created attachment 520260 [details]
ebuild: pearpc-0.6_pre20150712

And once more: fix permissions of /usr/share/pearpc-0.6/extras/* which were executable (0755) if USE="scripts" was also used (because it sets insopts for the scripts).