File wxWidgets-find-wx-provides-bash3.patch of Package wxWidgets
--- find-wx-provides 2011-03-28 18:27:14.000000000 +0200
+++ find-wx-provides 2011-04-08 14:23:22.718604689 +0200
@@ -3,12 +3,6 @@
shopt -s extglob
-# redirect 3 to stdout (3 does not change in coprocesses)
-exec 3>&1
-# Coprocess for files outside wx libdir
-coproc COPROC_NOT_WX ( /usr/lib/rpm/find-provides >&3 )
-# HACK: Return stderr to place.
-
while read ; do
case "$REPLY" in
*/usr/lib*/wx-*-* )
@@ -16,45 +10,18 @@
VARIANT=${VARIANT%%/*}
case "$VARIANT" in
+([A-Za-z0-9_]) )
- # Assign a coprocess that corresponds to the variant.
- eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
- # Coprocess for files inside particular wx libdir
- if test -z "$COPROC_YES_WX" ; then
- # HACK: Closing stderr seems to be the only way
- # to silence warning "execute_coproc: coproc
- # [$PID:TRA] still exists"
- exec 4>&2-
- eval "coproc COPROC_YES_WX_$VARIANT ( /usr/lib/rpm/find-provides |\
- sed 's/^\([^)]*\)(/\1($VARIANT)(/' >&3 )"
- exec 2>&4
- eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
- fi
- echo "$REPLY" >&${COPROC_YES_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides |\
+ sed "s/^\([^)]*\)(/\1($VARIANT)(/"
;;
# invalid variant string
* )
echo "find-wx-provides: ERROR: invalid format of wx variant directory name" >&2
- echo "$REPLY" >&${COPROC_NOT_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides
;;
esac
;;
* )
- echo "$REPLY" >&${COPROC_NOT_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides
;;
esac
done
-
-# close input of coprocesses (terminate them)
-for COPROC_YES_WX in "${!COPROC_YES_WX_@}" ; do
- case $COPROC_YES_WX in
- # foo_PID variables are created by coproc builtin
- *_PID ) ;;
- * )
- eval eval exec \${$COPROC_YES_WX\[1\]}\\\>\\\&-
- ;;
- esac
-done
-eval exec ${COPROC_NOT_WX[1]}\>\&-
-
-# wait for coprocesses to finish
-wait