x11-plugins/purple-hangouts: compile units separately
authorStefan Strogin <stefan.strogin@gmail.com>
Thu, 6 Dec 2018 10:19:17 +0000 (12:19 +0200)
committerAaron Bauman <bman@gentoo.org>
Wed, 27 Feb 2019 04:50:10 +0000 (23:50 -0500)
Closes: https://bugs.gentoo.org/672538
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Stefan Strogin <stefan.strogin@gmail.com>
Signed-off-by: Aaron Bauman <bman@gentoo.org>
x11-plugins/purple-hangouts/files/purple-hangouts-0_p20181202-makefile.patch [new file with mode: 0644]
x11-plugins/purple-hangouts/purple-hangouts-0_p20181202.ebuild
x11-plugins/purple-hangouts/purple-hangouts-9999.ebuild

diff --git a/x11-plugins/purple-hangouts/files/purple-hangouts-0_p20181202-makefile.patch b/x11-plugins/purple-hangouts/files/purple-hangouts-0_p20181202-makefile.patch
new file mode 100644 (file)
index 0000000..a575a44
--- /dev/null
@@ -0,0 +1,65 @@
+# HG changeset patch
+# User Stefan Strogin <stefan.strogin@gmail.com>
+# Date 1544083567 -7200
+#      Thu Dec 06 10:06:07 2018 +0200
+# Branch make
+# Node ID 938b9b0dc4fb7b22f8d110e9259899602fe7c1ba
+# Parent  cccf2f62d439fc3dd6248014d171efc811f89f2b
+Compile source files separately. Fixes issue #192
+
+diff -r cccf2f62d439 -r 938b9b0dc4fb Makefile
+--- a/Makefile Sun Dec 02 22:34:01 2018 +1300
++++ b/Makefile Thu Dec 06 10:06:07 2018 +0200
+@@ -57,11 +57,13 @@
+       HANGOUTS_DEST =\r
+         HANGOUTS_ICONS_DEST =\r
+     else\r
++      CFLAGS := $(CFLAGS) -fPIC $(INCLUDES) -Ipurple2compat $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple glib-2.0 json-glib-1.0 zlib --libs --cflags`\r
+       HANGOUTS_TARGET = libhangouts.so\r
+       HANGOUTS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=plugindir purple`\r
+         HANGOUTS_ICONS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=datadir purple`/pixmaps/pidgin/protocols\r
+     endif\r
+   else\r
++    CFLAGS := $(CFLAGS) -fPIC $(INCLUDES) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple-3 glib-2.0 json-glib-1.0 zlib --libs --cflags`\r
+     HANGOUTS_TARGET = libhangouts3.so\r
+     HANGOUTS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=plugindir purple-3`\r
+       HANGOUTS_ICONS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=datadir purple-3`/pixmaps/pidgin/protocols\r
+@@ -75,12 +77,10 @@
+ WIN32_PIDGIN2_LDFLAGS = -L$(PIDGIN_TREE_TOP)/libpurple $(WIN32_LDFLAGS)\r
+ WIN32_PIDGIN3_LDFLAGS = -L$(PIDGIN3_TREE_TOP)/libpurple -L$(WIN32_DEV_TOP)/gplugin-dev/gplugin $(WIN32_LDFLAGS) -lgplugin\r
+ \r
+-C_FILES := hangouts.pb-c.c hangout_media.pb-c.c gmail.pb-c.c hangouts_json.c hangouts_pblite.c hangouts_connection.c hangouts_auth.c hangouts_events.c hangouts_conversation.c hangouts_media.c\r
+-PURPLE_COMPAT_FILES := purple2compat/http.c purple2compat/purple-socket.c\r
+-PURPLE_C_FILES := libhangouts.c $(C_FILES)\r
+-TEST_C_FILES := hangouts_test.c $(C_FILES)\r
+-\r
+-\r
++OBJ := hangouts.pb-c.o hangout_media.pb-c.o gmail.pb-c.o hangouts_json.o hangouts_pblite.o hangouts_connection.o hangouts_auth.o hangouts_events.o hangouts_conversation.o hangouts_media.o\r
++PURPLE_COMPAT_FILES := purple2compat/http.o purple2compat/purple-socket.o\r
++PURPLE_C_FILES := libhangouts.c $(OBJ)\r
++TEST_C_FILES := hangouts_test.c $(OBJ)\r
+ \r
+ .PHONY:       all install FAILNOPURPLE clean\r
+ \r
+@@ -96,10 +96,10 @@
+       $(PROTOC_C) --c_out=. gmail.proto\r
+ \r
+ libhangouts.so: $(PURPLE_C_FILES) $(PURPLE_COMPAT_FILES)\r
+-      $(CC) -fPIC $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple glib-2.0 json-glib-1.0 zlib --libs --cflags` -ldl $(INCLUDES) -Ipurple2compat -g -ggdb\r
++      $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -ggdb -ldl\r
+ \r
+ libhangouts3.so: $(PURPLE_C_FILES)\r
+-      $(CC) -fPIC $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple-3 glib-2.0 json-glib-1.0 zlib --libs --cflags` -ldl $(INCLUDES) -g -ggdb\r
++      $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -ggdb -ldl\r
+ \r
+ libhangouts.dll: $(PURPLE_C_FILES) $(PURPLE_COMPAT_FILES)\r
+       $(WIN32_CC) -shared -o $@ $^ $(WIN32_PIDGIN2_CFLAGS) $(WIN32_PIDGIN2_LDFLAGS) -Ipurple2compat\r
+@@ -126,7 +126,7 @@
+       echo "You need libpurple development headers installed to be able to compile this plugin"\r
+ \r
+ clean:\r
+-      rm -f $(HANGOUTS_TARGET) hangouts.pb-c.h hangouts.pb-c.c hangout_media.pb-c.h hangout_media.pb-c.c\r
++      rm -f $(HANGOUTS_TARGET) $(OBJ) $(PURPLE_COMPAT_FILES) hangouts.pb-c.h hangouts.pb-c.c hangout_media.pb-c.h hangout_media.pb-c.c\r
+ \r
+ \r
+ installer: purple-hangouts.nsi libhangouts.dll\r
index 4be4edc68753a5e341d9aee1867df42973bb96fa..9b57ae98908d44e006ff8713ffa1643f488232b3 100644 (file)
@@ -26,6 +26,8 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}/${PN}-0_p20181202-makefile.patch" )
+
 src_prepare() {
        default
 
index fa9a49d18aebf0853838fa4574df653a6a2adc74..df8116adca8cb74b1d38eb0f3587cc166840c67d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -22,6 +22,8 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}/${PN}-0_p20181202-makefile.patch" )
+
 src_prepare() {
        default