macOS deploy CI improvements
This commit is contained in:
parent
679b468618
commit
249a5bf3b7
|
@ -1125,12 +1125,7 @@ jobs:
|
|||
create-dmg
|
||||
taglib
|
||||
libplist
|
||||
gnome-common
|
||||
gdk-pixbuf
|
||||
intltool
|
||||
autoconf
|
||||
automake
|
||||
gtk-doc
|
||||
|
||||
- name: Install Sparkle
|
||||
run: brew install --cask sparkle
|
||||
|
@ -1145,22 +1140,11 @@ jobs:
|
|||
env:
|
||||
PERL_MM_USE_DEFAULT: 1
|
||||
run: |
|
||||
sudo cpan install XML::Parser
|
||||
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2
|
||||
tar -xvf libgpod-0.8.3.tar.bz2
|
||||
cd libgpod-0.8.3
|
||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh
|
||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/patch-tools-generic-callout.c.diff
|
||||
wget http://files.strawberrymusicplayer.org/patches/libgpod-libplist.patch
|
||||
patch -p0 < patch-tools-generic-callout.c.diff
|
||||
patch -p1 < libgpod-libplist.patch
|
||||
chmod u+x autogen.sh
|
||||
./autogen.sh
|
||||
./configure --disable-more-warnings \
|
||||
--disable-silent-rules \
|
||||
--disable-udev \
|
||||
--disable-pygobject \
|
||||
--with-python=no
|
||||
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
|
||||
cd strawberry-libgpod
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
make -j 4
|
||||
sudo make install
|
||||
|
||||
|
@ -1185,6 +1169,24 @@ jobs:
|
|||
working-directory: build
|
||||
shell: bash
|
||||
run: make install
|
||||
- name: Manually copy files not handled by macdeployqt
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p strawberry.app/Contents/Frameworks/
|
||||
cp -v /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
|
||||
cp -v /usr/local/opt/icu4c/lib/libicudata.69.dylib strawberry.app/Contents/Frameworks/
|
||||
cp -v /usr/local/lib/libgpod.dylib strawberry.app/Contents/Frameworks/
|
||||
install_name_tool -change "@rpath/libgpod.dylib" "@loader_path/../Frameworks/libgpod.dylib" strawberry.app/Contents/MacOS/strawberry
|
||||
# Sparkle
|
||||
mkdir -p strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/A
|
||||
cp -v /usr/local/opt/sparkle/Sparkle.framework/Sparkle strawberry.app/Contents/Frameworks/Sparkle.framework/
|
||||
cp -v /usr/local/opt/sparkle/Sparkle.framework/Versions/A/Sparkle strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/A/
|
||||
cp -v -R /usr/local/opt/sparkle/Sparkle.framework/Versions/Current strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/
|
||||
- name: Create DMG
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: make dmg
|
||||
|
||||
build-macos-qt6:
|
||||
name: Build macOS Qt 6
|
||||
|
@ -1218,12 +1220,7 @@ jobs:
|
|||
create-dmg
|
||||
taglib
|
||||
libplist
|
||||
gnome-common
|
||||
gdk-pixbuf
|
||||
intltool
|
||||
autoconf
|
||||
automake
|
||||
gtk-doc
|
||||
|
||||
- name: Install Sparkle
|
||||
run: brew install --cask sparkle
|
||||
|
@ -1238,22 +1235,11 @@ jobs:
|
|||
env:
|
||||
PERL_MM_USE_DEFAULT: 1
|
||||
run: |
|
||||
sudo cpan install XML::Parser
|
||||
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2
|
||||
tar -xvf libgpod-0.8.3.tar.bz2
|
||||
cd libgpod-0.8.3
|
||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh
|
||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/patch-tools-generic-callout.c.diff
|
||||
wget http://files.strawberrymusicplayer.org/patches/libgpod-libplist.patch
|
||||
patch -p0 < patch-tools-generic-callout.c.diff
|
||||
patch -p1 < libgpod-libplist.patch
|
||||
chmod u+x autogen.sh
|
||||
./autogen.sh
|
||||
./configure --disable-more-warnings \
|
||||
--disable-silent-rules \
|
||||
--disable-udev \
|
||||
--disable-pygobject \
|
||||
--with-python=no
|
||||
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
|
||||
cd strawberry-libgpod
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
make -j 4
|
||||
sudo make install
|
||||
|
||||
|
@ -1282,16 +1268,17 @@ jobs:
|
|||
working-directory: build
|
||||
shell: bash
|
||||
run: make install
|
||||
- name: Manually copy libbrotlicommon.1.dylib
|
||||
- name: Manually copy files not handled by macdeployqt
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p strawberry.app/Contents/Frameworks/
|
||||
cp /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
|
||||
- name: Copy sparkle
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: make copy_sparkle
|
||||
cp -v /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
|
||||
# Sparkle
|
||||
mkdir -p strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/A
|
||||
cp -v /usr/local/opt/sparkle/Sparkle.framework/Sparkle strawberry.app/Contents/Frameworks/Sparkle.framework/
|
||||
cp -v /usr/local/opt/sparkle/Sparkle.framework/Versions/A/Sparkle strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/A/
|
||||
cp -v -R /usr/local/opt/sparkle/Sparkle.framework/Versions/Current strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/
|
||||
- name: Create DMG
|
||||
working-directory: build
|
||||
shell: bash
|
||||
|
|
|
@ -13,22 +13,14 @@ else()
|
|||
message(WARNING "Missing create-dmg executable.")
|
||||
endif()
|
||||
|
||||
# Workaround for Sparkle
|
||||
add_custom_target(copy_sparkle
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Frameworks/
|
||||
COMMAND cp -r /usr/local/opt/sparkle/Sparkle.framework ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Frameworks/
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
DEPENDS strawberry strawberry-tagreader
|
||||
)
|
||||
|
||||
if(MACDEPLOYQT_EXECUTABLE)
|
||||
add_custom_target(copy_gstreamer_plugins
|
||||
#COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macgstcopy.sh strawberry.app
|
||||
)
|
||||
add_custom_target(deploy
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/strawberry.app/Contents/{Frameworks,Resources}
|
||||
COMMAND cp ${CMAKE_SOURCE_DIR}/dist/macos/Info.plist ${CMAKE_BINARY_DIR}/strawberry.app/Contents/
|
||||
COMMAND cp ${CMAKE_SOURCE_DIR}/dist/macos/strawberry.icns ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Resources/
|
||||
COMMAND cp -v ${CMAKE_SOURCE_DIR}/dist/macos/Info.plist ${CMAKE_BINARY_DIR}/strawberry.app/Contents/
|
||||
COMMAND cp -v ${CMAKE_SOURCE_DIR}/dist/macos/strawberry.icns ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Resources/
|
||||
COMMAND ${MACDEPLOYQT_EXECUTABLE} strawberry.app -verbose=3
|
||||
-executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/strawberry-tagreader
|
||||
-executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/gio-modules/libgiognutls.so
|
||||
|
|
Loading…
Reference in New Issue