%define name plt %define version 209 %define release 1mdk %define major %{version} %define libname %mklibname %{name} %{major} Name: %{name} Version: %{version} Release: %{release} Summary: PLT Scheme License: LGPL Group: Development/Other Source: http://download.plt-scheme.org/bundles/%{version}/plt/%{name}-%{version}-src-unix.tar.bz2 Url: http://www.plt-scheme.org BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot BuildRequires: XFree86-devel BuildRequires: XFree86 Obsoletes: drscheme Provides: drscheme %description PLT Scheme is an umbrella name for a family of implementations of the Scheme programming language. %package -n %{libname} Summary: Main library for %{name} Group: System/Libraries Provides: %{name} = %{version}-%{release} %description -n %{libname} This package contains the library needed to run programs dynamically linked with %{name}. %package -n %{libname}-devel Summary: Headers for developing programs that will use %{name} Group: Development/Other Requires: %{libname} = %{version} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{libname}-devel This package contains the headers that programmers will need to develop applications which will use %{name}. %package mzscheme Summary: PLT Scheme implementation Group: Development/Other Requires: %{libname} = %{version}-%{release} %description mzscheme MzScheme is the PLT Scheme implementation. It implements the language as described in the Revised^5 Report on the Algorithmic Language Scheme and adds numerous extensions. %package mred Summary: PLT graphical Scheme implementation Group: Development/Other Requires: %{name}-mzscheme = %{version}-%{release} %description mred MrEd is the PLT's graphical Scheme implementation. It embeds and extends MzScheme with a graphical user interface (GUI) toolbox. %package drscheme Summary: PLT graphical development environment Group: Development/Other Requires: %{name}-mred = %{version}-%{release} %description drscheme DrScheme is the graphical development environment for creating MzScheme and MrEd applications. %prep %setup -q -n %{name} %build cd src %configure2_5x --enable-shared CFLAGS="$CFLAGS -DDONT_INLINE_NZERO_TEST" %make %install rm -rf $RPM_BUILD_ROOT mkdir $RPM_BUILD_ROOT cd src export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} %makeinstall # correct installation install -d -m 755 $RPM_BUILD_ROOT%{_datadir} install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name} install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/bin mv $RPM_BUILD_ROOT%{_prefix}/man $RPM_BUILD_ROOT%{_datadir} mv $RPM_BUILD_ROOT%{_prefix}/collects $RPM_BUILD_ROOT%{_libdir}/%{name} mv $RPM_BUILD_ROOT%{_prefix}/teachpack $RPM_BUILD_ROOT%{_libdir}/%{name} mv $RPM_BUILD_ROOT%{_bindir}/mred $RPM_BUILD_ROOT%{_libdir}/%{name}/bin mv $RPM_BUILD_ROOT%{_bindir}/mzscheme $RPM_BUILD_ROOT%{_libdir}/%{name}/bin rm -rf $RPM_BUILD_ROOT%{_prefix}/notes rm -f $RPM_BUILD_ROOT%{_prefix}/install # install wrappers cat > $RPM_BUILD_ROOT%{_bindir}/mzscheme <<EOF #!/bin/sh # mzscheme wrapper if [ "$PLTHOME" = '' ] ; then PLTHOME="/usr/lib/plt" export PLTHOME fi exec \${PLTHOME}/bin/mzscheme EOF chmod 755 $RPM_BUILD_ROOT%{_bindir}/mzscheme cat > $RPM_BUILD_ROOT%{_bindir}/mred <<EOF #!/bin/sh # mred wrapper if [ "$PLTHOME" = '' ] ; then PLTHOME="/usr/lib/plt" export PLTHOME fi exec \${PLTHOME}/bin/mred EOF chmod 755 $RPM_BUILD_ROOT%{_bindir}/mred # correct path in scripts perl -pi -e 's|PLTHOME=".*"|PLTHOME="%{_libdir}/%{name}"|' $RPM_BUILD_ROOT%{_bindir}/* #perl -pi -e 's|\${PLTHOME}/bin|%{_bindir}|' $RPM_BUILD_ROOT%{_bindir}/* # correct perms find $RPM_BUILD_ROOT%{_libdir}/%{name}/collects -type d -exec chmod 755 {} \; %clean rm -rf $RPM_BUILD_ROOT %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %files mzscheme %defattr(-,root,root) %doc notes/mzscheme/* %{_libdir}/%{name} %{_bindir}/* %{_mandir}/man1/* %exclude %{_bindir}/mred %exclude %{_bindir}/drscheme %exclude %{_mandir}/man1/mred.1* %exclude %{_mandir}/man1/drscheme.1* %exclude %{_libdir}/%{name}/collects/mred %exclude %{_libdir}/%{name}/collects/drscheme %exclude %{_libdir}/%{name}/teachpack %exclude %{_libdir}/%{name}/bin/mred %files -n %{libname} %defattr(-,root,root) %{_libdir}/libmzscheme-%{version}.so %{_libdir}/libmzgc-%{version}.so %{_libdir}/libmred-%{version}.so %files -n %{libname}-devel %defattr(-,root,root) %{_libdir}/libmzscheme.so %{_libdir}/libmzgc.so %{_libdir}/libmred.so %{_libdir}/*.la %{_libdir}/*.o %{_libdir}/buildinfo %{_includedir}/* %files mred %defattr(-,root,root) %doc notes/mred/* %{_libdir}/%{name}/collects/mred %{_libdir}/%{name}/bin/mred %{_bindir}/mred %{_mandir}/man1/mred.1* %files drscheme %defattr(-,root,root) %doc notes/drscheme/* %{_libdir}/%{name}/collects/drscheme %{_libdir}/%{name}/teachpack %{_bindir}/drscheme %{_mandir}/man1/drscheme.1* %changelog * Sun Jan 16 2005 Guillaume Rousse <guillomovitch@mandrake.org> 209-1mdk - New release 209 * Thu Aug 5 2004 Guillaume Rousse <guillomovitch@mandrakesoft.com> 208-1mdk - New release 208 * Wed Jul 14 2004 Guillaume Rousse <guillomovitch@mandrake.org> 207-3mdk - rebuild * Fri Jun 04 2004 Guillaume Rousse <guillomovitch@mandrake.org> 207-2mdk - binaries in %{_libdir}/%{name}/bin, wrappers in %{_bindir} * Tue Jun 01 2004 Guillaume Rousse <guillomovitch@mandrake.org> 207-1mdk - new version - libification - fixed scripts (Bruno T Santos <bluey@netcabo.pt>) - rpmbuildupdate aware * Mon Jan 12 2004 Guillaume Rousse <guillomovitch@mandrake.org> 205-2mdk - buildrequires (slbd) * Tue Dec 30 2003 Guillaume Rousse <guillomovitch@mandrake.org> 205-1mdk - new version * Fri Apr 25 2003 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-6mdk - fixed buildrequires (Stefan van der Eijk <stefan@eijk.nu>) - quiet setup * Sat Jan 04 2003 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-5mdk - rebuild - fixed compiled code directory perms * Tue Oct 08 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-4mdk - fixed missing syntax collect * Mon Oct 07 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-3mdk - fixed missing bin symlink - fixed doc * Mon Oct 07 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-2mdk - changed name to %{name} - set PLT_HOME to %{_libdir}/%{name} - package split - corrected license and url tags - reworked descriptions * Sat Oct 05 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 202-1mdk - first mdk release