Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 33172a8166247a331080e347cb5b0ed0 > files > 3

racket-5.3.1-3.mga3.src.rpm

%define _disable_ld_as_needed 1
%define _disable_ld_no_undefined 1

# To fix paths, Racket performs direct ELF surgery during install. D'oh!
# (see collects/setup/unixstyle-install.rkt)
# That's why we end up with slightly different executables that share the same
# build ID, and this breaks debuginfo extraction.
%define debug_package %{nil}

Name:		racket
Version:	5.3.1
Release:	%mkrel 3
Summary:	Racket is a Scheme implementation
License:	LGPLv2+
Group:		Development/Other
Url:		http://www.racket-lang.org
Source0:	http://download.racket-lang.org/installers/%{version}/racket/%{name}-%{version}-src-unix.tgz
Source1:	racket.png
BuildRequires:	spec-helper >= 0.12
BuildRequires:	imagemagick

%define		major %{version}
%define		libname %mklibname %{name} %{major}
%define		develname %mklibname %{name} -d

Requires:	%{libname} = %{version}

%description
Racket is a Scheme implementation. It implements
the language as described in the Revised^5 Report on the
Algorithmic Language Scheme and adds numerous extensions.

%package -n	%{libname}
Summary:	Main library for %{name}
Group:		System/Libraries

%description -n	%{libname}
This package contains the library needed to run programs dynamically
linked with %{name}.

%package -n	%{develname}
Summary:	Headers for developing programs that will use %{name}
Group:		Development/Other
Requires:	%{libname} = %{version}-%{release}
Provides:	%{name}-devel = %{version}-%{release}

%description -n	%{develname}
This package contains the headers that programmers will need to develop
applications which will use %{name}.

%package -n	g%{name}
Summary:	Racket graphical Scheme implementation
Group:		Development/Other
Requires:	%{name} = %{version}
Requires:	gtk+2.0

%description -n	g%{name}
GRacket is the Racket's graphical Scheme implementation. It embeds and
extends Racket with a graphical user interface (GUI) toolbox.

%package -n	dr%{name}
Summary:	Racket graphical development environment
Group:		Development/Other
Requires:	g%{name} = %{version}

%description -n	dr%{name}
DrRacket is the graphical development environment for creating 
Racket and GRacket applications.

%prep
%setup -q

%build
cd src
%configure2_5x \
    --enable-shared
%make

%install
rm -rf %{buildroot}
mkdir %{buildroot}
cd src
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
# From time to time parallel "raco setup" gets broken.
# One can uncomment the following line to enforce non-parallel mode:
#export PLT_SETUP_OPTIONS="-j 1"
%makeinstall_std

# correct installation
install -d -m 755 %{buildroot}%{_datadir}
install -d -m 755 %{buildroot}%{_libdir}/%{name}

# correct perms
find %{buildroot}%{_libdir}/%{name}/collects -type d -exec chmod 755 {} \;
find %{buildroot}%{_datadir}/%{name}/doc -type d -exec chmod 755 {} \;

%multiarch_includes %{buildroot}%{_includedir}/racket/mzconfig.h

mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
mv README $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}

mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cat > $RPM_BUILD_ROOT%{_datadir}/applications/drracket.desktop << EOF
[Desktop Entry]
Name=DrRacket
Comment=Scheme IDE
Exec=drracket
Icon=drracket
Terminal=false
Type=Application
StartupNotify=true
Categories=Development;IDE;
EOF

# Install icons

install -d -m755 %{buildroot}%{_datadir}/pixmaps
convert -scale "48x48" %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/drracket.png

for size in 16x16 32x32 48x48 64x64; do
    install -d %{buildroot}%{_iconsdir}/hicolor/$size/apps
    convert -resize $size %{SOURCE1} %{buildroot}%{_iconsdir}/hicolor/$size/apps/drracket.png
done

%files
%defattr(-,root,root)
%doc README
%{_libdir}/%{name}
%{_bindir}/*
%{_mandir}/man1/*
%{_datadir}/%{name}
%exclude %{_bindir}/gracket
%exclude %{_bindir}/drracket
%exclude %{_mandir}/man1/gracket.1*
%exclude %{_mandir}/man1/drracket.1*
%exclude %{_libdir}/%{name}/collects/mred
%exclude %{_libdir}/%{name}/collects/drracket
%exclude %{_datadir}/%{name}/doc/drracket

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libracket3m-%{version}.so

%files -n %{develname}
%defattr(-,root,root)
%{_libdir}/libracket3m.so
%{_libdir}/*.la
%{_includedir}/*

%files -n gracket
%defattr(-,root,root)
%{_libdir}/%{name}/collects/mred
%{_bindir}/gracket
%{_mandir}/man1/gracket.1*

%files -n drracket
%defattr(-,root,root)
%{_libdir}/%{name}/collects/drracket
%{_bindir}/drracket
%{_mandir}/man1/drracket.1*
%{_datadir}/%{name}/doc/drracket
%{_datadir}/pixmaps/drracket.png
%{_iconsdir}/hicolor/16x16/apps/drracket.png
%{_iconsdir}/hicolor/32x32/apps/drracket.png
%{_iconsdir}/hicolor/48x48/apps/drracket.png
%{_iconsdir}/hicolor/64x64/apps/drracket.png
%{_datadir}/applications/drracket.desktop


%changelog

* Sun Jan 13 2013 umeabot <umeabot> 5.3.1-3.mga3
+ Revision: 380151
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Fri Dec 28 2012 mitya <mitya> 5.3.1-2.mga3
+ Revision: 335758
- GUIs don't work without racket itself; don't provide "racket" from libracket
- Various fixes on reqs and provides

* Thu Nov 08 2012 mitya <mitya> 5.3.1-1.mga3
+ Revision: 316509
- New version 5.3.1

* Fri Aug 24 2012 mitya <mitya> 5.3-1.mga3
+ Revision: 283397
- new version 5.3
- drop patch 0 (merged upstream)
- parallel "raco setup" works again

* Sat May 05 2012 mitya <mitya> 5.2.1-1.mga2
+ Revision: 234779
- Update to 5.2.1

* Sat May 05 2012 mitya <mitya> 5.2-1.mga2
+ Revision: 234767
- Fix build
- Import Racket 5.2
- Created package structure for racket.