racket/racket.spec
OBS User mrdocs 2a66e01b0d Accepting request 151137 from home:toganm:testing
Racket is Lisp/scheme like language comes with lots goodies
with packages helping to learn programming or develop applications.

The intention is to submit Racket to Factory, so it can be part of the next
release after 12.3

Thanks

Togan

OBS-URL: https://build.opensuse.org/request/show/151137
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=1
2013-02-05 18:30:59 +00:00

381 lines
11 KiB
RPMSpec

#
# spec file for package racket
#
# Copyright (c) 2012, 2013 Togan Muftuoglu toganm@opensuse.org
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: racket
Version: 5.3.2
Release: 0
Summary: Scheme implementation with teaching tools
License: LGPL-2.1+
Group: Development/Languages/Scheme
Url: http://racket-lang.org
Source0: %name-%version-src-unix.tgz
Source1: drracket.desktop
Source2: racket-completion.bash
Source3: racket-5.3.rpmlintrc
Source4: drracket.png
# PATCH-FIX-OPENSUSE taken from debian package author David Bremner <bremner@unb.ca>
Patch0: 0001-pkg-collects-path.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: chrpath
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
BuildRequires: update-desktop-files
BuildRequires: ImageMagick
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libffi)
BuildRequires: libpng-devel
BuildRequires: librsvg-devel
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(pixman-1) >= 0.22.0
BuildRequires: ghostscript-fonts-std
%if 0%{?suse_version} == 1220
BuildRequires: libexpat1
%endif
# maggia has this
# Disable the debug package since otherwise a build would create the following
# error message:
# *** ERROR: same build ID in nonidentical files!
# /usr/bin/mzscheme
# and /usr/bin/mred
# this should be set from the obs
#%%define debug_package %%{nil}
%description
Racket (formerly called PLT Scheme) is a multi-paradigm programming language
in the Lisp/Scheme family, that also serves as a platform for language
creation, design, and implementation.
The programming language is known for its powerful macro system which enables
the creation of embedded and domain-specific languages, language constructs
such as classes or modules, and separate dialects of Racket enable different
semantics.
%package -n drracket
Summary: Racket Scheme graphical development environment
Group: Development/Languages/Scheme
Requires: %{name} = %{version}-%{release}
%description -n drracket
DrRacket is the graphical development environment for creating
Racket applications.
%package games
Summary: Sample games from Racket Scheme
Group: Amusements/Games/Other
Requires: %{name} = %{version}-%{release}
%description games
This package contains sample games from Racket project.
%package webserver
Summary: Webserver from Racket
Group: Productivity/Networking/Web/Servers
%description webserver
Webserver from Racket Scheme.
%package devel
Summary: Development header files for PLT
Group: Development/Languages/Scheme
Requires: %{name} = %{version}-%{release}
Requires: glibc-devel
Requires: libffi-devel
%description devel
This package contains the symlinks, headers and object files needed to
compile and link programs which use PLT.
%prep
%setup -q
%patch0 -p1
cp %{S:1} src/.
cp %{S:2} src/.
cp %{S:4} src/.
## debian had licence isssue before enabling these check
# ( while read -r name ; do
# rm -r $name
# done ) <<EOF
# collects/tests/racket/benchmarks/common/psyntax-input.txt
# collects/tests/xml/clark-tests
# collects/tests/racket/benchmarks/common/maze.sch
# collects/tests/racket/benchmarks/common/maze2.sch
# collects/tests/racket/benchmarks/common/typed/maze2.rktl
# collects/tests/racket/testing.rktl
# collects/tests/utils/mz-testing.rkt
# EOF
## cancel test removal for testing
rm -rf collects/tests
rm -rf collects/{mysterx,mzcom}
rm -rf collects/2htdp/tests
rm -rf collects/htdp/tests
rm -rf collects/browser/tests
rm -rf collects/data/tests
rm -rf collects/file/tests
rm -rf collects/games/tests
rm -rf collects/help/tests
rm -rf collects/images/tests
rm -rf collects/json/tests
rm -rf collects/launcher/tests
rm -rf collects/macro-debugger/tests
rm -rf collects/picturing-programs/tests
rm -rf collects/plot/tests
rm -rf collects/redex/tests
rm -rf collects/r6rs/tests
rm -rf collects/slatex/tests
rm -rf collects/string-constants/tests
rm -rf collects/teachpack/tests
rm -rf collects/typed/tests
rm -rf collects/unstable/tests
find collects/*/examples -name *.c | xargs rm -rf
find collects/*/examples -name *.cxx | xargs rm -rf
find collects/*/examples -name *.c | xargs rm -rf
find collects/*/examples -name *.cxx | xargs rm -rf
%build
cd src
%configure --enable-shared --disable-static --docdir=%_defaultdocdir/%name
%{__make} %{?_smp_mflags} VERBOSE=1 STRIP_DEBUG=/bin/true
%install
cd src
export LD_LIBRARY_PATH=%buildroot%{_libdir}
export PLT_SETUP_OPTIONS="-j 1 "
# let obs do the stripping
%make_install STRIP_DEBUG=/bin/true
# Fix the rpath error.
chrpath --delete %buildroot%{_bindir}/gracket
chrpath --delete %buildroot%{_bindir}/racket
find %buildroot -size 0 | xargs rm -f
# we do not need *.la and *.a files
find %{buildroot}%{_libdir} -name "*.la" -delete
find %{buildroot}%{_libdir} -name "*.a" -delete
install -d %buildroot/etc/bash_completion.d/
install -m 644 %{S:2} %buildroot/etc/bash_completion.d/%name
%suse_update_desktop_file -i drracket
%fdupes -s %buildroot/%_datadir/%name/
%fdupes -s %buildroot%_bindir/
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc README
%_bindir/mzc
%_bindir/mzpp
%_bindir/mzscheme
%_bindir/mztext
%_bindir/plt-r5rs
%_bindir/plt-r6rs
%_bindir/racket
%_bindir/raco
%_bindir/scribble
%_bindir/setup-plt
%_bindir/swindle
%_libdir/*.so
%_libdir/%name/mzdyn3m.o
%_datadir/%name/collects/at-exp
%_datadir/%name/collects/compatibility
%_datadir/%name/collects/compiler
%_datadir/%name/collects/data
%_datadir/%name/collects/db
%_datadir/%name/collects/dynext
%_datadir/%name/collects/errortrace
%_datadir/%name/collects/ffi
%_datadir/%name/collects/file
%_datadir/%name/collects/html
%_datadir/%name/collects/info-domain
%_datadir/%name/collects/json
%_datadir/%name/collects/launcher
%_datadir/%name/collects/make
%_datadir/%name/collects/math
%_datadir/%name/collects/mzlib
%_datadir/%name/collects/mzscheme
%_datadir/%name/collects/net
%_datadir/%name/collects/openssl
%_datadir/%name/collects/parser-tools
%_datadir/%name/collects/planet
%_datadir/%name/collects/planet2
%_datadir/%name/collects/preprocessor
%_datadir/%name/collects/profile
%_datadir/%name/collects/r5rs
%_datadir/%name/collects/r6rs
%_datadir/%name/collects/racket
%_datadir/%name/collects/raco
%_datadir/%name/collects/reader
%_datadir/%name/collects/readline
%_datadir/%name/collects/rnrs
%_datadir/%name/collects/s-exp
%_datadir/%name/collects/scheme
%_datadir/%name/collects/scribble
%_datadir/%name/collects/setup
%_datadir/%name/collects/srfi
%_datadir/%name/collects/swindle
%_datadir/%name/collects/syntax
%_datadir/%name/collects/trace
%_datadir/%name/collects/unstable
%_datadir/%name/collects/version
%_datadir/%name/collects/wxme
%_datadir/%name/collects/xml
%_datadir/%name/collects/xrepl
%exclude %_bindir/plt-games
%exclude %_datadir/%name/collects/games
%exclude %_bindir/slideshow
%exclude %_datadir/%name/collects/slideshow
%exclude %_bindir/plt-web-server
%exclude %_datadir/%name/collects/web-server
%dir %_datadir/%name/collects
%_libdir/%name/starter
%{_mandir}/man1/mz*
%{_mandir}/man1/racket*
%{_mandir}/man1/raco*
%{_mandir}/man1/setup-plt*
%_datadir/%name/doc/*
%dir %_libdir/%name
%dir %_datadir/%name
%dir %_datadir/%name/doc
%dir %_sysconfdir/bash_completion.d/
%_sysconfdir/bash_completion.d/%name
%files games
%defattr(-,root,root,-)
%_bindir/plt-games
%_datadir/%name/collects/games
%dir %_datadir/%name/collects/games
%files webserver
%defattr(-,root,root,-)
%_bindir/plt-web-server
%_datadir/%name/collects/web-server
%dir %_datadir/%name/collects/web-server
%files devel
%defattr(-,root,root,-)
%_includedir/%name/*
%{_libdir}/%{name}/buildinfo
%dir %_includedir/%name
%files -n drracket
%defattr(-,root,root,-)
%_bindir/drracket
%_bindir/gracket
%_bindir/gracket-text
%_bindir/mred
%_bindir/mred-text
%_bindir/pdf-slatex
%_bindir/plt-help
%_bindir/slatex
%_bindir/slideshow
%_mandir/man1/drracket*
%_mandir/man1/gracket*
%_mandir/man1/mred*
%_mandir/man1/plt-help*
%_datadir/%name/collects/2htdp
%_datadir/%name/collects/algol60
%_datadir/%name/collects/browser
%_datadir/%name/collects/config
%_datadir/%name/collects/datalog
%_datadir/%name/collects/defaults
%_datadir/%name/collects/deinprogramm
%_datadir/%name/collects/drracket
%_datadir/%name/collects/drscheme
%_datadir/%name/collects/embedded-gui
%_datadir/%name/collects/eopl
%_datadir/%name/collects/framework
%_datadir/%name/collects/frtime
%_datadir/%name/collects/future-visualizer
%_datadir/%name/collects/graphics
%_datadir/%name/collects/gui-debugger
%_datadir/%name/collects/help
%_datadir/%name/collects/hierlist
%_datadir/%name/collects/htdp
%_datadir/%name/collects/icons
%_datadir/%name/collects/images
%_datadir/%name/collects/lang
%_datadir/%name/collects/lazy
%_datadir/%name/collects/macro-debugger
%_datadir/%name/collects/mred
%_datadir/%name/collects/mrlib
%_datadir/%name/collects/picturing-programs
%_datadir/%name/collects/plai
%_datadir/%name/collects/plot
%_datadir/%name/collects/racklog
%_datadir/%name/collects/rackunit
%_datadir/%name/collects/redex
%_datadir/%name/collects/schemeunit
%_datadir/%name/collects/scriblib
%_datadir/%name/collects/scribblings
%_datadir/%name/collects/sgl
%_datadir/%name/collects/slatex
%_datadir/%name/collects/slideshow
%_datadir/%name/collects/stepper
%_datadir/%name/collects/string-constants
%_datadir/%name/collects/syntax-color
%_datadir/%name/collects/teachpack
%_datadir/%name/collects/test-engine
%_datadir/%name/collects/texpict
%_datadir/%name/collects/typed-racket
%_datadir/%name/collects/typed-scheme
%_datadir/%name/collects/typed
%_datadir/applications/drracket.desktop
%_datadir/pixmaps/drracket.png
%changelog