summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/gnu-smalltalk/ChangeLog8
-rw-r--r--dev-lang/gnu-smalltalk/files/digest-gnu-smalltalk-2.3.33
-rw-r--r--dev-lang/gnu-smalltalk/files/gst-stack-2.3.3.patch44
-rw-r--r--dev-lang/gnu-smalltalk/gnu-smalltalk-2.3.3.ebuild76
4 files changed, 130 insertions, 1 deletions
diff --git a/dev-lang/gnu-smalltalk/ChangeLog b/dev-lang/gnu-smalltalk/ChangeLog
index 90dacf0b1747..e636a992cdd4 100644
--- a/dev-lang/gnu-smalltalk/ChangeLog
+++ b/dev-lang/gnu-smalltalk/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/gnu-smalltalk
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnu-smalltalk/ChangeLog,v 1.26 2007/02/05 05:52:09 araujo Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnu-smalltalk/ChangeLog,v 1.27 2007/02/22 09:38:34 araujo Exp $
+
+*gnu-smalltalk-2.3.3 (22 Feb 2007)
+
+ 22 Feb 2007; Luis F. Araujo <araujo@gentoo.org>
+ +files/gst-stack-2.3.3.patch, +gnu-smalltalk-2.3.3.ebuild:
+ New package version. This version fixes bug #158434
*gnu-smalltalk-2.3.2 (05 Feb 2007)
diff --git a/dev-lang/gnu-smalltalk/files/digest-gnu-smalltalk-2.3.3 b/dev-lang/gnu-smalltalk/files/digest-gnu-smalltalk-2.3.3
new file mode 100644
index 000000000000..3ba15e409d05
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/files/digest-gnu-smalltalk-2.3.3
@@ -0,0 +1,3 @@
+MD5 79eaff2e19b82b5da08ac5a939317a49 smalltalk-2.3.3.tar.gz 4302098
+RMD160 c6773820e439e74d5e92d903c610a674f55a6f27 smalltalk-2.3.3.tar.gz 4302098
+SHA256 5b6adfd3ec265b9156d2d6f9ffb1d6b5044b5f5e8a43645bcd005580bb2e329d smalltalk-2.3.3.tar.gz 4302098
diff --git a/dev-lang/gnu-smalltalk/files/gst-stack-2.3.3.patch b/dev-lang/gnu-smalltalk/files/gst-stack-2.3.3.patch
new file mode 100644
index 000000000000..703bf77e83de
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/files/gst-stack-2.3.3.patch
@@ -0,0 +1,44 @@
+diff -urpNw smalltalk-2.3.3/libffi/src/powerpc/linux64.S smalltalk-2.3.3.chg/libffi/src/powerpc/linux64.S
+--- smalltalk-2.3.3/libffi/src/powerpc/linux64.S 2006-02-05 14:41:31.000000000 -0400
++++ smalltalk-2.3.3.chg/libffi/src/powerpc/linux64.S 2007-02-22 04:28:59.000000000 -0400
+@@ -175,3 +175,7 @@ ffi_call_LINUX64:
+ .align 3
+ .LEFDE1:
+ #endif
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -urpNw smalltalk-2.3.3/libffi/src/powerpc/sysv.S smalltalk-2.3.3.chg/libffi/src/powerpc/sysv.S
+--- smalltalk-2.3.3/libffi/src/powerpc/sysv.S 2006-02-05 14:41:31.000000000 -0400
++++ smalltalk-2.3.3.chg/libffi/src/powerpc/sysv.S 2007-02-22 04:29:32.000000000 -0400
+@@ -217,3 +217,7 @@ END(ffi_call_SYSV)
+ .align 2
+ .LEFDE1:
+ #endif
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -urpNw smalltalk-2.3.3/libffi/src/x86/sysv.S smalltalk-2.3.3.chg/libffi/src/x86/sysv.S
+--- smalltalk-2.3.3/libffi/src/x86/sysv.S 2006-02-05 14:41:32.000000000 -0400
++++ smalltalk-2.3.3.chg/libffi/src/x86/sysv.S 2007-02-22 04:30:32.000000000 -0400
+@@ -376,3 +376,7 @@ ffi_closure_raw_SYSV:
+ #endif
+
+ #endif /* ifndef __x86_64__ */
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -urpNw smalltalk-2.3.3/libffi/src/x86/unix64.S smalltalk-2.3.3.chg/libffi/src/x86/unix64.S
+--- smalltalk-2.3.3/libffi/src/x86/unix64.S 2006-02-05 14:41:32.000000000 -0400
++++ smalltalk-2.3.3.chg/libffi/src/x86/unix64.S 2007-02-22 04:30:24.000000000 -0400
+@@ -410,3 +410,7 @@ ffi_closure_unix64:
+ .LEFDE3:
+
+ #endif /* __x86_64__ */
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/dev-lang/gnu-smalltalk/gnu-smalltalk-2.3.3.ebuild b/dev-lang/gnu-smalltalk/gnu-smalltalk-2.3.3.ebuild
new file mode 100644
index 000000000000..ecdd1bfb6caf
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/gnu-smalltalk-2.3.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnu-smalltalk/gnu-smalltalk-2.3.3.ebuild,v 1.1 2007/02/22 09:38:34 araujo Exp $
+
+inherit multilib elisp-common flag-o-matic eutils toolchain-funcs
+
+DESCRIPTION="GNU Smalltalk"
+HOMEPAGE="http://www.gnu.org/software/smalltalk/smalltalk.html"
+SRC_URI="http://ftp.gnu.org/gnu/smalltalk/smalltalk-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~sparc ~x86 ~amd64"
+IUSE="tk readline emacs gtk gmp"
+
+DEPEND="sys-libs/gdbm
+ sys-apps/debianutils
+ emacs? ( virtual/emacs )
+ readline? ( sys-libs/readline )
+ tk? ( dev-lang/tk )
+ gtk? ( =x11-libs/gtk+-2* )
+ gmp? ( dev-libs/gmp )"
+RDEPEND=""
+
+S=${WORKDIR}/smalltalk-${PV}
+
+SITEFILE=50gnu-smalltalk-gentoo.el
+
+src_unpack() {
+ unpack ${A}
+ epatch ${FILESDIR}/gst-stack-${PV}.patch
+ sed -i "s:\$(DESTDIR)\$(bindir)/gst \$\$srcdir/Finish.st \-VisqS \-a \"\$(DESTDIR)\" \$(MODULES): :" ${S}/Makefile.am
+ sed -i "s:\$(DESTDIR)\$(bindir)/gst \$\$srcdir/Finish.st \-VisqS \-a \"\$(DESTDIR)\" \$(MODULES): :" ${S}/Makefile.in
+ # Fix gst-{load, sunit, reload} script paths.
+ sed -i "s: @bindir@:/usr/bin:" ${S}/scripts/Reload.st ${S}/scripts/Load.st ${S}/scripts/Test.st
+}
+
+src_compile() {
+ replace-flags '-O3' '-O2'
+ ./configure --prefix=/usr \
+ `use_with emacs emacs` \
+ `use_with readline readline` \
+ `use_with gmp gmp` \
+ `use_with tk tcl /usr/$(get_libdir)` \
+ `use_with tk tk /usr/$(get_libdir)` \
+ `use_enable gtk gtk` \
+ || die
+ emake || die "emake failed"
+ use emacs && elisp-compile *.el
+}
+
+src_install() {
+ make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info \
+ lispdir=${D}/usr/share/emacs/site-lisp/gnu-smalltalk install \
+ || die
+ rm -rf ${D}/usr/include/sigsegv.h \
+ ${D}/usr/include/snprintfv \
+ ${D}/usr/share/aclocal/snprintfv.m4
+ dodoc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
+ rm -rf ${D}/var
+ if use emacs; then
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install ${FILESDIR}/${SITEFILE}
+ fi
+ fperms 0444 /usr/share/smalltalk/packages.xml
+}
+
+pkg_postinst() {
+ einfo "We generate a GNU SmallTalk Image with the right image kernel path."
+ cd /usr/share/smalltalk/
+ /usr/bin/gst -iQ /dev/null
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}