diff --git a/server/pypi/build-wheel.py b/server/pypi/build-wheel.py index 726ad2b589..55fbb1d1f2 100755 --- a/server/pypi/build-wheel.py +++ b/server/pypi/build-wheel.py @@ -617,7 +617,8 @@ def env_vars(self): }) for var in self.meta["build"]["script_env"]: - key, value = var.split("=") + key, value = var.split("=",1) + print("DEBUG ENVS",key,value) env[key] = value # We do this unconditionally, because we don't know whether the package requires diff --git a/server/pypi/packages/igraph/android64_x86_64_arm64.h b/server/pypi/packages/igraph/android64_x86_64_arm64.h new file mode 100644 index 0000000000..cbdbd5fdf4 --- /dev/null +++ b/server/pypi/packages/igraph/android64_x86_64_arm64.h @@ -0,0 +1,9 @@ +#define IEEE_8087 +#define Arith_Kind_ASL 1 +#define Long int +#define Intcast (int)(long) +#define Double_Align +#define X64_bit_pointers +#define NANCHECK +#define QNaN0 0x0 +#define QNaN1 0x7ff80000 diff --git a/server/pypi/packages/igraph/meta.yaml b/server/pypi/packages/igraph/meta.yaml new file mode 100644 index 0000000000..f090962d4d --- /dev/null +++ b/server/pypi/packages/igraph/meta.yaml @@ -0,0 +1,12 @@ +package: + name: igraph + version: "0.11.5" + + +build: + number: 0 + script_env: + # paralelize compilation + - MAKEFLAGS=-j${CPU_COUNT} + - IGRAPH_CMAKE_EXTRA_ARGS=-DF2C_EXTERNAL_ARITH_HEADER=../../../../../../../android64_x86_64_arm64.h -DIEEE754_DOUBLE_ENDIANNESS_MATCHES=ON + diff --git a/server/pypi/packages/igraph/test.py b/server/pypi/packages/igraph/test.py new file mode 100644 index 0000000000..df1f6b11c0 --- /dev/null +++ b/server/pypi/packages/igraph/test.py @@ -0,0 +1,51 @@ +import unittest + + +class TestIgraph(unittest.TestCase): + + def testGraphCreation(self): + from igraph import Graph + g = Graph() + self.assertTrue(isinstance(g, Graph)) + self.assertTrue(g.vcount() == 0 and g.ecount() == 0 and not g.is_directed()) + + g = Graph(3, [(0, 1), (1, 2), (2, 0)]) + self.assertTrue( + g.vcount() == 3 + and g.ecount() == 3 + and not g.is_directed() + and g.is_simple() + ) + + g = Graph(2, [(0, 1), (1, 2), (2, 3)], True) + self.assertTrue( + g.vcount() == 4 and g.ecount() == 3 and g.is_directed() and g.is_simple() + ) + + g = Graph([(0, 1), (1, 2), (2, 1)]) + self.assertTrue( + g.vcount() == 3 + and g.ecount() == 3 + and not g.is_directed() + and not g.is_simple() + ) + + g = Graph(((0, 1), (0, 0), (1, 2))) + self.assertTrue( + g.vcount() == 3 + and g.ecount() == 3 + and not g.is_directed() + and not g.is_simple() + ) + + g = Graph(8, None) + self.assertEqual(8, g.vcount()) + self.assertEqual(0, g.ecount()) + self.assertFalse(g.is_directed()) + + g = Graph(edges=None) + self.assertEqual(0, g.vcount()) + self.assertEqual(0, g.ecount()) + self.assertFalse(g.is_directed()) + + self.assertRaises(TypeError, Graph, edgelist=[(1, 2)]) \ No newline at end of file