macOS deploy CI improvements
This commit is contained in:
parent
679b468618
commit
249a5bf3b7
|
@ -1125,12 +1125,7 @@ jobs:
|
||||||
create-dmg
|
create-dmg
|
||||||
taglib
|
taglib
|
||||||
libplist
|
libplist
|
||||||
gnome-common
|
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
intltool
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
gtk-doc
|
|
||||||
|
|
||||||
- name: Install Sparkle
|
- name: Install Sparkle
|
||||||
run: brew install --cask sparkle
|
run: brew install --cask sparkle
|
||||||
|
@ -1145,22 +1140,11 @@ jobs:
|
||||||
env:
|
env:
|
||||||
PERL_MM_USE_DEFAULT: 1
|
PERL_MM_USE_DEFAULT: 1
|
||||||
run: |
|
run: |
|
||||||
sudo cpan install XML::Parser
|
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
|
||||||
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2
|
cd strawberry-libgpod
|
||||||
tar -xvf libgpod-0.8.3.tar.bz2
|
mkdir build
|
||||||
cd libgpod-0.8.3
|
cd build
|
||||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
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
|
|
||||||
make -j 4
|
make -j 4
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
|
@ -1185,6 +1169,24 @@ jobs:
|
||||||
working-directory: build
|
working-directory: build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: make install
|
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:
|
build-macos-qt6:
|
||||||
name: Build macOS Qt 6
|
name: Build macOS Qt 6
|
||||||
|
@ -1218,12 +1220,7 @@ jobs:
|
||||||
create-dmg
|
create-dmg
|
||||||
taglib
|
taglib
|
||||||
libplist
|
libplist
|
||||||
gnome-common
|
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
intltool
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
gtk-doc
|
|
||||||
|
|
||||||
- name: Install Sparkle
|
- name: Install Sparkle
|
||||||
run: brew install --cask sparkle
|
run: brew install --cask sparkle
|
||||||
|
@ -1238,22 +1235,11 @@ jobs:
|
||||||
env:
|
env:
|
||||||
PERL_MM_USE_DEFAULT: 1
|
PERL_MM_USE_DEFAULT: 1
|
||||||
run: |
|
run: |
|
||||||
sudo cpan install XML::Parser
|
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
|
||||||
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2
|
cd strawberry-libgpod
|
||||||
tar -xvf libgpod-0.8.3.tar.bz2
|
mkdir build
|
||||||
cd libgpod-0.8.3
|
cd build
|
||||||
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
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
|
|
||||||
make -j 4
|
make -j 4
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
|
@ -1282,16 +1268,17 @@ jobs:
|
||||||
working-directory: build
|
working-directory: build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: make install
|
run: make install
|
||||||
- name: Manually copy libbrotlicommon.1.dylib
|
- name: Manually copy files not handled by macdeployqt
|
||||||
working-directory: build
|
working-directory: build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir -p strawberry.app/Contents/Frameworks/
|
mkdir -p strawberry.app/Contents/Frameworks/
|
||||||
cp /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
|
cp -v /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
|
||||||
- name: Copy sparkle
|
# Sparkle
|
||||||
working-directory: build
|
mkdir -p strawberry.app/Contents/Frameworks/Sparkle.framework/Versions/A
|
||||||
shell: bash
|
cp -v /usr/local/opt/sparkle/Sparkle.framework/Sparkle strawberry.app/Contents/Frameworks/Sparkle.framework/
|
||||||
run: make copy_sparkle
|
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
|
- name: Create DMG
|
||||||
working-directory: build
|
working-directory: build
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
@ -13,22 +13,14 @@ else()
|
||||||
message(WARNING "Missing create-dmg executable.")
|
message(WARNING "Missing create-dmg executable.")
|
||||||
endif()
|
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)
|
if(MACDEPLOYQT_EXECUTABLE)
|
||||||
add_custom_target(copy_gstreamer_plugins
|
add_custom_target(copy_gstreamer_plugins
|
||||||
#COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macgstcopy.sh strawberry.app
|
#COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macgstcopy.sh strawberry.app
|
||||||
)
|
)
|
||||||
add_custom_target(deploy
|
add_custom_target(deploy
|
||||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/strawberry.app/Contents/{Frameworks,Resources}
|
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 -v ${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/strawberry.icns ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Resources/
|
||||||
COMMAND ${MACDEPLOYQT_EXECUTABLE} strawberry.app -verbose=3
|
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/strawberry-tagreader
|
||||||
-executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/gio-modules/libgiognutls.so
|
-executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/gio-modules/libgiognutls.so
|
||||||
|
|
Loading…
Reference in New Issue