23245626 Deliver gjs 1.43.3 in Solaris
authorNiveditha Rau <Niveditha.Rau@Oracle.COM>
Tue, 12 Jul 2016 08:56:19 -0700
changeset 6386 3e1cffd89159
parent 6385 fcffa6f05dea
child 6388 d601840f4d77
23245626 Deliver gjs 1.43.3 in Solaris PSARC/2016/413 GNOME 3 Web Bundle
components/gnome/gjs/Makefile
components/gnome/gjs/gjs.p5m
components/gnome/gjs/patches/01-uint32.patch
components/gnome/gjs/patches/02-soname.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gnome/gjs/Makefile	Tue Jul 12 08:56:19 2016 -0700
@@ -0,0 +1,75 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+BUILD_BITS =            64_and_32
+# All components using gobject-introspection must be built with gcc as
+# gobject-introspection does not produce correct results when using Studio.
+COMPILER =              gcc
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		gjs
+COMPONENT_VERSION=	1.43.3
+COMPONENT_PROJECT_URL=	https://wiki.gnome.org/Projects/Gjs
+COMPONENT_ARCHIVE_HASH= \
+	sha256:82b54dd4590ea1622d19b2e27978bcb9c2c5b46922e1e1780ea79b6a28aa1c4e
+COMPONENT_BUGDB=        gnome/libraries
+
+TPNO=			25284
+
+# Tests do not work in Solaris yet
+TEST_TARGET = $(SKIP_TEST)
+
+# Needs updated glib2, not available on S11.
+ifeq ($(BUILD_TYPE), evaluation)
+BUILD_32_and_64=
+INSTALL_32_and_64=
+PUBLISH_STAMP=
+endif
+
+include $(WS_MAKE_RULES)/gnome-component.mk
+
+CXXFLAGS += -std=c++11
+
+CONFIGURE_OPTIONS += --disable-static
+CONFIGURE_OPTIONS += --enable-shared
+CONFIGURE_OPTIONS += --with-cairo
+CONFIGURE_OPTIONS += --with-gtk
+CONFIGURE_OPTIONS += --with-pic
+
+# Required due to patches.
+COMPONENT_PREP_ACTION += (cd $(@D); autoreconf -fiv);
+
+REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
+REQUIRED_PACKAGES += library/desktop/cairo
+REQUIRED_PACKAGES += library/desktop/gobject/gobject-introspection
+REQUIRED_PACKAGES += library/desktop/gtk3
+REQUIRED_PACKAGES += library/glib2
+REQUIRED_PACKAGES += library/libffi
+REQUIRED_PACKAGES += library/libmozjs-24
+REQUIRED_PACKAGES += library/ncurses
+REQUIRED_PACKAGES += library/readline
+REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
+REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
+REQUIRED_PACKAGES += x11/library/libx11
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gnome/gjs/gjs.p5m	Tue Jul 12 08:56:19 2016 -0700
@@ -0,0 +1,83 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> \
+    default mangler.man.stability "pass-through volatile">
+set name=pkg.fmri \
+    value=pkg:/library/desktop/gjs@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="A Javascript binding for GNOME"
+set name=pkg.description \
+    value="Gjs is based on the Spidermonkey javascript engine and the GObject introspection framework."
+set name=com.oracle.info.description value=$(COMPONENT_NAME)
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Desktop (GNOME)/Libraries"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2016/413
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+link path=usr/bin/gjs target=gjs-console
+file path=usr/bin/gjs-console
+file path=usr/include/gjs-1.0/gi/arg.h
+file path=usr/include/gjs-1.0/gi/boxed.h
+file path=usr/include/gjs-1.0/gi/closure.h
+file path=usr/include/gjs-1.0/gi/enumeration.h
+file path=usr/include/gjs-1.0/gi/foreign.h
+file path=usr/include/gjs-1.0/gi/function.h
+file path=usr/include/gjs-1.0/gi/fundamental.h
+file path=usr/include/gjs-1.0/gi/gerror.h
+file path=usr/include/gjs-1.0/gi/gtype.h
+file path=usr/include/gjs-1.0/gi/interface.h
+file path=usr/include/gjs-1.0/gi/keep-alive.h
+file path=usr/include/gjs-1.0/gi/ns.h
+file path=usr/include/gjs-1.0/gi/object.h
+file path=usr/include/gjs-1.0/gi/param.h
+file path=usr/include/gjs-1.0/gi/repo.h
+file path=usr/include/gjs-1.0/gi/union.h
+file path=usr/include/gjs-1.0/gi/value.h
+file path=usr/include/gjs-1.0/gjs/byteArray.h
+file path=usr/include/gjs-1.0/gjs/compat.h
+file path=usr/include/gjs-1.0/gjs/context.h
+file path=usr/include/gjs-1.0/gjs/coverage.h
+file path=usr/include/gjs-1.0/gjs/gjs-module.h
+file path=usr/include/gjs-1.0/gjs/gjs.h
+file path=usr/include/gjs-1.0/gjs/importer.h
+file path=usr/include/gjs-1.0/gjs/jsapi-util.h
+file path=usr/include/gjs-1.0/gjs/mem.h
+file path=usr/include/gjs-1.0/gjs/native.h
+file path=usr/include/gjs-1.0/gjs/runtime.h
+file path=usr/include/gjs-1.0/gjs/type-module.h
+file path=usr/lib/$(MACH64)/gjs/girepository-1.0/GjsPrivate-1.0.typelib
+link path=usr/lib/$(MACH64)/libgjs.so target=libgjs.so.0.0.0
+link path=usr/lib/$(MACH64)/libgjs.so.0 target=libgjs.so.0.0.0
+file path=usr/lib/$(MACH64)/libgjs.so.0.0.0
+file path=usr/lib/$(MACH64)/pkgconfig/gjs-1.0.pc
+file path=usr/lib/$(MACH64)/pkgconfig/gjs-internals-1.0.pc
+file path=usr/lib/gjs/girepository-1.0/GjsPrivate-1.0.typelib
+link path=usr/lib/libgjs.so target=libgjs.so.0.0.0
+link path=usr/lib/libgjs.so.0 target=libgjs.so.0.0.0
+file path=usr/lib/libgjs.so.0.0.0
+file path=usr/lib/pkgconfig/gjs-1.0.pc
+file path=usr/lib/pkgconfig/gjs-internals-1.0.pc
+license COPYING.LGPL license=LGPLv2
+license COPYING license=gjs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gnome/gjs/patches/01-uint32.patch	Tue Jul 12 08:56:19 2016 -0700
@@ -0,0 +1,22 @@
+Use standard datatype instead of Linux/BSD "bit type".
+
+XXX file upstream bug
+
+--- gjs-1.43.3/gjs/coverage.cpp	2014-12-21 09:37:11.000000000 -0800
++++ gjs-1.43.3/gjs/coverage.cpp	2015-06-27 19:39:27.290756286 -0700
+@@ -485,13 +485,13 @@
+      * we have some profiling data that suggests a good size to
+      * preallocate to. */
+     GArray *c_side_array = g_array_new(TRUE, TRUE, array_element_size);
+-    u_int32_t js_array_len;
++    uint32_t js_array_len;
+ 
+     if (element_clear_func)
+         g_array_set_clear_func(c_side_array, element_clear_func);
+ 
+     if (JS_GetArrayLength(context, js_array, &js_array_len)) {
+-        u_int32_t i = 0;
++        uint32_t i = 0;
+         for (; i < js_array_len; ++i) {
+             jsval element;
+             if (!JS_GetElement(context, js_array, i, &element)) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gnome/gjs/patches/02-soname.patch	Tue Jul 12 08:56:19 2016 -0700
@@ -0,0 +1,18 @@
+gjs doesn't set a SONAME by default which leads to bad paths being baked
+into the binaries.
+
+XXX file upstream bug
+
+--- gjs-1.43.3/Makefile.am	2014-12-21 09:37:14.000000000 -0800
++++ gjs-1.43.3/Makefile.am	2015-06-30 14:07:54.267786457 -0700
+@@ -98,7 +98,9 @@
+ 	$(EXTRA_LINK_FLAGS)	\
+ 	-export-symbols-regex "^[^_]" -version-info 0:0:0	\
+ 	-no-undefined \
+-	-rdynamic
++	-rdynamic \
++	-Wl,-soname=libgjs.so.0
++
+ libgjs_la_LIBADD = 		\
+ 	$(GJS_LIBS)
+