svn commit: r331255 - in head/textproc/scim: . files

Tijl Coosemans tijl at FreeBSD.org
Tue Oct 22 12:10:36 UTC 2013


Author: tijl
Date: Tue Oct 22 12:10:35 2013
New Revision: 331255
URL: http://svnweb.freebsd.org/changeset/ports/331255

Log:
  - Fix linker problem by removing libtool dependency.  The combination of
    USE_AUTOTOOLS, USE_GCC and C++ is broken because /usr/local/bin/libtool
    has hardcoded the linker it was built with.  So on FreeBSD 10 it tries
    to link gcc compiled C++ code with clang which does not work.
  - Remove USE_GCC and fix build with clang with two new patches. [1]
  - Fix build with libc++ by removing -lstdc++ from linker flags.  The
    compiler automatically adds the right runtime library.
  - Add LICENSE.
  - Convert gnomehack to pathfix.
  - Remove references to PTHREAD_LIBS and PTHREAD_CFLAGS.
  - Support staging.
  - Remove an old patch that's no longer needed.
  
  PR:		ports/164618 [1]
  Submitted by:	Paul Ambrose <ambrosehua at gmail.com> [1]
  Approved by:	maintainer timeout (2 weeks)

Added:
  head/textproc/scim/files/patch-extras-gtk2_immodule-gtkimcontextscim.cpp   (contents, props changed)
  head/textproc/scim/files/patch-src-scim_helper_manager_server.cpp   (contents, props changed)
Deleted:
  head/textproc/scim/files/patch-configure
Modified:
  head/textproc/scim/Makefile
Directory Properties:
  head/textproc/scim/distinfo   (props changed)
  head/textproc/scim/pkg-descr   (props changed)
  head/textproc/scim/pkg-message   (props changed)
  head/textproc/scim/pkg-plist   (props changed)

Modified: head/textproc/scim/Makefile
==============================================================================
--- head/textproc/scim/Makefile	Tue Oct 22 12:02:58 2013	(r331254)
+++ head/textproc/scim/Makefile	Tue Oct 22 12:10:35 2013	(r331255)
@@ -3,37 +3,29 @@
 
 PORTNAME=	scim
 PORTVERSION=	1.4.9
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	textproc
 MASTER_SITES=	SF
 
 MAINTAINER=	lx at FreeBSD.org
 COMMENT=	Smart Common Input Method platform
 
-USE_GNOME=	gnomehack gnomehier gtk20 intlhack
+LICENSE=	LGPL21
 
-USE_AUTOTOOLS=	libtool
-USE_GCC=	any
+USE_GNOME=	gnomehier gtk20 intlhack
 USE_XORG=	x11 xpm
 USE_LDCONFIG=	yes
-USES=		gettext gmake iconv pkgconfig
+USES=		gettext gmake iconv pathfix pkgconfig
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
-		PTHREAD_LIBS="${PTHREAD_LIBS}"
-
-NO_STAGE=	yes
-.include <bsd.port.pre.mk>
 
 CPPFLAGS+=	-I${LOCALBASE}/include -D__STDC_ISO_10646__
 LDFLAGS+=	-L${LOCALBASE}/lib -lintl ${ICONV_LIB}
 
 post-patch:
-	${REINPLACE_CMD} -e '/^libscim at SCIM_EPOCH@_la_LDFLAGS/s|=|= ${PTHREAD_LIBS}|' \
-		${WRKSRC}/src/Makefile.in
-
-post-install:
-	@${LOCALBASE}/bin/gtk-query-immodules-2.0 > ${LOCALBASE}/etc/gtk-2.0/gtk.immodules
-	@${CAT} ${PKGMESSAGE}
-	@${ECHO} To display this message again, type ${PKG_INFO} -D ${PKGNAME}
+	@${REINPLACE_CMD} 's/-lstdc++//'				\
+		${WRKSRC}/extras/gtk2_immodule/Makefile.in		\
+		${WRKSRC}/extras/setup/Makefile.in			\
+		${WRKSRC}/src/Makefile.in				\
+		${WRKSRC}/tests/Makefile.in
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Added: head/textproc/scim/files/patch-extras-gtk2_immodule-gtkimcontextscim.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/scim/files/patch-extras-gtk2_immodule-gtkimcontextscim.cpp	Tue Oct 22 12:10:35 2013	(r331255)
@@ -0,0 +1,11 @@
+--- extras/gtk2_immodule/gtkimcontextscim.cpp.orig	2008-11-02 07:43:15.000000000 +0100
++++ extras/gtk2_immodule/gtkimcontextscim.cpp	2013-10-08 18:16:29.000000000 +0200
+@@ -1710,7 +1710,7 @@
+         // And set manual to false.
+         if (!check_socket_frontend ()) {
+             std::cerr << "Launching a SCIM daemon with Socket FrontEnd...\n";
+-            char *new_argv [] = { static_cast<char*> ("--no-stay"), 0 };
++            char *new_argv [] = { const_cast<char*> ("--no-stay"), 0 };
+             scim_launch (true,
+                          config_module_name,
+                          (load_engine_list.size () ? scim_combine_string_list (load_engine_list, ',') : "all"),

Added: head/textproc/scim/files/patch-src-scim_helper_manager_server.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/scim/files/patch-src-scim_helper_manager_server.cpp	Tue Oct 22 12:10:35 2013	(r331255)
@@ -0,0 +1,21 @@
+--- src/scim_helper_manager_server.cpp.orig	2008-11-02 07:42:38.000000000 +0100
++++ src/scim_helper_manager_server.cpp	2013-10-08 17:37:59.000000000 +0200
+@@ -95,9 +95,8 @@
+     //      so I added a workaround: have an array of modules and unload them all together in the end only.
+     //      TODO Need to figure out what's going on with this issue.
+ 
+-    HelperModule module[mod_list.size ()];
+-
+     if (mod_list.size ()) {
++        HelperModule *module = new HelperModule[mod_list.size ()];
+ 
+         for (size_t i = 0; i < mod_list.size (); ++i) {
+ 
+@@ -120,6 +119,7 @@
+         for (size_t i = 0; i < mod_list.size (); ++i) {
+             module[i].unload ();
+         }
++        delete[] module;
+     }
+ }
+ 


More information about the svn-ports-head mailing list