summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /www-plugins/nspluginwrapper
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'www-plugins/nspluginwrapper')
-rw-r--r--www-plugins/nspluginwrapper/Manifest1
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.3.0-gdk-native-windows.patch13
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-compile-on-hardened.patch12
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-include-gthread.patch12
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-unload-libraries.patch14
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libdl.patch13
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libgthread.patch15
-rw-r--r--www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-parallel-make.patch91
-rw-r--r--www-plugins/nspluginwrapper/metadata.xml10
-rw-r--r--www-plugins/nspluginwrapper/nspluginwrapper-1.4.4-r3.ebuild111
10 files changed, 292 insertions, 0 deletions
diff --git a/www-plugins/nspluginwrapper/Manifest b/www-plugins/nspluginwrapper/Manifest
new file mode 100644
index 000000000000..eecd2b78ffca
--- /dev/null
+++ b/www-plugins/nspluginwrapper/Manifest
@@ -0,0 +1 @@
+DIST nspluginwrapper-1.4.4.tar.gz 412513 SHA256 f2ed94d42dbbb5370b000a3f30d2b601eb2b09d5742b2842cd0d70e862fab2bb SHA512 41126d98284cae6d25d23233b08ccca0dea841d457d4e41210282c6ab4c0fbf020f2ab4173ce39db8a47a1db20840bcc856f9c7309aa2e6ef2a777e3f2ebf503 WHIRLPOOL 537325919cbba8ce456c30a466f6e2c9fe546da829538afc7807f4201a06ebd7d89f9671b46fac09944a76d8064289530790ccf1ff2b6e5d596b2116447c991e
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.3.0-gdk-native-windows.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.3.0-gdk-native-windows.patch
new file mode 100644
index 000000000000..977af6c97e85
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.3.0-gdk-native-windows.patch
@@ -0,0 +1,13 @@
+diff -up nspluginwrapper-1.3.0/src/npw-viewer.sh.old nspluginwrapper-1.3.0/src/npw-viewer.sh
+--- nspluginwrapper-1.3.0/src/npw-viewer.sh.old 2009-11-16 12:57:53.000000000 +0100
++++ nspluginwrapper-1.3.0/src/npw-viewer.sh 2009-12-04 16:16:27.000000000 +0100
+@@ -77,6 +77,9 @@ NPW_USE_XSHM=${NPW_USE_XSHM:-yes}
+ NPW_USE_VALGRIND=${NPW_USE_VALGRIND:-no}
+ can_use_valgrind="no"
+
++# Compiz/Flash workaround (rhbz#542424)
++export GDK_NATIVE_WINDOWS=1
++
+ if test "$ARCH" != "$TARGET_ARCH"; then
+ case $TARGET_ARCH in
+ i386)
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-compile-on-hardened.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-compile-on-hardened.patch
new file mode 100644
index 000000000000..6d9adc20e9b3
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-compile-on-hardened.patch
@@ -0,0 +1,12 @@
+diff -ur nspluginwrapper-1.4.4.orig2//Makefile nspluginwrapper-1.4.4/Makefile
+--- nspluginwrapper-1.4.4.orig2//Makefile 2011-07-14 11:56:52.674790086 -0400
++++ nspluginwrapper-1.4.4/Makefile 2011-07-14 12:01:00.281197722 -0400
+@@ -337,7 +337,7 @@
+ @[ -d $(LSB_OBJ_DIR) ] || mkdir $(LSB_OBJ_DIR) > /dev/null 2>&1
+
+ $(LSB_OBJ_DIR)/%.o: $(LSB_SRC_DIR)/%.c $(LSB_OBJ_DIR)
+- $(CC) $(CFLAGS_32) -nostdinc -fno-builtin -I. -I$(LSB_INC_DIR) -c $< -o $@
++ $(CC) $(CFLAGS_32) -nostdinc -fno-builtin -I. -I$(LSB_INC_DIR) -c -fno-stack-protector $< -o $@
+
+ $(LSB_OBJ_DIR)/%.a: $(LSB_OBJ_DIR)/%.o
+ $(AR) rc $@ $<
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-include-gthread.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-include-gthread.patch
new file mode 100644
index 000000000000..c1d404ab75d2
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-include-gthread.patch
@@ -0,0 +1,12 @@
+diff --git a/src/npw-player.c b/src/npw-player.c
+index a99b8f7..217b5ba 100644
+--- a/src/npw-player.c
++++ b/src/npw-player.c
+@@ -25,7 +25,6 @@
+ #include <unistd.h>
+ #include <glib.h>
+ #include <glib/gstdio.h>
+-#include <glib/gthread.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdkx.h>
+ #include <gdk/gdkkeysyms.h>
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-unload-libraries.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-unload-libraries.patch
new file mode 100644
index 000000000000..70793f9e7626
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-dont-unload-libraries.patch
@@ -0,0 +1,14 @@
+diff --git a/src/npw-config.c b/src/npw-config.c
+index e9e8007..4ad4bc1 100644
+--- a/src/npw-config.c
++++ b/src/npw-config.c
+@@ -534,7 +534,8 @@ static bool is_wrapper_plugin(const char *plugin_path, NPW_PluginInfo *out_plugi
+ return false;
+
+ bool ret = is_wrapper_plugin_handle(handle, out_plugin_info);
+- dlclose(handle);
++ /* Intentionally leak the handle; many libraries crash when unloaded. */
++ /* dlclose(handle); */
+ return ret;
+ }
+
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libdl.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libdl.patch
new file mode 100644
index 000000000000..28e8f65cf745
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libdl.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index e36a991..2a40671 100644
+--- a/Makefile
++++ b/Makefile
+@@ -142,7 +142,7 @@ npplayer_CFLAGS += $(GTK_CFLAGS) $(GLIB_CFLAGS) $(MOZILLA_CFLAGS) $(CURL_CFLAGS
+ npplayer_LDFLAGS = $(LDFLAGS)
+ npplayer_LDFLAGS += $(libpthread_LDFLAGS)
+ npplayer_LIBS = $(GTK_LIBS) $(GLIB_LIBS) $(CURL_LIBS) $(X_LIBS)
+-npplayer_LIBS += $(libpthread_LIBS) $(libsocket_LIBS)
++npplayer_LIBS += $(libdl_LIBS) $(libpthread_LIBS) $(libsocket_LIBS)
+
+ libnoxshm_LIBRARY = libnoxshm.so
+ libnoxshm_RAWSRCS = libnoxshm.c
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libgthread.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libgthread.patch
new file mode 100644
index 000000000000..56030c473c42
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-link-to-libgthread.patch
@@ -0,0 +1,15 @@
+diff --git a/configure b/configure
+index 5f3dd86..09c400a 100755
+--- a/configure
++++ b/configure
+@@ -499,8 +499,8 @@ fi
+
+ # check for Glib 2.0 compile CFLAGS
+ if $pkgconfig --exists glib-2.0; then
+- GLIB_CFLAGS=`$pkgconfig --cflags glib-2.0`
+- GLIB_LIBS=`$pkgconfig --libs glib-2.0`
++ GLIB_CFLAGS=`$pkgconfig --cflags glib-2.0 gthread-2.0`
++ GLIB_LIBS=`$pkgconfig --libs glib-2.0 gthread-2.0`
+ GLIB_VERSION=`$pkgconfig --modversion glib-2.0`
+ else
+ echo "GLIB 2.0 environment not found"
diff --git a/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-parallel-make.patch b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-parallel-make.patch
new file mode 100644
index 000000000000..95a7e49d6afa
--- /dev/null
+++ b/www-plugins/nspluginwrapper/files/nspluginwrapper-1.4.4-parallel-make.patch
@@ -0,0 +1,91 @@
+diff -ur nspluginwrapper-1.4.2.orig//Makefile nspluginwrapper-1.4.2/Makefile
+--- nspluginwrapper-1.4.2.orig//Makefile 2011-06-04 14:41:40.000000000 -0400
++++ nspluginwrapper-1.4.2/Makefile 2011-06-16 22:11:07.059551179 -0400
+@@ -14,7 +14,7 @@
+ endif
+
+ ifeq ($(INSTALL),)
+-INSTALL = install
++INSTALL = install -D
+ ifneq (,$(findstring $(OS),solaris))
+ INSTALL = $(SRC_PATH)/utils/install.sh
+ endif
+@@ -236,44 +236,40 @@
+ uninstall.mkruntime:
+ rm -f $(DESTDIR)$(npcommondir)/mkruntime
+
+-install: install.dirs install.player install.wrapper install.viewer install.libnoxshm install.loader install.config
+-install.dirs:
+- mkdir -p $(DESTDIR)$(npcommondir) || :
+- mkdir -p $(DESTDIR)$(nphostdir) || :
+- mkdir -p $(DESTDIR)$(nptargetdir) || :
++install: install.player install.wrapper install.viewer install.libnoxshm install.loader install.config
+ ifeq ($(build_player),yes)
+-install.player: install.dirs $(npplayer_PROGRAM)
++install.player: $(npplayer_PROGRAM)
+ $(INSTALL) -m 755 $(STRIP_OPT) $(npplayer_PROGRAM) $(DESTDIR)$(nphostdir)/$(npplayer_PROGRAM)
+ mkdir -p $(DESTDIR)$(bindir)
+ $(LN_S) $(nphostdir)/$(npplayer_PROGRAM) $(DESTDIR)$(bindir)/nspluginplayer
+ else
+ install.player:
+ endif
+-install.wrapper: install.dirs $(npwrapper_LIBRARY)
++install.wrapper: $(npwrapper_LIBRARY)
+ $(INSTALL) -m 755 $(STRIP_OPT) $(npwrapper_LIBRARY) $(DESTDIR)$(nphostdir)/$(npwrapper_LIBRARY)
+ ifeq ($(build_viewer),yes)
+-install.viewer: install.dirs install.viewer.bin install.viewer.glue
+-install.libnoxshm: install.dirs do.install.libnoxshm
++install.viewer: install.viewer.bin install.viewer.glue
++install.libnoxshm: do.install.libnoxshm
+ else
+ install.viewer:
+ install.libnoxshm:
+ endif
+-install.viewer.bin: install.dirs $(npviewer_PROGRAM)
++install.viewer.bin: $(npviewer_PROGRAM)
+ $(INSTALL) -m 755 $(STRIP_OPT) $(npviewer_PROGRAM) $(DESTDIR)$(nptargetdir)/$(npviewer_PROGRAM)
+-install.viewer.glue:: install.dirs
++install.viewer.glue:: install.viewer.bin
+ p=$(DESTDIR)$(nptargetdir)/$(npviewer_PROGRAM:%.bin=%); \
+ echo "#!/bin/sh" > $$p; \
+ echo "TARGET_OS=$(TARGET_OS)" >> $$p; \
+ echo "TARGET_ARCH=$(TARGET_ARCH)" >> $$p; \
+ echo ". $(npcommondir)/$(nploader_PROGRAM)" >> $$p; \
+ chmod 755 $$p
+-do.install.libnoxshm: install.dirs $(libnoxshm_LIBRARY)
++do.install.libnoxshm: $(libnoxshm_LIBRARY)
+ $(INSTALL) -m 755 $(STRIP_OPT) $(libnoxshm_LIBRARY) $(DESTDIR)$(nptargetdir)/$(libnoxshm_LIBRARY)
+-install.config: install.dirs $(npconfig_PROGRAM)
++install.config: $(npconfig_PROGRAM)
+ $(INSTALL) -m 755 $(STRIP_OPT) $(npconfig_PROGRAM) $(DESTDIR)$(nphostdir)/$(npconfig_PROGRAM)
+ mkdir -p $(DESTDIR)$(bindir)
+ $(LN_S) $(nphostdir)/$(npconfig_PROGRAM) $(DESTDIR)$(bindir)/nspluginwrapper
+-install.loader: install.dirs $(nploader_PROGRAM)
++install.loader: $(nploader_PROGRAM)
+ $(INSTALL) -m 755 $(nploader_PROGRAM) $(DESTDIR)$(npcommondir)/$(nploader_PROGRAM)
+ install.mkruntime: $(SRC_PATH)/utils/mkruntime.sh
+ $(INSTALL) -m 755 $< $(DESTDIR)$(npcommondir)/mkruntime
+Only in nspluginwrapper-1.4.4: .Makefile.swp
+diff -ur nspluginwrapper-1.4.4.orig//Makefile nspluginwrapper-1.4.4/Makefile
+--- nspluginwrapper-1.4.4.orig//Makefile 2011-06-30 23:18:57.000000000 -0400
++++ nspluginwrapper-1.4.4/Makefile 2011-07-14 11:56:52.674790086 -0400
+@@ -333,16 +333,16 @@
+ sed -e 's|%NPW_VIEWER_DIR%|$(nptargetdir_var)|' $< > $@
+ chmod 755 $@
+
+-$(LSB_OBJ_DIR)::
++$(LSB_OBJ_DIR):
+ @[ -d $(LSB_OBJ_DIR) ] || mkdir $(LSB_OBJ_DIR) > /dev/null 2>&1
+
+-$(LSB_OBJ_DIR)/%.o: $(LSB_SRC_DIR)/%.c
++$(LSB_OBJ_DIR)/%.o: $(LSB_SRC_DIR)/%.c $(LSB_OBJ_DIR)
+ $(CC) $(CFLAGS_32) -nostdinc -fno-builtin -I. -I$(LSB_INC_DIR) -c $< -o $@
+
+ $(LSB_OBJ_DIR)/%.a: $(LSB_OBJ_DIR)/%.o
+ $(AR) rc $@ $<
+
+-$(LSB_OBJ_DIR)/libc.so: $(LSB_OBJ_DIR)/libc_main.so $(LSB_OBJ_DIR)/libc_nonshared.a
++$(LSB_OBJ_DIR)/libc.so: $(LSB_OBJ_DIR)/libc_main.so $(LSB_OBJ_DIR)/libc_nonshared.a $(LSB_OBJ_DIR)
+ @echo "OUTPUT_FORMAT($(TARGET_ELF_ARCH))" > $@
+ @echo "GROUP ( $(LSB_OBJ_DIR)/libc_main.so $(LSB_OBJ_DIR)/libc_nonshared.a )" >> $@
+
diff --git a/www-plugins/nspluginwrapper/metadata.xml b/www-plugins/nspluginwrapper/metadata.xml
new file mode 100644
index 000000000000..195e9883808c
--- /dev/null
+++ b/www-plugins/nspluginwrapper/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>amd64</herd>
+<maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/www-plugins/nspluginwrapper/nspluginwrapper-1.4.4-r3.ebuild b/www-plugins/nspluginwrapper/nspluginwrapper-1.4.4-r3.ebuild
new file mode 100644
index 000000000000..f0b9a86c2d78
--- /dev/null
+++ b/www-plugins/nspluginwrapper/nspluginwrapper-1.4.4-r3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib nsplugins flag-o-matic toolchain-funcs
+
+DESCRIPTION="Netscape Plugin Wrapper - Load 32bit plugins on 64bit browser"
+HOMEPAGE="http://nspluginwrapper.org/"
+SRC_URI="http://web.mit.edu/davidben/Public/nspluginwrapper/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+RDEPEND=">=x11-libs/gtk+-2:2
+ net-misc/curl
+ >=sys-apps/util-linux-2.13
+ >=dev-libs/glib-2.34.3[abi_x86_32(-)]
+ >=x11-libs/gtk+-2.24.23:2[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXt-1.1.4[abi_x86_32(-)]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+autoinstall() {
+ if [[ -x /usr/bin/${PN} ]]; then
+ einfo "Auto installing 32bit plugins..."
+ ${PN} -a -i
+ ls /usr/$(get_libdir)/nsbrowser/plugins
+
+ # Remove wrappers if equivalent 64-bit plugins exist
+ # TODO: May be better to patch nspluginwrapper so it doesn't create
+ # duplicate wrappers in the first place...
+ local DIR64="${ROOT}/usr/$(get_libdir)/nsbrowser/plugins/"
+ for f in "${DIR64}"/npwrapper.*.so; do
+ local PLUGIN=${f##*/npwrapper.}
+ if [[ -f ${DIR64}/${PLUGIN} ]]; then
+ einfo " Removing duplicate wrapper for native 64-bit ${PLUGIN}"
+ ${PN} -r "${f}"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.3.0-gdk-native-windows.patch"
+
+ epatch "${FILESDIR}/${P}-parallel-make.patch"
+ epatch "${FILESDIR}/${P}-compile-on-hardened.patch"
+ epatch "${FILESDIR}/${P}-dont-unload-libraries.patch"
+ epatch "${FILESDIR}/${P}-dont-include-gthread.patch"
+ epatch "${FILESDIR}/${P}-link-to-libdl.patch"
+ epatch "${FILESDIR}/${P}-link-to-libgthread.patch"
+
+ sed -i -r "s:^libnoxshm_LDFLAGS = :libnoxshm_LDFLAGS = -L/usr/$(ABI=x86 get_libdir)/ :" \
+ Makefile || die "sed failed"
+}
+
+src_configure() {
+ replace-flags -O3 -O2
+
+ ./configure \
+ --with-cc="$(tc-getCC)" \
+ --with-cxx="$(tc-getCXX)" \
+ --enable-biarch \
+ --target-cpu=i386 \
+ --with-lib32=$(ABI=x86 get_libdir) \
+ --with-lib64=$(get_libdir) \
+ --pkglibdir=/usr/$(get_libdir)/${PN} \
+ || die "configure failed"
+}
+
+src_compile() {
+ emake LDFLAGS_32="$(get_abi_CFLAGS x86) ${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dosym "/usr/$(get_libdir)/${PN}/x86_64/linux/npconfig" "/usr/bin/${PN}"
+
+ keepdir "/usr/$(get_libdir)/${PLUGINS_DIR}"
+
+ dodoc NEWS README TODO
+}
+
+pkg_postinst() {
+ autoinstall
+ elog "Any 32bit plugins you currently have installed have now been"
+ elog "configured to work in a 64bit browser. Any plugins you install in"
+ elog "the future will first need to be setup with:"
+ elog " \"nspluginwrapper -i <path-to-32bit-plugin>\""
+ elog "before they will function in a 64bit browser"
+ elog
+}
+
+# this is terribly ugly, but without a way to query portage as to whether
+# we are upgrading/reinstalling a package versus unmerging, I can't think of
+# a better way
+
+pkg_prerm() {
+ einfo "Removing wrapper plugins..."
+ ${PN} --auto --remove
+}
+
+pkg_postrm() {
+ autoinstall
+}