octave: Fix libtool framework link failure on Darwin

This fix moves linker flags of the form `-framework foo` from dependency_libs to
inherited_linker_flags, since libtool doesn't understand them. See #96977 for
details.

Fixes #96977

+12 -1
+12 -1
pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh
··· 5 5 fixQmakeLibtool() { 6 6 if [ -d "$1" ]; then 7 7 find "$1" -name '*.la' | while read la; do 8 + set +e 9 + framework_libs=$(grep '^dependency_libs' "$la" | grep -Eo -- '-framework +\w+' | tr '\n' ' ') 10 + set -e 8 11 sed -i "$la" \ 9 - -e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g' 12 + -e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g' \ 13 + -e '/^dependency_libs/ s,-framework \+\w\+,,g' 14 + if [ ! -z "$framework_libs" ]; then 15 + if grep '^inherited_linker_flags=' $la >/dev/null; then 16 + sed -i "$la" -e "s/^\(inherited_linker_flags='[^']*\)/\1 $framework_libs/" 17 + else 18 + echo "inherited_linker_flags='$framework_libs'" >> "$la" 19 + fi 20 + fi 10 21 done 11 22 fi 12 23 }