mirror of
https://github.com/strawberrymusicplayer/strawberry
synced 2025-02-09 16:28:54 +01:00
CI: Replace relative library @loader_path paths, macdeployqt does not understand these
This commit is contained in:
parent
45ad84a9bc
commit
d054dd33e2
42
.github/workflows/build.yml
vendored
42
.github/workflows/build.yml
vendored
@ -820,30 +820,6 @@ jobs:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-libav
|
||||
|
||||
- name: Fix rpaths
|
||||
run: |
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/freetype/lib/libfreetype.6.dylib" "/usr/local/opt/freetype/lib/libfreetype.6.dylib" /usr/local/lib/libharfbuzz.0.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/glib/lib/libglib-2.0.0.dylib" "/usr/local/opt/glib/lib/libglib-2.0.0.dylib" /usr/local/lib/libharfbuzz.0.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/graphite2/lib/libgraphite2.3.dylib" "/usr/local/opt/graphite2/lib/libgraphite2.3.dylib" /usr/local/lib/libharfbuzz.0.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/gettext/lib/libintl.8.dylib" "/usr/local/opt/gettext/lib/libintl.8.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/p11-kit/lib/libp11-kit.0.dylib" "/usr/local/opt/p11-kit/lib/libp11-kit.0.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libidn2/lib/libidn2.0.dylib" "/usr/local/opt/libidn2/lib/libidn2.0.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libunistring/lib/libunistring.5.dylib" "/usr/local/opt/libunistring/lib/libunistring.5.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libtasn1/lib/libtasn1.6.dylib" "/usr/local/opt/libtasn1/lib/libtasn1.6.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/nettle/lib/libnettle.8.dylib" "/usr/local/opt/nettle/lib/libnettle.8.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/nettle/lib/libhogweed.6.dylib" "/usr/local/opt/nettle/lib/libhogweed.6.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/gmp/lib/libgmp.10.dylib" "/usr/local/opt/gmp/lib/libgmp.10.dylib" /usr/local/lib/libgnutls.30.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/leptonica/lib/libleptonica.6.dylib" "/usr/local/opt/leptonica/lib/libleptonica.6.dylib" /usr/local/lib/libtesseract.5.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libarchive/lib/libarchive.13.dylib" "/usr/local/opt/leptonica/lib/libarchive.13.dylib" /usr/local/lib/libtesseract.5.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libsamplerate/lib/libsamplerate.0.dylib" "/usr/local/opt/libsamplerate/lib/libsamplerate.0.dylib" /usr/local/lib/librubberband.2.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libpng/lib/libpng16.16.dylib" "/usr/local/opt/libpng/lib/libpng16.16.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/jpeg-turbo/lib/libjpeg.8.dylib" "/usr/local/opt/jpeg-turbo/lib/libjpeg.8.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/giflib/lib/libgif.dylib" "/usr/local/opt/giflib/lib/libgif.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/libtiff/lib/libtiff.6.dylib" "/usr/local/opt/libtiff/lib/libtiff.6.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/webp/lib/libwebp.7.dylib" "/usr/local/opt/webp/lib/libwebp.7.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/webp/lib/libwebpmux.3.dylib" "/usr/local/opt/webp/lib/libwebpmux.3.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
sudo install_name_tool -change "@loader_path/../../../../opt/openjpeg/lib/libopenjp2.7.dylib" "/usr/local/opt/openjpeg/lib/libopenjp2.7.dylib" /usr/local/lib/libleptonica.6.dylib
|
||||
|
||||
- name: Build libgpod
|
||||
env:
|
||||
PERL_MM_USE_DEFAULT: 1
|
||||
@ -856,6 +832,22 @@ jobs:
|
||||
make -j 4
|
||||
sudo make install
|
||||
|
||||
- name: Replace relative library @loader_path paths - macdeployqt does not understand these.
|
||||
run: |
|
||||
for library in $(find -E /usr/local/Cellar -type f -regex '.*/lib/.*\.framework/Versions/A/Qt(Core|Concurrent|Network|Sql|Widgets|Gui|DBus)' -o -name '*.dylib'); do
|
||||
library_paths=$(otool -L "${library}" | sed -n "s/^\t\(.*\) (compatibility version [0-9]*\.[0-9]*\.[0-9]*, current version [0-9]*\.[0-9]*\.[0-9]*)/\1/p")
|
||||
for library_path in ${library_paths}; do
|
||||
if ! [ "$(echo "${library_path}" | grep "^@loader_path" || true)" = "" ]; then
|
||||
new_library_path=$(echo "${library_path}" | sed -E 's/@loader_path(\/\.\.)+\/opt/\/usr\/local\/opt/g')
|
||||
if ! [ "${new_library_path}" = "" ] && ! [ "${new_library_path}" = "${library_path}" ] && [ -e "${new_library_path}" ]; then
|
||||
sudo install_name_tool -change "${library_path}" "${new_library_path}" "${library}"
|
||||
else
|
||||
echo "${library} points to ${library_path}, could not resolve to absolute path."
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
@ -889,7 +881,7 @@ jobs:
|
||||
working-directory: build
|
||||
run: |
|
||||
mkdir -p strawberry.app/Contents/Frameworks/
|
||||
cp /usr/local/lib/libsoup-3.0.0.dylib strawberry.app/Contents/Frameworks/
|
||||
cp /usr/local/lib/{libsoup-3.0.0.dylib,libswresample.4.dylib,libswscale.7.dylib,libpostproc.57.dylib} strawberry.app/Contents/Frameworks/
|
||||
|
||||
- name: Deploy
|
||||
working-directory: build
|
||||
|
Loading…
x
Reference in New Issue
Block a user