[arch-commits] Commit in openra/trunk (2 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Sun May 21 14:19:07 UTC 2017


    Date: Sunday, May 21, 2017 @ 14:19:06
  Author: svenstaro
Revision: 228907

upgpkg: openra 20170421-2

Add patch for mono 5

Added:
  openra/trunk/b74141666b57075be1bcc16a1d864e19988b9dfb.patch
Modified:
  openra/trunk/PKGBUILD

------------------------------------------------+
 PKGBUILD                                       |   10 +++++--
 b74141666b57075be1bcc16a1d864e19988b9dfb.patch |   30 +++++++++++++++++++++++
 2 files changed, 37 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-05-21 14:07:57 UTC (rev 228906)
+++ PKGBUILD	2017-05-21 14:19:06 UTC (rev 228907)
@@ -3,7 +3,7 @@
 # Contributor: Matthew Bowra-Dean <matthew at ijw.co.nz>
 pkgname=openra
 pkgver=20170421
-pkgrel=1
+pkgrel=2
 pkgdesc="An open-source implementation of the Red Alert engine using .NET/Mono and OpenGL"
 arch=('any')
 url="http://www.openra.net"
@@ -13,12 +13,16 @@
          'desktop-file-utils' 'xdg-utils' 'zenity')
 makedepends=('git' 'unzip')
 options=(!strip)
-source=("git+https://github.com/OpenRA/OpenRA.git#tag=release-${pkgver}")
-md5sums=('SKIP')
+source=("git+https://github.com/OpenRA/OpenRA.git#tag=release-${pkgver}"
+        b74141666b57075be1bcc16a1d864e19988b9dfb.patch)
+md5sums=('SKIP'
+         'ef4913d8de94aa2d77cf9bb252987ca2')
 
 prepare() {
   cd OpenRA
 
+  patch -Np1 < "$srcdir"/b74141666b57075be1bcc16a1d864e19988b9dfb.patch
+
   make version
 }
 

Added: b74141666b57075be1bcc16a1d864e19988b9dfb.patch
===================================================================
--- b74141666b57075be1bcc16a1d864e19988b9dfb.patch	                        (rev 0)
+++ b74141666b57075be1bcc16a1d864e19988b9dfb.patch	2017-05-21 14:19:06 UTC (rev 228907)
@@ -0,0 +1,30 @@
+From b74141666b57075be1bcc16a1d864e19988b9dfb Mon Sep 17 00:00:00 2001
+From: Paul Chote <pchote at users.noreply.github.com>
+Date: Thu, 18 May 2017 08:58:52 +0100
+Subject: [PATCH] Implement a workaround for the mono 5.0 cursor enumerator
+ bug.
+
+---
+ OpenRA.Game/Orders/UnitOrderGenerator.cs | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/OpenRA.Game/Orders/UnitOrderGenerator.cs b/OpenRA.Game/Orders/UnitOrderGenerator.cs
+index 92862b8eb38..0a5b459709c 100644
+--- a/OpenRA.Game/Orders/UnitOrderGenerator.cs
++++ b/OpenRA.Game/Orders/UnitOrderGenerator.cs
+@@ -139,8 +139,15 @@ static UnitOrderResult OrderForUnit(Actor self, Target target, List<Actor> actor
+ 			if (mi.Modifiers.HasModifier(Modifiers.Alt))
+ 				modifiers |= TargetModifiers.ForceMove;
+ 
++			// The Select(x => x) is required to work around an issue on mono 5.0
++			// where calling OrderBy* on SelectManySingleSelectorIterator can in some
++			// circumstances (which we were unable to identify) replace entries in the
++			// enumeration with duplicates of other entries.
++			// Other action that replace the SelectManySingleSelectorIterator with a
++			// different enumerator type (e.g. .Where(true) or .ToList()) also work.
+ 			var orders = self.TraitsImplementing<IIssueOrder>()
+ 				.SelectMany(trait => trait.Orders.Select(x => new { Trait = trait, Order = x }))
++				.Select(x => x)
+ 				.OrderByDescending(x => x.Order.OrderPriority);
+ 
+ 			for (var i = 0; i < 2; i++)



More information about the arch-commits mailing list