dev-lang/{ruby,swig,tcl}: import from portage

Just copying the ebuilds from portage/ so hopefully no functional changes.

BUG=chromium-os:26016
TEST=`cbuildbot arm-generic-full` works
TEST=build_packages+build_image for x86-alex boots

Change-Id: Id0fd34f497440b90da07392e9a78c3e98bae3fc1
Reviewed-on: https://gerrit.chromium.org/gerrit/15502
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2012-02-01 18:00:55 -05:00 committed by Gerrit
parent e438e62608
commit c3e2aa44e0
9 changed files with 425 additions and 0 deletions

View File

@ -0,0 +1,2 @@
DIST ruby-1.8.7-p249.tar.bz2 4153461 RMD160 96b238bd7194652ec194a505c2e5911441c5c5ee SHA1 2947f21f22e9345a3e94d84e6f88e7d0fc98a871 SHA256 8b89448fc79df6862660e9f77e884f06c76da28f078d8edd2f17567a615f3af5
DIST ruby-patches-1.8.7_p249.tar.bz2 1499 RMD160 98670658db00a1c4ad563e68bf25263fd7f317fd SHA1 d371f7f25a75ac8626e2e87a570bb52a60579fb8 SHA256 b35ba05fb07c0264a9232e756cd80ff7f284fb8aa464368ce028d67fa11f31af

View File

@ -0,0 +1,180 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.8.7_p249.ebuild,v 1.6 2010/01/13 19:35:57 a3li Exp $
EAPI=1
inherit autotools eutils flag-o-matic multilib versionator
MY_P="${PN}-$(replace_version_separator 3 '-')"
S=${WORKDIR}/${MY_P}
SLOT=$(get_version_component_range 1-2)
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
DESCRIPTION="An object-oriented scripting language"
HOMEPAGE="http://www.ruby-lang.org/"
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.bz2
http://dev.a3li.li/gentoo/distfiles/${PN}-patches-${PV}.tar.bz2"
LICENSE="|| ( Ruby GPL-2 )"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="+berkdb debug doc emacs examples +gdbm ipv6 rubytests socks5 ssl threads tk xemacs"
RDEPEND="
berkdb? ( sys-libs/db )
gdbm? ( sys-libs/gdbm )
ssl? ( dev-libs/openssl )
socks5? ( >=net-proxy/dante-1.1.13 )
tk? ( dev-lang/tk )
>=app-admin/eselect-ruby-20091225
!=dev-lang/ruby-cvs-${SLOT}*
!<dev-ruby/rdoc-2
!dev-ruby/rexml"
DEPEND="${RDEPEND}"
PDEPEND="emacs? ( app-emacs/ruby-mode )
xemacs? ( app-xemacs/ruby-modes )"
PROVIDE="virtual/ruby"
pkg_setup() {
use tk || return
# Note for EAPI-2 lovers: We'd like to show that custom message.
# *If* you can make USE dependencies show that, too, feel free to migrate.
if (use threads && ! built_with_use dev-lang/tk threads) \
|| (! use threads && built_with_use dev-lang/tk threads) ; then
eerror
eerror "You have Tk support enabled."
eerror
eerror "Ruby and Tk need the same 'threads' USE flag settings."
eerror "Either change the USE flag on dev-lang/ruby or on dev-lang/tk"
eerror "and recompile tk."
die "threads USE flag mismatch"
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
epatch "${WORKDIR}/patches-${PV}"
# Fix a hardcoded lib path in configure script
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
configure.in || die "sed failed"
eautoreconf
}
src_compile() {
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
# as it's risky with newer compilers to leave it as it is.
append-flags -fno-strict-aliasing
# Socks support via dante
if use socks5 ; then
# Socks support can't be disabled as long as SOCKS_SERVER is
# set and socks library is present, so need to unset
# SOCKS_SERVER in that case.
unset SOCKS_SERVER
fi
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
fi
# ipv6 hack, bug 168939. Needs --enable-ipv6.
use ipv6 || myconf="--with-lookup-order-hack=INET"
econf --program-suffix=$MY_SUFFIX --enable-shared \
$(use_enable socks5 socks) \
$(use_enable doc install-doc) \
$(use_enable threads pthread) \
--enable-ipv6 \
$(use_enable debug) \
$(use_with berkdb dbm) \
$(use_with gdbm) \
$(use_with ssl openssl) \
$(use_with tk) \
${myconf} \
--with-sitedir=/usr/$(get_libdir)/ruby/site_ruby \
--enable-option-checking=no \
|| die "econf failed"
emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
}
src_test() {
emake -j1 test || die "make test failed"
elog "Ruby's make test has been run. Ruby also ships with a make check"
elog "that cannot be run until after ruby has been installed."
elog
if use rubytests; then
elog "You have enabled rubytests, so they will be installed to"
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
elog "than root, and you must place them into a writeable directory."
elog "Then call: "
elog
elog "ruby -C /location/of/tests runner.rb"
else
elog "Enable the rubytests USE flag to install the make check tests"
fi
}
src_install() {
# Ruby is involved in the install process, we don't want interference here.
unset RUBYOPT
LD_LIBRARY_PATH="${D}/usr/$(get_libdir)"
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${SLOT}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
done
export LD_LIBRARY_PATH RUBYLIB
emake DESTDIR="${D}" install || die "make install failed"
MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitelibdir']")
keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitearchdir']")
if use doc; then
make DESTDIR="${D}" install-doc || die "make install-doc failed"
fi
if use examples; then
dodir /usr/share/doc/${PF}
cp -pPR sample "${D}/usr/share/doc/${PF}"
fi
dosym libruby$MY_SUFFIX$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%.*})
dosym libruby$MY_SUFFIX$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%_*})
dodoc ChangeLog NEWS README* ToDo
if use rubytests; then
dodir /usr/share/${PN}-${SLOT}
cp -pPR test "${D}/usr/share/${PN}-${SLOT}"
fi
}
pkg_postinst() {
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
eselect ruby set ruby${MY_SUFFIX}
fi
elog
elog "To switch between available Ruby profiles, execute as root:"
elog "\teselect ruby set ruby(18|19|...)"
elog
}
pkg_postrm() {
eselect ruby cleanup
}

View File

@ -0,0 +1 @@
DIST swig-1.3.36.tar.gz 4604982 RMD160 bd57f6837de1dc3aebefd9ad23a52235deefcd33 SHA1 eed715da3200f45cfe688a64ab6630eadf118ae4 SHA256 47439796e3332dd6f5f9e2a45a26c5dc2a6bc93461c2e009d7cb493d1816dc1f

View File

@ -0,0 +1,11 @@
--- swig-1.3.36/configure.in 2008-06-24 00:26:07.000000000 +0400
+++ swig-1.3.36-nu/configure.in 2008-08-24 12:45:05.000000000 +0400
@@ -1082,7 +1082,7 @@
if test -n "$MZSCHEME"; then
AC_MSG_CHECKING(for MzScheme dynext object)
-MZDYNOBJ=`$MZSCHEME --mute-banner --version --eval '(begin (require (lib "link.ss" "dynext")) (with-handlers (((lambda args #t) (lambda args #f))) (for-each (lambda (x) (display x) (display " ")) ((current-make-standard-link-libraries)))) (with-handlers (((lambda args #t) (lambda args #f))) (for-each (lambda (x) (display x) (display " ")) (expand-for-link-variant (current-standard-link-libraries)))))'`
+MZDYNOBJ=`$MZSCHEME --eval '(begin (require dynext/link) (with-handlers (((lambda args #t) (lambda args #f))) (for-each (lambda (x) (printf "~a " x)) (expand-for-link-variant (current-standard-link-libraries)))))'`
AC_MSG_RESULT($MZDYNOBJ)
fi
fi

View File

@ -0,0 +1,83 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swig/swig-1.3.36.ebuild,v 1.7 2009/03/02 19:05:23 armin76 Exp $
inherit flag-o-matic mono eutils #48511
DESCRIPTION="Simplified Wrapper and Interface Generator"
HOMEPAGE="http://www.swig.org/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="as-is"
SLOT="0"
KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE="chicken clisp doc guile java lua mono mzscheme ocaml octave perl php pike python R ruby tcl tk" #gcj
RESTRICT="test"
DEPEND="
chicken? ( dev-scheme/chicken )
clisp? ( dev-lisp/clisp )
guile? ( dev-scheme/guile )
java? ( virtual/jdk )
lua? ( dev-lang/lua )
mono? ( dev-lang/mono )
mzscheme? ( dev-scheme/plt-scheme )
perl? ( dev-lang/perl )
php? ( virtual/php )
pike? ( dev-lang/pike )
python? ( virtual/python )
R? ( dev-lang/R )
ocaml? ( dev-lang/ocaml )
octave? ( sci-mathematics/octave )
ruby? ( virtual/ruby )
tcl? ( dev-lang/tcl )
tk? ( dev-lang/tk )
"
# gcj? ( sys-devel/gcc[+gcj] )
src_unpack() {
unpack ${A};cd "${S}"
if has_version '>=dev-scheme/plt-scheme-4'; then
epatch "${FILESDIR}"/fix-for-PLT4.patch
./autogen.sh
fi
}
src_compile() {
strip-flags
local myconf
if use ruby ; then
local rubyver=$(ruby --version | cut -d '.' -f 1,2)
export RUBY="/usr/$(get_libdir)/ruby/${rubyver/ruby /}/"
fi
econf \
$(use_with chicken) \
$(use_with clisp) \
$(use_with guile) \
$(use_with java java "${JAVA_HOME}") \
$(use_with java javaincl "${JAVA_HOME}/include") \
$(use_with lua) \
$(use_with mono csharp) \
$(use_with mzscheme) \
$(use_with ocaml) \
$(use_with octave) \
$(use_with perl perl5 /usr/bin/perl) \
$(use_with php php4) \
$(use_with pike) \
$(use_with python) \
$(use_with R r) \
$(use_with ruby ruby /usr/bin/ruby) \
$(use_with tk x) \
$(use_with tcl) \
|| die
emake || die
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc ANNOUNCE CHANGES CHANGES.current FUTURE NEW README TODO
use doc && dohtml -r Doc/{Devel,Manual}
}

View File

@ -0,0 +1 @@
DIST tcl8.5.7-src.tar.gz 4421720 RMD160 1bb843548c05332eb3404b99b4800613f25a9dbf SHA1 a603d27bf0b854739c99f0d658bfc3f1c485f578 SHA256 67d28d51a8d04c37114030276503bc8859a4b291bc33133556ab2d11303e66f2

View File

@ -0,0 +1,24 @@
diff -Naur tcl8.5a6.orig/unix/configure tcl8.5a6/unix/configure
--- tcl8.5a6.orig/unix/configure 2007-04-27 02:33:51.000000000 +0900
+++ tcl8.5a6/unix/configure 2007-05-16 10:27:25.000000000 +0900
@@ -17623,7 +17623,7 @@
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
PRIVATE_INCLUDE_DIR='$(includedir)'
HTML_DIR='$(DISTDIR)/html'
diff -Naur tcl8.5a6.orig/unix/configure.in tcl8.5a6/unix/configure.in
--- tcl8.5a6.orig/unix/configure.in 2007-04-27 02:33:51.000000000 +0900
+++ tcl8.5a6/unix/configure.in 2007-05-16 10:27:25.000000000 +0900
@@ -645,7 +645,7 @@
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
PRIVATE_INCLUDE_DIR='$(includedir)'
HTML_DIR='$(DISTDIR)/html'

View File

@ -0,0 +1,11 @@
--- tcl8.5a6.orig/unix/tcl.m4 2007-04-27 02:33:51.000000000 +0900
+++ tcl8.5a6/unix/tcl.m4 2007-05-16 10:46:31.000000000 +0900
@@ -1425,7 +1425,7 @@
# get rid of the warnings.
#CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
DL_OBJS="tclLoadDl.o"
DL_LIBS="-ldl"
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"

View File

@ -0,0 +1,112 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.7.ebuild,v 1.11 2009/10/06 17:33:00 armin76 Exp $
WANT_AUTOCONF=latest
WANT_AUTOMAKE=latest
inherit autotools eutils flag-o-matic multilib toolchain-funcs
MY_P="${PN}${PV/_beta/b}"
DESCRIPTION="Tool Command Language"
HOMEPAGE="http://www.tcl.tk/"
SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="debug threads"
DEPEND=""
S="${WORKDIR}/${MY_P}"
pkg_setup() {
if use threads ; then
ewarn ""
ewarn "PLEASE NOTE: You are compiling ${P} with"
ewarn "threading enabled."
ewarn "Threading is not supported by all applications"
ewarn "that compile against tcl. You use threading at"
ewarn "your own discretion."
ewarn ""
epause 5
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PN}-8.5_alpha6-multilib.patch
# Bug 125971
epatch "${FILESDIR}"/${PN}-8.5_alpha6-tclm4-soname.patch
cd "${S}"/unix
eautoreconf
}
src_compile() {
# workaround stack check issues, bug #280934
if use hppa; then
append-cflags "-DTCL_NO_STACK_CHECK=1"
fi
tc-export CC
cd "${S}"/unix
econf \
$(use_enable threads) \
$(use_enable debug symbols) || die
emake || die
}
src_install() {
#short version number
local v1
v1=${PV%.*}
cd "${S}"/unix
S= emake DESTDIR="${D}" install || die
# fix the tclConfig.sh to eliminate refs to the build directory
local mylibdir=$(get_libdir) ; mylibdir=${mylibdir//\/}
sed -i \
-e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L$/usr/${mylibdir}," \
-e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='/usr/${mylibdir}/tcl${v1}/include'," \
-e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L/usr/${mylibdir}," \
-e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='/usr/${mylibdir}," \
-e "s,^TCL_LIB_FILE='libtcl${v1}..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl${v1}\$\{TCL_DBGX\}.so\"," \
-e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/${mylibdir}'," \
-e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/${mylibdir}'," \
"${D}"/usr/${mylibdir}/tclConfig.sh || die
# install private headers
insinto /usr/${mylibdir}/tcl${v1}/include/unix
doins "${S}"/unix/*.h || die
insinto /usr/${mylibdir}/tcl${v1}/include/generic
doins "${S}"/generic/*.h || die
rm -f "${D}"/usr/${mylibdir}/tcl${v1}/include/generic/tcl.h
rm -f "${D}"/usr/${mylibdir}/tcl${v1}/include/generic/tclDecls.h
rm -f "${D}"/usr/${mylibdir}/tcl${v1}/include/generic/tclPlatDecls.h
# install symlink for libraries
dosym libtcl${v1}.so /usr/${mylibdir}/libtcl.so
dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a
dosym tclsh${v1} /usr/bin/tclsh
cd "${S}"
dodoc ChangeLog* README changes
}
pkg_postinst() {
ewarn
ewarn "If you're upgrading from <dev-lang/tcl-8.5, you must recompile the other"
ewarn "packages on your system that link with tcl after the upgrade"
ewarn "completes. To perform this action, please run revdep-rebuild"
ewarn "in package app-portage/gentoolkit."
ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should"
ewarn "upgrade them before this recompilation, too,"
ewarn
}