aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2012-10-12 15:58:41 -0400
committerIan Stakenvicius <axs@gentoo.org>2012-10-12 15:58:41 -0400
commite9ef239373e2d3d6b657efaf2454e80de22e835a (patch)
treedebdba6b629e5b6e4f1ea7f80c0226e2f5e24e9f /dev-lang
parenttb-16.0_beta4, fx-16.0_beta6 update (diff)
downloadmozilla-e9ef239373e2d3d6b657efaf2454e80de22e835a.tar.gz
mozilla-e9ef239373e2d3d6b657efaf2454e80de22e835a.tar.bz2
mozilla-e9ef239373e2d3d6b657efaf2454e80de22e835a.zip
Bump to EAPI5 and fix bugs 437190, 437518
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/spidermonkey/Manifest31
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch138
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch13
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch42
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff18
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch22
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild52
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild80
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.5-r2.ebuild119
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.7-r1.ebuild134
10 files changed, 639 insertions, 10 deletions
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 0e4b8107..71c2d47f 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,10 +1,21 @@
-AUX spidermonkey-1.8.5-arm_resprect_cflags-1.patch 2227 RMD160 d4c4c41c9cda62f1276e617915a2be744493754e SHA1 790060f9081c5b861d227d2b14b2281c984968d9 SHA256 1e726aa83d26d20454bbfdfe2a5529ac5b07076dd13a9d6faac6341193c85f37
-AUX spidermonkey-1.8.5-fix-install-symlinks.patch 484 RMD160 0a6e799e6b47c0011ba02c877e0d190ae3830c62 SHA1 b0f776c06e956024fb0f0553f8056bbce0830273 SHA256 4c66d490b6ff22086252ad871242d6d87de2e3fec59b91099864c7881cffd823
-AUX spidermonkey-1.8.5-fix-ppc64.patch 1669 RMD160 b3f3037cca9cc56c5f5a3c4e7a7c34a8f5b05efd SHA1 74245c08ef7a289e545a11afaeea60406d3bf717 SHA256 ffae38a7e5db0895e10be924e1bd084e57640c7a184cd8f1b1a90e9533202470
-AUX spidermonkey-1.8.7-filter_desc.patch 922 RMD160 2278dac6ff00e1c3650ed8ade491f142aa49f3d0 SHA1 462da04f7784530e02880bbc6ee5cabbe7ab0603 SHA256 7a3832a0a47f90b89a240b44ac580fff8740344c1d3eee0624973cb251043c46
-AUX spidermonkey-1.8.7-x32.patch 753 RMD160 91337f85781fb37057b3b7194cccde8378fa6a4d SHA1 310cccac981c39d06198dd449ac3126484525e56 SHA256 0b223162cf7067d1dbbb950708265ccf20637fe4906564080d9c9c38b85e826d
-DIST js185-1.0.0.tar.gz 6164605 RMD160 23e6ddc81d5b63e015aecc1a104b2d3d3ced5005 SHA1 52a01449c48d7a117b35f213d3e4263578d846d6 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687
-DIST js187-1.0.0.tar.gz 7106870 RMD160 34d7fccefb85eb74093aad63c96190cb903021ea SHA1 229d05f271933f66536c20da2b1fb8060989cbc4 SHA256 ce80a9eabdaf22d2a1c4830ea36120e6af207bb336bea8f6d34cba32f59fe2b4
-DIST spidermonkey-1.8.7-patches-0.1.tar.xz 4796 RMD160 fc5bf0d85014a7d8d5c4f1f55866a44b8d5cd2bd SHA1 f54f7a761fef1bee23664d3736e3aaf38521a7e8 SHA256 ddc0431ed9a96b67c27787fa824f4456693b9361dbb41366f8196d1a3425a353
-EBUILD spidermonkey-1.8.5-r1.ebuild 3123 RMD160 42c22e43d78fee436660c385e4910e70f1b53c89 SHA1 150f46149e44631915fd75057acb0b8f5d0dbd72 SHA256 40243bbaf6a0300f008192d8faaf935c7d857c89ab2455177a2560c15cb47ba5
-EBUILD spidermonkey-1.8.7.ebuild 3426 RMD160 eefe7c1eb7ca8576ed63465a9c61e7e00dff97fa SHA1 846b17b3b415c527601c9b2d2953d2ea7f8c6c3e SHA256 0b0f0c9c2274050d572f37abe88e2e61f68ae50295c4057b80d60de845c34dd9
+AUX spidermonkey-1.5-build.patch 3457 SHA256 04a2b3b1b85825f463c6eb703d32e66747e2a8cca81b0026b958862eb1248fdb SHA512 d4ebb63c9ce2a2e84a0a2b32abb8f4316d53bd71a2c6de37f1a48b26514d583b4c573302dcb15f39b4f57878d01dfc4ff9f9d70e9d1abd54f4ce535124c1147e WHIRLPOOL d35da32872cb68f2bf5b86c20691c7212bdff843a9bfcd8fb385e62c7bc55b9248a00edd3654ac2c1e50f57e413c9dd4c4cfcb57b5a59c1cef343f6c202eb6f9
+AUX spidermonkey-1.6-header.patch 270 SHA256 e81acd7ba025214b2ecfa5918a1652e4590eaca39307c4e8d9f5d949d315373e SHA512 f52861ad88b6624fc7e2cd7b9174f53cf0bebf339704932f36ca1d5bd6b133f6e28333fa5d10841c72ccfaccf0f7daa63a1385e2ff6ab8d0192bf70bd437479a WHIRLPOOL d076e64a52adfb9ff55aa7c6191c4a1c29c6917661a15a5cfcc0717960e63403b5557f9e28263cc19c20f3ee4e97c88f87b40b6d786ca3705dd4b2893a0f9c7d
+AUX spidermonkey-1.7.0-ldflags.patch 1076 SHA256 7dcc26496a6413652ff32ce1b1eb04c7ef526658d41a243f1ce0e44598cd809b SHA512 649dccce8206cf99e09715a0e8e7fc0db3bdff4269ab82898476d2e70fda73c420f80f915eadabf17a8bcee529e692bd195dd6df3ac58020e8dd97a91d19a847 WHIRLPOOL 270ea3c19981a597cc8cf9984f5ac358e91fb6ab3fe0ff753cbd933868177e5629b088ae7588b9b630f37ac1cc1381f6e28591e3b47e03bec39627ef332cdcb4
+AUX spidermonkey-1.7.0-threadsafe.diff 513 SHA256 3e41354e093efce3fe897814bc490aa45e17c9d6d0ca6ae7f9f1550b85be89e9 SHA512 81a6c306f4c2546921a12864ee4320b44ce4313e4972932c1929b3ccac03954f0aa4260911b4d9cffcb135cce5974c91456577a80162ed2052cdff7ebd327b9f WHIRLPOOL f21510a69e5718bef52fd0a4f139ff95cf91ae3626172c473a859c5fc2e7dda1df7e67f92190c4c6c2e74e32ac8a36163ca1164aa2f922ec7a6662b89cfe6e2f
+AUX spidermonkey-1.8.5-arm_resprect_cflags-1.patch 2227 SHA256 1e726aa83d26d20454bbfdfe2a5529ac5b07076dd13a9d6faac6341193c85f37 SHA512 374278b503bc04aaf9b5db08d28529f5943960b74f4f0b55c46b3bf820f3bd55cc52f46aaf502649745d2455e2a27c867fdc93e46662f4ee1eba91d2b6737a49 WHIRLPOOL f8f2acfae508157ad820f7d8a0f3190cfaadcf3ae76df7d6bbf7aaad02d3f908a2bf60e603f2c591310e25de25e3c9f3543619d68e179d4c937ed81f0acd4c13
+AUX spidermonkey-1.8.5-fix-install-symlinks.patch 484 SHA256 4c66d490b6ff22086252ad871242d6d87de2e3fec59b91099864c7881cffd823 SHA512 738f59260900e2dee42a3a8347c5afa09cc99e0e7f267c7af80b29a115818c61dce6912d5ff98c1bbcaea816c4d8579383eb7f6a848ba5d4b9275ec6baa2f01d WHIRLPOOL 210390d31e93c7a96fb61951b93221dbd34a1572476dbbf91e0ae3bcfd06d10194205411c49c47ea7d8fa6f898d0c96366c5b6fd3927d12d787524b674d85b81
+AUX spidermonkey-1.8.5-fix-ppc64.patch 1669 SHA256 ffae38a7e5db0895e10be924e1bd084e57640c7a184cd8f1b1a90e9533202470 SHA512 0352665ae138e15aabc8b40561ac6d5328b7a1c497f9591ebe57ffacb05a0ba52c677b8174829c5328cb79ea271b519287bfb99bd418efefc3409d18a198b7d9 WHIRLPOOL 699b3d0a75d660fba0a6095b19db84504238b2c3f9f0bcddf1d6628c8a51a70301c2a3eb54712c2e7719ca5bd4184562d64fac22760e870e453ea2feb5456870
+AUX spidermonkey-1.8.7-filter_desc.patch 922 SHA256 7a3832a0a47f90b89a240b44ac580fff8740344c1d3eee0624973cb251043c46 SHA512 f4b2f3b8b48b0418ab2572dcedc927c4e415979b2dff0f89614cab8b6c6b33e8d0ecf0d298ecdd5c125e936db98028261a59b6f4917384e060999e07ff7b92be WHIRLPOOL 186c2f2ba04170005a5af7cce773ef92925015a1e4541f40d2d44641b9dda5048a2b3d8953755860e866893043ae666360c8a7b594eda77858851c937d5ca8c0
+AUX spidermonkey-1.8.7-x32.patch 753 SHA256 0b223162cf7067d1dbbb950708265ccf20637fe4906564080d9c9c38b85e826d SHA512 ae9c0241fd1cc02b5f21865adb1efb750246850dcf93ee1b81c5faf19c5d4d5b0ab6e853527899c438d2139601e8a177f7ee6c9a3700d2816df32f5e09d273e8 WHIRLPOOL 8b43164a8a7cc4d82092e81d4a2d0d21a8614dfe7964f3fbb49d0f70e25178ba0197bd525e9f08cb1c621d991dd4aefc97be15901d3f482fce180e8d90bf8706
+AUX spidermonkey-1.9.2.13-as-needed.patch 623 SHA256 5163be062d23265cc19e9b1acb441ec42ceb2fd678b03076880869b7b9f92f8f SHA512 0acc2dc178396302518a2ac868ff1ab5710615bebe0c9ece31dba59037a92c741c5f02ba24cb76fe239e1b39946ff3362e5414e63f5ff64e48b64012b48a9779 WHIRLPOOL 75bc285dc9bb437a4ae4350eb755bbb2d0418a4f854ce4daeda4ca805ca31e16dabda0e35ac2a05dc0f5fcf6dfe1929547252a63553664921fd24a6ca76a30fa
+DIST firefox-3.6.15.source.tar.bz2 51552828 SHA256 405aa411a8ddb456017564522cbb486850e34fe14485b1c31fa93fc5c750870f SHA512 82bf0a6c6cb30fc0b18b067ac3d9cb7e48a0fd0126edd851e628d49e429aea33500a5a5eba87bce922e51b1b7410ccccfe4f8b7ce5573bdbd718c76da7acb1da WHIRLPOOL b788d7ba2cfcaec4f317e615878401a7a1fb985aaa43829831c17b699812e59adb7874247114e0143da63198118cab059796fc5d5fd08d72ccc54b4fef279f85
+DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
+DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
+DIST js187-1.0.0.tar.gz 7106870 SHA256 ce80a9eabdaf22d2a1c4830ea36120e6af207bb336bea8f6d34cba32f59fe2b4 SHA512 7df55daac1eac0a7a7b31df044f7d5cc40a1f5079907b661f7c8489614b0ddff35e4f7cd13214bfc4baf9bdb37d392e4118f63ab589a051978d6ceef63d1e9f2 WHIRLPOOL d0f2ea8add0c7c1ac34ff8a6f887e931768091696dda037e7778ecd7eb02889b455747cfaa9a362844983eb2bdda6bddab46bf542cecf81f91ec5165efc0b9a3
+DIST spidermonkey-1.8.7-patches-0.1.tar.xz 4796 SHA256 ddc0431ed9a96b67c27787fa824f4456693b9361dbb41366f8196d1a3425a353 SHA512 bd1976b12940390e7d5db6078ca6339006428874788688e4ea4f6bd86afd341c3edd356bac801883637f46085c6d971d4f79e44fa9f6e44b3b715186355be175 WHIRLPOOL 5614bcb99d7101751e6f5be24b20e8a6acd5a682640025830f0c4a4fb74e724e5d71eb56c3e09d0ced4bbfa6c6c93daf42a7bc326c3cf0b07bee777901f25039
+EBUILD spidermonkey-1.7.0-r3.ebuild 1572 SHA256 5fa27ee739b872875263cc820fbd62965602fc382b5b9910bf261806b888b659 SHA512 a416f95f9908f54e1c677121bfb813c4b796e1a08b9b8eed2b67bb4302ab80484ee6128f528c5cc28ded6c64676840d76e8cdaea4909d08ff23bea216ee3594c WHIRLPOOL 7d482652339f3c4d16282fa9b65cd619a90510b46ece74ff3598e2f0fb1dc396f40d10e76922ec9e8d4a8d1da4101c43690fb9086d5c9c4da6fdb376f3529c22
+EBUILD spidermonkey-1.8.2.15-r2.ebuild 1974 SHA256 0c5415bdc7f102f6901c3f72a1456cea267e8042b91b580233a10b95e4a4f873 SHA512 ea45f184d20961623706f69a214d436aced33d104e8ff0f9e728c4a5f64d492cff3fff03a4f934e2cbb799a42dbd38551da6bfa05417543515dfad30383fcb05 WHIRLPOOL 889f37623b078d68ae11f7c0a5043c00a0f887c33dc66c9625834129d520e64939fe582756d7ba4a9d9477d45905da5fde3929cc27dac3837513b00ec628f684
+EBUILD spidermonkey-1.8.5-r1.ebuild 3123 SHA256 40243bbaf6a0300f008192d8faaf935c7d857c89ab2455177a2560c15cb47ba5 SHA512 621e3dd36e8c30c9e1ba7be8f350801f9154154d9bdf535ccb3e74943429b55707e9990f99929ffa97ebdeca800f1241b0357e024c67624b0f5e1ed000aabf99 WHIRLPOOL 8fc4f02b324c65d2f045222cf903a0d27cea272569a752c68651ed21df2d23c14bae97b975ce407be3f3e812841bb4bc8f24849f07aa2b23e609ec4fc38c1686
+EBUILD spidermonkey-1.8.5-r2.ebuild 3369 SHA256 5b9d75e9ffda5ba56b03ecab9db6607fefcceecfcebe59dcaf1b35a0ae7d0bc2 SHA512 00584e4fb20161b62b62559e922df935e3062f507e48032e321c768d2a4abd5f47d26434c5715bbb6a83b944af95f63b1852bd9db7a99ab1e837f800478054b4 WHIRLPOOL e41b2ee96db89c4c8e75762ada184e47680c4f0440dda6ebe2d8ad7686e1bb327d5e7c2ffda81e637d6cfe47781a0cf7e777221cb4bd118397579e620334f8f1
+EBUILD spidermonkey-1.8.7-r1.ebuild 3708 SHA256 34ec51cca1557a5582bed4de9c41301721c351638fe575e498e82e60b75f8eca SHA512 f051c17a8060943b1c403a4067485ceee133156b2fe4da97c9e02009de4d1765827b2b9c0f932113539c53c8f923a1ee68a454bc6c07ff558965a834c326c804 WHIRLPOOL c22e368bc2288f855de9624d27a0e1410e4b9cdc5b19a3798d00ef69656c1b1374a3306eeb595e48c9050b8bd54f271231d457e579e31effa8333e1f0e358868
+EBUILD spidermonkey-1.8.7.ebuild 3426 SHA256 0b0f0c9c2274050d572f37abe88e2e61f68ae50295c4057b80d60de845c34dd9 SHA512 916fc89a9a60d44603ea677f57391dd9fab6ed52b38f1822621f37573a90d802912764e3924de91ef1b3ab3cefd077f07503bd933a48b8c532fb0dfb92e15bcc WHIRLPOOL 2bf79c38bb8bdc98f4e80d81ca1e5b733712b6b36eaaeb766cdd89ced157ee10ae41d524e910d47e03931efb8348faf63dca761db984330c927bd78214d3d37e
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch b/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch
new file mode 100644
index 00000000..a5c4b47d
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.5-build.patch
@@ -0,0 +1,138 @@
+--- 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)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch b/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch
new file mode 100644
index 00000000..df4cf7d5
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.6-header.patch
@@ -0,0 +1,13 @@
+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 = \
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch
new file mode 100644
index 00000000..4ddc3461
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-ldflags.patch
@@ -0,0 +1,42 @@
+Respect LDFLAGS
+
+http://bugs.gentoo.org/show_bug.cgi?id=331129
+
+--- js/src/Makefile.ref
++++ js/src/Makefile.ref
+@@ -87,7 +87,7 @@
+ LDFLAGS = $(XLDFLAGS)
+
+ ifndef NO_LIBM
+-LDFLAGS += -lm
++OTHER_LIBS += -lm
+ endif
+
+ # Prevent floating point errors caused by VC++ optimizations
+@@ -325,7 +325,7 @@
+ $(CC) -o $@ -c $(CFLAGS) $<
+
+ $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
+- $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
++ $(CC) $(HOST_LDFLAGS) -o $@ $(CFLAGS) $(OTHER_LIBS) $^
+
+ endif
+
+@@ -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) $(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 \
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff
new file mode 100644
index 00000000..8728811f
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.7.0-threadsafe.diff
@@ -0,0 +1,18 @@
+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
+
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch b/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
new file mode 100644
index 00000000..847bf792
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
@@ -0,0 +1,22 @@
+diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in
+--- a/js/src/jsapi-tests/Makefile.in
++++ b/js/src/jsapi-tests/Makefile.in
+@@ -55,17 +55,17 @@ CPPSRCS = \
+ testSameValue.cpp \
+ testDebugger.cpp \
+ testDefineGetterSetterNonEnumerable.cpp \
+ testExtendedEq.cpp \
+ $(NULL)
+
+ DEFINES += -DEXPORT_JS_API
+
+-LIBS = $(NSPR_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX)
++LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS)
+
+ LOCAL_INCLUDES += -I$(topsrcdir) -I..
+
+ ifdef _MSC_VER
+ ifdef WINCE
+ WIN32_EXE_LDFLAGS += -ENTRY:mainACRTStartup
+ endif
+ endif
diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild
new file mode 100644
index 00000000..170963c4
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.7.0-r3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2011 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.2 2011/03/22 15:51:21 jer Exp $
+
+EAPI="5"
+
+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/js"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="threadsafe unicode"
+
+S="${WORKDIR}/js/src"
+
+RDEPEND="threadsafe? ( dev-libs/nspr )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.5-build.patch"
+ epatch "${FILESDIR}/${PN}-1.6-header.patch"
+ epatch "${FILESDIR}/${P}-threadsafe.diff" \
+ "${FILESDIR}"/${P}-ldflags.patch
+
+ # don't force owner for Prefix
+ sed -i -e '/^INSTALL :=/s/-g 0 -o root//' Makefile.ref || die
+
+ 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 RANLIB
+ local threadsafe=""
+ use threadsafe && threadsafe="JS_THREADSAFE=1"
+ emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" ${threadsafe} \
+ XLDFLAGS="$(raw-ldflags)" HOST_LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake -f Makefile.ref install DESTDIR="${ED}" LIBDIR="$(get_libdir)"
+ dodoc ../jsd/README
+ dohtml README.html
+}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
new file mode 100644
index 00000000..4344ff8d
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.8.2.15.ebuild,v 1.3 2012/05/03 02:41:39 jdhore Exp $
+
+EAPI="5"
+inherit eutils toolchain-funcs multilib python
+
+MY_PV="${PV}"
+MY_PV="${MY_PV/1.8.2/3.6}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases"
+SRC_URI="${REL_URI}/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x64-macos ~x86-macos"
+IUSE="threadsafe"
+
+S="${WORKDIR}/mozilla-1.9.2"
+BUILDDIR="${S}/js/src"
+
+RDEPEND="threadsafe? ( >=dev-libs/nspr-4.8.6 )"
+
+DEPEND="${RDEPEND}
+ app-arch/zip
+ =dev-lang/python-2*[threads]
+ virtual/pkgconfig"
+
+pkg_setup(){
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.9.2.13-as-needed.patch"
+
+ epatch_user
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -s "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
+ fi
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ local myconf
+
+ use threadsafe && myconf="${myconf} \
+ --with-system-nspr --enable-threadsafe"
+
+ # Disable no-print-directory
+ MAKEOPTS=${MAKEOPTS/--no-print-directory/}
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf \
+ ${myconf}
+}
+
+src_compile() {
+ cd "${BUILDDIR}" || die
+ emake -j1
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake install DESTDIR="${D}"
+ dobin shell/js
+ dodoc ../jsd/README
+ dohtml README.html
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fixup install_name
+ install_name_tool -id "${EPREFIX}"/usr/$(get_libdir)/libmozjs.dylib \
+ "${ED}"/usr/$(get_libdir)/libmozjs.dylib || die
+ fi
+}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r2.ebuild
new file mode 100644
index 00000000..f9c92c6a
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.8.5-r1.ebuild,v 1.10 2012/10/04 17:13:22 ago Exp $
+
+EAPI="5"
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs multilib python versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="debug static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ =dev-lang/python-2*[threads]
+ virtual/pkgconfig"
+
+pkg_setup(){
+ python_set_active_version 2
+ python_pkg_setup
+ export LC_ALL="C"
+}
+
+src_prepare() {
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43
+ epatch "${FILESDIR}/${P}-fix-install-symlinks.patch"
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9
+ epatch "${FILESDIR}/${P}-fix-ppc64.patch"
+ # https://bugs.gentoo.org/show_bug.cgi?id=400727
+ epatch "${FILESDIR}/${P}-arm_resprect_cflags-1.patch"
+
+ epatch_user
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" PYTHON="$(PYTHON)" \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ jscpucfg host_jsoplengen host_jskwgen || die
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ -C config nsinstall || die
+ mv {,native-}jscpucfg || die
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -e 's@./jscpucfg@./native-jscpucfg@' \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ -i Makefile || die
+ sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+ dobin shell/js
+ pax-mark m "${ED}/usr/bin/js"
+ dodoc ../../README
+ dohtml README.html
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.7-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.7-r1.ebuild
new file mode 100644
index 00000000..2a860b11
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.7-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.8.5-r1.ebuild,v 1.10 2012/10/04 17:13:22 ago Exp $
+
+EAPI="5"
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs multilib python versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+SPIDERPV="${PV}-patches-0.1"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="http://people.mozilla.com/~dmandelin/${TARBALL_P}.tar.gz
+ http://dev.gentoo.org/~anarchy/mozilla/patchsets/spidermonkey-${SPIDERPV}.tar.xz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs187"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="debug jit static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ =dev-lang/python-2*[threads]
+ virtual/pkgconfig"
+
+pkg_setup(){
+ python_set_active_version 2
+ python_pkg_setup
+ export LC_ALL="C"
+}
+
+src_prepare() {
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/spidermonkey"
+
+ epatch "${FILESDIR}"/${PN}-1.8.5-fix-install-symlinks.patch
+ epatch "${FILESDIR}"/${PN}-1.8.7-filter_desc.patch
+ epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch
+
+ epatch_user
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" PYTHON="$(PYTHON)" \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --enable-system-ffi \
+ --enable-jemalloc \
+ $(use_enable debug) \
+ $(use_enable jit tracejit) \
+ $(use_enable jit methodjit) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ jscpucfg host_jsoplengen host_jskwgen || die
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ -C config nsinstall || die
+ mv {,native-}jscpucfg || die
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -e 's@./jscpucfg@./native-jscpucfg@' \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ -i Makefile || die
+ sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+ dobin shell/js
+ if use jit; then
+ pax-mark m "${ED}/usr/bin/js"
+ fi
+ dodoc ../../README
+ dohtml README.html
+ # install header files needed but not part of build system
+ insinto /usr/include/js
+ doins ../public/*.h
+ insinto /usr/include/js/mozilla
+ doins "${S}"/mfbt/*.h
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}