Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 8db4483c516e5a0f4271f031b6159c3a > files > 10

squeak-vm-3.10.5-5.fc13.src.rpm

%define major   3.10
%define minor   5
%define vmver   %{major}-%{minor}
%define source  Squeak-%{vmver}

Name:           squeak-vm
Version:        %{major}.%{minor}
Release:        5%{?dist}
Summary:        The Squeak virtual machine

Group:          Development/Languages
License:        MIT
URL:            http://squeakvm.org/unix
Source0:        http://ftp.squeak.org/%{major}/unix-linux/%{source}.src.tar.gz
Source2:        squeak-desktop-files.tar.gz
Patch0:         squeak-vm-rpath.patch
Patch1:         squeak-vm-install-inisqueak.patch
Patch2:         squeak-vm-imgdir.patch
Patch3:         squeak-vm-tail-options.patch
Patch4:         squeak-vm-dprintf.patch
Patch5:         alsa-scratchy-sound.patch
Patch6:         alsa-suspend-resume.patch
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

Requires(post): shared-mime-info
Requires(postun): shared-mime-info
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

BuildRequires:  libX11-devel
BuildRequires:  libXt-devel
BuildRequires:  libvorbis-devel
BuildRequires:  libtheora-devel
BuildRequires:  speex-devel
BuildRequires:  dbus-devel
BuildRequires:  alsa-lib-devel
BuildRequires:  pango-devel
BuildRequires:  gstreamer-devel
BuildRequires:  mesa-libGL-devel
BuildRequires:  libICE-devel
BuildRequires:  libSM-devel
BuildRequires:  libXext-devel
BuildRequires:  libuuid-devel

#
# define nonXOplugins to be non-zero if you would like the plugins that 
# are unnecessary on the XO to be moved into a separate sub-package 
# to save space on the XO.  The list of plugins that are split out is
# listed below in the nonXOplugins files section
#
%define nonXOplugins 1


%description
Squeak is a full-featured implementation of the Smalltalk programming
language and environment based on (and largely compatible with) the original
Smalltalk-80 system.

This package contains just the Squeak virtual machine.

%if 0%{?nonXOplugins}
%package nonXOplugins
Summary:        Non-XO Plugins for the Squeak virtual machine
Group:          Development/Languages
Requires:       squeak-vm = %{version}-%{release}
%description nonXOplugins
Plugins for the Squeak virtual machine.
These plugins are unnecessary on the XO, and so are moved into a separate
sub-package to save space.
%endif


%prep
%setup -q -n %{source} -a 2

# The source files chmod'd here have the execute bit set in the upstream tarball
# which bothers rpmlint, need submit a request upstream to have this changed
find platforms -name '*.[ch]' -exec chmod ug=rw,o=r {} \;
##chmod ug=rw,o=r platforms/Cross/plugins/JPEGReadWriter2Plugin/*
##chmod ug=rw,o=r platforms/Cross/plugins/Mpeg3Plugin/libmpeg/*
##chmod ug=rw,o=r platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/*
##chmod ug=rw,o=r platforms/Cross/plugins/Mpeg3Plugin/libmpeg/vidio/*
##chmod ug=rw,o=r platforms/unix/vm/osExports.c
##chmod ug=rw,o=r platforms/Cross/plugins/RePlugin/internal.h
##chmod ug=rw,o=r platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c

%patch0 -p1 -b .rpath
%patch1 -p1 -b .install-inisqueak
%patch2 -p1 -b .imgdir
%patch3 -p1 -b .tail-options
%patch4 -p1 -b .dprintf
%patch5 -p1 -b .alsa-scratchy
%patch6 -p1 -b .alsa-suspend

%build
mkdir -p bld
cd bld

CPPFLAGS=-DSUGAR ../platforms/unix/config/configure --prefix=%{_prefix} --mandir=%{_mandir} --datadir=%{_datadir} --libdir=%{_libdir}

make %{?_smp_mflags}

%install
rm -rf %{buildroot}
make -C bld install ROOT=%{buildroot}

# these files will be put in std RPM doc location
rm -rf %{buildroot}%{_prefix}/doc/squeak

# install the desktop stuff
install -D --mode=u=rwx,go=rx mysqueak %{buildroot}%{_bindir}/mysqueak
install -D --mode=u=rw,go=r mysqueak.1 %{buildroot}%{_mandir}/man1/mysqueak.1
install -D --mode=u=rw,go=r squeak.xml %{buildroot}%{_datadir}/mime/packages/squeak.xml
install -D --mode=u=rw,go=r squeak.desktop %{buildroot}%{_datadir}/applications/squeak.desktop
install -D --mode=u=rw,go=r squeak.png %{buildroot}%{_datadir}/pixmaps/squeak.png

%define icons_dir %{buildroot}%{_datadir}/icons/gnome
for size in 16 24 32 48 64 72 96
do
  mkdir -p %{icons_dir}/${size}x${size}/mimetypes
  install -m0644 squeak${size}.png %{icons_dir}/${size}x${size}/mimetypes/application-x-squeak-image.png
  install -m0644 squeaksource${size}.png %{icons_dir}/${size}x${size}/mimetypes/application-x-squeak-source.png
done

# If an image cant find the .sources in the current directory it will look 
# in %{_libdir}/squeak/%{vmver}
cd %{buildroot}%{_libdir}/squeak/%{vmver}
DOTDOTS=$(echo %{_libdir}/squeak/%{vmver} | sed -e 's:/[^/]\+:../:g')
ln -s ${DOTDOTS}%{_datadir}/squeak/SqueakV39.sources . 
ln -s ${DOTDOTS}%{_datadir}/squeak/SqueakV3.sources .


%clean
rm -rf %{buildroot}


%post
touch --no-create %{_datadir}/icons/gnome || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/gnome || :
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :


%postun
touch --no-create %{_datadir}/icons/gnome || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/gnome || :
fi
update-mime-database %{_datadir}/mime &> /dev/null || :
update-desktop-database &> /dev/null || :




%files
%defattr(-,root,root,-)
%doc platforms/unix/ChangeLog platforms/unix/doc/{README*,LICENSE,*RELEASE_NOTES}
%{_bindir}/*
%dir %{_libdir}/squeak
%dir %{_libdir}/squeak/%{vmver}
%if 0 == 0%{?nonXOplugins}
%{_libdir}/squeak/%{vmver}/FileCopyPlugin
%{_libdir}/squeak/%{vmver}/B3DAcceleratorPlugin
%{_libdir}/squeak/%{vmver}/PseudoTTYPlugin
%{_libdir}/squeak/%{vmver}/UnixOSProcessPlugin
%{_libdir}/squeak/%{vmver}/XDisplayControlPlugin
%ifarch i686
%{_libdir}/squeak/%{vmver}/SqueakFFIPrims
%endif
%ifarch ppc
%{_libdir}/squeak/%{vmver}/SqueakFFIPrims
%endif
%else
%{_libdir}/squeak/%{vmver}/AioPlugin
%{_libdir}/squeak/%{vmver}/ClipboardExtendedPlugin
%{_libdir}/squeak/%{vmver}/DBusPlugin
%{_libdir}/squeak/%{vmver}/GStreamerPlugin
%{_libdir}/squeak/%{vmver}/ImmX11Plugin
%{_libdir}/squeak/%{vmver}/KedamaPlugin
%{_libdir}/squeak/%{vmver}/KedamaPlugin2
%{_libdir}/squeak/%{vmver}/MIDIPlugin
%{_libdir}/squeak/%{vmver}/OggPlugin
%{_libdir}/squeak/%{vmver}/RomePlugin
%{_libdir}/squeak/%{vmver}/Squeak3D
%{_libdir}/squeak/%{vmver}/UUIDPlugin
%{_libdir}/squeak/%{vmver}/VideoForLinuxPlugin
%{_libdir}/squeak/%{vmver}/HostWindowPlugin

%{_libdir}/squeak/%{vmver}/SqueakV3.sources
%{_libdir}/squeak/%{vmver}/SqueakV39.sources
%{_libdir}/squeak/%{vmver}/npsqueak.so
%{_libdir}/squeak/%{vmver}/squeak
%{_libdir}/squeak/%{vmver}/vm-display-X11
%{_libdir}/squeak/%{vmver}/vm-display-fbdev
%{_libdir}/squeak/%{vmver}/vm-display-null
%{_libdir}/squeak/%{vmver}/vm-sound-ALSA
%{_libdir}/squeak/%{vmver}/vm-sound-OSS
%{_libdir}/squeak/%{vmver}/vm-sound-null
%endif
%{_mandir}/man*/*
%dir %{_datadir}/squeak
%{_datadir}/squeak/*
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/mime/packages/*
%{_datadir}/icons/gnome/*/mimetypes/*.png


%if 0%{?nonXOplugins}
%files nonXOplugins
%defattr(-,root,root,-)
%{_libdir}/squeak/%{vmver}/FileCopyPlugin
%{_libdir}/squeak/%{vmver}/B3DAcceleratorPlugin
%{_libdir}/squeak/%{vmver}/PseudoTTYPlugin
%{_libdir}/squeak/%{vmver}/UnixOSProcessPlugin
%{_libdir}/squeak/%{vmver}/XDisplayControlPlugin
%ifarch %{ix86} ppc
%{_libdir}/squeak/%{vmver}/SqueakFFIPrims
%endif
%endif

%changelog
* Mon Jun 21 2010 Daniel Drake <dsd@laptop.org> - 3.10.5-5
- Add upstream patch to fix sound loss during suspend/resume

* Mon Dec 28 2009 Daniel Drake <dsd@laptop.org> - 3.10.5-4
- forgot to add patch to cvs; retag

* Mon Dec 28 2009 Daniel Drake <dsd@laptop.org> - 3.10.5-3
- Add (already upstream) patch to fix crackly sound output

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jul 20 2009 Gavin Romig-Koch <gavin@redhat.com> - 3.10.5-1
  - upgrade to new upstream
  - work around dprintf problem
  - UUID lib now in libuuid-devel (moved from e2fsprogs-devel) 
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Jan 20 2009 Gavin Romig-Koch <gavin@redhat.com> - 3.10.4-3
   - SqueakFFIPrims only works on ix86 and ppc
   - add a missing dir macro
   - correct the requires on -nonXOplugins
   - correct handling of no nonXOplugins
* Mon Jan 19 2009 Gavin Romig-Koch <gavin@redhat.com> - 3.10.4-3
   - add missing build dependancy for UUIDPlugin
   - add missing defattr macro
   - corrections needed by rpmlint
* Sat Jan 17 2009 Gavin Romig-Koch <gavin@redhat.com> - 3.10.3-4
   - upgrade to upstream 3.10.3-4
   - switch from svn to tarball as upstream source
* Wed Jan 07 2009 Gavin Romig-Koch <gavin@redhat.com> - 3.10.3-3
  - split out nonXOplugins
  - corrected script requirements
* Tue Nov 25 2008 Gavin Romig-Koch <gavin@redhat.com> - 3.10.3-2
  - Fix rpmlint problems
    - mode of squeak-vm-tarball-from-svn.sh
    - squeak.desktop: Icon, MimeType, Encoding
    - move the _libdir .source links into this, non-noarch, rpm
    - remove x mode of a number of .c and .h source files from upstream
    - use explicit --mode when installing files
    - replace tabs with spaces
    - shbang for mysqueak
* Tue Jul 29 2008 Gavin Romig-Koch <gavin@redhat.com> - 3.10.3-1
  - incorporated slightly modified Desktop related changes from 
    Gerard Milmeister <gemi@bluewin.ch> 
  - update .spec to Fedora Guidelines
  - add mysqueak
  - olpc macro to distinguish olpc builds 
  - distinguish between squeak image icons, and squeak source icons
* Mon Jul 07 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.10-3olpc5; SVN r. 1899
  - re-enable new (IPv6) socket primitives (bf)
  - RomePlugin pango fixes (yo)
* Mon Jun 23 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.10-3olpc4; SVN r. 1895
  - RomePlugin pango fixes (yo)
  - X11 drag-and-drop fixes (tak)
* Wed Jun 03 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.10-3olpc3; SVN r.1889
  - prefer 24 and 16 bpp over 32 to fix alpha issue in compositing desktops (bf)
* Mon May 19 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.10-3olpc2; SVN r.1879
  - re-add big cursor support (bf)
* Wed May 14 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.10-3olpc1; SVN r. 1878
  - updated DBus plugin (incompatible w/ previous versions)
  - add plugins: GStreamer, ImmX11, Aio
  - fixed international keyboard input
  - merged with trunk
* Fri Jan 04 2008 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-12olpc5; SVN r. 1811
  - remove Mpeg3Plugin
  - fix KedamaPlugin2 (exports where not listed) 
  - fix show-source key
  - fix SEGFAULT in OggPlugin
  - add RomePlugin w/ Pango support
  - fix drag-n-drop
* Mon Dec 03 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-12olpc4: SVN r. 1795
  - fix dbus plugin not zero-terminating some strings (bf)
* Wed Oct 31 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-12olpc3: SVN r. 1787
  - fixed errors about state checking in drag and drop (tak)
  - make cursor keys work with utf32 char code (yo)
  - add SetSwitch, GetSwitch, and SetDevice mixer functions (yo)
* Tue Oct 23 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-12olpc2: SVN r. 1779
  - use CPPFLAGS not CFLAGS for -DSUGAR
  - handle view-source key (bf)
* Mon Oct 15 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-12olpc1: SVN r. 1776
  - merged with trunk (bf)
  - signed oop fixes (dave)
  - unicode key events (ian)
  - fix dbus plugin (bf)
* Thu Aug 30 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-11olpc5: SVN r. 1761
  - set _NET_WM_PID to our process id (danw)
  - generate WindowEventClose on delete window message (ian)
* Thu Jul 17 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-11olpc4: SVN r. 1747
  - added LocalePlugin (ian)
  - FileCopyPlugin is external now
  - follow symlinks in npsqueakregister (bf)
  - explicitely link against libXt (bf)
* Thu Jul 12 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-11olpc3: SVN r. 1740
  - fix spec file clean, add _smp_mflags as requested by fedora (bf)
  - XdndFinished is sent properly in drag-in with multiple types (tak)
  - Show cursor forced when drag-out (tak)
  - Fixed a bug about type index for clipboard (tak)
* Mon Jul 02 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-11olpc2: SVN r. 1735
  - clipboard/dns fixes (tak)
  - update spec to satisfy rpmlint
* Tue Jun 26 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-11olpc1: SVN r. 1728
  - IPv6 support (ian)
  - updated DBus plugin (impara, bf)
  - better drag-and-drop support, extended clipboard support (tak)
* Fri Jun 22 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc7: SVN r.1723
  - move build env to Fedora 7
  - require libdbus-1.so.3
  - configure without OpenGL (rather than hiding GL libs)
* Thu May 17 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc6: SVN r.1687
  - add ClipboardExtendedPlugin (tak)
  - add DBusPlugin (impara, bf)
  - support keypad keys (bf)
* Thu Apr 19 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc5: SVN r.1658
  - enabled Kedama plugin
* Wed Apr 04 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc4: SVN r.1652 (moved to OLPC branch)
  - added ogg plugin (tak)
* Fri Mar 23 2007 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc3: SVN r.1613 + olpc.patch
  - big cursor support (bf)
  - faster camera input (dgd)
* Wed Nov 09 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-10olpc1: SVN r.1591
  - work around ALSA SIGIO issue (bf)
  - added dgd's camera support (V4L plugin)
* Wed Nov 09 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-9olpc4: SVN r.1571
  - compile without GL
* Wed Oct 18 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-9olpc3: SVN r.1571
  - relicensed to MIT
* Tue Oct 17 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-9olpc2: SVN r.1566
  - yet another ALSA fix
* Thu Oct 12 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-9olpc1: SVN r.1563
  - fix ALSA prim failed
  - add warpblt optimization
  - add Kedama2 plugin
  - exclude unneeded plugins
* Wed Oct 11 2006 Bert Freudenberg <bert@freudenbergs.de>
  - 3.9-8olpc2: SVN r.1557 adds access to ALSA mixer
* Fri Oct 06 2006 Bert Freudenberg <bert@freudenbergs.de>
  - initial RPM for OLPC (3.9-8olpc1)