[arch-commits] Commit in agg/repos/community-x86_64 (39 files)

Jan Steffens heftig at archlinux.org
Sat Jun 16 21:13:00 UTC 2018


    Date: Saturday, June 16, 2018 @ 21:13:00
  Author: heftig
Revision: 343410

archrelease: copy trunk to community-x86_64

Added:
  agg/repos/community-x86_64/0001-Fix-non-terminating-loop-conditions-when-len-1.patch
    (from rev 343409, agg/trunk/0001-Fix-non-terminating-loop-conditions-when-len-1.patch)
  agg/repos/community-x86_64/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
    (from rev 343409, agg/trunk/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch)
  agg/repos/community-x86_64/0003-Get-coordinates-from-previous-vertex-if-last-command.patch
    (from rev 343409, agg/trunk/0003-Get-coordinates-from-previous-vertex-if-last-command.patch)
  agg/repos/community-x86_64/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
    (from rev 343409, agg/trunk/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch)
  agg/repos/community-x86_64/0005-Remove-VC-6-workaround.patch
    (from rev 343409, agg/trunk/0005-Remove-VC-6-workaround.patch)
  agg/repos/community-x86_64/0006-Implement-grain-merge-blending-mode-GIMP.patch
    (from rev 343409, agg/trunk/0006-Implement-grain-merge-blending-mode-GIMP.patch)
  agg/repos/community-x86_64/0007-Implement-grain-extract-blending-mode-GIMP.patch
    (from rev 343409, agg/trunk/0007-Implement-grain-extract-blending-mode-GIMP.patch)
  agg/repos/community-x86_64/0008-Declare-multiplication-and-division-operators-as-con.patch
    (from rev 343409, agg/trunk/0008-Declare-multiplication-and-division-operators-as-con.patch)
  agg/repos/community-x86_64/0009-Add-a-static-identity-transformation.patch
    (from rev 343409, agg/trunk/0009-Add-a-static-identity-transformation.patch)
  agg/repos/community-x86_64/0010-Add-renderer_scanline_aa_alpha.patch
    (from rev 343409, agg/trunk/0010-Add-renderer_scanline_aa_alpha.patch)
  agg/repos/community-x86_64/0011-Avoid-division-by-zero-in-color-burn-mode.patch
    (from rev 343409, agg/trunk/0011-Avoid-division-by-zero-in-color-burn-mode.patch)
  agg/repos/community-x86_64/0012-Avoid-pixel-artifacts-when-compositing.patch
    (from rev 343409, agg/trunk/0012-Avoid-pixel-artifacts-when-compositing.patch)
  agg/repos/community-x86_64/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
    (from rev 343409, agg/trunk/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch)
  agg/repos/community-x86_64/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
    (from rev 343409, agg/trunk/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch)
  agg/repos/community-x86_64/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
    (from rev 343409, agg/trunk/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch)
  agg/repos/community-x86_64/PKGBUILD
    (from rev 343409, agg/trunk/PKGBUILD)
  agg/repos/community-x86_64/agg-2.4-depends.patch
    (from rev 343409, agg/trunk/agg-2.4-depends.patch)
  agg/repos/community-x86_64/agg-2.5-autotools.patch
    (from rev 343409, agg/trunk/agg-2.5-autotools.patch)
  agg/repos/community-x86_64/agg-2.5-pkgconfig.patch
    (from rev 343409, agg/trunk/agg-2.5-pkgconfig.patch)
  agg/repos/community-x86_64/bad-const.patch
    (from rev 343409, agg/trunk/bad-const.patch)
Deleted:
  agg/repos/community-x86_64/0001-Fix-non-terminating-loop-conditions-when-len-1.patch
  agg/repos/community-x86_64/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
  agg/repos/community-x86_64/0003-Get-coordinates-from-previous-vertex-if-last-command.patch
  agg/repos/community-x86_64/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
  agg/repos/community-x86_64/0005-Remove-VC-6-workaround.patch
  agg/repos/community-x86_64/0006-Implement-grain-merge-blending-mode-GIMP.patch
  agg/repos/community-x86_64/0007-Implement-grain-extract-blending-mode-GIMP.patch
  agg/repos/community-x86_64/0008-Declare-multiplication-and-division-operators-as-con.patch
  agg/repos/community-x86_64/0009-Add-a-static-identity-transformation.patch
  agg/repos/community-x86_64/0010-Add-renderer_scanline_aa_alpha.patch
  agg/repos/community-x86_64/0011-Avoid-division-by-zero-in-color-burn-mode.patch
  agg/repos/community-x86_64/0012-Avoid-pixel-artifacts-when-compositing.patch
  agg/repos/community-x86_64/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
  agg/repos/community-x86_64/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
  agg/repos/community-x86_64/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
  agg/repos/community-x86_64/PKGBUILD
  agg/repos/community-x86_64/agg-2.4-depends.patch
  agg/repos/community-x86_64/agg-2.5-autotools.patch
  agg/repos/community-x86_64/agg-2.5-pkgconfig.patch

-----------------------------------------------------------------+
 0001-Fix-non-terminating-loop-conditions-when-len-1.patch       |  162 ++--
 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch |   80 +-
 0003-Get-coordinates-from-previous-vertex-if-last-command.patch |   60 -
 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch |  276 +++----
 0005-Remove-VC-6-workaround.patch                               |  104 +-
 0006-Implement-grain-merge-blending-mode-GIMP.patch             |  170 ++--
 0007-Implement-grain-extract-blending-mode-GIMP.patch           |  170 ++--
 0008-Declare-multiplication-and-division-operators-as-con.patch |   72 -
 0009-Add-a-static-identity-transformation.patch                 |   74 -
 0010-Add-renderer_scanline_aa_alpha.patch                       |  386 +++++-----
 0011-Avoid-division-by-zero-in-color-burn-mode.patch            |  116 +--
 0012-Avoid-pixel-artifacts-when-compositing.patch               |   52 -
 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch |  186 ++--
 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch |   60 -
 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch |   48 -
 PKGBUILD                                                        |  190 ++--
 agg-2.4-depends.patch                                           |   96 +-
 agg-2.5-autotools.patch                                         |   22 
 agg-2.5-pkgconfig.patch                                         |   20 
 bad-const.patch                                                 |   12 
 20 files changed, 1186 insertions(+), 1170 deletions(-)

Deleted: 0001-Fix-non-terminating-loop-conditions-when-len-1.patch
===================================================================
--- 0001-Fix-non-terminating-loop-conditions-when-len-1.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0001-Fix-non-terminating-loop-conditions-when-len-1.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,81 +0,0 @@
-From efd33aad5e69f36ab343b1f28839a55db4538104 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 10:55:37 +0100
-Subject: [PATCH 01/15] Fix non-terminating loop conditions when len=1
-
--   while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
-+   while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
-    {
-        sx = (lp.x1 + sx) >> 1;
-        sy = (lp.y1 + sy) >> 1;
-    }
----
- include/agg_renderer_outline_aa.h    | 8 ++++----
- include/agg_renderer_outline_image.h | 4 ++--
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/include/agg_renderer_outline_aa.h b/include/agg_renderer_outline_aa.h
-index ce25a2e..cb2aa00 100644
---- a/include/agg_renderer_outline_aa.h
-+++ b/include/agg_renderer_outline_aa.h
-@@ -1659,7 +1659,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
-+                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
-                             {
-                                 sx = (lp.x1 + sx) >> 1;
-                                 sy = (lp.y1 + sy) >> 1;
-@@ -1726,7 +1726,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
-+                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
-                             {
-                                 ex = (lp.x2 + ex) >> 1;
-                                 ey = (lp.y2 + ey) >> 1;
-@@ -1798,7 +1798,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
-+                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
-                             {
-                                 sx = (lp.x1 + sx) >> 1;
-                                 sy = (lp.y1 + sy) >> 1;
-@@ -1811,7 +1811,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
-+                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
-                             {
-                                 ex = (lp.x2 + ex) >> 1;
-                                 ey = (lp.y2 + ey) >> 1;
-diff --git a/include/agg_renderer_outline_image.h b/include/agg_renderer_outline_image.h
-index fbfac10..66d2b9a 100644
---- a/include/agg_renderer_outline_image.h
-+++ b/include/agg_renderer_outline_image.h
-@@ -969,7 +969,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
-+                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
-                             {
-                                 sx = (lp.x1 + sx) >> 1;
-                                 sy = (lp.y1 + sy) >> 1;
-@@ -982,7 +982,7 @@ namespace agg
-                         }
-                         else
-                         {
--                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
-+                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
-                             {
-                                 ex = (lp.x2 + ex) >> 1;
-                                 ey = (lp.y2 + ey) >> 1;
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0001-Fix-non-terminating-loop-conditions-when-len-1.patch (from rev 343409, agg/trunk/0001-Fix-non-terminating-loop-conditions-when-len-1.patch)
===================================================================
--- 0001-Fix-non-terminating-loop-conditions-when-len-1.patch	                        (rev 0)
+++ 0001-Fix-non-terminating-loop-conditions-when-len-1.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,81 @@
+From efd33aad5e69f36ab343b1f28839a55db4538104 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 10:55:37 +0100
+Subject: [PATCH 01/15] Fix non-terminating loop conditions when len=1
+
+-   while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
++   while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
+    {
+        sx = (lp.x1 + sx) >> 1;
+        sy = (lp.y1 + sy) >> 1;
+    }
+---
+ include/agg_renderer_outline_aa.h    | 8 ++++----
+ include/agg_renderer_outline_image.h | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/include/agg_renderer_outline_aa.h b/include/agg_renderer_outline_aa.h
+index ce25a2e..cb2aa00 100644
+--- a/include/agg_renderer_outline_aa.h
++++ b/include/agg_renderer_outline_aa.h
+@@ -1659,7 +1659,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
++                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
+                             {
+                                 sx = (lp.x1 + sx) >> 1;
+                                 sy = (lp.y1 + sy) >> 1;
+@@ -1726,7 +1726,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
++                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
+                             {
+                                 ex = (lp.x2 + ex) >> 1;
+                                 ey = (lp.y2 + ey) >> 1;
+@@ -1798,7 +1798,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
++                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
+                             {
+                                 sx = (lp.x1 + sx) >> 1;
+                                 sy = (lp.y1 + sy) >> 1;
+@@ -1811,7 +1811,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
++                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
+                             {
+                                 ex = (lp.x2 + ex) >> 1;
+                                 ey = (lp.y2 + ey) >> 1;
+diff --git a/include/agg_renderer_outline_image.h b/include/agg_renderer_outline_image.h
+index fbfac10..66d2b9a 100644
+--- a/include/agg_renderer_outline_image.h
++++ b/include/agg_renderer_outline_image.h
+@@ -969,7 +969,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
++                            while(abs(sx - lp.x1) + abs(sy - lp.y1) > 1 + lp2.len)
+                             {
+                                 sx = (lp.x1 + sx) >> 1;
+                                 sy = (lp.y1 + sy) >> 1;
+@@ -982,7 +982,7 @@ namespace agg
+                         }
+                         else
+                         {
+-                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
++                            while(abs(ex - lp.x2) + abs(ey - lp.y2) > 1 + lp2.len)
+                             {
+                                 ex = (lp.x2 + ex) >> 1;
+                                 ey = (lp.y2 + ey) >> 1;
+-- 
+1.8.1.4
+

Deleted: 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
===================================================================
--- 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,40 +0,0 @@
-From e269fe9b62af6fe314cebe0ee7a6d6d1a4a84d1c Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 11:03:26 +0100
-Subject: [PATCH 02/15] Cure recursion by aborting if the co-ordinates are to
- big to handle
-
----
- include/agg_rasterizer_cells_aa.h | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/include/agg_rasterizer_cells_aa.h b/include/agg_rasterizer_cells_aa.h
-index d3bb138..3a616d9 100644
---- a/include/agg_rasterizer_cells_aa.h
-+++ b/include/agg_rasterizer_cells_aa.h
-@@ -40,7 +40,8 @@
- #define AGG_RASTERIZER_CELLS_AA_INCLUDED
- 
- #include <string.h>
--#include <math.h>
-+#include <cstdlib>
-+#include <limits>
- #include "agg_math.h"
- #include "agg_array.h"
- 
-@@ -333,6 +334,12 @@ namespace agg
-         {
-             int cx = (x1 + x2) >> 1;
-             int cy = (y1 + y2) >> 1;
-+
-+            // Bail if values are so large they are likely to wrap
-+            if ((std::abs(x1) >= std::numeric_limits<int>::max()/2) || (std::abs(y1) >= std::numeric_limits<int>::max()/2) ||
-+                (std::abs(x2) >= std::numeric_limits<int>::max()/2) || (std::abs(y2) >= std::numeric_limits<int>::max()/2))
-+                    return;
-+
-             line(x1, y1, cx, cy);
-             line(cx, cy, x2, y2);
-         }
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch (from rev 343409, agg/trunk/0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch)
===================================================================
--- 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch	                        (rev 0)
+++ 0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,40 @@
+From e269fe9b62af6fe314cebe0ee7a6d6d1a4a84d1c Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 11:03:26 +0100
+Subject: [PATCH 02/15] Cure recursion by aborting if the co-ordinates are to
+ big to handle
+
+---
+ include/agg_rasterizer_cells_aa.h | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/include/agg_rasterizer_cells_aa.h b/include/agg_rasterizer_cells_aa.h
+index d3bb138..3a616d9 100644
+--- a/include/agg_rasterizer_cells_aa.h
++++ b/include/agg_rasterizer_cells_aa.h
+@@ -40,7 +40,8 @@
+ #define AGG_RASTERIZER_CELLS_AA_INCLUDED
+ 
+ #include <string.h>
+-#include <math.h>
++#include <cstdlib>
++#include <limits>
+ #include "agg_math.h"
+ #include "agg_array.h"
+ 
+@@ -333,6 +334,12 @@ namespace agg
+         {
+             int cx = (x1 + x2) >> 1;
+             int cy = (y1 + y2) >> 1;
++
++            // Bail if values are so large they are likely to wrap
++            if ((std::abs(x1) >= std::numeric_limits<int>::max()/2) || (std::abs(y1) >= std::numeric_limits<int>::max()/2) ||
++                (std::abs(x2) >= std::numeric_limits<int>::max()/2) || (std::abs(y2) >= std::numeric_limits<int>::max()/2))
++                    return;
++
+             line(x1, y1, cx, cy);
+             line(cx, cy, x2, y2);
+         }
+-- 
+1.8.1.4
+

Deleted: 0003-Get-coordinates-from-previous-vertex-if-last-command.patch
===================================================================
--- 0003-Get-coordinates-from-previous-vertex-if-last-command.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0003-Get-coordinates-from-previous-vertex-if-last-command.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,30 +0,0 @@
-From 032d5342430f4c5dfbc34a2817d67386a14fd51b Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 11:40:49 +0100
-Subject: [PATCH 03/15] Get coordinates from previous vertex if last command is
- path_cmd_end_poly
-
----
- include/agg_path_storage.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/include/agg_path_storage.h b/include/agg_path_storage.h
-index 7be7393..8922fc8 100644
---- a/include/agg_path_storage.h
-+++ b/include/agg_path_storage.h
-@@ -878,6 +878,12 @@ namespace agg
-                 *x += x2;
-                 *y += y2;
-             }
-+            else if (!is_stop(m_vertices.last_command()) &&
-+                     is_vertex(m_vertices.prev_vertex(&x2, &y2)))
-+            {
-+                *x += x2;
-+                *y += y2;
-+            }
-         }
-     }
- 
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0003-Get-coordinates-from-previous-vertex-if-last-command.patch (from rev 343409, agg/trunk/0003-Get-coordinates-from-previous-vertex-if-last-command.patch)
===================================================================
--- 0003-Get-coordinates-from-previous-vertex-if-last-command.patch	                        (rev 0)
+++ 0003-Get-coordinates-from-previous-vertex-if-last-command.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,30 @@
+From 032d5342430f4c5dfbc34a2817d67386a14fd51b Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 11:40:49 +0100
+Subject: [PATCH 03/15] Get coordinates from previous vertex if last command is
+ path_cmd_end_poly
+
+---
+ include/agg_path_storage.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/include/agg_path_storage.h b/include/agg_path_storage.h
+index 7be7393..8922fc8 100644
+--- a/include/agg_path_storage.h
++++ b/include/agg_path_storage.h
+@@ -878,6 +878,12 @@ namespace agg
+                 *x += x2;
+                 *y += y2;
+             }
++            else if (!is_stop(m_vertices.last_command()) &&
++                     is_vertex(m_vertices.prev_vertex(&x2, &y2)))
++            {
++                *x += x2;
++                *y += y2;
++            }
+         }
+     }
+ 
+-- 
+1.8.1.4
+

Deleted: 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
===================================================================
--- 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,138 +0,0 @@
-From b9c4b1c72b4ad6b24c37f402d3eec39ef393b0eb Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 14:17:43 +0100
-Subject: [PATCH 04/15] Make rasterizer_outline_aa ignore close_polygon when
- vertex count < 3
-
----
- include/agg_rasterizer_outline_aa.h | 107 ++++++++++++++++++------------------
- 1 file changed, 52 insertions(+), 55 deletions(-)
-
-diff --git a/include/agg_rasterizer_outline_aa.h b/include/agg_rasterizer_outline_aa.h
-index 4d6dd57..24301d5 100644
---- a/include/agg_rasterizer_outline_aa.h
-+++ b/include/agg_rasterizer_outline_aa.h
-@@ -333,68 +333,65 @@ namespace agg
-         int y2;
-         int lprev;
- 
--        if(close_polygon)
-+        if(close_polygon && (m_src_vertices.size() >= 3))
-         {
--            if(m_src_vertices.size() >= 3)
-+            dv.idx = 2;
-+
-+            v     = &m_src_vertices[m_src_vertices.size() - 1];
-+            x1    = v->x;
-+            y1    = v->y;
-+            lprev = v->len;
-+
-+            v  = &m_src_vertices[0];
-+            x2 = v->x;
-+            y2 = v->y;
-+            dv.lcurr = v->len;
-+            line_parameters prev(x1, y1, x2, y2, lprev);
-+
-+            v = &m_src_vertices[1];
-+            dv.x1    = v->x;
-+            dv.y1    = v->y;
-+            dv.lnext = v->len;
-+            dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr);
-+
-+            v = &m_src_vertices[dv.idx];
-+            dv.x2 = v->x;
-+            dv.y2 = v->y;
-+            dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext);
-+
-+            dv.xb1 = 0;
-+            dv.yb1 = 0;
-+            dv.xb2 = 0;
-+            dv.yb2 = 0;
-+
-+            switch(m_line_join)
-             {
--                dv.idx = 2;
--
--                v     = &m_src_vertices[m_src_vertices.size() - 1];
--                x1    = v->x;
--                y1    = v->y;
--                lprev = v->len;
--
--                v  = &m_src_vertices[0];
--                x2 = v->x;
--                y2 = v->y;
--                dv.lcurr = v->len;
--                line_parameters prev(x1, y1, x2, y2, lprev);
--
--                v = &m_src_vertices[1];
--                dv.x1    = v->x;
--                dv.y1    = v->y;
--                dv.lnext = v->len;
--                dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr);
--
--                v = &m_src_vertices[dv.idx];
--                dv.x2 = v->x;
--                dv.y2 = v->y;
--                dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext);
--
--                dv.xb1 = 0;
--                dv.yb1 = 0;
--                dv.xb2 = 0;
--                dv.yb2 = 0;
--
--                switch(m_line_join)
--                {
--                case outline_no_join:
--                    dv.flags = 3;
--                    break;
-+            case outline_no_join:
-+                dv.flags = 3;
-+                break;
- 
--                case outline_miter_join:
--                case outline_round_join:
--                    dv.flags = 
--                            (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) |
--                        ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1);
--                    break;
-+            case outline_miter_join:
-+            case outline_round_join:
-+                dv.flags = 
-+                        (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) |
-+                    ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1);
-+                break;
- 
--                case outline_miter_accurate_join:
--                    dv.flags = 0;
--                    break;
--                }
-+            case outline_miter_accurate_join:
-+                dv.flags = 0;
-+                break;
-+            }
- 
--                if((dv.flags & 1) == 0 && m_line_join != outline_round_join)
--                {
--                    bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1);
--                }
-+            if((dv.flags & 1) == 0 && m_line_join != outline_round_join)
-+            {
-+                bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1);
-+            }
- 
--                if((dv.flags & 2) == 0 && m_line_join != outline_round_join)
--                {
--                    bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2);
--                }
--                draw(dv, 0, m_src_vertices.size());
-+            if((dv.flags & 2) == 0 && m_line_join != outline_round_join)
-+            {
-+                bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2);
-             }
-+            draw(dv, 0, m_src_vertices.size());
-         }
-         else
-         {
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch (from rev 343409, agg/trunk/0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch)
===================================================================
--- 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch	                        (rev 0)
+++ 0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,138 @@
+From b9c4b1c72b4ad6b24c37f402d3eec39ef393b0eb Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 14:17:43 +0100
+Subject: [PATCH 04/15] Make rasterizer_outline_aa ignore close_polygon when
+ vertex count < 3
+
+---
+ include/agg_rasterizer_outline_aa.h | 107 ++++++++++++++++++------------------
+ 1 file changed, 52 insertions(+), 55 deletions(-)
+
+diff --git a/include/agg_rasterizer_outline_aa.h b/include/agg_rasterizer_outline_aa.h
+index 4d6dd57..24301d5 100644
+--- a/include/agg_rasterizer_outline_aa.h
++++ b/include/agg_rasterizer_outline_aa.h
+@@ -333,68 +333,65 @@ namespace agg
+         int y2;
+         int lprev;
+ 
+-        if(close_polygon)
++        if(close_polygon && (m_src_vertices.size() >= 3))
+         {
+-            if(m_src_vertices.size() >= 3)
++            dv.idx = 2;
++
++            v     = &m_src_vertices[m_src_vertices.size() - 1];
++            x1    = v->x;
++            y1    = v->y;
++            lprev = v->len;
++
++            v  = &m_src_vertices[0];
++            x2 = v->x;
++            y2 = v->y;
++            dv.lcurr = v->len;
++            line_parameters prev(x1, y1, x2, y2, lprev);
++
++            v = &m_src_vertices[1];
++            dv.x1    = v->x;
++            dv.y1    = v->y;
++            dv.lnext = v->len;
++            dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr);
++
++            v = &m_src_vertices[dv.idx];
++            dv.x2 = v->x;
++            dv.y2 = v->y;
++            dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext);
++
++            dv.xb1 = 0;
++            dv.yb1 = 0;
++            dv.xb2 = 0;
++            dv.yb2 = 0;
++
++            switch(m_line_join)
+             {
+-                dv.idx = 2;
+-
+-                v     = &m_src_vertices[m_src_vertices.size() - 1];
+-                x1    = v->x;
+-                y1    = v->y;
+-                lprev = v->len;
+-
+-                v  = &m_src_vertices[0];
+-                x2 = v->x;
+-                y2 = v->y;
+-                dv.lcurr = v->len;
+-                line_parameters prev(x1, y1, x2, y2, lprev);
+-
+-                v = &m_src_vertices[1];
+-                dv.x1    = v->x;
+-                dv.y1    = v->y;
+-                dv.lnext = v->len;
+-                dv.curr = line_parameters(x2, y2, dv.x1, dv.y1, dv.lcurr);
+-
+-                v = &m_src_vertices[dv.idx];
+-                dv.x2 = v->x;
+-                dv.y2 = v->y;
+-                dv.next = line_parameters(dv.x1, dv.y1, dv.x2, dv.y2, dv.lnext);
+-
+-                dv.xb1 = 0;
+-                dv.yb1 = 0;
+-                dv.xb2 = 0;
+-                dv.yb2 = 0;
+-
+-                switch(m_line_join)
+-                {
+-                case outline_no_join:
+-                    dv.flags = 3;
+-                    break;
++            case outline_no_join:
++                dv.flags = 3;
++                break;
+ 
+-                case outline_miter_join:
+-                case outline_round_join:
+-                    dv.flags = 
+-                            (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) |
+-                        ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1);
+-                    break;
++            case outline_miter_join:
++            case outline_round_join:
++                dv.flags = 
++                        (prev.diagonal_quadrant() == dv.curr.diagonal_quadrant()) |
++                    ((dv.curr.diagonal_quadrant() == dv.next.diagonal_quadrant()) << 1);
++                break;
+ 
+-                case outline_miter_accurate_join:
+-                    dv.flags = 0;
+-                    break;
+-                }
++            case outline_miter_accurate_join:
++                dv.flags = 0;
++                break;
++            }
+ 
+-                if((dv.flags & 1) == 0 && m_line_join != outline_round_join)
+-                {
+-                    bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1);
+-                }
++            if((dv.flags & 1) == 0 && m_line_join != outline_round_join)
++            {
++                bisectrix(prev, dv.curr, &dv.xb1, &dv.yb1);
++            }
+ 
+-                if((dv.flags & 2) == 0 && m_line_join != outline_round_join)
+-                {
+-                    bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2);
+-                }
+-                draw(dv, 0, m_src_vertices.size());
++            if((dv.flags & 2) == 0 && m_line_join != outline_round_join)
++            {
++                bisectrix(dv.curr, dv.next, &dv.xb2, &dv.yb2);
+             }
++            draw(dv, 0, m_src_vertices.size());
+         }
+         else
+         {
+-- 
+1.8.1.4
+

Deleted: 0005-Remove-VC-6-workaround.patch
===================================================================
--- 0005-Remove-VC-6-workaround.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0005-Remove-VC-6-workaround.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,52 +0,0 @@
-From b8c43fb0ba13af0cc2b1050f48f81d76d2fdf0c7 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 15:04:05 +0100
-Subject: [PATCH 05/15] Remove VC++ 6 workaround
-
----
- include/agg_renderer_scanline.h | 29 +----------------------------
- 1 file changed, 1 insertion(+), 28 deletions(-)
-
-diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h
-index c3bb6f0..c27ca60 100644
---- a/include/agg_renderer_scanline.h
-+++ b/include/agg_renderer_scanline.h
-@@ -79,34 +79,7 @@ namespace agg
-             sl.reset(ras.min_x(), ras.max_x());
-             while(ras.sweep_scanline(sl))
-             {
--                //render_scanline_aa_solid(sl, ren, ren_color);
--
--                // This code is equivalent to the above call (copy/paste). 
--                // It's just a "manual" optimization for old compilers,
--                // like Microsoft Visual C++ v6.0
--                //-------------------------------
--                int y = sl.y();
--                unsigned num_spans = sl.num_spans();
--                typename Scanline::const_iterator span = sl.begin();
--
--                for(;;)
--                {
--                    int x = span->x;
--                    if(span->len > 0)
--                    {
--                        ren.blend_solid_hspan(x, y, (unsigned)span->len, 
--                                              ren_color, 
--                                              span->covers);
--                    }
--                    else
--                    {
--                        ren.blend_hline(x, y, (unsigned)(x - span->len - 1), 
--                                        ren_color, 
--                                        *(span->covers));
--                    }
--                    if(--num_spans == 0) break;
--                    ++span;
--                }
-+                render_scanline_aa_solid(sl, ren, ren_color);
-             }
-         }
-     }
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0005-Remove-VC-6-workaround.patch (from rev 343409, agg/trunk/0005-Remove-VC-6-workaround.patch)
===================================================================
--- 0005-Remove-VC-6-workaround.patch	                        (rev 0)
+++ 0005-Remove-VC-6-workaround.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,52 @@
+From b8c43fb0ba13af0cc2b1050f48f81d76d2fdf0c7 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 15:04:05 +0100
+Subject: [PATCH 05/15] Remove VC++ 6 workaround
+
+---
+ include/agg_renderer_scanline.h | 29 +----------------------------
+ 1 file changed, 1 insertion(+), 28 deletions(-)
+
+diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h
+index c3bb6f0..c27ca60 100644
+--- a/include/agg_renderer_scanline.h
++++ b/include/agg_renderer_scanline.h
+@@ -79,34 +79,7 @@ namespace agg
+             sl.reset(ras.min_x(), ras.max_x());
+             while(ras.sweep_scanline(sl))
+             {
+-                //render_scanline_aa_solid(sl, ren, ren_color);
+-
+-                // This code is equivalent to the above call (copy/paste). 
+-                // It's just a "manual" optimization for old compilers,
+-                // like Microsoft Visual C++ v6.0
+-                //-------------------------------
+-                int y = sl.y();
+-                unsigned num_spans = sl.num_spans();
+-                typename Scanline::const_iterator span = sl.begin();
+-
+-                for(;;)
+-                {
+-                    int x = span->x;
+-                    if(span->len > 0)
+-                    {
+-                        ren.blend_solid_hspan(x, y, (unsigned)span->len, 
+-                                              ren_color, 
+-                                              span->covers);
+-                    }
+-                    else
+-                    {
+-                        ren.blend_hline(x, y, (unsigned)(x - span->len - 1), 
+-                                        ren_color, 
+-                                        *(span->covers));
+-                    }
+-                    if(--num_spans == 0) break;
+-                    ++span;
+-                }
++                render_scanline_aa_solid(sl, ren, ren_color);
+             }
+         }
+     }
+-- 
+1.8.1.4
+

Deleted: 0006-Implement-grain-merge-blending-mode-GIMP.patch
===================================================================
--- 0006-Implement-grain-merge-blending-mode-GIMP.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0006-Implement-grain-merge-blending-mode-GIMP.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,85 +0,0 @@
-From 9422570f4e099a834fc43619f7b2a7eb6b442e25 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 15:31:01 +0100
-Subject: [PATCH 06/15] Implement grain-merge blending mode (GIMP)
-
----
- include/agg_pixfmt_rgba.h | 42 ++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 40 insertions(+), 2 deletions(-)
-
-diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
-index 79d10dc..f576ce4 100644
---- a/include/agg_pixfmt_rgba.h
-+++ b/include/agg_pixfmt_rgba.h
-@@ -1401,9 +1401,46 @@ namespace agg
-         }
-     };
- 
-+    //================================================comp_op_rgba_grain_merge
-+    template <typename ColorT, typename Order> struct comp_op_rgba_grain_merge
-+    {
-+        typedef ColorT color_type;
-+        typedef Order order_type;
-+        typedef typename color_type::value_type value_type;
-+        typedef typename color_type::calc_type calc_type;
-+        typedef typename color_type::long_type long_type;
-+        enum base_scale_e
-+        {
-+            base_shift = color_type::base_shift,
-+            base_mask  = color_type::base_mask
-+        };
- 
-+        // E = I + M - 128
-+        static AGG_INLINE void blend_pix(value_type* p,
-+                                         unsigned sr, unsigned sg, unsigned sb,
-+                                         unsigned sa, unsigned cover)
-+        {
- 
--
-+            if(cover < 255)
-+            {
-+                sr = (sr * cover + 255) >> 8;
-+                sg = (sg * cover + 255) >> 8;
-+                sb = (sb * cover + 255) >> 8;
-+                sa = (sa * cover + 255) >> 8;
-+            }
-+            if(sa)
-+            {
-+                calc_type da = p[Order::A];
-+                int dr = sr + p[Order::R] - 128;
-+                int dg = sg + p[Order::G] - 128;
-+                int db = sb + p[Order::B] - 128;
-+                p[Order::R] = (value_type)(dr < 0 ? 0 : (dr > 255 ? 255 : dr));
-+                p[Order::G] = (value_type)(dg < 0 ? 0 : (dg > 255 ? 255 : dg));
-+                p[Order::B] = (value_type)(db < 0 ? 0 : (db > 255 ? 255 : db));
-+                p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift));
-+            }
-+        }
-+    };
- 
-     //======================================================comp_op_table_rgba
-     template<class ColorT, class Order> struct comp_op_table_rgba
-@@ -1451,6 +1488,7 @@ namespace agg
-         comp_op_rgba_contrast   <ColorT,Order>::blend_pix,
-         comp_op_rgba_invert     <ColorT,Order>::blend_pix,
-         comp_op_rgba_invert_rgb <ColorT,Order>::blend_pix,
-+        comp_op_rgba_grain_merge<ColorT,Order>::blend_pix,
-         0
-     };
- 
-@@ -1486,6 +1524,7 @@ namespace agg
-         comp_op_contrast,      //----comp_op_contrast
-         comp_op_invert,        //----comp_op_invert
-         comp_op_invert_rgb,    //----comp_op_invert_rgb
-+        comp_op_grain_merge,   //----comp_op_grain_merge
- 
-         end_of_comp_op_e
-     };
-@@ -2908,4 +2947,3 @@ namespace agg
- }
- 
- #endif
--
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0006-Implement-grain-merge-blending-mode-GIMP.patch (from rev 343409, agg/trunk/0006-Implement-grain-merge-blending-mode-GIMP.patch)
===================================================================
--- 0006-Implement-grain-merge-blending-mode-GIMP.patch	                        (rev 0)
+++ 0006-Implement-grain-merge-blending-mode-GIMP.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,85 @@
+From 9422570f4e099a834fc43619f7b2a7eb6b442e25 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 15:31:01 +0100
+Subject: [PATCH 06/15] Implement grain-merge blending mode (GIMP)
+
+---
+ include/agg_pixfmt_rgba.h | 42 ++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 40 insertions(+), 2 deletions(-)
+
+diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
+index 79d10dc..f576ce4 100644
+--- a/include/agg_pixfmt_rgba.h
++++ b/include/agg_pixfmt_rgba.h
+@@ -1401,9 +1401,46 @@ namespace agg
+         }
+     };
+ 
++    //================================================comp_op_rgba_grain_merge
++    template <typename ColorT, typename Order> struct comp_op_rgba_grain_merge
++    {
++        typedef ColorT color_type;
++        typedef Order order_type;
++        typedef typename color_type::value_type value_type;
++        typedef typename color_type::calc_type calc_type;
++        typedef typename color_type::long_type long_type;
++        enum base_scale_e
++        {
++            base_shift = color_type::base_shift,
++            base_mask  = color_type::base_mask
++        };
+ 
++        // E = I + M - 128
++        static AGG_INLINE void blend_pix(value_type* p,
++                                         unsigned sr, unsigned sg, unsigned sb,
++                                         unsigned sa, unsigned cover)
++        {
+ 
+-
++            if(cover < 255)
++            {
++                sr = (sr * cover + 255) >> 8;
++                sg = (sg * cover + 255) >> 8;
++                sb = (sb * cover + 255) >> 8;
++                sa = (sa * cover + 255) >> 8;
++            }
++            if(sa)
++            {
++                calc_type da = p[Order::A];
++                int dr = sr + p[Order::R] - 128;
++                int dg = sg + p[Order::G] - 128;
++                int db = sb + p[Order::B] - 128;
++                p[Order::R] = (value_type)(dr < 0 ? 0 : (dr > 255 ? 255 : dr));
++                p[Order::G] = (value_type)(dg < 0 ? 0 : (dg > 255 ? 255 : dg));
++                p[Order::B] = (value_type)(db < 0 ? 0 : (db > 255 ? 255 : db));
++                p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift));
++            }
++        }
++    };
+ 
+     //======================================================comp_op_table_rgba
+     template<class ColorT, class Order> struct comp_op_table_rgba
+@@ -1451,6 +1488,7 @@ namespace agg
+         comp_op_rgba_contrast   <ColorT,Order>::blend_pix,
+         comp_op_rgba_invert     <ColorT,Order>::blend_pix,
+         comp_op_rgba_invert_rgb <ColorT,Order>::blend_pix,
++        comp_op_rgba_grain_merge<ColorT,Order>::blend_pix,
+         0
+     };
+ 
+@@ -1486,6 +1524,7 @@ namespace agg
+         comp_op_contrast,      //----comp_op_contrast
+         comp_op_invert,        //----comp_op_invert
+         comp_op_invert_rgb,    //----comp_op_invert_rgb
++        comp_op_grain_merge,   //----comp_op_grain_merge
+ 
+         end_of_comp_op_e
+     };
+@@ -2908,4 +2947,3 @@ namespace agg
+ }
+ 
+ #endif
+-
+-- 
+1.8.1.4
+

Deleted: 0007-Implement-grain-extract-blending-mode-GIMP.patch
===================================================================
--- 0007-Implement-grain-extract-blending-mode-GIMP.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0007-Implement-grain-extract-blending-mode-GIMP.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,85 +0,0 @@
-From abd440342e166a90d08610bf5b31d2a8357eafbe Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 15:43:18 +0100
-Subject: [PATCH 07/15] Implement grain-extract blending mode (GIMP)
-
----
- include/agg_pixfmt_rgba.h | 48 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
-index f576ce4..42f0a05 100644
---- a/include/agg_pixfmt_rgba.h
-+++ b/include/agg_pixfmt_rgba.h
-@@ -1442,6 +1442,52 @@ namespace agg
-         }
-     };
- 
-+    //==============================================comp_op_rgba_grain_extract
-+    template <typename ColorT, typename Order> struct comp_op_rgba_grain_extract
-+    {
-+        typedef ColorT color_type;
-+        typedef Order order_type;
-+        typedef typename color_type::value_type value_type;
-+        typedef typename color_type::calc_type calc_type;
-+        typedef typename color_type::long_type long_type;
-+        enum base_scale_e
-+        {
-+            base_shift = color_type::base_shift,
-+            base_mask  = color_type::base_mask
-+        };
-+
-+        // E = I - M + 128
-+        static AGG_INLINE void blend_pix(value_type* p,
-+                                         unsigned sr, unsigned sg, unsigned sb,
-+                                         unsigned sa, unsigned cover)
-+        {
-+            calc_type da = (p[Order::A] * sa + 255) >> 8;
-+
-+            int dr = p[Order::R] - sr + 128;
-+            int dg = p[Order::G] - sg + 128;
-+            int db = p[Order::B] - sb + 128;
-+
-+            dr = dr < 0 ? 0 : (dr > 255 ? 255 : dr);
-+            dg = dg < 0 ? 0 : (dg > 255 ? 255 : dg);
-+            db = db < 0 ? 0 : (db > 255 ? 255 : db);
-+
-+            p[Order::A] = da;
-+
-+            if(da < 255)
-+            {
-+                p[Order::R] = (dr * da + 255) >> 8;
-+                p[Order::G] = (dg * da + 255) >> 8;
-+                p[Order::B] = (db * da + 255) >> 8;
-+            }
-+            else
-+            {
-+                p[Order::R] = dr;
-+                p[Order::G] = dg;
-+                p[Order::B] = db;
-+            }
-+        }
-+    };
-+
-     //======================================================comp_op_table_rgba
-     template<class ColorT, class Order> struct comp_op_table_rgba
-     {
-@@ -1489,6 +1535,7 @@ namespace agg
-         comp_op_rgba_invert     <ColorT,Order>::blend_pix,
-         comp_op_rgba_invert_rgb <ColorT,Order>::blend_pix,
-         comp_op_rgba_grain_merge<ColorT,Order>::blend_pix,
-+        comp_op_rgba_grain_extract<ColorT,Order>::blend_pix,
-         0
-     };
- 
-@@ -1525,6 +1572,7 @@ namespace agg
-         comp_op_invert,        //----comp_op_invert
-         comp_op_invert_rgb,    //----comp_op_invert_rgb
-         comp_op_grain_merge,   //----comp_op_grain_merge
-+        comp_op_grain_extract, //----comp_op_grain_extract
- 
-         end_of_comp_op_e
-     };
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0007-Implement-grain-extract-blending-mode-GIMP.patch (from rev 343409, agg/trunk/0007-Implement-grain-extract-blending-mode-GIMP.patch)
===================================================================
--- 0007-Implement-grain-extract-blending-mode-GIMP.patch	                        (rev 0)
+++ 0007-Implement-grain-extract-blending-mode-GIMP.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,85 @@
+From abd440342e166a90d08610bf5b31d2a8357eafbe Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 15:43:18 +0100
+Subject: [PATCH 07/15] Implement grain-extract blending mode (GIMP)
+
+---
+ include/agg_pixfmt_rgba.h | 48 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
+index f576ce4..42f0a05 100644
+--- a/include/agg_pixfmt_rgba.h
++++ b/include/agg_pixfmt_rgba.h
+@@ -1442,6 +1442,52 @@ namespace agg
+         }
+     };
+ 
++    //==============================================comp_op_rgba_grain_extract
++    template <typename ColorT, typename Order> struct comp_op_rgba_grain_extract
++    {
++        typedef ColorT color_type;
++        typedef Order order_type;
++        typedef typename color_type::value_type value_type;
++        typedef typename color_type::calc_type calc_type;
++        typedef typename color_type::long_type long_type;
++        enum base_scale_e
++        {
++            base_shift = color_type::base_shift,
++            base_mask  = color_type::base_mask
++        };
++
++        // E = I - M + 128
++        static AGG_INLINE void blend_pix(value_type* p,
++                                         unsigned sr, unsigned sg, unsigned sb,
++                                         unsigned sa, unsigned cover)
++        {
++            calc_type da = (p[Order::A] * sa + 255) >> 8;
++
++            int dr = p[Order::R] - sr + 128;
++            int dg = p[Order::G] - sg + 128;
++            int db = p[Order::B] - sb + 128;
++
++            dr = dr < 0 ? 0 : (dr > 255 ? 255 : dr);
++            dg = dg < 0 ? 0 : (dg > 255 ? 255 : dg);
++            db = db < 0 ? 0 : (db > 255 ? 255 : db);
++
++            p[Order::A] = da;
++
++            if(da < 255)
++            {
++                p[Order::R] = (dr * da + 255) >> 8;
++                p[Order::G] = (dg * da + 255) >> 8;
++                p[Order::B] = (db * da + 255) >> 8;
++            }
++            else
++            {
++                p[Order::R] = dr;
++                p[Order::G] = dg;
++                p[Order::B] = db;
++            }
++        }
++    };
++
+     //======================================================comp_op_table_rgba
+     template<class ColorT, class Order> struct comp_op_table_rgba
+     {
+@@ -1489,6 +1535,7 @@ namespace agg
+         comp_op_rgba_invert     <ColorT,Order>::blend_pix,
+         comp_op_rgba_invert_rgb <ColorT,Order>::blend_pix,
+         comp_op_rgba_grain_merge<ColorT,Order>::blend_pix,
++        comp_op_rgba_grain_extract<ColorT,Order>::blend_pix,
+         0
+     };
+ 
+@@ -1525,6 +1572,7 @@ namespace agg
+         comp_op_invert,        //----comp_op_invert
+         comp_op_invert_rgb,    //----comp_op_invert_rgb
+         comp_op_grain_merge,   //----comp_op_grain_merge
++        comp_op_grain_extract, //----comp_op_grain_extract
+ 
+         end_of_comp_op_e
+     };
+-- 
+1.8.1.4
+

Deleted: 0008-Declare-multiplication-and-division-operators-as-con.patch
===================================================================
--- 0008-Declare-multiplication-and-division-operators-as-con.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0008-Declare-multiplication-and-division-operators-as-con.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,36 +0,0 @@
-From 2688af280836b95908d3cfd6915510d55de673b8 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 16:15:01 +0100
-Subject: [PATCH 08/15] Declare multiplication and division operators as const
-
----
- include/agg_trans_affine.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h
-index a662099..2f602a0 100644
---- a/include/agg_trans_affine.h
-+++ b/include/agg_trans_affine.h
-@@ -216,15 +216,15 @@ namespace agg
-         }
- 
-         // Multiply the matrix by another one and return
--        // the result in a separete matrix.
--        trans_affine operator * (const trans_affine& m)
-+        // the result in a separate matrix.
-+        trans_affine operator * (const trans_affine& m) const
-         {
-             return trans_affine(*this).multiply(m);
-         }
- 
-         // Multiply the matrix by inverse of another one 
--        // and return the result in a separete matrix.
--        trans_affine operator / (const trans_affine& m)
-+        // and return the result in a separate matrix.
-+        trans_affine operator / (const trans_affine& m) const
-         {
-             return trans_affine(*this).multiply_inv(m);
-         }
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0008-Declare-multiplication-and-division-operators-as-con.patch (from rev 343409, agg/trunk/0008-Declare-multiplication-and-division-operators-as-con.patch)
===================================================================
--- 0008-Declare-multiplication-and-division-operators-as-con.patch	                        (rev 0)
+++ 0008-Declare-multiplication-and-division-operators-as-con.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,36 @@
+From 2688af280836b95908d3cfd6915510d55de673b8 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 16:15:01 +0100
+Subject: [PATCH 08/15] Declare multiplication and division operators as const
+
+---
+ include/agg_trans_affine.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h
+index a662099..2f602a0 100644
+--- a/include/agg_trans_affine.h
++++ b/include/agg_trans_affine.h
+@@ -216,15 +216,15 @@ namespace agg
+         }
+ 
+         // Multiply the matrix by another one and return
+-        // the result in a separete matrix.
+-        trans_affine operator * (const trans_affine& m)
++        // the result in a separate matrix.
++        trans_affine operator * (const trans_affine& m) const
+         {
+             return trans_affine(*this).multiply(m);
+         }
+ 
+         // Multiply the matrix by inverse of another one 
+-        // and return the result in a separete matrix.
+-        trans_affine operator / (const trans_affine& m)
++        // and return the result in a separate matrix.
++        trans_affine operator / (const trans_affine& m) const
+         {
+             return trans_affine(*this).multiply_inv(m);
+         }
+-- 
+1.8.1.4
+

Deleted: 0009-Add-a-static-identity-transformation.patch
===================================================================
--- 0009-Add-a-static-identity-transformation.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0009-Add-a-static-identity-transformation.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,37 +0,0 @@
-From be9ed90897bc43b4547a3a1f8046827caaf13b4c Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 16:15:36 +0100
-Subject: [PATCH 09/15] Add a static identity transformation
-
----
- include/agg_trans_affine.h | 1 +
- src/agg_trans_affine.cpp   | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h
-index 2f602a0..67fe5ca 100644
---- a/include/agg_trans_affine.h
-+++ b/include/agg_trans_affine.h
-@@ -92,6 +92,7 @@ namespace agg
-     //----------------------------------------------------------------------
-     struct trans_affine
-     {
-+        static const trans_affine identity;
-         double sx, shy, shx, sy, tx, ty;
- 
-         //------------------------------------------ Construction
-diff --git a/src/agg_trans_affine.cpp b/src/agg_trans_affine.cpp
-index aca18c2..b3d9bc0 100644
---- a/src/agg_trans_affine.cpp
-+++ b/src/agg_trans_affine.cpp
-@@ -28,6 +28,7 @@
- 
- namespace agg
- {
-+    const trans_affine trans_affine::identity;
- 
-     //------------------------------------------------------------------------
-     const trans_affine& trans_affine::parl_to_parl(const double* src, 
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0009-Add-a-static-identity-transformation.patch (from rev 343409, agg/trunk/0009-Add-a-static-identity-transformation.patch)
===================================================================
--- 0009-Add-a-static-identity-transformation.patch	                        (rev 0)
+++ 0009-Add-a-static-identity-transformation.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,37 @@
+From be9ed90897bc43b4547a3a1f8046827caaf13b4c Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 16:15:36 +0100
+Subject: [PATCH 09/15] Add a static identity transformation
+
+---
+ include/agg_trans_affine.h | 1 +
+ src/agg_trans_affine.cpp   | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/include/agg_trans_affine.h b/include/agg_trans_affine.h
+index 2f602a0..67fe5ca 100644
+--- a/include/agg_trans_affine.h
++++ b/include/agg_trans_affine.h
+@@ -92,6 +92,7 @@ namespace agg
+     //----------------------------------------------------------------------
+     struct trans_affine
+     {
++        static const trans_affine identity;
+         double sx, shy, shx, sy, tx, ty;
+ 
+         //------------------------------------------ Construction
+diff --git a/src/agg_trans_affine.cpp b/src/agg_trans_affine.cpp
+index aca18c2..b3d9bc0 100644
+--- a/src/agg_trans_affine.cpp
++++ b/src/agg_trans_affine.cpp
+@@ -28,6 +28,7 @@
+ 
+ namespace agg
+ {
++    const trans_affine trans_affine::identity;
+ 
+     //------------------------------------------------------------------------
+     const trans_affine& trans_affine::parl_to_parl(const double* src, 
+-- 
+1.8.1.4
+

Deleted: 0010-Add-renderer_scanline_aa_alpha.patch
===================================================================
--- 0010-Add-renderer_scanline_aa_alpha.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0010-Add-renderer_scanline_aa_alpha.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,193 +0,0 @@
-From 749c8cd11e9e6f81e93ae5ce19258431722b6bdf Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 16:43:25 +0100
-Subject: [PATCH 10/15] Add renderer_scanline_aa_alpha
-
----
- include/agg_pixfmt_rgba.h       | 24 +++++++++++++-
- include/agg_renderer_base.h     | 28 ++++++++++++++++
- include/agg_renderer_scanline.h | 71 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 122 insertions(+), 1 deletion(-)
-
-diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
-index 42f0a05..6c4bc37 100644
---- a/include/agg_pixfmt_rgba.h
-+++ b/include/agg_pixfmt_rgba.h
-@@ -2247,7 +2247,6 @@ namespace agg
-         }
- 
- 
--
-         //--------------------------------------------------------------------
-         void blend_color_vspan(int x, int y,
-                                unsigned len, 
-@@ -2751,6 +2750,29 @@ namespace agg
-         }
- 
-         //--------------------------------------------------------------------
-+        void blend_color_hspan_alpha(int x, int y, unsigned len,
-+                                     const color_type* colors,
-+                                     value_type alpha,
-+                                     const int8u* covers,
-+                                     int8u cover)
-+        {
-+            value_type* p = (value_type*)m_rbuf->row_ptr(x, y, len) + (x << 2);
-+            do
-+            {
-+                blender_type::blend_pix(m_comp_op,
-+                                        p,
-+                                        (colors->r * alpha + 255) >> 8,
-+                                        (colors->g * alpha + 255) >> 8,
-+                                        (colors->b * alpha + 255) >> 8,
-+                                        (colors->a * alpha + 255) >> 8,
-+                                        covers ? *covers++ : cover);
-+                p += 4;
-+                ++colors;
-+            }
-+            while(--len);
-+        }
-+
-+        //--------------------------------------------------------------------
-         void blend_color_vspan(int x, int y, unsigned len, 
-                                const color_type* colors, 
-                                const int8u* covers,
-diff --git a/include/agg_renderer_base.h b/include/agg_renderer_base.h
-index 1808944..25f07c3 100644
---- a/include/agg_renderer_base.h
-+++ b/include/agg_renderer_base.h
-@@ -37,6 +37,7 @@ namespace agg
-     public:
-         typedef PixelFormat pixfmt_type;
-         typedef typename pixfmt_type::color_type color_type;
-+        typedef typename pixfmt_type::color_type::value_type value_type;
-         typedef typename pixfmt_type::row_data row_data;
- 
-         //--------------------------------------------------------------------
-@@ -383,6 +384,33 @@ namespace agg
-         }
- 
-         //--------------------------------------------------------------------
-+        void blend_color_hspan_alpha(int x, int y, int len,
-+                               const color_type* colors,
-+                               value_type alpha,
-+                               const cover_type* covers,
-+                               cover_type cover = agg::cover_full)
-+        {
-+            if(y > ymax()) return;
-+            if(y < ymin()) return;
-+
-+            if(x < xmin())
-+            {
-+                int d = xmin() - x;
-+                len -= d;
-+                if(len <= 0) return;
-+                if(covers) covers += d;
-+                colors += d;
-+                x = xmin();
-+            }
-+            if(x + len > xmax())
-+            {
-+                len = xmax() - x + 1;
-+                if(len <= 0) return;
-+            }
-+            m_ren->blend_color_hspan_alpha(x, y, len, colors, alpha,  covers, cover);
-+        }
-+
-+        //--------------------------------------------------------------------
-         void blend_color_vspan(int x, int y, int len, 
-                                const color_type* colors, 
-                                const cover_type* covers,
-diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h
-index c27ca60..4fcb557 100644
---- a/include/agg_renderer_scanline.h
-+++ b/include/agg_renderer_scanline.h
-@@ -156,6 +156,35 @@ namespace agg
-         }
-     }
- 
-+    //================================================render_scanline_aa_alpha
-+    template<class Scanline, class BaseRenderer,
-+             class SpanAllocator, class SpanGenerator>
-+    void render_scanline_aa_alpha(const Scanline& sl, BaseRenderer& ren,
-+                                  SpanAllocator& alloc, SpanGenerator& span_gen,
-+                                  unsigned alpha)
-+    {
-+        int y = sl.y();
-+
-+        unsigned num_spans = sl.num_spans();
-+        typename Scanline::const_iterator span = sl.begin();
-+        for(;;)
-+        {
-+            int x = span->x;
-+            int len = span->len;
-+            const typename Scanline::cover_type* covers = span->covers;
-+
-+            if(len < 0) len = -len;
-+            typename BaseRenderer::color_type* colors = alloc.allocate(len);
-+            span_gen.generate(colors, x, y, len);
-+            ren.blend_color_hspan_alpha(x, y, len, colors, alpha,
-+                                  (span->len < 0) ? 0 : covers, *covers);
-+
-+            if(--num_spans == 0) break;
-+            ++span;
-+        }
-+    }
-+
-+
-     //=====================================================render_scanlines_aa
-     template<class Rasterizer, class Scanline, class BaseRenderer, 
-              class SpanAllocator, class SpanGenerator>
-@@ -216,8 +245,50 @@ namespace agg
-     };
- 
- 
-+    //==============================================renderer_scanline_aa_alpha
-+    template<class BaseRenderer, class SpanAllocator, class SpanGenerator>
-+    class renderer_scanline_aa_alpha
-+    {
-+    public:
-+        typedef BaseRenderer  base_ren_type;
-+        typedef SpanAllocator alloc_type;
-+        typedef SpanGenerator span_gen_type;
- 
-+        //--------------------------------------------------------------------
-+        renderer_scanline_aa_alpha() : m_ren(0), m_alloc(0), m_span_gen(0), m_alpha(1.0) {}
-+        renderer_scanline_aa_alpha(base_ren_type& ren,
-+                             alloc_type& alloc,
-+                             span_gen_type& span_gen,
-+                             unsigned alpha) :
-+            m_ren(&ren),
-+            m_alloc(&alloc),
-+            m_span_gen(&span_gen),
-+            m_alpha(alpha)
-+        {}
-+        void attach(base_ren_type& ren,
-+                    alloc_type& alloc,
-+                    span_gen_type& span_gen)
-+        {
-+            m_ren = &ren;
-+            m_alloc = &alloc;
-+            m_span_gen = &span_gen;
-+        }
- 
-+        //--------------------------------------------------------------------
-+        void prepare() { m_span_gen->prepare(); }
-+
-+        //--------------------------------------------------------------------
-+        template<class Scanline> void render(const Scanline& sl)
-+        {
-+            render_scanline_aa_alpha(sl, *m_ren, *m_alloc, *m_span_gen, m_alpha);
-+        }
-+
-+    private:
-+        base_ren_type* m_ren;
-+        alloc_type*    m_alloc;
-+        span_gen_type* m_span_gen;
-+        unsigned       m_alpha;
-+    };
- 
- 
-     //===============================================render_scanline_bin_solid
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0010-Add-renderer_scanline_aa_alpha.patch (from rev 343409, agg/trunk/0010-Add-renderer_scanline_aa_alpha.patch)
===================================================================
--- 0010-Add-renderer_scanline_aa_alpha.patch	                        (rev 0)
+++ 0010-Add-renderer_scanline_aa_alpha.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,193 @@
+From 749c8cd11e9e6f81e93ae5ce19258431722b6bdf Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 16:43:25 +0100
+Subject: [PATCH 10/15] Add renderer_scanline_aa_alpha
+
+---
+ include/agg_pixfmt_rgba.h       | 24 +++++++++++++-
+ include/agg_renderer_base.h     | 28 ++++++++++++++++
+ include/agg_renderer_scanline.h | 71 +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 122 insertions(+), 1 deletion(-)
+
+diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
+index 42f0a05..6c4bc37 100644
+--- a/include/agg_pixfmt_rgba.h
++++ b/include/agg_pixfmt_rgba.h
+@@ -2247,7 +2247,6 @@ namespace agg
+         }
+ 
+ 
+-
+         //--------------------------------------------------------------------
+         void blend_color_vspan(int x, int y,
+                                unsigned len, 
+@@ -2751,6 +2750,29 @@ namespace agg
+         }
+ 
+         //--------------------------------------------------------------------
++        void blend_color_hspan_alpha(int x, int y, unsigned len,
++                                     const color_type* colors,
++                                     value_type alpha,
++                                     const int8u* covers,
++                                     int8u cover)
++        {
++            value_type* p = (value_type*)m_rbuf->row_ptr(x, y, len) + (x << 2);
++            do
++            {
++                blender_type::blend_pix(m_comp_op,
++                                        p,
++                                        (colors->r * alpha + 255) >> 8,
++                                        (colors->g * alpha + 255) >> 8,
++                                        (colors->b * alpha + 255) >> 8,
++                                        (colors->a * alpha + 255) >> 8,
++                                        covers ? *covers++ : cover);
++                p += 4;
++                ++colors;
++            }
++            while(--len);
++        }
++
++        //--------------------------------------------------------------------
+         void blend_color_vspan(int x, int y, unsigned len, 
+                                const color_type* colors, 
+                                const int8u* covers,
+diff --git a/include/agg_renderer_base.h b/include/agg_renderer_base.h
+index 1808944..25f07c3 100644
+--- a/include/agg_renderer_base.h
++++ b/include/agg_renderer_base.h
+@@ -37,6 +37,7 @@ namespace agg
+     public:
+         typedef PixelFormat pixfmt_type;
+         typedef typename pixfmt_type::color_type color_type;
++        typedef typename pixfmt_type::color_type::value_type value_type;
+         typedef typename pixfmt_type::row_data row_data;
+ 
+         //--------------------------------------------------------------------
+@@ -383,6 +384,33 @@ namespace agg
+         }
+ 
+         //--------------------------------------------------------------------
++        void blend_color_hspan_alpha(int x, int y, int len,
++                               const color_type* colors,
++                               value_type alpha,
++                               const cover_type* covers,
++                               cover_type cover = agg::cover_full)
++        {
++            if(y > ymax()) return;
++            if(y < ymin()) return;
++
++            if(x < xmin())
++            {
++                int d = xmin() - x;
++                len -= d;
++                if(len <= 0) return;
++                if(covers) covers += d;
++                colors += d;
++                x = xmin();
++            }
++            if(x + len > xmax())
++            {
++                len = xmax() - x + 1;
++                if(len <= 0) return;
++            }
++            m_ren->blend_color_hspan_alpha(x, y, len, colors, alpha,  covers, cover);
++        }
++
++        //--------------------------------------------------------------------
+         void blend_color_vspan(int x, int y, int len, 
+                                const color_type* colors, 
+                                const cover_type* covers,
+diff --git a/include/agg_renderer_scanline.h b/include/agg_renderer_scanline.h
+index c27ca60..4fcb557 100644
+--- a/include/agg_renderer_scanline.h
++++ b/include/agg_renderer_scanline.h
+@@ -156,6 +156,35 @@ namespace agg
+         }
+     }
+ 
++    //================================================render_scanline_aa_alpha
++    template<class Scanline, class BaseRenderer,
++             class SpanAllocator, class SpanGenerator>
++    void render_scanline_aa_alpha(const Scanline& sl, BaseRenderer& ren,
++                                  SpanAllocator& alloc, SpanGenerator& span_gen,
++                                  unsigned alpha)
++    {
++        int y = sl.y();
++
++        unsigned num_spans = sl.num_spans();
++        typename Scanline::const_iterator span = sl.begin();
++        for(;;)
++        {
++            int x = span->x;
++            int len = span->len;
++            const typename Scanline::cover_type* covers = span->covers;
++
++            if(len < 0) len = -len;
++            typename BaseRenderer::color_type* colors = alloc.allocate(len);
++            span_gen.generate(colors, x, y, len);
++            ren.blend_color_hspan_alpha(x, y, len, colors, alpha,
++                                  (span->len < 0) ? 0 : covers, *covers);
++
++            if(--num_spans == 0) break;
++            ++span;
++        }
++    }
++
++
+     //=====================================================render_scanlines_aa
+     template<class Rasterizer, class Scanline, class BaseRenderer, 
+              class SpanAllocator, class SpanGenerator>
+@@ -216,8 +245,50 @@ namespace agg
+     };
+ 
+ 
++    //==============================================renderer_scanline_aa_alpha
++    template<class BaseRenderer, class SpanAllocator, class SpanGenerator>
++    class renderer_scanline_aa_alpha
++    {
++    public:
++        typedef BaseRenderer  base_ren_type;
++        typedef SpanAllocator alloc_type;
++        typedef SpanGenerator span_gen_type;
+ 
++        //--------------------------------------------------------------------
++        renderer_scanline_aa_alpha() : m_ren(0), m_alloc(0), m_span_gen(0), m_alpha(1.0) {}
++        renderer_scanline_aa_alpha(base_ren_type& ren,
++                             alloc_type& alloc,
++                             span_gen_type& span_gen,
++                             unsigned alpha) :
++            m_ren(&ren),
++            m_alloc(&alloc),
++            m_span_gen(&span_gen),
++            m_alpha(alpha)
++        {}
++        void attach(base_ren_type& ren,
++                    alloc_type& alloc,
++                    span_gen_type& span_gen)
++        {
++            m_ren = &ren;
++            m_alloc = &alloc;
++            m_span_gen = &span_gen;
++        }
+ 
++        //--------------------------------------------------------------------
++        void prepare() { m_span_gen->prepare(); }
++
++        //--------------------------------------------------------------------
++        template<class Scanline> void render(const Scanline& sl)
++        {
++            render_scanline_aa_alpha(sl, *m_ren, *m_alloc, *m_span_gen, m_alpha);
++        }
++
++    private:
++        base_ren_type* m_ren;
++        alloc_type*    m_alloc;
++        span_gen_type* m_span_gen;
++        unsigned       m_alpha;
++    };
+ 
+ 
+     //===============================================render_scanline_bin_solid
+-- 
+1.8.1.4
+

Deleted: 0011-Avoid-division-by-zero-in-color-burn-mode.patch
===================================================================
--- 0011-Avoid-division-by-zero-in-color-burn-mode.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0011-Avoid-division-by-zero-in-color-burn-mode.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,58 +0,0 @@
-From 0ec68d7f5695403eccac75025ba7f6f7ecf1814e Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sun, 19 May 2013 16:49:08 +0100
-Subject: [PATCH 11/15] Avoid division by zero in color-burn mode
-
-FIXME: re-work using latest math from http://www.w3.org/TR/SVGCompositing/
----
- include/agg_pixfmt_rgba.h | 21 ++++++++++++++++++---
- 1 file changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
-index 6c4bc37..5d6b511 100644
---- a/include/agg_pixfmt_rgba.h
-+++ b/include/agg_pixfmt_rgba.h
-@@ -1027,6 +1027,21 @@ namespace agg
-         //   Dca' = Sa.(Sca.Da + Dca.Sa - Sa.Da)/Sca + Sca.(1 - Da) + Dca.(1 - Sa)
-         // 
-         // Da'  = Sa + Da - Sa.Da 
-+
-+
-+        // http://www.w3.org/TR/SVGCompositing/
-+        // if Sca == 0 and Dca == Da
-+        //   Dca' = Sa × Da + Sca × (1 - Da) + Dca × (1 - Sa)
-+        //        = Sa × Da + Dca × (1 - Sa)
-+        //        = Da = Dca
-+        // otherwise if Sca == 0
-+        //   Dca' = Sca × (1 - Da) + Dca × (1 - Sa)
-+        //        = Dca × (1 - Sa)
-+        // otherwise if Sca > 0
-+        //   Dca' = Sa × Da - Sa × Da × min(1, (1 - Dca/Da) × Sa/Sca) + Sca × (1 - Da) + Dca × (1 - Sa)
-+        //        = Sa × Da × (1 - min(1, (1 - Dca/Da) × Sa/Sca)) + Sca × (1 - Da) + Dca × (1 - Sa)
-+
-+        //   sa * da * (255 - std::min(255, (255 - p[0]/da)*(sa/(sc*sa)) +
-         static AGG_INLINE void blend_pix(value_type* p, 
-                                          unsigned sr, unsigned sg, unsigned sb, 
-                                          unsigned sa, unsigned cover)
-@@ -1056,15 +1071,15 @@ namespace agg
- 
-                 p[Order::R] = (value_type)(((srda + drsa <= sada) ? 
-                     sr * d1a + dr * s1a :
--                    sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask) >> base_shift);
-+                   (sr > 0 ? sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask : 0)) >> base_shift);
- 
-                 p[Order::G] = (value_type)(((sgda + dgsa <= sada) ? 
-                     sg * d1a + dg * s1a :
--                    sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask) >> base_shift);
-+                   (sg > 0 ? sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask : 0)) >> base_shift);
- 
-                 p[Order::B] = (value_type)(((sbda + dbsa <= sada) ? 
-                     sb * d1a + db * s1a :
--                    sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask) >> base_shift);
-+                   (sb > 0 ? sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask : 0)) >> base_shift);
- 
-                 p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift));
-             }
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0011-Avoid-division-by-zero-in-color-burn-mode.patch (from rev 343409, agg/trunk/0011-Avoid-division-by-zero-in-color-burn-mode.patch)
===================================================================
--- 0011-Avoid-division-by-zero-in-color-burn-mode.patch	                        (rev 0)
+++ 0011-Avoid-division-by-zero-in-color-burn-mode.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,58 @@
+From 0ec68d7f5695403eccac75025ba7f6f7ecf1814e Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sun, 19 May 2013 16:49:08 +0100
+Subject: [PATCH 11/15] Avoid division by zero in color-burn mode
+
+FIXME: re-work using latest math from http://www.w3.org/TR/SVGCompositing/
+---
+ include/agg_pixfmt_rgba.h | 21 ++++++++++++++++++---
+ 1 file changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
+index 6c4bc37..5d6b511 100644
+--- a/include/agg_pixfmt_rgba.h
++++ b/include/agg_pixfmt_rgba.h
+@@ -1027,6 +1027,21 @@ namespace agg
+         //   Dca' = Sa.(Sca.Da + Dca.Sa - Sa.Da)/Sca + Sca.(1 - Da) + Dca.(1 - Sa)
+         // 
+         // Da'  = Sa + Da - Sa.Da 
++
++
++        // http://www.w3.org/TR/SVGCompositing/
++        // if Sca == 0 and Dca == Da
++        //   Dca' = Sa × Da + Sca × (1 - Da) + Dca × (1 - Sa)
++        //        = Sa × Da + Dca × (1 - Sa)
++        //        = Da = Dca
++        // otherwise if Sca == 0
++        //   Dca' = Sca × (1 - Da) + Dca × (1 - Sa)
++        //        = Dca × (1 - Sa)
++        // otherwise if Sca > 0
++        //   Dca' = Sa × Da - Sa × Da × min(1, (1 - Dca/Da) × Sa/Sca) + Sca × (1 - Da) + Dca × (1 - Sa)
++        //        = Sa × Da × (1 - min(1, (1 - Dca/Da) × Sa/Sca)) + Sca × (1 - Da) + Dca × (1 - Sa)
++
++        //   sa * da * (255 - std::min(255, (255 - p[0]/da)*(sa/(sc*sa)) +
+         static AGG_INLINE void blend_pix(value_type* p, 
+                                          unsigned sr, unsigned sg, unsigned sb, 
+                                          unsigned sa, unsigned cover)
+@@ -1056,15 +1071,15 @@ namespace agg
+ 
+                 p[Order::R] = (value_type)(((srda + drsa <= sada) ? 
+                     sr * d1a + dr * s1a :
+-                    sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask) >> base_shift);
++                   (sr > 0 ? sa * (srda + drsa - sada) / sr + sr * d1a + dr * s1a + base_mask : 0)) >> base_shift);
+ 
+                 p[Order::G] = (value_type)(((sgda + dgsa <= sada) ? 
+                     sg * d1a + dg * s1a :
+-                    sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask) >> base_shift);
++                   (sg > 0 ? sa * (sgda + dgsa - sada) / sg + sg * d1a + dg * s1a + base_mask : 0)) >> base_shift);
+ 
+                 p[Order::B] = (value_type)(((sbda + dbsa <= sada) ? 
+                     sb * d1a + db * s1a :
+-                    sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask) >> base_shift);
++                   (sb > 0 ? sa * (sbda + dbsa - sada) / sb + sb * d1a + db * s1a + base_mask : 0)) >> base_shift);
+ 
+                 p[Order::A] = (value_type)(sa + da - ((sa * da + base_mask) >> base_shift));
+             }
+-- 
+1.8.1.4
+

Deleted: 0012-Avoid-pixel-artifacts-when-compositing.patch
===================================================================
--- 0012-Avoid-pixel-artifacts-when-compositing.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0012-Avoid-pixel-artifacts-when-compositing.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,26 +0,0 @@
-From bf0e0b71360cfbc690a29f4abe15d7b9b61b8479 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sat, 22 Jun 2013 12:11:54 +0100
-Subject: [PATCH 12/15] Avoid pixel artifacts when compositing
-
-Change src_over alpha to avoid pixel artifacts by reordering computations.
----
- include/agg_pixfmt_rgba.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
-index 5d6b511..bb255cd 100644
---- a/include/agg_pixfmt_rgba.h
-+++ b/include/agg_pixfmt_rgba.h
-@@ -346,7 +346,7 @@ namespace agg
-             p[Order::R] = (value_type)(sr + ((p[Order::R] * s1a + base_mask) >> base_shift));
-             p[Order::G] = (value_type)(sg + ((p[Order::G] * s1a + base_mask) >> base_shift));
-             p[Order::B] = (value_type)(sb + ((p[Order::B] * s1a + base_mask) >> base_shift));
--            p[Order::A] = (value_type)(sa + p[Order::A] - ((sa * p[Order::A] + base_mask) >> base_shift));
-+            p[Order::A] = (value_type)(sa + ((p[Order::A] * s1a + base_mask) >> base_shift));
-         }
-     };
- 
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0012-Avoid-pixel-artifacts-when-compositing.patch (from rev 343409, agg/trunk/0012-Avoid-pixel-artifacts-when-compositing.patch)
===================================================================
--- 0012-Avoid-pixel-artifacts-when-compositing.patch	                        (rev 0)
+++ 0012-Avoid-pixel-artifacts-when-compositing.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,26 @@
+From bf0e0b71360cfbc690a29f4abe15d7b9b61b8479 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sat, 22 Jun 2013 12:11:54 +0100
+Subject: [PATCH 12/15] Avoid pixel artifacts when compositing
+
+Change src_over alpha to avoid pixel artifacts by reordering computations.
+---
+ include/agg_pixfmt_rgba.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/agg_pixfmt_rgba.h b/include/agg_pixfmt_rgba.h
+index 5d6b511..bb255cd 100644
+--- a/include/agg_pixfmt_rgba.h
++++ b/include/agg_pixfmt_rgba.h
+@@ -346,7 +346,7 @@ namespace agg
+             p[Order::R] = (value_type)(sr + ((p[Order::R] * s1a + base_mask) >> base_shift));
+             p[Order::G] = (value_type)(sg + ((p[Order::G] * s1a + base_mask) >> base_shift));
+             p[Order::B] = (value_type)(sb + ((p[Order::B] * s1a + base_mask) >> base_shift));
+-            p[Order::A] = (value_type)(sa + p[Order::A] - ((sa * p[Order::A] + base_mask) >> base_shift));
++            p[Order::A] = (value_type)(sa + ((p[Order::A] * s1a + base_mask) >> base_shift));
+         }
+     };
+ 
+-- 
+1.8.1.4
+

Deleted: 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
===================================================================
--- 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,93 +0,0 @@
-From 6f1ab5f4b470bcf4e7e72aac6e2f7f6ee3e7b424 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sat, 22 Jun 2013 12:16:42 +0100
-Subject: [PATCH 13/15] Modify agg conv classes to allow access to the original
- geometry type
-
----
- include/agg_conv_adaptor_vcgen.h | 2 ++
- include/agg_conv_adaptor_vpgen.h | 1 +
- include/agg_conv_clip_polygon.h  | 1 +
- include/agg_conv_clip_polyline.h | 1 +
- include/agg_conv_smooth_poly1.h  | 2 ++
- 5 files changed, 7 insertions(+)
-
-diff --git a/include/agg_conv_adaptor_vcgen.h b/include/agg_conv_adaptor_vcgen.h
-index 7bd9b07..fef4579 100644
---- a/include/agg_conv_adaptor_vcgen.h
-+++ b/include/agg_conv_adaptor_vcgen.h
-@@ -38,6 +38,7 @@ namespace agg
- 
-         void rewind(unsigned) {}
-         unsigned vertex(double*, double*) { return path_cmd_stop; }
-+        unsigned type() const { return 0; }
-     };
- 
- 
-@@ -73,6 +74,7 @@ namespace agg
-         }
- 
-         unsigned vertex(double* x, double* y);
-+        unsigned type() const { return m_source->type(); }
- 
-     private:
-         // Prohibit copying
-diff --git a/include/agg_conv_adaptor_vpgen.h b/include/agg_conv_adaptor_vpgen.h
-index dca9415..a39102d 100644
---- a/include/agg_conv_adaptor_vpgen.h
-+++ b/include/agg_conv_adaptor_vpgen.h
-@@ -42,6 +42,7 @@ namespace agg
- 
-         void rewind(unsigned path_id);
-         unsigned vertex(double* x, double* y);
-+        unsigned type() const { return m_source->type(); }
- 
-     private:
-         conv_adaptor_vpgen(const conv_adaptor_vpgen<VertexSource, VPGen>&);
-diff --git a/include/agg_conv_clip_polygon.h b/include/agg_conv_clip_polygon.h
-index 3c34590..e417a7d 100644
---- a/include/agg_conv_clip_polygon.h
-+++ b/include/agg_conv_clip_polygon.h
-@@ -60,6 +60,7 @@ namespace agg
-         double y1() const { return base_type::vpgen().y1(); }
-         double x2() const { return base_type::vpgen().x2(); }
-         double y2() const { return base_type::vpgen().y2(); }
-+        unsigned type() const { return base_type::type(); }
- 
-     private:
-         conv_clip_polygon(const conv_clip_polygon<VertexSource>&);
-diff --git a/include/agg_conv_clip_polyline.h b/include/agg_conv_clip_polyline.h
-index d45067f..0de4b57 100644
---- a/include/agg_conv_clip_polyline.h
-+++ b/include/agg_conv_clip_polyline.h
-@@ -60,6 +60,7 @@ namespace agg
-         double y1() const { return base_type::vpgen().y1(); }
-         double x2() const { return base_type::vpgen().x2(); }
-         double y2() const { return base_type::vpgen().y2(); }
-+        unsigned type() const { return base_type::type(); }
- 
-     private:
-         conv_clip_polyline(const conv_clip_polyline<VertexSource>&);
-diff --git a/include/agg_conv_smooth_poly1.h b/include/agg_conv_smooth_poly1.h
-index 15f7f8d..0956c4e 100644
---- a/include/agg_conv_smooth_poly1.h
-+++ b/include/agg_conv_smooth_poly1.h
-@@ -48,6 +48,7 @@ namespace agg
- 
-         void   smooth_value(double v) { base_type::generator().smooth_value(v); }
-         double smooth_value() const { return base_type::generator().smooth_value(); }
-+        unsigned type() const { return base_type::type(); }
- 
-     private:
-         conv_smooth_poly1(const conv_smooth_poly1<VertexSource>&);
-@@ -70,6 +71,7 @@ namespace agg
- 
-         void   smooth_value(double v) { m_smooth.generator().smooth_value(v); }
-         double smooth_value() const { return m_smooth.generator().smooth_value(); }
-+        unsigned type() const { return m_smooth.type(); }
- 
-     private:
-         conv_smooth_poly1_curve(const conv_smooth_poly1_curve<VertexSource>&);
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch (from rev 343409, agg/trunk/0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch)
===================================================================
--- 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch	                        (rev 0)
+++ 0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,93 @@
+From 6f1ab5f4b470bcf4e7e72aac6e2f7f6ee3e7b424 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sat, 22 Jun 2013 12:16:42 +0100
+Subject: [PATCH 13/15] Modify agg conv classes to allow access to the original
+ geometry type
+
+---
+ include/agg_conv_adaptor_vcgen.h | 2 ++
+ include/agg_conv_adaptor_vpgen.h | 1 +
+ include/agg_conv_clip_polygon.h  | 1 +
+ include/agg_conv_clip_polyline.h | 1 +
+ include/agg_conv_smooth_poly1.h  | 2 ++
+ 5 files changed, 7 insertions(+)
+
+diff --git a/include/agg_conv_adaptor_vcgen.h b/include/agg_conv_adaptor_vcgen.h
+index 7bd9b07..fef4579 100644
+--- a/include/agg_conv_adaptor_vcgen.h
++++ b/include/agg_conv_adaptor_vcgen.h
+@@ -38,6 +38,7 @@ namespace agg
+ 
+         void rewind(unsigned) {}
+         unsigned vertex(double*, double*) { return path_cmd_stop; }
++        unsigned type() const { return 0; }
+     };
+ 
+ 
+@@ -73,6 +74,7 @@ namespace agg
+         }
+ 
+         unsigned vertex(double* x, double* y);
++        unsigned type() const { return m_source->type(); }
+ 
+     private:
+         // Prohibit copying
+diff --git a/include/agg_conv_adaptor_vpgen.h b/include/agg_conv_adaptor_vpgen.h
+index dca9415..a39102d 100644
+--- a/include/agg_conv_adaptor_vpgen.h
++++ b/include/agg_conv_adaptor_vpgen.h
+@@ -42,6 +42,7 @@ namespace agg
+ 
+         void rewind(unsigned path_id);
+         unsigned vertex(double* x, double* y);
++        unsigned type() const { return m_source->type(); }
+ 
+     private:
+         conv_adaptor_vpgen(const conv_adaptor_vpgen<VertexSource, VPGen>&);
+diff --git a/include/agg_conv_clip_polygon.h b/include/agg_conv_clip_polygon.h
+index 3c34590..e417a7d 100644
+--- a/include/agg_conv_clip_polygon.h
++++ b/include/agg_conv_clip_polygon.h
+@@ -60,6 +60,7 @@ namespace agg
+         double y1() const { return base_type::vpgen().y1(); }
+         double x2() const { return base_type::vpgen().x2(); }
+         double y2() const { return base_type::vpgen().y2(); }
++        unsigned type() const { return base_type::type(); }
+ 
+     private:
+         conv_clip_polygon(const conv_clip_polygon<VertexSource>&);
+diff --git a/include/agg_conv_clip_polyline.h b/include/agg_conv_clip_polyline.h
+index d45067f..0de4b57 100644
+--- a/include/agg_conv_clip_polyline.h
++++ b/include/agg_conv_clip_polyline.h
+@@ -60,6 +60,7 @@ namespace agg
+         double y1() const { return base_type::vpgen().y1(); }
+         double x2() const { return base_type::vpgen().x2(); }
+         double y2() const { return base_type::vpgen().y2(); }
++        unsigned type() const { return base_type::type(); }
+ 
+     private:
+         conv_clip_polyline(const conv_clip_polyline<VertexSource>&);
+diff --git a/include/agg_conv_smooth_poly1.h b/include/agg_conv_smooth_poly1.h
+index 15f7f8d..0956c4e 100644
+--- a/include/agg_conv_smooth_poly1.h
++++ b/include/agg_conv_smooth_poly1.h
+@@ -48,6 +48,7 @@ namespace agg
+ 
+         void   smooth_value(double v) { base_type::generator().smooth_value(v); }
+         double smooth_value() const { return base_type::generator().smooth_value(); }
++        unsigned type() const { return base_type::type(); }
+ 
+     private:
+         conv_smooth_poly1(const conv_smooth_poly1<VertexSource>&);
+@@ -70,6 +71,7 @@ namespace agg
+ 
+         void   smooth_value(double v) { m_smooth.generator().smooth_value(v); }
+         double smooth_value() const { return m_smooth.generator().smooth_value(); }
++        unsigned type() const { return m_smooth.type(); }
+ 
+     private:
+         conv_smooth_poly1_curve(const conv_smooth_poly1_curve<VertexSource>&);
+-- 
+1.8.1.4
+

Deleted: 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
===================================================================
--- 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,30 +0,0 @@
-From 6433a64f4cd41e88499386b0b7c7ae05d30683b8 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sat, 22 Jun 2013 12:33:32 +0100
-Subject: [PATCH 14/15] Avoid potential zero division resulting in nan in
- agg::gamma_linear
-
----
- include/agg_gamma_functions.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h
-index fa38a45..beb0c04 100644
---- a/include/agg_gamma_functions.h
-+++ b/include/agg_gamma_functions.h
-@@ -94,7 +94,11 @@ namespace agg
-         {
-             if(x < m_start) return 0.0;
-             if(x > m_end) return 1.0;
--            return (x - m_start) / (m_end - m_start);
-+            double delta = m_end - m_start;
-+            // avoid nan from potential zero division
-+            // https://github.com/mapnik/mapnik/issues/761
-+            if (delta <= 0.0) return 0.0;
-+            return (x - m_start) / delta;
-         }
- 
-     private:
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch (from rev 343409, agg/trunk/0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch)
===================================================================
--- 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch	                        (rev 0)
+++ 0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,30 @@
+From 6433a64f4cd41e88499386b0b7c7ae05d30683b8 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sat, 22 Jun 2013 12:33:32 +0100
+Subject: [PATCH 14/15] Avoid potential zero division resulting in nan in
+ agg::gamma_linear
+
+---
+ include/agg_gamma_functions.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h
+index fa38a45..beb0c04 100644
+--- a/include/agg_gamma_functions.h
++++ b/include/agg_gamma_functions.h
+@@ -94,7 +94,11 @@ namespace agg
+         {
+             if(x < m_start) return 0.0;
+             if(x > m_end) return 1.0;
+-            return (x - m_start) / (m_end - m_start);
++            double delta = m_end - m_start;
++            // avoid nan from potential zero division
++            // https://github.com/mapnik/mapnik/issues/761
++            if (delta <= 0.0) return 0.0;
++            return (x - m_start) / delta;
+         }
+ 
+     private:
+-- 
+1.8.1.4
+

Deleted: 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
===================================================================
--- 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,24 +0,0 @@
-From ca818d4dcd428c5560fc3c341fbaf427a7485e32 Mon Sep 17 00:00:00 2001
-From: Tom Hughes <tom at compton.nu>
-Date: Sat, 22 Jun 2013 12:34:37 +0100
-Subject: [PATCH 15/15] Ensure first value in the gamma table is always zero
-
----
- include/agg_gamma_functions.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h
-index beb0c04..b8eda52 100644
---- a/include/agg_gamma_functions.h
-+++ b/include/agg_gamma_functions.h
-@@ -49,6 +49,7 @@ namespace agg
- 
-         double operator() (double x) const
-         {
-+            if (x == 0.0) return 0.0;
-             return pow(x, m_gamma);
-         }
- 
--- 
-1.8.1.4
-

Copied: agg/repos/community-x86_64/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch (from rev 343409, agg/trunk/0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch)
===================================================================
--- 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch	                        (rev 0)
+++ 0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,24 @@
+From ca818d4dcd428c5560fc3c341fbaf427a7485e32 Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom at compton.nu>
+Date: Sat, 22 Jun 2013 12:34:37 +0100
+Subject: [PATCH 15/15] Ensure first value in the gamma table is always zero
+
+---
+ include/agg_gamma_functions.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h
+index beb0c04..b8eda52 100644
+--- a/include/agg_gamma_functions.h
++++ b/include/agg_gamma_functions.h
+@@ -49,6 +49,7 @@ namespace agg
+ 
+         double operator() (double x) const
+         {
++            if (x == 0.0) return 0.0;
+             return pow(x, m_gamma);
+         }
+ 
+-- 
+1.8.1.4
+

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-06-16 21:11:59 UTC (rev 343409)
+++ PKGBUILD	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,93 +0,0 @@
-# $Id$
-# Maintainer: Alexander F Rødseth <xyproto at archlinux.org>
-# Contributor: Jonathan Conder <jonno.conder at gmail.com>
-
-pkgname=agg
-pkgver=2.5
-pkgrel=8
-pkgdesc='High Quality Rendering Engine for C++'
-arch=('x86_64' 'i686')
-url='http://pkgs.fedoraproject.org/cgit/agg.git'
-license=('GPL')
-depends=('gcc-libs' 'sdl' 'freetype2')
-provides=('antigrain')
-replaces=('antigrain')
-source=("https://sources.archlinux.org/other/community/agg/$pkgname-free-$pkgver.tar.gz"
-        agg-2.4-depends.patch
-        agg-2.5-pkgconfig.patch
-        agg-2.5-autotools.patch
-        0001-Fix-non-terminating-loop-conditions-when-len-1.patch
-        0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
-        0003-Get-coordinates-from-previous-vertex-if-last-command.patch
-        0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
-        0005-Remove-VC-6-workaround.patch
-        0006-Implement-grain-merge-blending-mode-GIMP.patch
-        0007-Implement-grain-extract-blending-mode-GIMP.patch
-        0008-Declare-multiplication-and-division-operators-as-con.patch
-        0009-Add-a-static-identity-transformation.patch
-        0010-Add-renderer_scanline_aa_alpha.patch
-        0011-Avoid-division-by-zero-in-color-burn-mode.patch
-        0012-Avoid-pixel-artifacts-when-compositing.patch
-        0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
-        0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
-        0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch)
-md5sums=('d84c648bc2b57266e33d702c1af2a786'
-         '22f8e48c137d25038181c86d5e40b110'
-         '43a19a7b1564c591e56c8d09a0fd8da5'
-         'e042231955a8daee5f3cdfa4ee4e866a'
-         '2f701b49c441f1b91694600ff9d219e4'
-         '9e46762241b223ff4c7fba36f82628fa'
-         'd7597bd1c17c5623b1af6b79c68986f4'
-         '97d25ec4d0571e74324a433f2fe5d11d'
-         'af7a447a4b0469cd263cf3e65a7464e6'
-         '30a1d8cd1b657b7b51655f2e5e888031'
-         'a7bd6df05c6504d9066f7a954f07baf6'
-         'b438aa60165cccb406e20b6e0f0267d2'
-         '6ce59e5aa2c993ef66aed9bae4345284'
-         '67bedac31a1e8d40da7bb32c84a6159d'
-         'fb8f3902a39fcb1f065fc46b72567869'
-         '02e7df597ce0174cb3f8c665bcc6e436'
-         '398c544671060b45b70ed24ada3285f4'
-         'da05a1ef008e2702d2b0ca379ea07e2a'
-         '703351fc0af2d5e21ec3d67fcf112d0d')
-
-prepare() {
-  cd "$pkgname-$pkgver"
-
-  patch -p1 -i ../agg-2.4-depends.patch
-  patch -p1 -i ../agg-2.5-pkgconfig.patch
-  patch -p0 -i ../agg-2.5-autotools.patch
-  patch -p1 -i ../0001-Fix-non-terminating-loop-conditions-when-len-1.patch
-  patch -p1 -i ../0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
-  patch -p1 -i ../0003-Get-coordinates-from-previous-vertex-if-last-command.patch
-  patch -p1 -i ../0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
-  patch -p1 -i ../0005-Remove-VC-6-workaround.patch
-  patch -p1 -i ../0006-Implement-grain-merge-blending-mode-GIMP.patch
-  patch -p1 -i ../0007-Implement-grain-extract-blending-mode-GIMP.patch
-  patch -p1 -i ../0008-Declare-multiplication-and-division-operators-as-con.patch
-  patch -p1 -i ../0009-Add-a-static-identity-transformation.patch
-  patch -p1 -i ../0010-Add-renderer_scanline_aa_alpha.patch
-  patch -p1 -i ../0011-Avoid-division-by-zero-in-color-burn-mode.patch
-  patch -p1 -i ../0012-Avoid-pixel-artifacts-when-compositing.patch
-  patch -p1 -i ../0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
-  patch -p1 -i ../0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
-  patch -p1 -i ../0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
-  aclocal
-  autoheader
-  autoconf
-  libtoolize -f
-  automake --foreign -a -i
-}
-
-build() {
-  cd "$pkgname-$pkgver"
-
-  ./configure --prefix=/usr --disable-static
-  make
-}
-
-package() {
-  make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
-}
-
-# vim:set ts=2 sw=2 et:

Copied: agg/repos/community-x86_64/PKGBUILD (from rev 343409, agg/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,97 @@
+# $Id$
+# Maintainer: Alexander F Rødseth <xyproto at archlinux.org>
+# Contributor: Jonathan Conder <jonno.conder at gmail.com>
+
+pkgname=agg
+pkgver=2.5
+pkgrel=9
+pkgdesc='High Quality Rendering Engine for C++'
+arch=('x86_64')
+url='https://src.fedoraproject.org/rpms/agg'
+license=('GPL')
+depends=('gcc-libs' 'sdl' 'freetype2')
+provides=('antigrain')
+replaces=('antigrain')
+source=("https://sources.archlinux.org/other/community/agg/$pkgname-free-$pkgver.tar.gz"
+        agg-2.4-depends.patch
+        agg-2.5-pkgconfig.patch
+        agg-2.5-autotools.patch
+        0001-Fix-non-terminating-loop-conditions-when-len-1.patch
+        0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
+        0003-Get-coordinates-from-previous-vertex-if-last-command.patch
+        0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
+        0005-Remove-VC-6-workaround.patch
+        0006-Implement-grain-merge-blending-mode-GIMP.patch
+        0007-Implement-grain-extract-blending-mode-GIMP.patch
+        0008-Declare-multiplication-and-division-operators-as-con.patch
+        0009-Add-a-static-identity-transformation.patch
+        0010-Add-renderer_scanline_aa_alpha.patch
+        0011-Avoid-division-by-zero-in-color-burn-mode.patch
+        0012-Avoid-pixel-artifacts-when-compositing.patch
+        0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
+        0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
+        0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
+        bad-const.patch)
+md5sums=('d84c648bc2b57266e33d702c1af2a786'
+         '22f8e48c137d25038181c86d5e40b110'
+         '43a19a7b1564c591e56c8d09a0fd8da5'
+         'e042231955a8daee5f3cdfa4ee4e866a'
+         '2f701b49c441f1b91694600ff9d219e4'
+         '9e46762241b223ff4c7fba36f82628fa'
+         'd7597bd1c17c5623b1af6b79c68986f4'
+         '97d25ec4d0571e74324a433f2fe5d11d'
+         'af7a447a4b0469cd263cf3e65a7464e6'
+         '30a1d8cd1b657b7b51655f2e5e888031'
+         'a7bd6df05c6504d9066f7a954f07baf6'
+         'b438aa60165cccb406e20b6e0f0267d2'
+         '6ce59e5aa2c993ef66aed9bae4345284'
+         '67bedac31a1e8d40da7bb32c84a6159d'
+         'fb8f3902a39fcb1f065fc46b72567869'
+         '02e7df597ce0174cb3f8c665bcc6e436'
+         '398c544671060b45b70ed24ada3285f4'
+         'da05a1ef008e2702d2b0ca379ea07e2a'
+         '703351fc0af2d5e21ec3d67fcf112d0d'
+         'd25d0763a4e52111cd2f5716505cced8')
+
+prepare() {
+  cd "$pkgname-$pkgver"
+
+  patch -p1 -i ../agg-2.4-depends.patch
+  patch -p1 -i ../agg-2.5-pkgconfig.patch
+  patch -p0 -i ../agg-2.5-autotools.patch
+  patch -p1 -i ../0001-Fix-non-terminating-loop-conditions-when-len-1.patch
+  patch -p1 -i ../0002-Cure-recursion-by-aborting-if-the-co-ordinates-are-t.patch
+  patch -p1 -i ../0003-Get-coordinates-from-previous-vertex-if-last-command.patch
+  patch -p1 -i ../0004-Make-rasterizer_outline_aa-ignore-close_polygon-when.patch
+  patch -p1 -i ../0005-Remove-VC-6-workaround.patch
+  patch -p1 -i ../0006-Implement-grain-merge-blending-mode-GIMP.patch
+  patch -p1 -i ../0007-Implement-grain-extract-blending-mode-GIMP.patch
+  patch -p1 -i ../0008-Declare-multiplication-and-division-operators-as-con.patch
+  patch -p1 -i ../0009-Add-a-static-identity-transformation.patch
+  patch -p1 -i ../0010-Add-renderer_scanline_aa_alpha.patch
+  patch -p1 -i ../0011-Avoid-division-by-zero-in-color-burn-mode.patch
+  patch -p1 -i ../0012-Avoid-pixel-artifacts-when-compositing.patch
+  patch -p1 -i ../0013-Modify-agg-conv-classes-to-allow-access-to-the-origi.patch
+  patch -p1 -i ../0014-Avoid-potential-zero-division-resulting-in-nan-in-ag.patch
+  patch -p1 -i ../0015-Ensure-first-value-in-the-gamma-table-is-always-zero.patch
+  patch -p1 -i ../bad-const.patch
+
+  aclocal
+  autoheader
+  autoconf
+  libtoolize -f
+  automake --foreign -a -i
+}
+
+build() {
+  cd "$pkgname-$pkgver"
+
+  ./configure --prefix=/usr --disable-static
+  make
+}
+
+package() {
+  make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:

Deleted: agg-2.4-depends.patch
===================================================================
--- agg-2.4-depends.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ agg-2.4-depends.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,48 +0,0 @@
---- agg-2.4.orig/font_freetype/Makefile.am	2005-10-18 11:45:40.000000000 +0100
-+++ agg-2.4/font_freetype/Makefile.am	2006-07-10 15:11:55.000000000 +0100
-@@ -4,8 +4,9 @@
- agginclude_HEADERS = agg_font_freetype.h
- lib_LTLIBRARIES = libaggfontfreetype.la
- 
--libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @FREETYPE_LIBS@ 
-+libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
- libaggfontfreetype_la_SOURCES = agg_font_freetype.cpp
- libaggfontfreetype_la_CXXFLAGS = -I$(top_srcdir)/include @FREETYPE_CFLAGS@ 
-+libaggfontfreetype_la_LIBADD = ../src/libagg.la @FREETYPE_LIBS@
- endif
- 
---- agg-2.4.orig/src/platform/sdl/Makefile.am	2005-10-17 23:49:35.000000000 +0100
-+++ agg-2.4/src/platform/sdl/Makefile.am	2006-07-10 15:11:55.000000000 +0100
-@@ -5,6 +5,6 @@
- libaggplatformsdl_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
- libaggplatformsdl_la_SOURCES = agg_platform_support.cpp
- libaggplatformsdl_la_CXXFLAGS = -I$(top_srcdir)/include @SDL_CFLAGS@
--libaggplatformsdl_la_LIBADD = @SDL_LIBS@
-+libaggplatformsdl_la_LIBADD = ../../libagg.la @SDL_LIBS@
- endif
- 
---- agg-2.5.orig/configure.in	2006-10-09 05:06:36.000000000 +0100
-+++ agg-2.5/configure.in	2007-01-07 14:07:39.000000000 +0000
-@@ -122,7 +122,8 @@
- fi
- AM_CONDITIONAL(ENABLE_X11,[test x$no_x = x -a xno != x$enable_platform -a x$win32_host != xyes])
- AC_SUBST(x_includes)
--AC_SUBST(x_libraries)
-+test -n "$x_libraries" && X_LDFLAGS="-L$x_libraries"
-+AC_SUBST(X_LDFLAGS)
- dnl ###############################################
- 
- dnl Settung up library version
---- agg-2.5.orig/src/platform/X11/Makefile.am	2006-12-11 00:59:45.000000000 +0000
-+++ agg-2.5/src/platform/X11/Makefile.am	2007-01-07 14:07:39.000000000 +0000
-@@ -1,8 +1,8 @@
- if ENABLE_X11
- lib_LTLIBRARIES = libaggplatformX11.la
- 
--libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@  -L at x_libraries@
-+libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @X_LDFLAGS@
- libaggplatformX11_la_SOURCES = agg_platform_support.cpp
- libaggplatformX11_la_CXXFLAGS =  -I$(top_srcdir)/include -I at x_includes@
--libaggplatformX11_la_LIBADD = -lX11
-+libaggplatformX11_la_LIBADD = ../../libagg.la -lX11
- endif

Copied: agg/repos/community-x86_64/agg-2.4-depends.patch (from rev 343409, agg/trunk/agg-2.4-depends.patch)
===================================================================
--- agg-2.4-depends.patch	                        (rev 0)
+++ agg-2.4-depends.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,48 @@
+--- agg-2.4.orig/font_freetype/Makefile.am	2005-10-18 11:45:40.000000000 +0100
++++ agg-2.4/font_freetype/Makefile.am	2006-07-10 15:11:55.000000000 +0100
+@@ -4,8 +4,9 @@
+ agginclude_HEADERS = agg_font_freetype.h
+ lib_LTLIBRARIES = libaggfontfreetype.la
+ 
+-libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @FREETYPE_LIBS@ 
++libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
+ libaggfontfreetype_la_SOURCES = agg_font_freetype.cpp
+ libaggfontfreetype_la_CXXFLAGS = -I$(top_srcdir)/include @FREETYPE_CFLAGS@ 
++libaggfontfreetype_la_LIBADD = ../src/libagg.la @FREETYPE_LIBS@
+ endif
+ 
+--- agg-2.4.orig/src/platform/sdl/Makefile.am	2005-10-17 23:49:35.000000000 +0100
++++ agg-2.4/src/platform/sdl/Makefile.am	2006-07-10 15:11:55.000000000 +0100
+@@ -5,6 +5,6 @@
+ libaggplatformsdl_la_LDFLAGS = -version-info @AGG_LIB_VERSION@
+ libaggplatformsdl_la_SOURCES = agg_platform_support.cpp
+ libaggplatformsdl_la_CXXFLAGS = -I$(top_srcdir)/include @SDL_CFLAGS@
+-libaggplatformsdl_la_LIBADD = @SDL_LIBS@
++libaggplatformsdl_la_LIBADD = ../../libagg.la @SDL_LIBS@
+ endif
+ 
+--- agg-2.5.orig/configure.in	2006-10-09 05:06:36.000000000 +0100
++++ agg-2.5/configure.in	2007-01-07 14:07:39.000000000 +0000
+@@ -122,7 +122,8 @@
+ fi
+ AM_CONDITIONAL(ENABLE_X11,[test x$no_x = x -a xno != x$enable_platform -a x$win32_host != xyes])
+ AC_SUBST(x_includes)
+-AC_SUBST(x_libraries)
++test -n "$x_libraries" && X_LDFLAGS="-L$x_libraries"
++AC_SUBST(X_LDFLAGS)
+ dnl ###############################################
+ 
+ dnl Settung up library version
+--- agg-2.5.orig/src/platform/X11/Makefile.am	2006-12-11 00:59:45.000000000 +0000
++++ agg-2.5/src/platform/X11/Makefile.am	2007-01-07 14:07:39.000000000 +0000
+@@ -1,8 +1,8 @@
+ if ENABLE_X11
+ lib_LTLIBRARIES = libaggplatformX11.la
+ 
+-libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@  -L at x_libraries@
++libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @X_LDFLAGS@
+ libaggplatformX11_la_SOURCES = agg_platform_support.cpp
+ libaggplatformX11_la_CXXFLAGS =  -I$(top_srcdir)/include -I at x_includes@
+-libaggplatformX11_la_LIBADD = -lX11
++libaggplatformX11_la_LIBADD = ../../libagg.la -lX11
+ endif

Deleted: agg-2.5-autotools.patch
===================================================================
--- agg-2.5-autotools.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ agg-2.5-autotools.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,11 +0,0 @@
---- configure.in~	2013-02-22 09:30:00.000000000 -0600
-+++ configure.in	2013-02-22 09:30:49.030777571 -0600
-@@ -8,7 +8,7 @@
- AC_PROG_CC
- AC_PROG_CXX
- AC_ISC_POSIX
--AM_C_PROTOTYPES
-+#AM_C_PROTOTYPES
- if test "x$U" != "x"; then
-   AC_MSG_ERROR(Compiler not ANSI compliant)
- fi

Copied: agg/repos/community-x86_64/agg-2.5-autotools.patch (from rev 343409, agg/trunk/agg-2.5-autotools.patch)
===================================================================
--- agg-2.5-autotools.patch	                        (rev 0)
+++ agg-2.5-autotools.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,11 @@
+--- configure.in~	2013-02-22 09:30:00.000000000 -0600
++++ configure.in	2013-02-22 09:30:49.030777571 -0600
+@@ -8,7 +8,7 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+ AC_ISC_POSIX
+-AM_C_PROTOTYPES
++#AM_C_PROTOTYPES
+ if test "x$U" != "x"; then
+   AC_MSG_ERROR(Compiler not ANSI compliant)
+ fi

Deleted: agg-2.5-pkgconfig.patch
===================================================================
--- agg-2.5-pkgconfig.patch	2018-06-16 21:11:59 UTC (rev 343409)
+++ agg-2.5-pkgconfig.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -1,10 +0,0 @@
---- agg-2.5/libagg.pc.in.orig	2007-01-07 13:58:28.000000000 +0000
-+++ agg-2.5/libagg.pc.in	2007-01-07 14:02:40.000000000 +0000
-@@ -6,5 +6,6 @@
- Name: libagg
- Description: Anti Grain Geometry - A High Quality Rendering Engine for C++
- Version: @VERSION@
--Libs: -L${libdir} -Wl,-rpath,${exec_prefix}/lib -lagg
-+Requires.private: freetype2
-+Libs: -L${libdir} -lagg
- Cflags: -I${includedir}

Copied: agg/repos/community-x86_64/agg-2.5-pkgconfig.patch (from rev 343409, agg/trunk/agg-2.5-pkgconfig.patch)
===================================================================
--- agg-2.5-pkgconfig.patch	                        (rev 0)
+++ agg-2.5-pkgconfig.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,10 @@
+--- agg-2.5/libagg.pc.in.orig	2007-01-07 13:58:28.000000000 +0000
++++ agg-2.5/libagg.pc.in	2007-01-07 14:02:40.000000000 +0000
+@@ -6,5 +6,6 @@
+ Name: libagg
+ Description: Anti Grain Geometry - A High Quality Rendering Engine for C++
+ Version: @VERSION@
+-Libs: -L${libdir} -Wl,-rpath,${exec_prefix}/lib -lagg
++Requires.private: freetype2
++Libs: -L${libdir} -lagg
+ Cflags: -I${includedir}

Copied: agg/repos/community-x86_64/bad-const.patch (from rev 343409, agg/trunk/bad-const.patch)
===================================================================
--- bad-const.patch	                        (rev 0)
+++ bad-const.patch	2018-06-16 21:13:00 UTC (rev 343410)
@@ -0,0 +1,12 @@
+diff -u -r agg-2.5/include/agg_renderer_outline_aa.h agg-2.5-const/include/agg_renderer_outline_aa.h
+--- agg-2.5/include/agg_renderer_outline_aa.h	2006-10-09 06:07:08.000000000 +0200
++++ agg-2.5-const/include/agg_renderer_outline_aa.h	2018-06-16 23:09:16.500057814 +0200
+@@ -1375,7 +1375,7 @@
+         //---------------------------------------------------------------------
+         void profile(const line_profile_aa& prof) { m_profile = &prof; }
+         const line_profile_aa& profile() const { return *m_profile; }
+-        line_profile_aa& profile() { return *m_profile; }
++        line_profile_aa& profile() { return *const_cast<line_profile_aa*>(m_profile); }
+ 
+         //---------------------------------------------------------------------
+         int subpixel_width() const { return m_profile->subpixel_width(); }



More information about the arch-commits mailing list