package/libiio: fix C# build
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sun, 5 Sep 2021 19:25:48 +0000 (21:25 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sat, 11 Sep 2021 14:16:40 +0000 (16:16 +0200)
C# build is broken since bump to version 0.23 in commit
50b6d7d69f880e940d7c281c493a6a6694d6ebe3:

/tmp/instance-0/output-1/build/libiio-0.23/bindings/csharp/Device.cs(211,32): error CS0106: The modifier `readonly' is not valid for this item

Fixes:
 - http://autobuild.buildroot.org/results/a26cce9760c75c44ebdcf21dfb4a69aad5702de4

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch [new file with mode: 0644]

diff --git a/package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch b/package/libiio/0001-C-public-fields-with-getters-setters-cannot-be-marked-readonly.patch
new file mode 100644 (file)
index 0000000..a665d48
--- /dev/null
@@ -0,0 +1,32 @@
+From 85bf9cd32138539252ed01c355cf766612cf47c9 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul@crapouillou.net>
+Date: Thu, 2 Sep 2021 11:04:21 +0100
+Subject: [PATCH] C#: public fields with getters/setters cannot be marked
+ readonly
+
+MSVC would fail with the following error:
+error CS0106: The modifier 'readonly' is not valid for this item
+
+Reported-by: Raluca Chis <raluca.chis@analog.com>
+Signed-off-by: Paul Cercueil <paul@crapouillou.net>
+
+[Retrieved from:
+https://github.com/analogdevicesinc/libiio/commit/85bf9cd32138539252ed01c355cf766612cf47c9]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ bindings/csharp/Device.cs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bindings/csharp/Device.cs b/bindings/csharp/Device.cs
+index 96214243f..6c8c8f4f3 100644
+--- a/bindings/csharp/Device.cs
++++ b/bindings/csharp/Device.cs
+@@ -208,7 +208,7 @@ public override void write(string str)
+         public readonly string name;
+         /// <summary>The label of this device.</summary>
+-        public readonly string label { get; private set; }
++        public string label { get; private set; }
+         /// <summary>A <c>list</c> of all the attributes that this device has.</summary>
+         public readonly List<Attr> attrs;