2013-02-05 19:30:59 +01:00
|
|
|
#
|
|
|
|
# spec file for package racket
|
|
|
|
#
|
2020-03-25 08:57:18 +01:00
|
|
|
# Copyright (c) 2020 SUSE LLC
|
2013-02-05 19:30:59 +01:00
|
|
|
# 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.
|
|
|
|
|
2018-11-22 10:20:28 +01:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2013-02-05 19:30:59 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
Name: racket
|
Accepting request 828522 from home:polslinux:branches:devel:languages:misc
- Update to 7.8:
* Racket CS supports AArch32 and AArch64, including places and
futures.
* Racket CS supports an "incremental" garbage-collection mode that can
eliminate long GC pauses for some applications, such as animations and
interactive games.
* Racket CS unboxes local floating-point arithmetic
* DrRacket's spell check features lower overhead and has fewer bugs.
* Web Server performance under high concurrency is better by up to an
order of magnitude
* The math library includes the Kronecker product.
* The new prop:struct-field-info property provides static information
about field names.
* In `plot`, the legend font and the plot font can be controlled
independently, and error-bars have an `#:invert?` option.
* Racket CS uses a new HAMT implementation, dramatically reducing the memory
required for immutable hash tables.
* GC callbacks are reliably called on major collections in Racket CS.
Also, Garbage collection is 10-20% faster.
* DrRacket can recover much more quickly from errors involving large
stack traces.
* Call-with-current-language allows more reliable tests for language
level code.
* Use of the Cairo library can be multi-threaded.
* DrRacket's scrolling has been made more responsive.
* DrRacket's dark mode support is improved for Mac OS and Unix.
* The Web Server provides fine-grained control over various aspects of
handling client connections (timeouts, buffer sizes, maximum header
counts, etc.) via the new "safety limits" construct.
* The Web Server's handling of large files is improved, and its
latency for long-running request handlers is reduced.
OBS-URL: https://build.opensuse.org/request/show/828522
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=44
2020-10-09 22:40:45 +02:00
|
|
|
Version: 7.8
|
2013-02-05 19:30:59 +01:00
|
|
|
Release: 0
|
|
|
|
Summary: Scheme implementation with teaching tools
|
2020-11-10 21:46:40 +01:00
|
|
|
License: MIT or Apache-2.0
|
2013-02-05 19:30:59 +01:00
|
|
|
Group: Development/Languages/Scheme
|
2019-07-16 13:09:04 +02:00
|
|
|
URL: http://racket-lang.org
|
|
|
|
Source0: http://download.racket-lang.org/installers/%{version}/%{name}-%{version}-src.tgz
|
2013-02-05 19:30:59 +01:00
|
|
|
Source2: racket-completion.bash
|
2019-04-02 13:13:17 +02:00
|
|
|
Source3: racket-rpmlintrc
|
|
|
|
Patch0: racket-doc.patch
|
2019-07-16 13:09:04 +02:00
|
|
|
Patch1: dont-strip.patch
|
2016-07-25 08:43:18 +02:00
|
|
|
BuildRequires: ImageMagick
|
2019-04-02 13:13:17 +02:00
|
|
|
BuildRequires: ca-certificates
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: chrpath
|
|
|
|
BuildRequires: fdupes
|
|
|
|
BuildRequires: gcc-c++
|
2016-07-25 08:43:18 +02:00
|
|
|
BuildRequires: ghostscript-fonts-std
|
|
|
|
BuildRequires: libexpat1
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: libjpeg-devel
|
2016-07-25 08:43:18 +02:00
|
|
|
BuildRequires: librsvg-devel
|
|
|
|
BuildRequires: libtool
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: update-desktop-files
|
|
|
|
BuildRequires: pkgconfig(cairo)
|
|
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
|
|
BuildRequires: pkgconfig(freetype2)
|
2019-04-02 13:13:17 +02:00
|
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
|
|
BuildRequires: pkgconfig(gtk+-3.0)
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: pkgconfig(ice)
|
2019-04-02 13:13:17 +02:00
|
|
|
BuildRequires: pkgconfig(libedit)
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: pkgconfig(libffi)
|
2016-07-25 08:43:18 +02:00
|
|
|
BuildRequires: pkgconfig(libpng)
|
2013-02-05 19:30:59 +01:00
|
|
|
BuildRequires: pkgconfig(openssl)
|
2016-07-25 08:43:18 +02:00
|
|
|
BuildRequires: pkgconfig(pango)
|
|
|
|
BuildRequires: pkgconfig(pixman-1) >= 0.22.0
|
2013-02-05 19:30:59 +01:00
|
|
|
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)
|
2019-04-02 13:13:17 +02:00
|
|
|
# The rpmbuild does not detect those!
|
|
|
|
Requires: libcairo2
|
|
|
|
Requires: libedit0
|
|
|
|
Requires: libglib-2_0-0
|
|
|
|
Requires: libgtk-3-0
|
|
|
|
Requires: libpango-1_0-0
|
|
|
|
Requires: libsqlite3-0
|
2019-07-16 13:09:04 +02:00
|
|
|
Provides: %{name}-drracket = %{version}-%{release}
|
|
|
|
Provides: %{name}-games = %{version}-%{release}
|
|
|
|
Provides: %{name}-webserver = %{version}-%{release}
|
2019-04-02 13:13:17 +02:00
|
|
|
Recommends: racket-doc = %{version}-%{release}
|
|
|
|
|
|
|
|
%define add_optflags(a:f:t:p:w:W:d:g:O:A:C:D:E:H:i:M:n:P:U:u:l:s:X:B:I:L:b:V:m:x:c:S:E:o:v:) \
|
|
|
|
%global optflags %{optflags} %{**}
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
# 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
|
2016-07-30 09:25:19 +02:00
|
|
|
#%%define debug_package %%nil
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
%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.
|
|
|
|
|
2019-04-02 13:13:17 +02:00
|
|
|
%package doc
|
|
|
|
Summary: Documentation HTML files for Racket
|
|
|
|
Group: Development/Languages/Scheme
|
|
|
|
Provides: %{name}:%{_docdir}/%{name}/docindex.sqlite
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
A local installation of the Racket documentation system.
|
|
|
|
|
2013-02-05 19:30:59 +01:00
|
|
|
%package devel
|
2016-07-25 08:44:44 +02:00
|
|
|
Summary: Development header files for Racket
|
2013-02-05 19:30:59 +01:00
|
|
|
Group: Development/Languages/Scheme
|
2019-07-16 13:09:04 +02:00
|
|
|
Requires: %{name} = %{version}-%{release}
|
2013-02-05 19:30:59 +01:00
|
|
|
Requires: glibc-devel
|
|
|
|
Requires: libffi-devel
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
This package contains the symlinks, headers and object files needed to
|
2016-07-25 08:44:44 +02:00
|
|
|
compile and link programs which use Racket.
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q
|
2019-04-02 13:13:17 +02:00
|
|
|
%patch0 -p0
|
2019-07-16 13:09:04 +02:00
|
|
|
%patch1 -p1
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2019-07-16 13:09:04 +02:00
|
|
|
cp -p %{SOURCE2} src/
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
%build
|
2019-04-02 13:13:17 +02:00
|
|
|
cd src/
|
|
|
|
|
|
|
|
%add_optflags -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -fno-gcse
|
2019-07-16 13:09:04 +02:00
|
|
|
%configure --prefix="%{_datadir}" --docdir="%{_defaultdocdir}/%{name}" --enable-shared \
|
|
|
|
--disable-static --disable-strip --enable-places --enable-lt="%{_bindir}/libtool" \
|
2019-04-02 13:13:17 +02:00
|
|
|
--enable-pthread
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2016-07-30 09:25:19 +02:00
|
|
|
make %{?_smp_mflags} VERBOSE=1
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
%install
|
2019-04-02 13:13:17 +02:00
|
|
|
cd src/
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2016-07-25 08:43:18 +02:00
|
|
|
# use the following if setting extra plt_setup options
|
2019-07-16 13:09:04 +02:00
|
|
|
# export LD_LIBRARY_PATH=%%{buildroot}%%{_libdir}
|
2016-07-25 08:43:18 +02:00
|
|
|
# export PLT_SETUP_OPTIONS="-j 1 "
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2019-07-16 13:09:04 +02:00
|
|
|
install -d %{buildroot}/%{_datadir}/doc/%{name}/
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2016-07-25 08:44:44 +02:00
|
|
|
%make_install
|
2013-02-05 19:30:59 +01:00
|
|
|
|
|
|
|
# we do not need *.la and *.a files
|
|
|
|
|
2019-07-16 13:09:04 +02:00
|
|
|
find %{buildroot}%{_libdir} -name "*.la" -delete
|
|
|
|
find %{buildroot}%{_libdir} -name "*.a" -delete
|
|
|
|
find %{buildroot}%{_datadir} -name ".LOCKpkgs.rktd" -delete
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2019-04-02 13:13:17 +02:00
|
|
|
# make system clear
|
|
|
|
for bin in mred mzscheme racket
|
|
|
|
do
|
|
|
|
test -e $bin || continue
|
|
|
|
chrpath --delete %{buildroot}%{_bindir}/$bin || :
|
|
|
|
done
|
|
|
|
for bin in gracket starter
|
|
|
|
do
|
|
|
|
test -e $bin || continue
|
|
|
|
chrpath --delete %{buildroot}%{_libdir}/$bin || :
|
|
|
|
done
|
|
|
|
for bin in c-printf crypt esd magick sndfile tcl xmmsctrl xosd
|
|
|
|
do
|
|
|
|
bin=%{buildroot}%{_datadir}/%{name}/pkgs/racket-doc/ffi/examples/use-${bin}.rkt
|
|
|
|
test -e $bin || continue
|
|
|
|
sed -ri '1s@(/usr/bin/)env +@\1@p' $bin
|
|
|
|
chmod 755 $bin
|
|
|
|
done
|
|
|
|
chmod 755 %{buildroot}%{_datadir}/%{name}/pkgs/htdp-lib/2htdp/uchat/xrun
|
|
|
|
|
|
|
|
for html in syntax/module-helpers rackunit/api reference/collects
|
|
|
|
do
|
|
|
|
html=%{_docdir}/%{name}/${html}.html
|
|
|
|
test -e $html || continue
|
|
|
|
sed -ri 's@%{buildroot}@@g' $html
|
|
|
|
done
|
|
|
|
|
|
|
|
# Bash completion
|
2019-07-16 13:09:04 +02:00
|
|
|
install -Dm 644 %{SOURCE2} %{buildroot}%{_datadir}/bash_completion/completions/%{name}
|
|
|
|
install -Dm 644 %{_builddir}/%{name}-%{version}/share/pkgs/drracket/drracket/drracket.png %{buildroot}%{_datadir}/pixmaps/drracket.png
|
2016-07-25 08:43:18 +02:00
|
|
|
|
2016-07-25 08:44:44 +02:00
|
|
|
# rewrite path in .desktop files
|
2016-07-25 08:43:18 +02:00
|
|
|
|
2019-07-16 13:09:04 +02:00
|
|
|
%suse_update_desktop_file -c drracket "DrRacket" "DrRacket is an interactive, integrated, graphical programming environment for the Racket programming languages" "%{_bindir}/drracket" "drracket" Development IDE
|
|
|
|
%suse_update_desktop_file -c slideshow "Slideshow" "Slideshow is a Racket-based tool for writing slide presentations as programs" "%{_bindir}/slideshow" "drracket" Development Documentation
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2019-04-02 13:13:17 +02:00
|
|
|
# Due package split we do this explicit to support older rpm version as well
|
|
|
|
install -m 0644 ../README %{buildroot}%{_docdir}/%{name}/README
|
|
|
|
|
2019-07-16 13:09:04 +02:00
|
|
|
%fdupes %{buildroot}%{_prefix}
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2016-07-25 08:44:44 +02:00
|
|
|
%post
|
|
|
|
/sbin/ldconfig
|
|
|
|
%desktop_database_post
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2016-07-25 08:44:44 +02:00
|
|
|
%postun
|
|
|
|
/sbin/ldconfig
|
|
|
|
%desktop_database_postun
|
2016-07-25 08:43:18 +02:00
|
|
|
|
2013-02-05 19:30:59 +01:00
|
|
|
%files
|
2019-04-02 13:13:17 +02:00
|
|
|
%doc %dir %{_docdir}/%{name}
|
|
|
|
%doc %{_docdir}/%{name}/README
|
2019-07-16 13:09:04 +02:00
|
|
|
%{_bindir}/drracket
|
|
|
|
%{_bindir}/gracket
|
|
|
|
%{_bindir}/gracket-text
|
|
|
|
%{_bindir}/mred
|
|
|
|
%{_bindir}/mred-text
|
|
|
|
%{_bindir}/mzc
|
|
|
|
%{_bindir}/mzpp
|
|
|
|
%{_bindir}/mzscheme
|
|
|
|
%{_bindir}/mztext
|
|
|
|
%{_bindir}/pdf-slatex
|
|
|
|
%{_bindir}/plt-games
|
|
|
|
%{_bindir}/plt-help
|
|
|
|
%{_bindir}/plt-r5rs
|
|
|
|
%{_bindir}/plt-r6rs
|
|
|
|
%{_bindir}/plt-web-server
|
|
|
|
%{_bindir}/racket
|
|
|
|
%{_bindir}/raco
|
|
|
|
%{_bindir}/scribble
|
|
|
|
%{_bindir}/setup-plt
|
|
|
|
%{_bindir}/slatex
|
|
|
|
%{_bindir}/slideshow
|
|
|
|
%{_bindir}/swindle
|
|
|
|
%{_libdir}/libracket3m-%{version}.so
|
|
|
|
%{_libdir}/%{name}/mzdyn3m.o
|
|
|
|
%{_datadir}/%{name}/*
|
|
|
|
%{_libdir}/%{name}/starter
|
|
|
|
%{_libdir}/%{name}/gracket
|
|
|
|
%{_libdir}/%{name}/starter-sh
|
|
|
|
%{_libdir}/%{name}/*.rktd
|
|
|
|
%{_mandir}/man1/mz*
|
|
|
|
%{_mandir}/man1/racket*
|
|
|
|
%{_mandir}/man1/raco*
|
|
|
|
%{_mandir}/man1/setup-plt*
|
|
|
|
%{_mandir}/man1/drracket*
|
|
|
|
%{_mandir}/man1/gracket*
|
|
|
|
%{_mandir}/man1/mred*
|
|
|
|
%{_mandir}/man1/plt-help*
|
|
|
|
%dir %{_libdir}/%{name}
|
|
|
|
%dir %{_datadir}/%{name}
|
|
|
|
%dir %{_datadir}/bash_completion
|
|
|
|
%dir %{_datadir}/bash_completion/completions
|
|
|
|
%dir %{_sysconfdir}/%{name}
|
|
|
|
%{_datadir}/bash_completion/completions/%{name}
|
|
|
|
%config %{_sysconfdir}/%{name}/config.rktd
|
|
|
|
%{_datadir}/applications/drracket.desktop
|
|
|
|
%{_datadir}/applications/slideshow.desktop
|
|
|
|
%{_datadir}/pixmaps/drracket.png
|
|
|
|
%exclude %{_datadir}/%{name}/pkgs/mzscheme-lib/mzscheme/examples/*
|
2013-02-05 19:30:59 +01:00
|
|
|
|
2019-04-02 13:13:17 +02:00
|
|
|
%files doc
|
|
|
|
%doc %{_docdir}/%{name}/*
|
|
|
|
%exclude %{_docdir}/%{name}/README
|
|
|
|
|
2013-02-05 19:30:59 +01:00
|
|
|
%files devel
|
2019-07-16 13:09:04 +02:00
|
|
|
%{_includedir}/%{name}/*
|
|
|
|
%{_libdir}/%{name}/buildinfo
|
|
|
|
%{_libdir}/libracket3m.so
|
|
|
|
%dir %{_includedir}/%{name}
|
|
|
|
%{_datadir}/%{name}/pkgs/mzscheme-lib/mzscheme/examples/*
|
2016-07-25 08:43:18 +02:00
|
|
|
|
2013-02-05 19:30:59 +01:00
|
|
|
%changelog
|