mirror of
https://github.com/strawberrymusicplayer/strawberry
synced 2024-12-27 00:34:16 +01:00
CI: Remove unused homebrew and macports build
This commit is contained in:
parent
f9a593dc74
commit
c975c1e4aa
229
.github/workflows/build.yml
vendored
229
.github/workflows/build.yml
vendored
@ -902,235 +902,6 @@ jobs:
|
||||
run: rsync -e "ssh -p ${{secrets.SSH_PORT}} -o StrictHostKeyChecking=no" -var build/*.dmg ${{secrets.SSH_USER}}@${{secrets.SSH_HOST}}:${{env.upload_path}}/
|
||||
|
||||
|
||||
build-macos-homebrew:
|
||||
name: Build macOS Homebrew
|
||||
if: false
|
||||
runs-on: macos-11
|
||||
steps:
|
||||
|
||||
- name: Remove installed brew packages
|
||||
run: brew uninstall $(brew list)
|
||||
|
||||
- name: Update packages
|
||||
run: brew update
|
||||
|
||||
- name: Upgrade packages
|
||||
run: brew upgrade || true
|
||||
|
||||
- name: brew tap
|
||||
run: brew tap homebrew/core
|
||||
|
||||
- name: Install packages
|
||||
run: brew install pkg-config cmake ninja meson bison flex wget create-dmg gettext boost protobuf protobuf-c rsync glib glib-openssl glib-utils glib-networking gdk-pixbuf gobject-introspection orc libffi openssl sqlite fftw libmtp libplist libxml2 libsoup libogg libvorbis flac wavpack opus speex mpg123 lame twolame taglib chromaprint libebur128 libbs2b libcdio libopenmpt faad2 faac fdk-aac musepack game-music-emu qt6 || true
|
||||
|
||||
- name: Use modified gstreamer plugin formulas
|
||||
run: |
|
||||
wget https://files.strawberrymusicplayer.org/patches/gstreamer.rb
|
||||
wget https://files.strawberrymusicplayer.org/patches/gst-plugins-base.rb
|
||||
wget https://files.strawberrymusicplayer.org/patches/gst-plugins-good.rb
|
||||
wget https://files.strawberrymusicplayer.org/patches/gst-plugins-bad.rb
|
||||
wget https://files.strawberrymusicplayer.org/patches/gst-plugins-ugly.rb
|
||||
wget https://files.strawberrymusicplayer.org/patches/gst-libav.rb
|
||||
mv gstreamer.rb gst-plugins-{base,good,bad,ugly}.rb gst-libav.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/g/
|
||||
|
||||
- name: Build and install gstreamer
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gstreamer
|
||||
|
||||
- name: Build and install gst-plugins-base
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-plugins-base
|
||||
|
||||
- name: Build and install gst-plugins-good
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-plugins-good
|
||||
|
||||
- name: Build and install gst-plugins-bad
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-plugins-bad
|
||||
|
||||
- name: Build and install gst-plugins-ugly
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-plugins-ugly
|
||||
|
||||
- name: Build and install gst-libav
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_FROM_API: 1
|
||||
run: brew reinstall --build-from-source gst-libav
|
||||
|
||||
- name: Build libgpod
|
||||
env:
|
||||
PERL_MM_USE_DEFAULT: 1
|
||||
run: |
|
||||
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
|
||||
|
||||
- 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@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Create Build Environment
|
||||
run: cmake -E make_directory build
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: 11.0
|
||||
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
|
||||
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt6/lib/cmake -DICU_ROOT=/usr/local/opt/icu4c -DPROTOBUF_INCLUDE_DIRS=/usr/local/include
|
||||
|
||||
- name: Build
|
||||
run: cmake --build build --config Release --parallel 4
|
||||
|
||||
- name: Install
|
||||
working-directory: build
|
||||
run: make install
|
||||
|
||||
- name: Remove problematic files
|
||||
run: |
|
||||
sudo rm -rf /usr/local/opt/qt6/share/qt/plugins/virtualkeyboard /usr/local/opt/qt6/share/qt/plugins/platforminputcontexts
|
||||
sudo rm -f /usr/local/Cellar/qt/*/share/qt/plugins/imageformats/libqpdf.dylib
|
||||
|
||||
- name: Manually copy files not handled by macdeployqt
|
||||
working-directory: build
|
||||
run: |
|
||||
mkdir -p 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
|
||||
env:
|
||||
GIO_EXTRA_MODULES: /usr/local/lib/gio/modules
|
||||
GST_PLUGIN_SCANNER: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
|
||||
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0
|
||||
working-directory: build
|
||||
run: make deploy
|
||||
|
||||
- name: Deploy check
|
||||
working-directory: build
|
||||
run: make deploycheck
|
||||
|
||||
- name: Create DMG
|
||||
working-directory: build
|
||||
run: make dmg
|
||||
|
||||
|
||||
build-macos-macports:
|
||||
name: Build macOS Macports
|
||||
if: false
|
||||
runs-on: macos-11
|
||||
steps:
|
||||
- name: Install macports
|
||||
run: |
|
||||
macports_version=$(wget -q -O- 'https://github.com/macports/macports-base' | sed -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' | sed 's/^v//g' | sort -V | tail -1)
|
||||
wget https://github.com/macports/macports-base/releases/download/v${macports_version}/MacPorts-${macports_version}-11-BigSur.pkg
|
||||
sudo installer -pkg ./MacPorts-${macports_version}-11-BigSur.pkg -target /
|
||||
|
||||
- name: Uninstall homebrew
|
||||
run: |
|
||||
curl -sLO https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
|
||||
chmod +x ./uninstall.sh
|
||||
sudo ./uninstall.sh --force
|
||||
|
||||
- name: Update macports
|
||||
run: sudo /opt/local/bin/port -v selfupdate
|
||||
|
||||
- name: Install packages
|
||||
run: sudo /opt/local/bin/port -N -p install wget gettext glib2 pkgconfig cmake boost protobuf-cpp sqlite3 chromaprint libebur128 fftw taglib libcdio libmtp
|
||||
|
||||
- name: Install gstreamer
|
||||
run: sudo /opt/local/bin/port -N -p install gstreamer1 gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good gstreamer1-gst-plugins-bad gstreamer1-gst-plugins-ugly gstreamer1-gst-libav
|
||||
|
||||
- name: Install gst-plugins-bad
|
||||
run: sudo /opt/local/bin/port -N -p install gstreamer1-gst-plugins-bad +faac
|
||||
|
||||
- name: Install qt6-qtbase
|
||||
run: sudo /opt/local/bin/port -N -p install qt6-qtbase
|
||||
|
||||
- name: Install qt6-qttools
|
||||
run: sudo /opt/local/bin/port -N -p install qt6-qttools || true
|
||||
|
||||
- name: Install qt6-sqlite-plugin
|
||||
run: sudo /opt/local/bin/port -N -p install qt6-sqlite-plugin
|
||||
|
||||
- name: Install libgpod
|
||||
run: sudo /opt/local/bin/port -N -p install libgpod || true
|
||||
|
||||
- name: Add /opt/local/bin to PATH
|
||||
run: echo "/opt/local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Install create-dmg
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p ~/build
|
||||
cd ~/build
|
||||
git clone https://github.com/create-dmg/create-dmg
|
||||
cd create-dmg
|
||||
sudo make install
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Create Build Environment
|
||||
run: /opt/local/bin/cmake -E make_directory build
|
||||
|
||||
- name: Configure CMake
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: 11.0
|
||||
PKG_CONFIG_PATH: /opt/local/lib/pkgconfig
|
||||
run: /opt/local/libexec/qt6/bin/qt-cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF -DUSE_BUNDLE=ON -DENABLE_DBUS=OFF
|
||||
|
||||
- name: Build
|
||||
run: /opt/local/bin/cmake --build build --config Release --parallel 4
|
||||
|
||||
- name: Install
|
||||
working-directory: build
|
||||
run: make install
|
||||
|
||||
- name: Deploy
|
||||
env:
|
||||
GIO_EXTRA_MODULES: /opt/local/lib/gio/modules
|
||||
GST_PLUGIN_SCANNER: /opt/local/libexec/gstreamer-1.0/gst-plugin-scanner
|
||||
GST_PLUGIN_PATH: /opt/local/lib/gstreamer-1.0
|
||||
working-directory: build
|
||||
run: make deploy
|
||||
|
||||
- name: Deploy check
|
||||
working-directory: build
|
||||
run: make deploycheck
|
||||
|
||||
- name: Create DMG
|
||||
working-directory: build
|
||||
run: make dmg
|
||||
|
||||
|
||||
build-windows-mingw:
|
||||
name: Build Windows MinGW
|
||||
runs-on: ubuntu-latest
|
||||
|
Loading…
Reference in New Issue
Block a user