summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyprien Nicolas (fulax) <c.nicolas+gentoo@gmail.com>2010-10-07 15:37:41 +0200
committerChema Alonso Josa <nimiux@gentoo.org>2018-03-09 22:33:25 +0100
commit0a4523514adc4cf2e875faf7c3d33fec7825e984 (patch)
tree0d8f08fa391de2f90ccc82fa4fce7373d8e3de77 /dev-scheme
parentdev-scheme/hop: Improve init scripts, fix LDFLAGS issue (diff)
downloadlisp-0a4523514adc4cf2e875faf7c3d33fec7825e984.tar.gz
lisp-0a4523514adc4cf2e875faf7c3d33fec7825e984.tar.bz2
lisp-0a4523514adc4cf2e875faf7c3d33fec7825e984.zip
dev-scheme/racket: Import from bug #324161. EXPERIMENTAL ebuild w/ several QA issues (LDFLAGS, unknown configure args...). Thanks to Dimitry Dzhus for the ebuild and patches
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/racket/Manifest5
-rw-r--r--dev-scheme/racket/files/racket-5.0.1-hack_makefile_in_temp01.patch37
-rw-r--r--dev-scheme/racket/files/racket-5.0.1-libpng14.patch15
-rw-r--r--dev-scheme/racket/metadata.xml44
-rw-r--r--dev-scheme/racket/racket-5.0.1.ebuild144
5 files changed, 245 insertions, 0 deletions
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest
new file mode 100644
index 00000000..f2770d7c
--- /dev/null
+++ b/dev-scheme/racket/Manifest
@@ -0,0 +1,5 @@
+AUX racket-5.0.1-hack_makefile_in_temp01.patch 1496 RMD160 2df57dd0df6c6322cf8beb06e57bd34f3214594e SHA1 cbf9dce59a4abe286edd01d20999c3523a750732 SHA256 e84c7dd9c2dbd8b934bf7fa6a5ce2fded5378d4f848b42681d0563d4d9d427cc
+AUX racket-5.0.1-libpng14.patch 603 RMD160 bc4aab23dcd4fffecaadefbeda138080ddeb4f8d SHA1 2cf4b73023b58e452439e676916ad94b67daddcf SHA256 542538613d34fdfc2339f963646a8e06c5f67bf7c0f4fc3a78c85deec511e9b7
+DIST racket-5.0.1-src-unix.tgz 17272590 RMD160 002d70134b7c7fe2121cc854c9a08a9b9b92a21a SHA1 3109294115184c96d260fef4458a866975a7c847 SHA256 763b5d6615b66c088d00b789e729cfdae75770d5f13d7e2d4508e5ddd7ff7fa1
+EBUILD racket-5.0.1.ebuild 3952 RMD160 9e67780579ec2266d8251ca3cb0c3e327ba17541 SHA1 719922b434a362628bba929e1fe1f935670a58e0 SHA256 4df8275f33175b58cb720ad4ff09fe16afbbb2c6000789e07393d395a5eecd5b
+MISC metadata.xml 1508 RMD160 73a7aeec4609fdb108509c9a6521c798f8b8d3b3 SHA1 d260976ba6cfaeb3228ed6a6aee1969ebdd8c033 SHA256 a1c899401b66a837b786e12806930365ffd40fa0e54806053833be742474df50
diff --git a/dev-scheme/racket/files/racket-5.0.1-hack_makefile_in_temp01.patch b/dev-scheme/racket/files/racket-5.0.1-hack_makefile_in_temp01.patch
new file mode 100644
index 00000000..3164d9fa
--- /dev/null
+++ b/dev-scheme/racket/files/racket-5.0.1-hack_makefile_in_temp01.patch
@@ -0,0 +1,37 @@
+diff -u -r a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2010-03-17 20:22:06.000000000 +0200
++++ b/Makefile.in 2010-04-18 22:23:49.000000000 +0300
+@@ -60,9 +60,6 @@
+ $(MAKE) install-@MAIN_VARIANT@
+
+ plain-install:
+- if [ "$(DESTDIR)" != "" ]; then \
+- echo "cannot use plain-install with DESTDIR=$(DESTDIR)"; exit 1; \
+- fi
+ $(MAKE) plain-install-@MAIN_VARIANT@
+
+ install-common-first:
+diff -u -r a/gracket/Makefile.in b/gracket/Makefile.in
+--- a/gracket/Makefile.in 2010-03-17 20:22:01.000000000 +0200
++++ b/gracket/Makefile.in 2010-04-19 14:50:10.000000000 +0300
+@@ -280,8 +280,6 @@
+ $(MAKE) install-@WXVARIANT@-post-collects
+
+ install-common:
+- cd ..; rm -f "$(DESTDIR)$(bindir)/gracket@CGC_INSTALLED@"
+- cd ..; rm -f "$(DESTDIR)$(bindir)/gracket@MMM_INSTALLED@"
+ cd ..; echo 'CXX=@CXX@' >> $(BUILDINFO)
+ cd ..; echo 'CXXFLAGS=@CXXFLAGS@ @PREFLAGS@ @COMPFLAGS@' >> $(BUILDINFO)
+ cd ..; echo 'MROPTIONS=@MROPTIONS@' >> $(BUILDINFO)
+diff -u -r a/racket/Makefile.in b/racket/Makefile.in
+--- a/racket/Makefile.in 2010-03-17 20:22:06.000000000 +0200
++++ b/racket/Makefile.in 2010-04-19 14:49:49.000000000 +0300
+@@ -277,8 +277,6 @@
+ # have to go up and install things from there.
+
+ unix-install:
+- cd ..; rm -f "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
+- cd ..; rm -f "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
+ cd ..; cp racket/starter "$(DESTDIR)$(libpltdir)/starter"
+ cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(libpltdir)/starter"
+ cd ..; echo 'CC=@CC@' > "$(BUILDINFO)"
diff --git a/dev-scheme/racket/files/racket-5.0.1-libpng14.patch b/dev-scheme/racket/files/racket-5.0.1-libpng14.patch
new file mode 100644
index 00000000..7f5d68c1
--- /dev/null
+++ b/dev-scheme/racket/files/racket-5.0.1-libpng14.patch
@@ -0,0 +1,15 @@
+diff -u -r a/plt-4.2.5/src/wxcommon/wxJPEG.cxx b/plt-4.2.5/src/wxcommon/wxJPEG.cxx
+--- a/plt-4.2.5/src/wxcommon/wxJPEG.cxx 2010-03-17 20:22:03.000000000 +0200
++++ b/plt-4.2.5/src/wxcommon/wxJPEG.cxx 2010-05-11 18:16:06.000000000 +0300
+@@ -726,7 +726,11 @@
+ png_set_strip_16(png_ptr);
+
+ /* Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel */
++ #if PNG_LIBPNG_VER < 10400
+ png_set_gray_1_2_4_to_8(png_ptr);
++ #else
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
++ #endif
+ }
+
+ /* Set the background color to draw transparent and alpha images over.
diff --git a/dev-scheme/racket/metadata.xml b/dev-scheme/racket/metadata.xml
new file mode 100644
index 00000000..3c8816ba
--- /dev/null
+++ b/dev-scheme/racket/metadata.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>scheme</herd>
+ <longdescription lang="en">
+ Racket, formerly known as PLT Scheme(DrScheme) is an interactive,
+ integrated, graphical programming environment for the Scheme,
+ MzScheme, and MrEd programming languages.
+
+ It provides source highlighting for syntax and run-time errors,
+ support for multiple language levels, an algebraic stepper, objects,
+ modules, a GUI library, TCP/IP, and much more. It includes an
+ extensive, hyper-linked help system called Help Desk.
+ </longdescription>
+ <use>
+ <flag name='slatex'>
+ Add slatex mzscheme scripts and texmf file for slatex support
+ </flag>
+ <flag name='futures'>
+ Enable futures support
+ </flag>
+ <flag name='places'>
+ Enable places support
+ </flag>
+ <flag name='foreign'>
+ Build with (unfortunately bundled) libffi
+ </flag>
+ <flag name='plain'>
+ Do plain installation without rebuilding plt-scheme's
+ collects(experimental)
+ </flag>
+ <flag name='sgc'>
+ Compile and install additional executables which use the conservative
+ garbage collector(Senora, instead of Boehm)
+ </flag>
+ <flag name='backtrace'>
+ Support GC backtrace dumps
+ </flag>
+ <flag name='cgc'>
+ Compile and install additional executables which use the conservative
+ garbage collector(Boehm)
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-scheme/racket/racket-5.0.1.ebuild b/dev-scheme/racket/racket-5.0.1.ebuild
new file mode 100644
index 00000000..27331719
--- /dev/null
+++ b/dev-scheme/racket/racket-5.0.1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="Programming environment based on Scheme."
+SRC_URI="http://download.racket-lang.org/installers/${PV}/${PN}/${P}-src-unix.tgz"
+HOMEPAGE="http://www.racket-lang.org"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="-backtrace cairo cgc doc opengl profile X slatex sgc -futures -places +foreign static -plain"
+# jit
+RDEPEND="X? ( x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXft
+ x11-libs/libXrender
+ media-libs/jpeg
+ media-libs/libpng
+ opengl? ( virtual/opengl )
+ cairo? ( x11-libs/cairo[X] ) )
+ slatex? ( virtual/latex-base )
+ !dev-scheme/plt-scheme"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/plt-${PV}/src/build"
+ECONF_SOURCE="${S}/.."
+MY_PNUM="01"
+
+pkg_setup() {
+ if use cgc && use sgc ; then
+ die "You cannot use both cgc and sgc USE flags, you have to choose one of them"
+ fi
+ for my_flag in backtrace futures places
+ do
+ if use "${my_flag}" ; then
+ ewarn "${my_flag} USE flag is known that may make ${P} compilation"
+ ewarn "to fail. Please remove it, if the ebuild fails for you. "
+ fi
+ done
+ if use cairo || use opengl ; then
+ if ! use X ; then
+ ewarn "cairo and opengl USE flags support features that are disabled"
+ ewarn "by ${P} build system when you haven't enabled the X USE flag."
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ mkdir -v "${S}" || die "failed to create build dir"
+}
+
+src_prepare() {
+ #( cd .. && rm -Rv wxcommon && rm -Rv foreign ) \
+ #|| die "failed to remove dir of bundled libraries"
+ #rm -Rv ../wxcommon/{jpeg,libpng,zlib} ../../collects \
+ #|| die "failed to remove dir of bundled libraries"
+ #rm -Rv ../wxcommon/{jpeg,libpng,zlib} ../wxxt \
+ rm -Rv ../wxcommon/{jpeg,libpng,zlib} \
+ || die "failed to remove dir of bundled libraries"
+ sed -i -e "s/docdir=\"\${datadir}\/racket\/doc\"/docdir=\"\${datadir}\/doc\/${PF}\"/" ../configure || die "sed failed"
+ pushd ..
+ epatch "${FILESDIR}/${P}-hack_makefile_in_temp${MY_PNUM}.patch"
+ epatch "${FILESDIR}/${P}-libpng14.patch"
+ popd
+ #sed -i -e 's/#! \/bin\/sh/#! \/bin\/sh -x/g' ../configure \
+ #|| die "sed failed"
+}
+
+src_configure() {
+ local myconf=""
+ if use static; then
+ myconf="--disable-shared"
+ else
+ myconf="--enable-shared"
+ fi
+ econf \
+ $(use_enable doc docs) \
+ $(use_enable X gracket) \
+ $(use_enable X xrender) \
+ $(use_enable X xft) \
+ $(use_enable opengl gl) \
+ $(use_enable cairo) \
+ $(use_enable profile gprof) \
+ $(use_enable backtrace) \
+ $(use_enable sgc) \
+ $(use_enable futures) \
+ $(use_enable places) \
+ $(use_enable foreign) \
+ --enable-jit \
+ --enable-libpng \
+ --enable-libjpeg \
+ --enable-pthread \
+ --enable-account \
+ --disable-sgcdebug \
+ --disable-compact \
+ --disable-smalloskit \
+ --disable-oskit \
+ --disable-wbuild \
+ --disable-perl \
+ $(use_with X x) \
+ ${myconf} \
+ || die "Configure script failed"
+}
+
+src_compile() {
+ emake || die "emake default target(3m) failed"
+ if use cgc || use sgc ; then
+ time emake cgc || die "emake cgc-install target failed"
+ fi
+}
+
+src_install() {
+ local pla1n=""
+ if use plain; then
+ pla1n="plain-"
+ fi
+ time emake DESTDIR="${D}" "${pla1n}"install || die "emake install failed"
+ if use cgc || use sgc ; then
+ time emake DESTDIR="${D}" "${pla1n}"install-cgc || die "emake cgc target failed"
+ fi
+ if use X; then
+ newicon ../../collects/icons/PLT-206.png drscheme.png
+ make_desktop_entry drscheme "DrScheme" drscheme "Development"
+ fi
+ # deal with slatex
+ if use slatex; then
+ if ! use plain; then
+ pushd "${D}"/usr/bin
+ { rename slatex plt-slatex slatex* && rename pdf-slatex plt-pdf-slatex pdf-slatex* ; } || die "Failed to rename slatex* to plt-slatex*"
+ popd
+ fi
+ insinto /usr/share/texmf/tex/latex/slatex/
+ newins ../../collects/slatex/slatex.sty plt-slatex.sty
+ else
+ if ! use plain; then
+ rm -Rfv "${D}"/usr/bin/*slatex* || die "Failed to delete slatex files"
+ fi
+ fi
+}