From 3c5463d102d311549dd16dc67e31fd83fe30240a9a0024d2988cfa13065643f7 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sat, 17 May 2008 00:50:33 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/seahorse?expand=0&rev=21 --- seahorse-ephy-2.22.patch | 76 ++++++++++++ seahorse-mozilla-xulrunner19.patch | 189 +++++++++++++++++++++++++++++ seahorse.changes | 7 ++ seahorse.spec | 85 ++++++++++++- 4 files changed, 353 insertions(+), 4 deletions(-) create mode 100644 seahorse-ephy-2.22.patch create mode 100644 seahorse-mozilla-xulrunner19.patch diff --git a/seahorse-ephy-2.22.patch b/seahorse-ephy-2.22.patch new file mode 100644 index 0000000..30328ac --- /dev/null +++ b/seahorse-ephy-2.22.patch @@ -0,0 +1,76 @@ +--- plugins/epiphany/seahorse-extension.c 2008/03/16 22:26:26 1.1 ++++ plugins/epiphany/seahorse-extension.c 2008/03/16 22:53:30 +@@ -25,6 +25,7 @@ + + #include + #include ++#include + + #include "eel-gconf-extensions.h" + #include "ephy-debug.h" +@@ -239,7 +240,7 @@ encrypt_seahorse_cb (GtkAction *action, + + init_crypt(); + +- embed = ephy_window_get_active_embed (window); ++ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window)); + g_return_if_fail (EPHY_IS_EMBED (embed)); + + /* ask gecko for the input */ +@@ -285,7 +286,7 @@ sign_seahorse_cb (GtkAction *action, Eph + + init_crypt(); + +- embed = ephy_window_get_active_embed (window); ++ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window)); + g_return_if_fail (EPHY_IS_EMBED (embed)); + + /* ask gecko for the input */ +@@ -419,7 +420,7 @@ dvi_seahorse_cb (GtkAction *action, Ephy + + init_crypt(); + +- embed = ephy_window_get_active_embed (window); ++ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window)); + g_return_if_fail (EPHY_IS_EMBED (embed)); + + /* ask gecko for the input */ +--- plugins/epiphany/mozilla/mozilla-helper.cpp 2008/03/16 22:22:38 1.1 ++++ plugins/epiphany/mozilla/mozilla-helper.cpp 2008/03/16 22:24:17 +@@ -78,8 +78,10 @@ extern "C" gboolean + mozilla_is_input (EphyEmbed *embed) + { + nsCOMPtr browser; +- gtk_moz_embed_get_nsIWebBrowser (GTK_MOZ_EMBED (embed), ++ gtk_moz_embed_get_nsIWebBrowser ( ++ GTK_MOZ_EMBED (gtk_bin_get_child (GTK_BIN (embed))), + getter_AddRefs (browser)); ++ NS_ENSURE_TRUE (browser, FALSE); + nsCOMPtr focus (do_QueryInterface(browser)); + if (!focus) return FALSE; + +@@ -100,9 +102,11 @@ extern "C" const char* + mozilla_get_text (EphyEmbed *embed) + { + nsCOMPtr browser; +- gtk_moz_embed_get_nsIWebBrowser (GTK_MOZ_EMBED (embed), ++ gtk_moz_embed_get_nsIWebBrowser ( ++ GTK_MOZ_EMBED (gtk_bin_get_child (GTK_BIN (embed))), + getter_AddRefs (browser)); + nsCOMPtr focus (do_QueryInterface(browser)); ++ NS_ENSURE_TRUE (browser, NULL); + if (!focus) + return NULL; + +@@ -139,8 +143,10 @@ extern "C" void + mozilla_set_text (EphyEmbed *embed, char *new_text) + { + nsCOMPtr browser; +- gtk_moz_embed_get_nsIWebBrowser (GTK_MOZ_EMBED (embed), ++ gtk_moz_embed_get_nsIWebBrowser ( ++ GTK_MOZ_EMBED (gtk_bin_get_child (GTK_BIN (embed))), + getter_AddRefs (browser)); ++ NS_ENSURE_TRUE (browser, ); + nsCOMPtr focus (do_QueryInterface(browser)); + if (!focus) return; + diff --git a/seahorse-mozilla-xulrunner19.patch b/seahorse-mozilla-xulrunner19.patch new file mode 100644 index 0000000..3137443 --- /dev/null +++ b/seahorse-mozilla-xulrunner19.patch @@ -0,0 +1,189 @@ +--- + configure.in | 7 +++++++ + m4/gecko.m4 | 31 ++++++++++++++++++++++++++++--- + 2 files changed, 35 insertions(+), 3 deletions(-) + +Index: seahorse-2.21.91/m4/gecko.m4 +=================================================================== +--- seahorse-2.21.91.orig/m4/gecko.m4 ++++ seahorse-2.21.91/m4/gecko.m4 +@@ -46,31 +46,34 @@ + + # ************************ + # Check which gecko to use + # ************************ + + AC_MSG_CHECKING([which gecko to use]) + + AC_ARG_WITH([gecko], +- AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner@:>@], ++ AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner|libxul-unstable@:>@], + [Which gecko engine to use (autodetected by default)])) + + # Backward compat + AC_ARG_WITH([mozilla],[],[with_gecko=$withval],[]) + + gecko_cv_gecko=$with_gecko + + # Autodetect gecko +-_geckos="firefox mozilla-firefox seamonkey mozilla xulrunner" ++_geckos="firefox mozilla-firefox seamonkey mozilla xulrunner libxul-unstable" + if test -z "$gecko_cv_gecko"; then + for lizard in $_geckos; do + if $PKG_CONFIG --exists $lizard-xpcom; then + gecko_cv_gecko=$lizard + break; ++ elif $PKG_CONFIG --exists $lizard; then ++ gecko_cv_gecko=$lizard ++ break; + fi + done + fi + + AC_MSG_RESULT([$gecko_cv_gecko]) + + if test "x$gecko_cv_gecko" = "x"; then + ifelse([$3],,[AC_MSG_ERROR([No gecko found; you may need to adjust PKG_CONFIG_PATH or install a mozilla/firefox/xulrunner -devel package])],[$3]) +@@ -88,21 +91,28 @@ + + if test "$gecko_cv_have_gecko" = "yes"; then + + case "$gecko_cv_gecko" in + mozilla) gecko_cv_gecko_flavour=mozilla ;; + seamonkey) gecko_cv_gecko_flavour=mozilla ;; + *firefox) gecko_cv_gecko_flavour=toolkit ;; + xulrunner) gecko_cv_gecko_flavour=toolkit ;; ++libxul*) gecko_cv_gecko_flavour=toolkit ;; + esac + ++if test $gecko_cv_gecko = libxul-unstable; then ++_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable" ++_GECKO_HOME="" ++_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`" ++else + _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`" + _GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" + _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`" ++fi + + fi # if gecko_cv_have_gecko + + if test "$gecko_cv_gecko_flavour" = "toolkit"; then + AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour]) + fi + + AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_gecko_flavour" = "toolkit"]) +@@ -349,27 +359,34 @@ + fi + + AC_LANG_PUSH([C++]) + + _SAVE_CPPFLAGS="$CPPFLAGS" + _SAVE_CXXFLAGS="$CXXFLAGS" + _SAVE_LDFLAGS="$LDFLAGS" + _SAVE_LIBS="$LIBS" ++if test $gecko_cv_gecko = libxul-unstable; then ++CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko})" ++CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko})" ++LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS" ++LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko})" ++else + CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)" + CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)" + LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME" + LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)" ++fi + + _GECKO_DISPATCH_INCLUDEDIRS="$2" + + # Sigh Gentoo has a rubbish header layout + # http://bugs.gentoo.org/show_bug.cgi?id=100804 + # Mind you, it's useful to be able to test against uninstalled mozilla builds... +-_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref" ++_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref unstable" + + # Now add them to CPPFLAGS + for i in $_GECKO_DISPATCH_INCLUDEDIRS; do + CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i" + done + + m4_indir([$1],m4_shiftn(2,$@)) + +@@ -585,21 +602,29 @@ + # + # Variables set: + # XPIDL: the xpidl program + # XPIDL_IDLDIR: the xpidl include directory + + AC_DEFUN([GECKO_XPIDL], + [AC_REQUIRE([GECKO_INIT])dnl + ++if test $gecko_cv_gecko = libxul-unstable; then ++_GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin" ++else + _GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" ++fi + + AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH]) + ++if test $gecko_cv_gecko = libxul-unstable; then ++XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}`/unstable" ++else + XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`" ++fi + + # Older geckos don't have this variable, see + # https://bugzilla.mozilla.org/show_bug.cgi?id=240473 + + if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then + XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`" + fi + +Index: seahorse-2.21.91/configure.in +=================================================================== +--- seahorse-2.21.91.orig/configure.in ++++ seahorse-2.21.91/configure.in +@@ -505,16 +505,17 @@ + if test "$with_epiphany_plugin" = "yes"; then + AC_SUBST([MOZILLA]) + AC_SUBST([MOZILLA_FLAVOUR]) + AC_SUBST([MOZILLA_HOME]) + AC_SUBST([MOZILLA_PREFIX]) + AC_SUBST([MOZILLA_INCLUDE_ROOT]) + + case "$MOZILLA" in ++ libxul-unstable) min_version=1.9 ;; + xulrunner) min_version=1.8 ;; + *firefox) min_version=1.5 ;; + *) AC_MSG_ERROR([Unsupported gecko "$gecko_cv_gecko"]) ;; + esac + + PKG_CHECK_MODULES([EPIPHANY_DEPENDENCY], [\ + libxml-2.0 >= $EPIPHANY_LIBXML_REQUIRED \ + libglade-2.0 \ +@@ -587,19 +588,25 @@ + gtk+-2.0 >= $EPIPHANY_LIBGTK_REQUIRED \ + epiphany-2.14 >= $EPIPHANY_REQUIRED], + [with_epiphany_plugin=yes E_API_VERSION=2.14 e_api_minor=14],[with_epiphany_plugin=no; echo "no"; echo "disabling epiphany plugin"])])])])])])])])]) + else + echo "disabling epiphany plugin" + fi + + if test "$with_epiphany_plugin" = "yes"; then ++ if test $gecko_cv_gecko = libxul-unstable; then ++ PKG_CHECK_MODULES([MOZILLA_COMPONENT], ++ [${gecko_cv_gecko} >= $min_version $gecko_cv_extra_pkg_dependencies], ++ [with_epiphany_plugin=yes],[with_epiphany_plugin=no echo "disabling epiphany plugin"]) ++ else + PKG_CHECK_MODULES([MOZILLA_COMPONENT], + [${gecko_cv_gecko}-xpcom >= $min_version $gecko_cv_extra_pkg_dependencies], + [with_epiphany_plugin=yes],[with_epiphany_plugin=no echo "disabling epiphany plugin"]) ++ fi + fi + + if test "$with_epiphany_plugin" = "yes"; then + echo "enabling epiphany plugin" + + if test "$e_api_minor" -ge 21; then + AC_DEFINE([EPHY_NOTAB], 1, [Defines whether EphyTab exists in the API]) + else diff --git a/seahorse.changes b/seahorse.changes index b1244e1..e8fd8ec 100644 --- a/seahorse.changes +++ b/seahorse.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue May 13 19:45:22 CEST 2008 - maw@suse.de + +- Create new subpackages (bnc#387472): + + -gedit-plugin + + -epiphany-plugin, which needs seahorse-ephy-2.22.patch. + ------------------------------------------------------------------- Wed May 7 06:13:14 CEST 2008 - hpj@suse.de diff --git a/seahorse.spec b/seahorse.spec index d08d602..2dad9cb 100644 --- a/seahorse.spec +++ b/seahorse.spec @@ -12,19 +12,26 @@ Name: seahorse -BuildRequires: fdupes gnome-doc-utils-devel gnome-panel-devel gnome-themes gnome-vfs2-devel gpg2 gpgme-devel intltool libavahi-glib-devel libglade2-devel libgnomeprintui-devel libgpg-error-devel libsoup-devel libwnck-devel nautilus-devel openldap2-devel openssh perl-XML-Parser update-desktop-files +BuildRequires: epiphany-devel fdupes gedit-devel gnome-doc-utils-devel gnome-panel-devel gnome-themes gnome-vfs2-devel gpg2 gpgme-devel intltool libavahi-glib-devel libglade2-devel libgnomeprintui-devel libgpg-error-devel libsoup-devel libwnck-devel libxml2-devel nautilus-devel openldap2-devel openssh perl-XML-Parser update-desktop-files +# for the epiphany plugin: +%define xulrunner_version 181 +BuildRequires: mozilla-xulrunner%{xulrunner_version}-devel +BuildRequires: gcc-c++ License: GPL v2 or later Group: System/GUI/GNOME AutoReqProv: on PreReq: gconf2 Version: 2.22.1 -Release: 13 +Release: 19 Requires: %{name}-lang = %{version} Summary: GNOME2 interface for gnupg Source: ftp://ftp.gnome.org/pub/gnome/sources/seahorse/%{name}-%{version}.tar.bz2 -# Patch0: %{name}-gpgme-version.patch Patch0: seahorse-strncat.patch Patch1: seahorse-xsltproc-nonet.patch +# These come from http://patches.ubuntu.com/by-release/extracted/ubuntu/s/seahorse/2.22.1-0ubuntu2/ +Patch2: seahorse-ephy-2.22.patch +# Disable this one for now until epiphany builds against xulrunner 19 +Patch3: seahorse-mozilla-xulrunner19.patch Url: http://seahorse.sourceforge.net/ BuildRoot: %{_tmppath}/%{name}-%{version}-build %gconf_schemas_prereq @@ -54,6 +61,53 @@ Seahorse is a gnome2 interface for gnupg. It uses gpgme as the backend. +Authors: +-------- + Jacob Perkins + Jose Carlos Garcia Sogo + Jean Schurger + Nate Nielsen + Adam Schreiber + +%package gedit-plugin +License: GPL v2 or later +Summary: Seahorse plugin for gedit +Group: System/GUI/GNOME +Requires: %{name} = %{version}-%{release} +# Requires: gedit = %(rpm -q --qf '%%{version}' gedit) +Requires: gedit + +%description gedit-plugin +Seahorse is a gnome2 interface for gnupg. It uses gpgme as the backend. + +This package provides a plugin for the gedit text editor. + + + +Authors: +-------- + Jacob Perkins + Jose Carlos Garcia Sogo + Jean Schurger + Nate Nielsen + Adam Schreiber + +%package epiphany-plugin +# When epiphany is updated, _epiphany_major_version will need to be too. +%define _epiphany_major_version 2.22 +License: GPL v2 or later +Summary: GNOME2 interface for epiphany +Group: System/GUI/GNOME +Requires: %{name} = %{version}-%{release} +Requires: epiphany + +%description epiphany-plugin +Seahorse is a gnome2 interface for gnupg. It uses gpgme as the backend. + +This package provides a plugin for the epiphany web browser. + + + Authors: -------- Jacob Perkins @@ -67,6 +121,8 @@ Authors: %setup %patch0 %patch1 -p1 +%patch2 +### %patch3 -p1 %build %{?suse_update_config:%{suse_update_config -f}} @@ -74,7 +130,7 @@ autoreconf -f -i export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -DWITH_SSH" %configure \ --with-ssh \ - --disable-gedit + --enable-gedit make %install @@ -86,6 +142,8 @@ rm -rf $RPM_BUILD_ROOT/var/%_lib/scrollkeeper rm -rf $RPM_BUILD_ROOT/var/lib/scrollkeeper rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib*.*a rm $RPM_BUILD_ROOT/%{_libdir}/nautilus/extensions-2.0/*.*a +rm $RPM_BUILD_ROOT/%{_libdir}/gedit-2/plugins/*.*a +rm $RPM_BUILD_ROOT/%{_libdir}/epiphany/%_epiphany_major_version/extensions/*.*a ( cd ${RPM_BUILD_ROOT}/%{_datadir}/mime/ && rm -rf XMLnamespaces globs mime application magic ) unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL %suse_update_desktop_file %{name} Security -G "Passwords and Encryption Keys" -N "Seahorse" @@ -162,7 +220,26 @@ rm -rf $RPM_BUILD_ROOT %dir %{_includedir}/libcryptui %{_includedir}/libcryptui/*.h +%files gedit-plugin +%defattr(-, root, root) +%dir %{_libdir}/gedit-2 +%dir %{_libdir}/gedit-2/plugins +%{_libdir}/gedit-2/plugins/libseahorse-pgp.so +%{_libdir}/gedit-2/plugins/seahorse-pgp.gedit-plugin + +%files epiphany-plugin +%defattr(-, root, root) +%dir %{_libdir}/epiphany +%dir %{_libdir}/epiphany/%_epiphany_major_version +%dir %{_libdir}/epiphany/%_epiphany_major_version/extensions +%{_libdir}/epiphany/%_epiphany_major_version/extensions/seahorse.ephy-extension +%{_libdir}/epiphany/%_epiphany_major_version/extensions/*.so + %changelog +* Tue May 13 2008 maw@suse.de +- Create new subpackages (bnc#387472): + + -gedit-plugin + + -epiphany-plugin, which needs seahorse-ephy-2.22.patch. * Wed May 07 2008 hpj@suse.de - Require gnome-panel-devel for building, so panel applet gets installed.