From 5fa612436e81d16d6c269f7dfbb51abe4edafca2 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Sat, 14 Dec 2013 10:51:46 -0500 Subject: [PATCH 1/7] Patch during prebuild rather than regular build --- recipes/igraph/recipe.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index 942fe0a5fd..cc3ff0da27 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -18,7 +18,8 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - true + try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch } function shouldbuild_igraph() { @@ -29,8 +30,6 @@ function shouldbuild_igraph() { function build_igraph() { cd $BUILD_igraph - patch setup.py $RECIPE_igraph/setup.py.patch - patch setup.cfg $RECIPE_igraph/setup.cfg.patch push_arm try $HOSTPYTHON setup.py build_ext -I"$BUILD_PATH/python-install/include/igraph:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi/include" -L"$BUILD_PATH/python-install/lib:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi" -l gnustl_static -p arm-gnueabi install From 488ea4bbf5fee796c9218b1cfe744360690fad40 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Mon, 23 Dec 2013 11:32:54 -0500 Subject: [PATCH 2/7] Don't fail so hard the second time you compile. --- recipes/c_igraph/recipe.sh | 10 +++++----- recipes/igraph/recipe.sh | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/c_igraph/recipe.sh b/recipes/c_igraph/recipe.sh index 02697b8e5d..70371185b6 100644 --- a/recipes/c_igraph/recipe.sh +++ b/recipes/c_igraph/recipe.sh @@ -32,15 +32,15 @@ function build_c_igraph() { cd $BUILD_c_igraph push_arm - try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch + patch -Nr - $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch export OLD_CPPFLAGS="$CPPFLAGS" 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" try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi export CPPFLAGS="$OLD_CPPFLAGS" - try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h - try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch - try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch - try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch + cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h + patch -Nr - $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch + patch -Nr - $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch + patch -N $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch try $MAKE try $MAKE install diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index cc3ff0da27..5d76d1d753 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -18,8 +18,8 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch - try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + patch -Nr - $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + patch -Nr - $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch } function shouldbuild_igraph() { From 244e28b1c79e3bd62f0202b344c55249755e7450 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Thu, 13 Feb 2014 08:20:44 -0500 Subject: [PATCH 3/7] Now you can run a distribute recipe involving igraph twice in a row without patch errors --- recipes/c_igraph/recipe.sh | 26 ++++++++++++++++---------- recipes/igraph/recipe.sh | 11 +++++++---- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/recipes/c_igraph/recipe.sh b/recipes/c_igraph/recipe.sh index 02697b8e5d..cdd2e628de 100644 --- a/recipes/c_igraph/recipe.sh +++ b/recipes/c_igraph/recipe.sh @@ -19,7 +19,14 @@ BUILD_c_igraph=$BUILD_PATH/c_igraph/$(get_directory $URL_c_igraph) RECIPE_c_igraph=$RECIPES_PATH/c_igraph function prebuild_c_igraph() { - true + if [ ! -e $BUILD_c_igraph/.patched ]; then { + try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch; + try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h; + try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch; + try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch; + touch $BUILD_c_igraph/.patched; + } + fi } function shouldbuild_c_igraph() { @@ -32,15 +39,14 @@ function build_c_igraph() { cd $BUILD_c_igraph push_arm - try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch - export OLD_CPPFLAGS="$CPPFLAGS" - 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" - try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi - export CPPFLAGS="$OLD_CPPFLAGS" - try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h - try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch - try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch - try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch + if [ ! -e $BUILD_c_igraph/config.h ]; then { + export OLD_CPPFLAGS="$CPPFLAGS"; + 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"; + try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi; + try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch; + export CPPFLAGS="$OLD_CPPFLAGS"; + } + fi try $MAKE try $MAKE install diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index 942fe0a5fd..e846d29f4f 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -1,4 +1,4 @@ -b#!/bin/bash +#!/bin/bash # Recipe for the Python interface to igraph, a high-performance graph library in C: http://igraph.org/ # @@ -18,7 +18,12 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - true + if [ ! -f "$BUILD_igraph/.patched" ]; then { + try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + touch $BUILD_igraph/.patched + }; + fi } function shouldbuild_igraph() { @@ -29,8 +34,6 @@ function shouldbuild_igraph() { function build_igraph() { cd $BUILD_igraph - patch setup.py $RECIPE_igraph/setup.py.patch - patch setup.cfg $RECIPE_igraph/setup.cfg.patch push_arm try $HOSTPYTHON setup.py build_ext -I"$BUILD_PATH/python-install/include/igraph:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi/include" -L"$BUILD_PATH/python-install/lib:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi" -l gnustl_static -p arm-gnueabi install From 933660b1979287b866b279de9a6beba57ccddd44 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Sat, 14 Dec 2013 10:51:46 -0500 Subject: [PATCH 4/7] Patch during prebuild rather than regular build --- recipes/igraph/recipe.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index 942fe0a5fd..cc3ff0da27 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -18,7 +18,8 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - true + try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch } function shouldbuild_igraph() { @@ -29,8 +30,6 @@ function shouldbuild_igraph() { function build_igraph() { cd $BUILD_igraph - patch setup.py $RECIPE_igraph/setup.py.patch - patch setup.cfg $RECIPE_igraph/setup.cfg.patch push_arm try $HOSTPYTHON setup.py build_ext -I"$BUILD_PATH/python-install/include/igraph:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi/include" -L"$BUILD_PATH/python-install/lib:$ANDROIDNDK/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi" -l gnustl_static -p arm-gnueabi install From c3b1f64ff9db24f904f440caca1251cd0b56c42e Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Mon, 23 Dec 2013 11:32:54 -0500 Subject: [PATCH 5/7] Don't fail so hard the second time you compile. --- recipes/c_igraph/recipe.sh | 10 +++++----- recipes/igraph/recipe.sh | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/c_igraph/recipe.sh b/recipes/c_igraph/recipe.sh index 02697b8e5d..70371185b6 100644 --- a/recipes/c_igraph/recipe.sh +++ b/recipes/c_igraph/recipe.sh @@ -32,15 +32,15 @@ function build_c_igraph() { cd $BUILD_c_igraph push_arm - try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch + patch -Nr - $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch export OLD_CPPFLAGS="$CPPFLAGS" 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" try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi export CPPFLAGS="$OLD_CPPFLAGS" - try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h - try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch - try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch - try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch + cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h + patch -Nr - $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch + patch -Nr - $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch + patch -N $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch try $MAKE try $MAKE install diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index cc3ff0da27..5d76d1d753 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -18,8 +18,8 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch - try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + patch -Nr - $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + patch -Nr - $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch } function shouldbuild_igraph() { From 9f0624508e7cd4572acd7caff056371335a83066 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Thu, 13 Feb 2014 08:20:44 -0500 Subject: [PATCH 6/7] Now you can run a distribute recipe involving igraph twice in a row without patch errors --- recipes/c_igraph/recipe.sh | 27 +++++++++++++++++---------- recipes/igraph/recipe.sh | 10 +++++++--- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/recipes/c_igraph/recipe.sh b/recipes/c_igraph/recipe.sh index 70371185b6..96525dfbfb 100644 --- a/recipes/c_igraph/recipe.sh +++ b/recipes/c_igraph/recipe.sh @@ -19,7 +19,14 @@ BUILD_c_igraph=$BUILD_PATH/c_igraph/$(get_directory $URL_c_igraph) RECIPE_c_igraph=$RECIPES_PATH/c_igraph function prebuild_c_igraph() { - true + if [ ! -e $BUILD_c_igraph/.patched ]; then { + try patch $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch; + try cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h; + try patch $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch; + try patch $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch; + touch $BUILD_c_igraph/.patched; + } + fi } function shouldbuild_c_igraph() { @@ -32,15 +39,15 @@ function build_c_igraph() { cd $BUILD_c_igraph push_arm - patch -Nr - $BUILD_c_igraph/src/Makefile.am $RECIPE_c_igraph/Makefile.am.patch - export OLD_CPPFLAGS="$CPPFLAGS" - 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" - try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi - export CPPFLAGS="$OLD_CPPFLAGS" - cp -f $RECIPE_c_igraph/arith.h $BUILD_c_igraph/src/f2c/arith.h - patch -Nr - $BUILD_c_igraph/src/f2c/sysdep1.h $RECIPE_c_igraph/sysdep1.h.patch - patch -Nr - $BUILD_c_igraph/src/f2c/uninit.c $RECIPE_c_igraph/uninit.c.patch - patch -N $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch + if [ ! -e $BUILD_c_igraph/config.h ]; then { + export OLD_CPPFLAGS="$CPPFLAGS"; + 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"; + try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi; + try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch; + export CPPFLAGS="$OLD_CPPFLAGS"; + } + fi + try $MAKE try $MAKE install diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index 5d76d1d753..e846d29f4f 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -1,4 +1,4 @@ -b#!/bin/bash +#!/bin/bash # Recipe for the Python interface to igraph, a high-performance graph library in C: http://igraph.org/ # @@ -18,8 +18,12 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - patch -Nr - $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch - patch -Nr - $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + if [ ! -f "$BUILD_igraph/.patched" ]; then { + try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + touch $BUILD_igraph/.patched + }; + fi } function shouldbuild_igraph() { From 2ee34a9c67f395f49af382c06290ca62255ce811 Mon Sep 17 00:00:00 2001 From: Zachary Spector Date: Thu, 13 Feb 2014 09:58:06 -0500 Subject: [PATCH 7/7] remove extraneous {} --- recipes/c_igraph/recipe.sh | 13 ++++++------- recipes/igraph/recipe.sh | 9 ++++----- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/recipes/c_igraph/recipe.sh b/recipes/c_igraph/recipe.sh index 740152db9d..854671a305 100644 --- a/recipes/c_igraph/recipe.sh +++ b/recipes/c_igraph/recipe.sh @@ -39,13 +39,12 @@ function build_c_igraph() { cd $BUILD_c_igraph push_arm - if [ ! -e $BUILD_c_igraph/config.h ]; then { - export OLD_CPPFLAGS="$CPPFLAGS"; - 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"; - try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi; - try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch; - export CPPFLAGS="$OLD_CPPFLAGS"; - } + if [ ! -e $BUILD_c_igraph/config.h ]; then + export OLD_CPPFLAGS="$CPPFLAGS"; + 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"; + try ./configure --prefix="$BUILD_PATH/python-install" --build=i686-pc-linux-gnu --host=arm-linux-eabi; + try patch $BUILD_c_igraph/config.h $RECIPE_c_igraph/config.h.patch; + export CPPFLAGS="$OLD_CPPFLAGS"; fi diff --git a/recipes/igraph/recipe.sh b/recipes/igraph/recipe.sh index e846d29f4f..6d87611c6d 100644 --- a/recipes/igraph/recipe.sh +++ b/recipes/igraph/recipe.sh @@ -18,11 +18,10 @@ RECIPE_igraph=$RECIPES_PATH/igraph function prebuild_igraph() { - if [ ! -f "$BUILD_igraph/.patched" ]; then { - try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch - try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch - touch $BUILD_igraph/.patched - }; + if [ ! -f "$BUILD_igraph/.patched" ]; then + try patch $BUILD_igraph/setup.py $RECIPE_igraph/setup.py.patch + try patch $BUILD_igraph/setup.cfg $RECIPE_igraph/setup.cfg.patch + touch $BUILD_igraph/.patched fi }