22144801 gnu-emacs-gtk needs to update dependency to GnuTLS3.4
authorAli Bahrami <Ali.Bahrami@Oracle.COM>
Wed, 11 Nov 2015 12:48:27 -0700
changeset 5080 5593e91823f7
parent 5079 5d18f62e9f8a
child 5081 198d4a3e4b73
22144801 gnu-emacs-gtk needs to update dependency to GnuTLS3.4
components/emacs/Makefile
components/emacs/README
--- a/components/emacs/Makefile	Wed Nov 11 11:24:50 2015 -0800
+++ b/components/emacs/Makefile	Wed Nov 11 12:48:27 2015 -0700
@@ -20,6 +20,10 @@
 #
 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
 #
+
+# As Solaris always has a 64-bit kernel, and 64-bit emacs can handle larger
+# files, we only build and deliver 64-bit binaries. 
+BITS=64
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		emacs
@@ -41,9 +45,7 @@
 # We patch the configure.ac file. Get the new configure generated during prep.
 COMPONENT_PREP_ACTION = (cd $(@D) ; aclocal -I m4; autoconf )
 
-# We build three different variants of emacs for our users. As Solaris
-# always has a 64-bit kernel, and 64-bit emacs can handle larger files,
-# we only build and deliver 64-bit binaries.
+# We build three different variants of emacs for our users.
 VARIANTS =	nox x gtk
 
 BUILD_64 = $(VARIANTS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
@@ -70,15 +72,21 @@
 #
 #CONFIGURE_PREFIX =	$(PROTO_DIR)/usr
 
-# The configure script runs the pkg-config command. Since we're building
-# 64-bit executables, we need pkg-config to use the 64-bit metadata files
-CONFIGURE_ENV += PKG_CONFIG_PATH=/usr/lib/$(MACH64)/pkgconfig
+# The configure script runs the pkg-config command. This allows it to
+# find the non-default GnuTLS v3 library.
+CONFIGURE_ENV +=	PKG_CONFIG_PATH=/usr/lib/$(MACH64)/pkgconfig/gnutls-3
+
+# Never use xmkmf to find X11 libraries from autoconf. They are all available
+# from standard system locations, and we don't want the ld -L option that
+# gets injected.
+CONFIGURE_ENV +=	XMKMF="false" 
 
 # configure options common to all variants of emacs that we want to build.
 CONFIGURE_OPTIONS +=	CC="$(CC) -m64"
 CONFIGURE_OPTIONS +=	--infodir=$(CONFIGURE_INFODIR)
 CONFIGURE_OPTIONS +=	--datarootdir=$(CONFIGURE_PREFIX)/share
 CONFIGURE_OPTIONS +=	--libexecdir=$(CONFIGURE_PREFIX)/lib
+CONFIGURE_OPTIONS +=	--libdir=$(CONFIGURE_LIBDIR.32) 
 CONFIGURE_OPTIONS +=	--with-gif=no
 CONFIGURE_OPTIONS +=	ac_cv_sys_long_file_names=yes
 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
@@ -223,6 +231,7 @@
 REQUIRED_PACKAGES += library/desktop/pango
 REQUIRED_PACKAGES += library/glib2
 REQUIRED_PACKAGES += library/gnutls
+REQUIRED_PACKAGES += library/gnutls-3
 REQUIRED_PACKAGES += library/libxml2
 REQUIRED_PACKAGES += library/ncurses
 REQUIRED_PACKAGES += library/zlib
--- a/components/emacs/README	Wed Nov 11 11:24:50 2015 -0800
+++ b/components/emacs/README	Wed Nov 11 12:48:27 2015 -0700
@@ -207,6 +207,25 @@
   lines in the Makefile are updated to match. Instructions can be found in the
   doc directory at the top of the userland workspace.
 
+  This is currently complicated by additions not needed by the latest
+  Solaris builds, which are added in order to be able to build this
+  default branch on older releases of Solaris. Be careful in removing
+  unnecessary REQUIRED_PACKAGES, as these additions are not tagged in a
+  way that makes their purpose clear.
+
+- Emacs is currently configured to use GnuTLS 3 rather than version 2.
+  As version 3 is temporarily installed in a non-default manner, this is
+  achieved with the following additions to Makefile:
+
+    # The configure script runs the pkg-config command. This allows it to
+    # find the non-default GnuTLS v3 library.
+    CONFIGURE_ENV +=	PKG_CONFIG_PATH=/usr/lib/$(MACH64)/pkgconfig/gnutls-3
+...
+    REQUIRED_PACKAGES += library/gnutls-3
+
+  These lines will need to be removed/adjusted when version 3 becomes the
+  system default.
+
 - We deliver the following packages:
 
 	gnu-emacs - Everything you need to run emacs, except the