Summary: | [patch] textproc/scim: building with clang failed | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | ambrose <ambrosehua> | ||||||
Component: | Individual Port(s) | Assignee: | David Thiel <lx> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | ||||||||
Priority: | Normal | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
ambrose
2012-01-30 03:10:11 UTC
Responsible Changed From-To: freebsd-ports-bugs->lx Over to maintainer (via the GNATS Auto Assign Tool) 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@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@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@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; + } + } + _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org" State Changed From-To: open->closed Committed in r331255. |