Skip to content

Commit c1ca120

Browse files
committed
Merge pull request kivy#171 from LogicalDash/igraph
recipes for igraph, a hi-performance library of graph algorithms
2 parents 937f873 + 6a85278 commit c1ca120

13 files changed

+256
-0
lines changed

recipes/c_igraph/Makefile.am.patch

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
68,72d67
2+
< f2c/arith.h: f2c/arithchk.c
3+
< $(CC) $(CFLAGS) -DNO_FPINIT f2c/arithchk.c -lm -o f2c/arith || \
4+
< $(CC) -DNO_LONG_LONG $(CFLAGS) -DNO_FPINIT f2c/arithchk.c \
5+
< $(WARNING_CFLAGS) -lm -o f2c/arith
6+
< f2c/arith > f2c/arith.h

recipes/c_igraph/arith.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#define IEEE_8087
2+
#define Arith_Kind_ASL 1
3+
#define Double_Align
4+
#define NANCHECK
5+
#define QNaN0 0x0
6+
#define QNaN1 0x7ff80000

recipes/c_igraph/config.h.patch

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- build/c_igraph/igraph-0.6.5/config.h 2013-11-05 14:10:26.285433616 -0500
2+
+++ config.h 2013-11-05 14:12:36.431283045 -0500
3+
@@ -53,7 +53,7 @@
4+
/* #undef HAVE_LOG2 */
5+
6+
/* Define to 1 if you have the `logbl' function. */
7+
-/* #undef HAVE_LOGBL */
8+
+#define HAVE_LOGBL 1
9+
10+
/* Define to 1 if you have the <memory.h> header file. */
11+
#define HAVE_MEMORY_H 1

recipes/c_igraph/recipe.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/bin/bash
2+
3+
# Recipe for igraph, a high performance graph library in C: http://igraph.org
4+
#
5+
# Written by Zachary Spector: https://github.com/LogicalDash/
6+
#
7+
#
8+
9+
VERSION_c_igraph=${VERSION_c_igraph:0.6.5}
10+
11+
DEPS_c_igraph=()
12+
13+
URL_c_igraph=http://downloads.sourceforge.net/project/igraph/C%20library/0.6.5/igraph-0.6.5.tar.gz
14+
15+
MD5_c_igraph=5f9562263ba78b31c564d6897ff5a110
16+
17+
BUILD_c_igraph=$BUILD_PATH/c_igraph/$(get_directory $URL_c_igraph)
18+
19+
RECIPE_c_igraph=$RECIPES_PATH/c_igraph
20+
21+
function prebuild_c_igraph() {
22+
true
23+
}
24+
25+
function shouldbuild_c_igraph() {
26+
if [ -e $BUILD_c_igraph/.built ]; then
27+
export DO_BUILD=0;
28+
fi
29+
}
30+
31+
function build_c_igraph() {
32+
cd $BUILD_c_igraph
33+
34+
push_arm
35+
try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch
36+
export OLD_CPPFLAGS="$CPPFLAGS"
37+
export CPPFLAGS="$CPPFLAGS -I$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/include -I$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi/include -L$ANDROIDNDK/platforms/android-$ANDROIDAPI/arch-arm/usr/lib"
38+
try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi
39+
export CPPFLAGS="$OLD_CPPFLAGS"
40+
try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h
41+
try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch
42+
try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch
43+
try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch
44+
try $MAKE
45+
try $MAKE install
46+
47+
pop_arm
48+
touch .built
49+
}
50+
51+
function postbuild_c_igraph() {
52+
true
53+
}

recipes/c_igraph/sysdep1.h.patch

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
16a17
2+
> /*android doesn't like these
3+
18c19,20
4+
< #define OFF_T __off64_t
5+
---
6+
> #define OFF_T __off64_t*/
7+
> #define OFF_T long

recipes/c_igraph/uninit.c.patch

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
276c276,277
2+
< #include <fpu_control.h>
3+
---
4+
> //doesn't exist on Android
5+
> //#include <fpu_control.h>
6+
334a336
7+
> /*
8+
336c338
9+
< #define RQD_FPU_MASK (_FPU_MASK_OM+_FPU_MASK_IM+_FPU_MASK_ZM)
10+
---
11+
> #define RQD_FPU_MASK (_FPU_MASK_OM+_FPU_MASK_IM+_FPU_MASK_ZM)*/
12+
343a346
13+
> /*
14+
345c348
15+
< #define RQD_FPU_MASK (_FPU_MASK_OM+_FPU_MASK_IM+_FPU_MASK_ZM)
16+
---
17+
> #define RQD_FPU_MASK (_FPU_MASK_OM+_FPU_MASK_IM+_FPU_MASK_ZM)*/
18+
350a354
19+
> /*
20+
352c356
21+
< #define RQD_FPU_MASK (_FPU_MASK_O+_FPU_MASK_V+_FPU_MASK_Z)
22+
---
23+
> #define RQD_FPU_MASK (_FPU_MASK_O+_FPU_MASK_V+_FPU_MASK_Z)*/

recipes/igraph/Makefile.am.patch

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
170c170,180
2+
< scg_headers.h igraph_hacks_internal.h
3+
---
4+
> scg_headers.h igraph_hacks_internal.h \
5+
> arpackobject.h \
6+
> pyattributes.h bfsiter.h \
7+
> common.h convert.h \
8+
> edgeobject.h edgeseqobject.h \
9+
> error.h filehandle.h \
10+
> graphobject.h igraphmodule_api.h \
11+
> indexing.h platform.h \
12+
> py2compat.h pyhelpers.h \
13+
> pyrandom.h vertexobject.h \
14+
> vertexseqobject.h
15+
260c270,287
16+
< qsort.c qsort_r.c types.c hacks.c
17+
---
18+
> qsort.c qsort_r.c types.c hacks.c \
19+
> arpackobject.c \
20+
> pyattributes.c \
21+
> bfsiter.c \
22+
> common.c \
23+
> convert.c \
24+
> edgeobject.c \
25+
> edgeseqobject.c \
26+
> error.c \
27+
> filehandle.c \
28+
> graphobject.c \
29+
> igraphmodule.c \
30+
> indexing.c \
31+
> py2compat.c \
32+
> pyhelpers.c \
33+
> pyrandom.c \
34+
> vertexobject.c \
35+
> vertexseqobject.c
36+
263,265c290,292
37+
< libigraph_la_CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
38+
< libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
39+
< libigraph_la_LDFLAGS = -no-undefined
40+
---
41+
> libigraph_la_CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS) -IBUILD_PATH/python-install/include/python2.7
42+
> libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS) -IBUILD_PATH/python-install/include/python2.7
43+
> libigraph_la_LDFLAGS = -no-undefined -LBUILD_PATH/python-install/lib -IBUILD_PATH/python-install/include/python2.7
44+
267c294
45+
< $(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PLFIT_LIB)
46+
---
47+
> $(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PLFIT_LIB) -lpython2.7

recipes/igraph/config.h.in.patch

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1a2
2+
> #define HAVE_LOGBL 1

recipes/igraph/config.h.patch

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2a3
2+
> #define HAVE_LOGBL 1

recipes/igraph/configure.ac.patch

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
43c43
2+
< AC_CHECK_FUNCS([expm1 rint rintf finite log2 logbl snprintf log1p round fabsl fmin strcasecmp isnan strdup _strdup ftruncate stpcpy])
3+
---
4+
> AC_CHECK_FUNCS([expm1 rint rintf finite log2 snprintf log1p round fabsl fmin strcasecmp isnan strdup _strdup ftruncate stpcpy])

0 commit comments

Comments
 (0)