diff options
author | Vlad Glagolev | 2011-12-20 23:41:50 +0400 |
---|---|---|
committer | Vlad Glagolev | 2011-12-20 23:41:50 +0400 |
commit | 4a2f3f68ad26cc5df4d4d050688919a343b0b033 (patch) | |
tree | b99967dd04a0444c9ad52c36344c0b296df0f2cf | |
parent | d50846306ae3f7334ae83f6a8f22c5f141c30ed4 (diff) |
seamonkey: => 2.6
-rwxr-xr-x | http/seamonkey/CONFIGURE | 11 | ||||
-rwxr-xr-x | http/seamonkey/DEPENDS | 2 | ||||
-rwxr-xr-x | http/seamonkey/DETAILS | 8 | ||||
-rw-r--r-- | http/seamonkey/HISTORY | 7 | ||||
-rwxr-xr-x | http/seamonkey/PRE_BUILD | 1 | ||||
-rw-r--r-- | http/seamonkey/cursor.patch | 97 |
6 files changed, 120 insertions, 6 deletions
diff --git a/http/seamonkey/CONFIGURE b/http/seamonkey/CONFIGURE index 238dfe49f0..33c98494fc 100755 --- a/http/seamonkey/CONFIGURE +++ b/http/seamonkey/CONFIGURE @@ -50,10 +50,19 @@ config_query_option SEAMONKEY_OPTS "Use system installed cairo?" n \ "--enable-system-cairo" \ "--disable-system-cairo" && -config_query_option SEAMONKEY_OPTS "Enable Pango support for complex font rendering?" n \ +config_query_option SEAMONKEY_OPTS "Enable Pango support for complex font rendering?" y \ "--enable-pango" \ "--disable-pango" && +if list_find "$SEAMONKEY_OPTS" "--disable-pango"; then + message "${MESSAGE_COLOR}" + message "FreeType 2 support is broken. Forcing '--enable-pango' configure option." + message "${DEFAULT_COLOR}" + + list_add "SEAMONKEY_OPTS" "--enable-pango" && + list_remove "SEAMONKEY_OPTS" "--disable-pango" +fi && + if list_find "$SEAMONKEY_OPTS" "--enable-mailnews"; then config_query_option SEAMONKEY_OPTS "Enable LDAP support?" n \ "--enable-ldap" \ diff --git a/http/seamonkey/DEPENDS b/http/seamonkey/DEPENDS index 090e253b88..9587d7d8dc 100755 --- a/http/seamonkey/DEPENDS +++ b/http/seamonkey/DEPENDS @@ -3,7 +3,7 @@ depends gtk+2 && depends libidl && depends libxft && depends nspr && -depends -sub 3.12.x nss && +depends -sub 3.13.x nss && depends -sub "TSAFE SECURE_DELETE ENABLE_UNLOCK_NOTIFY" sqlite && depends perl && depends zip && diff --git a/http/seamonkey/DETAILS b/http/seamonkey/DETAILS index b467b07a49..531129cdc3 100755 --- a/http/seamonkey/DETAILS +++ b/http/seamonkey/DETAILS @@ -1,11 +1,11 @@ SPELL=seamonkey - VERSION=2.5 + VERSION=2.6 SOURCE=$SPELL-$VERSION.source.tar.bz2 - SOURCE_HASH=sha512:803259425ab0e75cce61c33f37873a8765bbc2b0e6c70aa1b9b21a9947a732c3dbd4a033a08d779a9a830c990fe30c5ed37b0c36c890722b31319df78d9b9ef1 + SOURCE_HASH=sha512:37346114048687068d17701853349a2295c3250465aa546f0ef6429862e2cc345feb2c92528cb4d328dc3162a94b29d0557bee1dd61748b6bf8064e478320956 SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION" SOURCE_URI=seamonkey/releases/$VERSION/source/$SOURCE - SOURCE_URL[0]=http://releases.mozilla.org/pub/mozilla.org/$SOURCE_URI - SOURCE_URL[1]=ftp://ftp.mozilla.org/pub/mozilla.org/$SOURCE_URI + SOURCE_URL[0]=ftp://ftp.mozilla.org/pub/mozilla.org/$SOURCE_URI + SOURCE_URL[1]=http://releases.mozilla.org/pub/mozilla.org/$SOURCE_URI WEB_SITE=http://www.seamonkey-project.org/ SECURITY_PATCH=36 TMPFS=off diff --git a/http/seamonkey/HISTORY b/http/seamonkey/HISTORY index e08817a737..47133e23b6 100644 --- a/http/seamonkey/HISTORY +++ b/http/seamonkey/HISTORY @@ -1,3 +1,10 @@ +2011-12-20 Vlad Glagolev <stealth@sourcemage.org> + * DETAILS: updated spell to 2.6; swapped source urls + * DEPENDS: requires nss 3.13 now + * CONFIGURE: pango is required since now + * PRE_BUILD: apply the patch + * cursor.patch: fixes activity cursor appearance (mozilla bug #709259) + 2011-12-13 Vlad Glagolev <stealth@sourcemage.org> * CONFIGURE: continue handling of the legacy diff --git a/http/seamonkey/PRE_BUILD b/http/seamonkey/PRE_BUILD index a0bb413f7b..63344af4d4 100755 --- a/http/seamonkey/PRE_BUILD +++ b/http/seamonkey/PRE_BUILD @@ -4,4 +4,5 @@ unpack_file '' && cd comm-release && patch -p0 < "$SPELL_DIRECTORY/ldap.patch" && +patch -p0 < "$SPELL_DIRECTORY/cursor.patch" && patch -p0 < "$SPELL_DIRECTORY/mailnews.patch" diff --git a/http/seamonkey/cursor.patch b/http/seamonkey/cursor.patch new file mode 100644 index 0000000000..59eab8c613 --- /dev/null +++ b/http/seamonkey/cursor.patch @@ -0,0 +1,97 @@ +--- mozilla/widget/src/gtk2/nsGtkCursors.h.orig ++++ mozilla/widget/src/gtk2/nsGtkCursors.h +@@ -41,16 +41,17 @@ + #ifndef nsGtkCursors_h__ + #define nsGtkCursors_h__ + + typedef struct { + const unsigned char *bits; + const unsigned char *mask_bits; + int hot_x; + int hot_y; ++ const char *hash; + } nsGtkCursor; + + /* MOZ_CURSOR_HAND_GRAB */ + static const unsigned char moz_hand_grab_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x60, 0x39, 0x00, 0x00, 0x90, 0x49, 0x00, 0x00, 0x90, 0x49, 0x01, 0x00, + 0x20, 0xc9, 0x02, 0x00, 0x20, 0x49, 0x02, 0x00, 0x58, 0x40, 0x02, 0x00, + 0x64, 0x00, 0x02, 0x00, 0x44, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, +@@ -410,26 +411,28 @@ enum { + MOZ_CURSOR_ZOOM_OUT, + MOZ_CURSOR_NOT_ALLOWED, + MOZ_CURSOR_VERTICAL_TEXT, + MOZ_CURSOR_NESW_RESIZE, + MOZ_CURSOR_NWSE_RESIZE, + MOZ_CURSOR_NONE + }; + +-// create custom pixmap cursor ++// create custom pixmap cursor. The hash values must stay in sync with the ++// bitmap data above. To see the hash function, have a look at XcursorImageHash ++// in libXcursor + static const nsGtkCursor GtkCursors[] = { +- { moz_hand_grab_bits, moz_hand_grab_mask_bits, 10, 10 }, +- { moz_hand_grabbing_bits, moz_hand_grabbing_mask_bits, 10, 10 }, +- { moz_copy_bits, moz_copy_mask_bits, 2, 2 }, +- { moz_alias_bits, moz_alias_mask_bits, 2, 2 }, +- { moz_menu_bits, moz_menu_mask_bits, 2, 2 }, +- { moz_spinning_bits, moz_spinning_mask_bits, 2, 2 }, +- { moz_zoom_in_bits, moz_zoom_in_mask_bits, 6, 6 }, +- { moz_zoom_out_bits, moz_zoom_out_mask_bits, 6, 6 }, +- { moz_not_allowed_bits, moz_not_allowed_mask_bits, 9, 9 }, +- { moz_vertical_text_bits, moz_vertical_text_mask_bits, 8, 4 }, +- { moz_nesw_resize_bits, moz_nesw_resize_mask_bits, 8, 8 }, +- { moz_nwse_resize_bits, moz_nwse_resize_mask_bits, 8, 8 }, +- { moz_none_bits, moz_none_mask_bits, 0, 0 } ++ { moz_hand_grab_bits, moz_hand_grab_mask_bits, 10, 10, "5aca4d189052212118709018842178c0" }, ++ { moz_hand_grabbing_bits, moz_hand_grabbing_mask_bits, 10, 10, "208530c400c041818281048008011002" }, ++ { moz_copy_bits, moz_copy_mask_bits, 2, 2, "08ffe1cb5fe6fc01f906f1c063814ccf" }, ++ { moz_alias_bits, moz_alias_mask_bits, 2, 2, "0876e1c15ff2fc01f906f1c363074c0f" }, ++ { moz_menu_bits, moz_menu_mask_bits, 2, 2, "08ffe1e65f80fcfdf9fff11263e74c48" }, ++ { moz_spinning_bits, moz_spinning_mask_bits, 2, 2, "08e8e1c95fe2fc01f976f1e063a24ccd" }, ++ { moz_zoom_in_bits, moz_zoom_in_mask_bits, 6, 6, "f41c0e382c94c0958e07017e42b00462" }, ++ { moz_zoom_out_bits, moz_zoom_out_mask_bits, 6, 6, "f41c0e382c97c0938e07017e42800402" }, ++ { moz_not_allowed_bits, moz_not_allowed_mask_bits, 9, 9, "03b6e0fcb3499374a867d041f52298f0" }, ++ { moz_vertical_text_bits, moz_vertical_text_mask_bits, 8, 4, "048008013003cff3c00c801001200000" }, ++ { moz_nesw_resize_bits, moz_nesw_resize_mask_bits, 8, 8, "50585d75b494802d0151028115016902" }, ++ { moz_nwse_resize_bits, moz_nwse_resize_mask_bits, 8, 8, "38c5dff7c7b8962045400281044508d2" }, ++ { moz_none_bits, moz_none_mask_bits, 0, 0, NULL } + }; + + #endif /* nsGtkCursors_h__ */ +--- mozilla/widget/src/gtk2/nsWindow.cpp.orig ++++ mozilla/widget/src/gtk2/nsWindow.cpp +@@ -5640,19 +5640,27 @@ get_gtk_cursor(nsCursor aCursor) + newType = MOZ_CURSOR_NONE; + break; + default: + NS_ASSERTION(aCursor, "Invalid cursor type"); + gdkcursor = gdk_cursor_new(GDK_LEFT_PTR); + break; + } + +- // if by now we don't have a xcursor, this means we have to make a +- // custom one +- if (newType != 0xff) { ++ // If by now we don't have a xcursor, this means we have to make a custom ++ // one. First, we try creating a named cursor based on the hash of our ++ // custom bitmap, as libXcursor has some magic to convert bitmapped cursors ++ // to themed cursors ++ if (newType != 0xFF && GtkCursors[newType].hash) { ++ gdkcursor = gdk_cursor_new_from_name(gdk_display_get_default(), ++ GtkCursors[newType].hash); ++ } ++ ++ // If we still don't have a xcursor, we now really create a bitmap cursor ++ if (newType != 0xff && !gdkcursor) { + GdkPixbuf * cursor_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 32, 32); + if (!cursor_pixbuf) + return NULL; + + guchar *data = gdk_pixbuf_get_pixels(cursor_pixbuf); + + // Read data from GtkCursors and compose RGBA surface from 1bit bitmap and mask + // GtkCursors bits and mask are 32x32 monochrome bitmaps (1 bit for each pixel) + |