Changeset - 9ccc0bcc6676
[Not reviewed]
default
0 0 7
Nathan Brink (binki) - 14 years ago 2011-01-10 21:44:19
ohnobinki@ohnopublishing.net
dev-lang/spidermonkey: Import spidermonkey-1.7.0-r2 because elinks needs an older version of spidermonkey and old versions of spidermonkey call $(LD) directly, breaking portage-multilib.

(Portage version: 2.2.0_alpha11-r1/hg/Linux x86_64, signed Manifest commit with key 6BA81050)
7 files changed with 292 insertions and 0 deletions:
0 comments (0 inline, 0 general)
dev-lang/spidermonkey/Manifest
Show inline comments
 
new file 100644
 
-----BEGIN PGP SIGNED MESSAGE-----
 
Hash: SHA256
 

	
 
AUX spidermonkey-1.5-build.patch 3457 RMD160 323b186d6be267bce42f15fe0694b8c17d1e927d SHA1 995708c8cbd03ed690505fab70a54349d4b94d09 SHA256 04a2b3b1b85825f463c6eb703d32e66747e2a8cca81b0026b958862eb1248fdb
 
AUX spidermonkey-1.6-header.patch 270 RMD160 ff656884925470695542b2b9412a130c72577f3a SHA1 6039b01f565b2bf2c20490a52b99b52796057b61 SHA256 e81acd7ba025214b2ecfa5918a1652e4590eaca39307c4e8d9f5d949d315373e
 
AUX spidermonkey-1.7.0-ldflags.patch 679 RMD160 8526ab33d971a4e6d836ace41d522e63c378d6f3 SHA1 929953bca09960d6f2762749f0cc969a5e58b6ba SHA256 bbea50178ad2569f9fbbf449f1727851cb51a67766568847cc2c208c45d43f29
 
AUX spidermonkey-1.7.0-threadsafe.diff 513 RMD160 894fd8791cdf3156031e4cb370a0de40ce53cdf2 SHA1 cd4d61468ca2fdd1f90b6bb207ebf46427261166 SHA256 3e41354e093efce3fe897814bc490aa45e17c9d6d0ca6ae7f9f1550b85be89e9
 
DIST js-1.7.0.tar.gz 1165607 RMD160 6eadf1ac7c10a13b3db3d499856c9e18ddbcdfdb SHA1 1a99e8e10cb6600a03ea98895583a8ed42136d1f SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b
 
EBUILD spidermonkey-1.7.0-r2.ebuild 1675 RMD160 75845ebfbee8619ae5c68ae8e205ac53fccf9b0c SHA1 fcea2ee5b9b84470b2f7814ddb6bcab92b8bd953 SHA256 90322c330a144e4cb919c1046ea9deec26d148bfa233d129ddef7aab75c64216
 
MISC metadata.xml 523 RMD160 b40a1ffd94bc32fd5045b99160481c2b95d69d30 SHA1 91eb56541e242621c81e38eb9e9f0c4dea6f099f SHA256 876e7996ea990b78088ea8ef1f0445658fea0bb7cf0a1e07cd1db2bae870307f
 
-----BEGIN PGP SIGNATURE-----
 
Version: GnuPG v2.0.14 (GNU/Linux)
 

	
 
iQIcBAEBCAAGBQJNK8QDAAoJEHQ6UuhrqBBQNWQQAKajQTpQY9TgXxQcafZKv4jA
 
Xq48b3fODBJB7zfbrRSgV26I4EtZFc+HI0FE//tgA21ifx3VDvw2O86vp1PVbsbJ
 
ISHljTSuRlP+YloKXfKeNQUnO4c1mTrK9J7/ZkNaO/YFoacwbIHrJQnMWQK3wefC
 
D0lH6do9F3Wtk7MGfejtdK/Eo3eZrj+rC1ncOvHYgqA6GmzUQM+8jKptFQQ9xxml
 
F7sZihiXMILAyJoqxVjPfNBapWp+N+Xhthzxn60crbDUKqsWDjyae+MoSefH67Ow
 
cjxkeuvkO9sG9ahDmzDTK7edUf9k40zAJYPxhZOW596qpHVdqMWqDbmU/Y1VmaE2
 
3KujdHCXr+d+NSSCb86T2y0z4iWgTQMbsTX5AmQaglj3+TTg+Otz+i6Kkef7n+hv
 
L/xBl8ZC7aV0yOO/SDuK78Zq+JRSRC4cxPBusWGi2eZkgzhvdJaJ1fsSJrf7uNge
 
8mIrzOngnQxHJ9scAkYP4NUMq0Z1zBkeeMSbpa8i29/X8GAPt4IczWF4eTlyrewb
 
hQSKnZ3G2ocxTpvLoQA7/Y4YjTfhMRAkap6qr2pbmMObYTuwAdy2Qm1tJIkg4mjE
 
Mty7wku4OOBq2vdVBn+0M9Ic1exxBylfk4gBJ+EXkccK8Xy9ozHB+LJZxi/gPCXq
 
wTDuAHPKt6hR8t+WAnSr
 
=ASZ8
 
-----END PGP SIGNATURE-----
dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch
Show inline comments
 
new file 100644
 
--- js/src/Makefile.ref
 
+++ js/src/Makefile.ref
 
@@ -127,7 +127,7 @@ endif 
 
 ifdef JS_READLINE
 
 # For those platforms with the readline library installed.
 
 DEFINES += -DEDITLINE
 
-PROG_LIBS += -lreadline -ltermcap
 
+PROG_LIBS += -lreadline
 
 else
 
 ifdef JS_EDITLINE
 
 # Use the editline library, built locally.
 
@@ -370,3 +370,16 @@ TARFILES = files `cat files`
 
 SUFFIXES: .i
 
 %.i: %.c
 
 	$(CC) -C -E $(CFLAGS) $< > $*.i
 
+
 
+DESTDIR :=
 
+PREFIX := /usr
 
+BINDIR := $(PREFIX)/bin
 
+MY_LIBDIR := $(PREFIX)/$(LIBDIR)
 
+INCLUDEDIR := $(PREFIX)/include/js
 
+INSTALL := install -g 0 -o root
 
+install:
 
+	$(INSTALL) -m 755 -d $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(MY_LIBDIR) $(DESTDIR)$(BINDIR)
 
+	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(DESTDIR)$(MY_LIBDIR)
 
+	$(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(MY_LIBDIR)
 
+	$(INSTALL) -m 755 $(OBJDIR)/js $(OBJDIR)/jscpucfg $(DESTDIR)$(BINDIR)
 
+	$(INSTALL) -m 644 $(HFILES) $(DESTDIR)$(INCLUDEDIR)
 
--- js/src/config/Linux_All.mk
 
+++ js/src/config/Linux_All.mk
 
@@ -41,37 +41,15 @@
 
 # Config for all versions of Linux
 
 #
 
 
 
-CC = gcc
 
-CCC = g++
 
 CFLAGS +=  -Wall -Wno-format
 
 OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
 
 
 
 RANLIB = echo
 
-MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
 
+MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) -soname $(notdir $@)
 
 
 
 #.c.o:
 
 #      $(CC) -c -MD $*.d $(CFLAGS) $<
 
 
 
-CPU_ARCH = $(shell uname -m)
 
-# don't filter in x86-64 architecture
 
-ifneq (x86_64,$(CPU_ARCH))
 
-ifeq (86,$(findstring 86,$(CPU_ARCH)))
 
-CPU_ARCH = x86
 
-OS_CFLAGS+= -DX86_LINUX
 
-
 
-ifeq (gcc, $(CC))
 
-# if using gcc on x86, check version for opt bug 
 
-# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
 
-GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
 
-GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
 
-
 
-ifeq (2.91.66, $(firstword $(GCC_LIST)))
 
-CFLAGS+= -DGCC_OPT_BUG
 
-endif
 
-endif
 
-endif
 
-endif
 
-
 
 GFX_ARCH = x
 
 
 
 OS_LIBS = -lm -lc
 
@@ -88,16 +66,6 @@
 
 endif
 
 
 
 # Use the editline library to provide line-editing support.
 
-JS_EDITLINE = 1
 
+JS_READLINE = 1
 
 
 
-ifeq ($(CPU_ARCH),x86_64)
 
-# Use VA_COPY() standard macro on x86-64
 
-# FIXME: better use it everywhere
 
 OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
 
-endif
 
-
 
-ifeq ($(CPU_ARCH),x86_64)
 
-# We need PIC code for shared libraries
 
-# FIXME: better patch rules.mk & fdlibm/Makefile*
 
-OS_CFLAGS += -DPIC -fPIC
 
-endif
 
--- js/src/rules.mk
 
+++ js/src/rules.mk
 
@@ -82,6 +82,10 @@ $(OBJDIR)/%.o: %.c
 
 	@$(MAKE_OBJDIR)
 
 	$(CC) -o $@ -c $(CFLAGS) $*.c
 
 
 
+$(OBJDIR)/%.lo: %.c
 
+	@$(MAKE_OBJDIR)
 
+	$(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
 
+
 
 $(OBJDIR)/%.o: %.s
 
 	@$(MAKE_OBJDIR)
 
 	$(AS) -o $@ $(ASFLAGS) $*.s
 
@@ -111,11 +115,12 @@ $(SHARED_LIBRARY): $(LIB_OBJS)
 
 	    /implib:"$(OBJDIR)/$(@F:.dll=.lib)" $^
 
 else
 
 $(LIBRARY): $(LIB_OBJS)
 
-	$(AR) rv $@ $?
 
+	$(AR) cr $@ $?
 
 	$(RANLIB) $@
 
 
 
-$(SHARED_LIBRARY): $(LIB_OBJS)
 
-	$(MKSHLIB) -o $@ $(LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
 
+SHARED_LIB_OBJS := $(LIB_OBJS:.o=.lo)
 
+$(SHARED_LIBRARY): $(SHARED_LIB_OBJS)
 
+	$(MKSHLIB) -o $@ $(SHARED_LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
 
 endif
 
 endif
 
 
 
--- js/src/fdlibm/Makefile.ref
 
+++ js/src/fdlibm/Makefile.ref
 
@@ -151,7 +151,7 @@
 
 
 
 $(OBJDIR)/%.o: %.c
 
 	@$(MAKE_OBJDIR)
 
-	$(CC) -o $@ -c $(CFLAGS) $*.c
 
+	$(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
 
 
 
 $(OBJDIR)/%.o: %.s
 
 	@$(MAKE_OBJDIR)
 
--- js/src/config.mk
 
+++ js/src/config.mk
 
@@ -112,6 +112,8 @@
 
 CP = cp
 
 endif
 
 
 
+BUILD_OPT := 1
 
+
 
 ifdef BUILD_OPT
 
 OPTIMIZER  = -O
 
 DEFINES    += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami)
dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch
Show inline comments
 
new file 100644
 
Index: src/Makefile.ref
 
===================================================================
 
--- src.orig/Makefile.ref
 
+++ src/Makefile.ref
 
@@ -185,6 +185,8 @@ JS_HFILES =		\
 
 	jsstr.h		\
 
 	jsxdrapi.h	\
 
 	jsxml.h		\
 
+	jsutil.h	\
 
+	jsprf.h		\
 
 	$(NULL)
 
 
 
 API_HFILES =		\
dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch
Show inline comments
 
new file 100644
 
Respect LDFLAGS
 

	
 
http://bugs.gentoo.org/show_bug.cgi?id=331129
 

	
 
--- js/src/Makefile.ref
 
+++ js/src/Makefile.ref
 
@@ -338,7 +338,7 @@
 
 	link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
 
 else
 
 $(PROGRAM): $(PROG_OBJS) $(LIBRARY)
 
-	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
 
+	$(CC) $(HOST_LDFLAGS) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
 
 	    $(PROG_LIBS)
 
 endif
 
 
 
@@ -355,7 +355,7 @@
 
 	$(OBJDIR)/jscpucfg > $@
 
 
 
 $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
 
-	$(CC) -o $@ $(OBJDIR)/jscpucfg.o
 
+	$(CC) $(HOST_LDFLAGS) -o $@ $(OBJDIR)/jscpucfg.o
 
 
 
 # Add to TARGETS for clobber rule
 
 TARGETS += $(OBJDIR)/jsautocfg.h $(OBJDIR)/jscpucfg \
dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff
Show inline comments
 
new file 100644
 
Index: src/Makefile.ref
 
===================================================================
 
--- src.orig/Makefile.ref
 
+++ src/Makefile.ref
 
@@ -63,11 +63,11 @@ INCLUDES   += -I$(OBJDIR)
 
 
 
 ifdef JS_THREADSAFE
 
 DEFINES += -DJS_THREADSAFE
 
-INCLUDES += -I$(DIST)/include/nspr
 
+INCLUDES += -I/usr/include/nspr
 
 ifdef USE_MSVC
 
 OTHER_LIBS += $(DIST)/lib/libnspr$(NSPR_LIBSUFFIX).lib
 
 else
 
-OTHER_LIBS += -L$(DIST)/lib -lnspr$(NSPR_LIBSUFFIX)
 
+OTHER_LIBS += -L/usr/$(LIBDIR)/nspr -lnspr$(NSPR_LIBSUFFIX)
 
 endif
 
 endif
 
 
dev-lang/spidermonkey/metadata.xml
Show inline comments
 
new file 100644
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 
<pkgmetadata>
 
	<maintainer>
 
		<email>djc@gentoo.org</email>
 
		<name>Dirkjan Ochtman</name>
 
	</maintainer>
 
	<maintainer>
 
		<email>anarchy@gentoo.org</email>
 
		<name>Jory A. Pratt</name>
 
	</maintainer>
 
	<herd>mozilla</herd>
 
	<longdescription lang="en">
 
		Stand-alone JavaScript C library
 
	</longdescription>
 
	<use>
 
		<flag name='threadsafe'>Build a threadsafe version of spidermonkey</flag>
 
	</use>
 
</pkgmetadata>
 

	
dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild
Show inline comments
 
new file 100644
 
# Copyright 1999-2010 Gentoo Foundation
 
# Distributed under the terms of the GNU General Public License v2
 
# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild,v 1.1 2010/08/06 23:15:48 hwoarang Exp $
 

	
 
inherit eutils toolchain-funcs multilib flag-o-matic
 

	
 
MY_P="js-${PV}"
 
DESCRIPTION="Stand-alone JavaScript C library"
 
HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
 
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
 

	
 
LICENSE="NPL-1.1"
 
SLOT="0"
 
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
 
IUSE="threadsafe unicode"
 

	
 
S="${WORKDIR}/js/src"
 

	
 
RDEPEND="threadsafe? ( dev-libs/nspr )"
 
DEPEND="${RDEPEND}"
 

	
 
src_unpack() {
 
	unpack ${A}
 
	cd "${S}"
 
	epatch "${FILESDIR}/${PN}-1.5-build.patch"
 
	epatch "${FILESDIR}/${PN}-1.6-header.patch"
 
	epatch "${FILESDIR}/${P}-threadsafe.diff" \
 
		"${FILESDIR}"/${P}-ldflags.patch
 
	if [[ ${CHOST} == *-freebsd* ]]; then
 
		# Don't try to be smart, this does not work in cross-compile anyway
 
		ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
 
	fi
 
}
 

	
 
src_compile() {
 
	use unicode && append-flags "-DJS_C_STRINGS_ARE_UTF8"
 
	tc-export CC LD AR
 
	if use threadsafe; then
 
		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
 
			XLDFLAGS="$(raw-ldflags)" HOST_LDFLAGS="${LDFLAGS}" \
 
				|| die "emake with threadsafe enabled failed";
 
	else
 
		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" XLDFLAGS="$(raw-ldflags)" \
 
		HOST_LDFLAGS="${LDFLAGS}" || die "emake without threadsafe enabled failed";
 
	fi
 
}
 

	
 
src_install() {
 
	emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
 
	dodoc ../jsd/README
 
	dohtml README.html
 
}
0 comments (0 inline, 0 general)