diff --git a/package/x11/imagemagick/imagemagick.conf b/package/x11/imagemagick/imagemagick.conf index 728d674e8..341fde05e 100644 --- a/package/x11/imagemagick/imagemagick.conf +++ b/package/x11/imagemagick/imagemagick.conf @@ -20,9 +20,17 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- - var_append INSTALL_WRAPPER_FILTER "|" \ +var_append INSTALL_WRAPPER_FILTER "|" \ "sed 's,usr/lib/libltdl,$builddir/dummy_libltdl,'" +add_wrapper ranlib <<- 'EOT' + if [ "$*" != /usr/lib/libltdl.a ]; then + exec $orig "$@" + fi + echo "Not running ranlib on /usr/lib/libltdl.a" + exit 0 +EOT + var_append configprefix " " 'CPPFLAGS="-I/usr/include/libxml2"' confopt="$confopt -disable-ltdl-install --enable-shared --with-modules" confopt="$confopt --enable-lzw --enable-16bit-pixel --with-x " diff --git a/scripts/Build-Pkg b/scripts/Build-Pkg index 20cf730e4..479fbcc2b 100755 --- a/scripts/Build-Pkg +++ b/scripts/Build-Pkg @@ -694,6 +694,29 @@ if [ $stagelevel -gt 1 -a "$autoso2a" = 1 ]; then var_insert CXX_WRAPPER_OTHERS ":" "so2a_wrapper" fi +i=0 +mkdir -p "$builddir/wrappers" +for x in "${wrapper_data[@]}"; do + echo "$x" | ( + read n; o="$n" + if [ -f "$builddir/wrappers/$n" ]; then + mv "$builddir/wrappers/$n" "$builddir/wrappers/$n.$i" + o="$n.$i"; (( i++ )) + fi + { + echo '#!/bin/bash' + echo 'echo "$PWD: $0 $*" >> "'"$builddir/wrappers.log"'"' + echo 'PATH="$PATH_WRBACKUP"' + echo "orig='$o'" + cat + } > "$builddir/wrappers/$n" + chmod +x "$builddir/wrappers/$n" + ) +done +export PATH_WRBACKUP="$PATH" +PATH="$builddir/wrappers:$PATH" +unset i + hook_eval prepare # define new abort function for errors while building diff --git a/scripts/functions b/scripts/functions index 51337471d..9821bc265 100644 --- a/scripts/functions +++ b/scripts/functions @@ -379,6 +379,27 @@ add_dependency() { done } +# This function adds a wrapprer for the currently running build +# +# Usage: +# +# add_wrapper bin_name <<- 'EOT' +# demo-demo-demo-demo +# $orig "$@"; rc=$? +# demo-demo-demo-demo +# exit $rc +# EOT +# +declare -a wrapper_data='()' +add_wrapper() { + local l data="$1" + while read l; do + data="$data +$l" + done + wrapper_data[${#wrapper_data[@]}]="$data" +} + # This function is used to subsitute some important variables # using a D_ prefix thru m4 ... rock_substitute() {