macOS deploy CI improvements

This commit is contained in:
Jonas Kvinge
2021-08-19 22:15:30 +02:00
parent 679b468618
commit 249a5bf3b7
2 changed files with 37 additions and 58 deletions

View File

@@ -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