# # spec file for package racket # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # 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: 6.6 Release: 0 Summary: Scheme implementation with teaching tools License: LGPL-2.1+ and GPL-3.0+ Group: Development/Languages/Scheme Url: http://racket-lang.org Source0: http://download.racket-lang.org/installers/%version/%name-%version-src.tgz Source2: racket-completion.bash Source3: racket-5.3.rpmlintrc # PATCH-FIX-UPSTREAM aarch64 support for gc Patch1: gc-aarch64.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: ImageMagick BuildRequires: chrpath BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: ghostscript-fonts-std BuildRequires: libexpat1 BuildRequires: libjpeg-devel BuildRequires: librsvg-devel BuildRequires: libtool BuildRequires: update-desktop-files BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pixman-1) >= 0.22.0 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) Provides: %name-drracket = %version-%release Provides: %name-games = %version-%release Provides: %name-webserver = %version-%release # 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 devel Summary: Development header files for Racket 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 Racket. %prep %setup -q %patch1 -p1 cp %{S:2} src/. %build cd src %configure --enable-shared --disable-static --docdir="%_defaultdocdir/%name" --collectsdir="%_datadir/%name/collects" --disable-strip --enable-places --enable-lt="%_bindir/libtool" make %{?_smp_mflags} VERBOSE=1 %install cd src # use the following if setting extra plt_setup options # export LD_LIBRARY_PATH=%%buildroot%%_libdir # export PLT_SETUP_OPTIONS="-j 1 " install -d %buildroot/%_datadir/doc/%name/ %make_install find %buildroot -type f -size 0 -delete # we do not need *.la and *.a files find %buildroot%_libdir -name "*.la" -delete find %buildroot%_libdir -name "*.a" -delete install -Dm 644 %{S:2} %buildroot%_sysconfdir/bash_completion.d/%name install -Dm 644 %_builddir/%name-%version/share/pkgs/drracket/drracket/drracket.png %buildroot%_datadir/pixmaps/drracket.png # rewrite path in .desktop files %suse_update_desktop_file -c drracket "DrRacket" "DrRacket is an interactive, integrated, graphical programming environment for the Racket programming languages" "%_bindir/drracket -singleInstance" "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 %fdupes %buildroot%_prefix %post /sbin/ldconfig %desktop_database_post %postun /sbin/ldconfig %desktop_database_postun %files %defattr(-,root,root,-) %doc README %doc %{_docdir}/%{name} %_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/*.so %_libdir/%name/mzdyn3m.o %_datadir/%name/* %dir %_datadir/%name/collects %_libdir/%name/starter %_libdir/%name/gracket %_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 %_sysconfdir/bash_completion.d/ %dir %_sysconfdir/%name %_sysconfdir/bash_completion.d/%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/* %files devel %defattr(-,root,root,-) %_includedir/%name/* %_libdir/%name/buildinfo %dir %_includedir/%name %_datadir/%name/pkgs/mzscheme-lib/mzscheme/examples/* %changelog