Skip to content

Commit 9797fe6

Browse files
committed
Merge pull request kivy#320 from kived/recipe-environment
save and restore environment when running recipe functions
2 parents 5a9d605 + 63e0dbc commit 9797fe6

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

distribute.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -653,13 +653,23 @@ function run_get_packages() {
653653
done
654654
}
655655

656+
function envfn() {
657+
envsave=$(mktemp)
658+
envrestore=$(mktemp)
659+
set > $envsave
660+
$1
661+
set > $envrestore
662+
eval $(grep -v -F -f$envrestore $envsave)
663+
rm -f $envsave $envrestore
664+
}
665+
656666
function run_prebuild() {
657667
info "Run prebuild"
658668
cd $BUILD_PATH
659669
for module in $MODULES; do
660670
fn=$(echo prebuild_$module)
661671
debug "Call $fn"
662-
$fn
672+
envfn $fn
663673
done
664674
}
665675

@@ -694,7 +704,7 @@ function run_build() {
694704
if [ "X$DO_BUILD" == "X1" ] || [ ! -f "$MARKER_FN" ]; then
695705
debug "Call $fn"
696706
rm -f "$MARKER_FN"
697-
$fn
707+
envfn $fn
698708
touch "$MARKER_FN"
699709
else
700710
debug "Skipped $fn"
@@ -708,7 +718,7 @@ function run_postbuild() {
708718
for module in $MODULES; do
709719
fn=$(echo postbuild_$module)
710720
debug "Call $fn"
711-
$fn
721+
envfn $fn
712722
done
713723
}
714724

0 commit comments

Comments
 (0)