summary refs log tree commit diff
path: root/gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch')
-rw-r--r--gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch b/gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch
new file mode 100644
index 0000000000..ba34c0bdd6
--- /dev/null
+++ b/gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch
@@ -0,0 +1,90 @@
+Fix ordering of Arbitrary definitions for GHC 9 compatibility.
+
+Taken from upstream:
+
+  https://github.com/ganeti/ganeti/commit/feab8faa8fe055c89205497e4f277ae4c7b8caad
+
+diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs
+index 97ceb36dca..8d80be9e80 100644
+--- a/test/hs/Test/Ganeti/Objects.hs
++++ b/test/hs/Test/Ganeti/Objects.hs
+@@ -93,8 +93,14 @@ instance Arbitrary (Container DataCollectorConfig) where
+ instance Arbitrary BS.ByteString where
+   arbitrary = genPrintableByteString
+ 
++instance Arbitrary a => Arbitrary (Private a) where
++  arbitrary = Private <$> arbitrary
++
+ $(genArbitrary ''PartialNDParams)
+ 
++instance Arbitrary (Container J.JSValue) where
++  arbitrary = return $ GenericContainer Map.empty
++
+ instance Arbitrary Node where
+   arbitrary = Node <$> genFQDN <*> genFQDN <*> genFQDN
+               <*> arbitrary <*> arbitrary <*> arbitrary <*> genFQDN
+@@ -297,10 +303,6 @@ genDisk = genDiskWithChildren 3
+ -- validation rules.
+ $(genArbitrary ''PartialISpecParams)
+ 
+--- | FIXME: This generates completely random data, without normal
+--- validation rules.
+-$(genArbitrary ''PartialIPolicy)
+-
+ $(genArbitrary ''FilledISpecParams)
+ $(genArbitrary ''MinMaxISpecs)
+ $(genArbitrary ''FilledIPolicy)
+@@ -309,6 +311,10 @@ $(genArbitrary ''FilledNDParams)
+ $(genArbitrary ''FilledNicParams)
+ $(genArbitrary ''FilledBeParams)
+ 
++-- | FIXME: This generates completely random data, without normal
++-- validation rules.
++$(genArbitrary ''PartialIPolicy)
++
+ -- | No real arbitrary instance for 'ClusterHvParams' yet.
+ instance Arbitrary ClusterHvParams where
+   arbitrary = return $ GenericContainer Map.empty
+@@ -331,18 +337,12 @@ instance Arbitrary OsParams where
+ instance Arbitrary Objects.ClusterOsParamsPrivate where
+   arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
+ 
+-instance Arbitrary a => Arbitrary (Private a) where
+-  arbitrary = Private <$> arbitrary
+-
+ instance Arbitrary ClusterOsParams where
+   arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
+ 
+ instance Arbitrary ClusterBeParams where
+   arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
+ 
+-instance Arbitrary IAllocatorParams where
+-  arbitrary = return $ GenericContainer Map.empty
+-
+ $(genArbitrary ''Cluster)
+ 
+ instance Arbitrary ConfigData where
+diff --git a/test/hs/Test/Ganeti/Query/Language.hs b/test/hs/Test/Ganeti/Query/Language.hs
+index 04fb8c3898..fa50196f00 100644
+--- a/test/hs/Test/Ganeti/Query/Language.hs
++++ b/test/hs/Test/Ganeti/Query/Language.hs
+@@ -59,6 +59,9 @@ import Ganeti.Query.Language
+ instance Arbitrary (Filter FilterField) where
+   arbitrary = genFilter
+ 
++instance Arbitrary FilterRegex where
++  arbitrary = genName >>= mkRegex -- a name should be a good regex
++
+ -- | Custom 'Filter' generator (top-level), which enforces a
+ -- (sane) limit on the depth of the generated filters.
+ genFilter :: Gen (Filter FilterField)
+@@ -97,9 +100,6 @@ $(genArbitrary ''QueryTypeLuxi)
+ 
+ $(genArbitrary ''ItemType)
+ 
+-instance Arbitrary FilterRegex where
+-  arbitrary = genName >>= mkRegex -- a name should be a good regex
+-
+ $(genArbitrary ''ResultStatus)
+ 
+ $(genArbitrary ''FieldType)