Sophie

Sophie

distrib > Mandriva > 10.0-com > x86_64 > by-pkgid > 22efbaee1dc931d9a39d68ae64aa3025 > files > 4

SheepShaver-2.2-10mdk.src.rpm

%define name		SheepShaver
%define version		2.2
%define release		10mdk
%define cvsdate		20040224
%define mon_active	1
%define mon_version	3.0
%define mon_snapshot	20030206

# Define Mandrake Linux version we are building for
%define mdkversion	%(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandrake-release)

Summary:	An Open Source PowerMac emulator
Name:		%{name}
Version:	%{version}
Release:	%{release}
Source0:	http://gwenole.beauchesne.free.fr/sheepshaver/files/%{name}-%{version}-%{cvsdate}.tar.bz2
Source1:	SheepShaver-icons.tar.bz2
Source2:	cxmon-%{mon_version}-%{mon_snapshot}.tar.bz2
Patch2:		SheepShaver-2.2-stats.patch.bz2
URL:		http://www.uni-mainz.de/~bauec002/SheepShaver.html
License:	GPL
Group:		Emulators
BuildRoot:	%{_tmppath}/%{name}-buildroot
BuildRequires:	gtk+-devel >= 1.2.0, esound-devel >= 0.2.8
# Other arches need an instruction skipper on well-known invalid
# memory references (e.g. illegal writes to ROM).
ExclusiveArch:	ppc %{ix86} amd64 x86_64

%description
SheepShaver is a MacOS run-time environment for BeOS and Linux that
allows you to run classic MacOS applications inside the Linux
multitasking environment. This means that both Linux and MacOS
applications can run at the same time (usually in a window on the
Linux desktop).

If you are using a PowerPC-based system, applications will run at
native speed (i.e. with no emulation involved). There is also a
built-in PowerPC 7400 emulator, without MMU support, for non-PowerPC
systems.

Some features of SheepShaver:
  - SheepShaver runs MacOS 7.5.2 thru MacOS 8.6
  - Copy and paste text between MacOS and the host OS (X11 clipboard)
  - File exchange with the host OS via a "Unix" icon on the Mac desktop
  - Color video display with support for runtime resolution switching
  - CD-quality stereo sound output (with pre-G3 PowerMac PCI ROMs)
  - Networking: SheepShaver supports Internet and LAN networking via
    Ethernet and PPP with all Open Transport compatible MacOS
    applications (on 32-bit big endian systems at this time)

%prep
%setup -q -a 1 -a 2
%patch2 -p1 -b .stats

%build
cd ./src/Unix
%if %{mon_active}
WithMon="--with-mon=../../cxmon-%{mon_version}/src"
%endif
%configure $WithMon
# FIXME: grrr, what's up?
perl -pi -e 's,-mcpu=pentiumpro,,g' Makefile
make

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
%makeinstall -C src/Unix

# install icons
mkdir -p $RPM_BUILD_ROOT%{_iconsdir}
mkdir -p $RPM_BUILD_ROOT%{_miconsdir}
mkdir -p $RPM_BUILD_ROOT%{_liconsdir}
install -m 644 icons/SheepShaver.png $RPM_BUILD_ROOT%{_iconsdir}/
install -m 644 icons/mini/SheepShaver.png $RPM_BUILD_ROOT%{_miconsdir}/
install -m 644 icons/large/SheepShaver.png $RPM_BUILD_ROOT%{_liconsdir}/

# hand create (broken) MDK menu
%if %mdkversion >= 1000
MENU="More applications/Emulators"
%else
MENU="Applications/Emulators"
%endif
mkdir -p $RPM_BUILD_ROOT%{_menudir}
cat > $RPM_BUILD_ROOT%{_menudir}/%{name} << EOF
?package(%{name}):\
    command="%{_bindir}/%{name}"\
    title="SheepShaver"\
    icon="%{name}.png"\
    longtitle="A MacOS run-time environment"\
    needs="x11"\
    section="$MENU"
EOF

%post
%update_menus

%postun
%clean_menus

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc COPYING doc/Linux
%{_bindir}/SheepShaver
%{_mandir}/man1/SheepShaver.1*
%{_menudir}/SheepShaver
%{_iconsdir}/SheepShaver.png
%{_miconsdir}/SheepShaver.png
%{_liconsdir}/SheepShaver.png

%changelog
* Tue Feb 24 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-10mdk
- Always fake SCSIGlobals for the time being
- Some SSE/MMX optimizations for AltiVec emulation

* Mon Feb 16 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-9mdk
- Updates from CVS (2004/02/16):
  - AltiVec emulation, thus increasing emulated CPU to G4
  - Translate FPU instructions
  - Optimize basic block dispatcher in translated code

* Wed Jan 14 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-8mdk
- Updates from CVS (2004/01/14):
  * Handle copy/paste of 'TEXT' between X11 & MacOS through the clipboard
  * Handle the mouse wheel on Unix/X11 platforms
  * Better FPU emulation resulting in e.g. "scrollbar" bug fixes
  * Better PowerMac PCI ROMs support with more generic ROM patches
  * Better audio output support with pre-G3 PowerMac PCI ROMs
  * Preserve CR/XER registers on EmulOp calls
  * SheepThreads fixes to pthread_join() & semaphores
  * CheckLoad() wrapper now correctly sign-extends the resource ID
  * Emulate lmw/stmw with unaligned EA (fixes BBEdit execution in MacOS 8.6)
  * SIGSEGV handler fixes for FreeBSD/alpha
  * SIGSEGV skipping for IRIX/mips and Solaris/SPARC

* Fri Dec  5 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-7mdk
- Always enable cxmon support for debugging purposes
- Add new thunking interface to share data & code with MacOS (64-bit fixes)
- Fake invalid reads from [PgChk]+4 in DriverServicesLib (JIT/amd64 support)

* Wed Dec  3 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-6mdk
- Fix translation of some rare branch instruction type
- Add new "jit" prefs item to enable/disable the JIT compiler

* Mon Dec  1 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-5mdk
- Gather JIT-related statistics
- Updates to the JIT compiler:
  - fix sraw for rare cases
  - fix & enable CR cache
  - fix retranslation on cache invalidate
  - implement inlining of constant branch targets
  - implement data cache related instructions as NOPs
  - implement isync, mtcrf, mcrf

* Thu Nov 27 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-4mdk
- Fix and enable portable "JIT1" engine though there is still much
  room for improvement. Workaround CR expectations of MacOS m68k emulator

* Tue Nov 25 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-3mdk
- Integrate PowerPC CPU emulator

* Tue May 20 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-2mdk
- Patch0: Handle SIGBUS, aka catch unaligned lmw with MacOS 8.1
- Patch1: Set of hacks to make MacOS 8.6 happy, don't crash on
  restart/shutdown, fake SCSIGlobals
- Update from CVS 2003/05/21:
  - Fix SerialOpen() initialization
  - Fix FC1E and FE0A opcodes replacements
  - Recognize iMacUpdate 1.1 ROM (nwrom v1.2.1)

* Thu May  8 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.2-1mdk
- First Mandrake Linux release