Get constants from somewhere else, if available. #1288
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: all | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/[email protected] | |
| - name: clang-format | |
| uses: clementine-player/clang-format-lint-action@master | |
| with: | |
| style: "{BasedOnStyle: Google, DerivePointerBinding: false, Standard: Cpp11}" | |
| source: ./src | |
| clangFormatVersion: 9 | |
| push_translations: | |
| name: Push translation sources to Transifex | |
| if: github.ref == 'refs/heads/master' | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:noble | |
| steps: | |
| - uses: supplypike/setup-bin@v3 | |
| with: | |
| uri: https://github.com/transifex/cli/releases/download/v1.6.17/tx-linux-amd64.tar.gz | |
| name: tx | |
| version: 1.6.17 | |
| - name: Install dependencies | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: > | |
| apt-get update && apt-get install -y | |
| build-essential | |
| cmake | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libcdio-dev | |
| libchromaprint-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew-dev | |
| libglib2.0-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqt5x11extras5-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| pkg-config | |
| protobuf-compiler | |
| python3-pip | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| libsparsehash-dev | |
| ssh | |
| - name: Checkout | |
| uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: tx init | |
| env: | |
| TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
| run: tx init | |
| - name: cmake | |
| working-directory: bin | |
| run: cmake .. | |
| - name: make | |
| working-directory: bin | |
| run: make -j2 | |
| - name: tx config | |
| env: | |
| TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
| run: tx add --organization davidsansome --project clementine --resource clementineplayer --file-filter 'src/translations/<lang>.po' --type PO src/translations/en.po | |
| - name: tx push | |
| env: | |
| TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
| run: tx push -s | |
| create_release: | |
| name: Create GitHub Release | |
| runs-on: ubuntu-24.04 | |
| if: github.ref == 'refs/heads/master' | |
| needs: | |
| - build_bullseye_64 | |
| - build_bookworm_64 | |
| - build_fedora_40 | |
| - build_fedora_41 | |
| - build_fedora_42 | |
| - build_focal_64 | |
| - build_jammy_64 | |
| - build_noble_64 | |
| # - build_mac | |
| - build_mingw | |
| - build_source | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: release_artifacts | |
| - name: Create draft pre-release | |
| id: tag_name | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| set -x | |
| VERSION=$(echo release_artifacts/**/*.tar.xz | sed -e 's/.*clementine-\(.*\).tar.xz/\1/') | |
| echo "Version: ${VERSION}" | |
| echo "version=${VERSION}" >> "$GITHUB_OUTPUT" | |
| - name: Create draft pre-release | |
| uses: softprops/action-gh-release@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| name: ${{ steps.tag_name.outputs.version }} | |
| tag_name: ${{ steps.tag_name.outputs.version }} | |
| files: "release_artifacts/**/*" | |
| fail_on_unmatched_files: true | |
| draft: false | |
| prerelease: false | |
| build_source: | |
| name: Build source tarball | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:focal | |
| steps: | |
| - name: Install dependencies | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: > | |
| apt-get update && apt-get install -y | |
| cmake | |
| fakeroot | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libboost-serialization-dev | |
| libcdio-cdda2 | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew1.5-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libplist-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqca-qt5-2-dev | |
| libqca-qt5-2-plugins | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| libusbmuxd-dev | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: cmake .. | |
| - name: Build source tarball | |
| working-directory: bin | |
| run: ../dist/maketarball.sh | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_source | |
| path: bin/clementine-*.tar.xz | |
| build_fedora_40: | |
| name: Build Fedora 40 RPM | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: fedora:40 | |
| env: | |
| RPM_BUILD_NCPUS: "2" | |
| steps: | |
| - name: Install dependencies | |
| run: > | |
| dnf install --assumeyes | |
| @development-tools | |
| alsa-lib-devel | |
| boost-devel | |
| cmake | |
| cryptopp | |
| cryptopp-devel | |
| dbus-devel | |
| desktop-file-utils | |
| fftw-devel | |
| gcc-c++ | |
| gettext | |
| git | |
| glew-devel | |
| gstreamer1-devel | |
| gstreamer1-plugins-base-devel | |
| hicolor-icon-theme | |
| libappstream-glib | |
| libcdio-devel | |
| libchromaprint-devel | |
| libgpod-devel | |
| liblastfm-qt5-devel | |
| libmtp-devel | |
| libnotify-devel | |
| openssh | |
| pkgconfig | |
| protobuf-compiler | |
| protobuf-devel | |
| pulseaudio-libs-devel | |
| qca-qt5-devel | |
| qca-qt5-ossl | |
| qt5-linguist | |
| qt5-qtbase-devel | |
| qt5-qtx11extras-devel | |
| qt5-rpm-macros | |
| qtsingleapplication-qt5-devel | |
| qtsinglecoreapplication-qt5-devel | |
| rpmdevtools | |
| sparsehash-devel | |
| sqlite-devel | |
| taglib-devel | |
| tar | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
| - name: Build source tarball | |
| working-directory: bin | |
| run: ../dist/maketarball.sh | |
| - name: Create rpmbuild directory | |
| run: mkdir -p ~/rpmbuild/SOURCES | |
| - name: Move source tarball | |
| working-directory: bin | |
| run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
| - name: Build RPM | |
| working-directory: bin | |
| run: rpmbuild -ba ../dist/clementine.spec | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_fedora_40 | |
| path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
| build_fedora_41: | |
| name: Build Fedora 41 RPM | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: fedora:41 | |
| env: | |
| RPM_BUILD_NCPUS: "2" | |
| steps: | |
| - name: Install dependencies | |
| run: > | |
| dnf install --assumeyes | |
| @development-tools | |
| alsa-lib-devel | |
| boost-devel | |
| cmake | |
| cryptopp | |
| cryptopp-devel | |
| dbus-devel | |
| desktop-file-utils | |
| fftw-devel | |
| gcc-c++ | |
| gettext | |
| git | |
| glew-devel | |
| gstreamer1-devel | |
| gstreamer1-plugins-base-devel | |
| hicolor-icon-theme | |
| libappstream-glib | |
| libcdio-devel | |
| libchromaprint-devel | |
| libgpod-devel | |
| liblastfm-qt5-devel | |
| libmtp-devel | |
| libnotify-devel | |
| openssh | |
| pkgconfig | |
| protobuf-compiler | |
| protobuf-devel | |
| pulseaudio-libs-devel | |
| qca-qt5-devel | |
| qca-qt5-ossl | |
| qt5-linguist | |
| qt5-qtbase-devel | |
| qt5-qtx11extras-devel | |
| qt5-rpm-macros | |
| qtsingleapplication-qt5-devel | |
| qtsinglecoreapplication-qt5-devel | |
| rpmdevtools | |
| sparsehash-devel | |
| sqlite-devel | |
| taglib-devel | |
| tar | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
| - name: Build source tarball | |
| working-directory: bin | |
| run: ../dist/maketarball.sh | |
| - name: Create rpmbuild directory | |
| run: mkdir -p ~/rpmbuild/SOURCES | |
| - name: Move source tarball | |
| working-directory: bin | |
| run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
| - name: Build RPM | |
| working-directory: bin | |
| run: rpmbuild -ba ../dist/clementine.spec | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_fedora_41 | |
| path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
| build_fedora_42: | |
| name: Build Fedora 42 RPM | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: fedora:42 | |
| env: | |
| RPM_BUILD_NCPUS: "2" | |
| steps: | |
| - name: Install dependencies | |
| run: > | |
| dnf install --assumeyes | |
| @development-tools | |
| alsa-lib-devel | |
| boost-devel | |
| cmake | |
| cryptopp | |
| cryptopp-devel | |
| dbus-devel | |
| desktop-file-utils | |
| fftw-devel | |
| gcc-c++ | |
| gettext | |
| git | |
| glew-devel | |
| gstreamer1-devel | |
| gstreamer1-plugins-base-devel | |
| hicolor-icon-theme | |
| libappstream-glib | |
| libcdio-devel | |
| libchromaprint-devel | |
| libgpod-devel | |
| liblastfm-qt5-devel | |
| libmtp-devel | |
| libnotify-devel | |
| openssh | |
| pkgconfig | |
| protobuf-compiler | |
| protobuf-devel | |
| pulseaudio-libs-devel | |
| qca-qt5-devel | |
| qca-qt5-ossl | |
| qt5-linguist | |
| qt5-qtbase-devel | |
| qt5-qtx11extras-devel | |
| qt5-rpm-macros | |
| qtsingleapplication-qt5-devel | |
| qtsinglecoreapplication-qt5-devel | |
| rpmdevtools | |
| sparsehash-devel | |
| sqlite-devel | |
| taglib-devel | |
| tar | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
| - name: Build source tarball | |
| working-directory: bin | |
| run: ../dist/maketarball.sh | |
| - name: Create rpmbuild directory | |
| run: mkdir -p ~/rpmbuild/SOURCES | |
| - name: Move source tarball | |
| working-directory: bin | |
| run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
| - name: Build RPM | |
| working-directory: bin | |
| run: rpmbuild -ba ../dist/clementine.spec | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_fedora_42 | |
| path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
| build_mingw: | |
| name: Build Windows Installer | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: eu.gcr.io/clementine-data/mingw-w64:latest | |
| env: | |
| PKG_CONFIG_PATH: /target/lib/pkgconfig | |
| steps: | |
| - name: Fix liblastfm includes | |
| run: ln -s /target/include/lastfm /target/include/lastfm5 | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake | |
| -DCMAKE_BUILD_TYPE=Release | |
| - name: make | |
| working-directory: bin | |
| run: make -j2 | |
| - name: Copy output exes | |
| working-directory: dist/windows | |
| run: cp ../../bin/*.exe . | |
| - name: Copy base runtime DLLs | |
| run: > | |
| cp | |
| /usr/lib/gcc/i686-w64-mingw32/*-posix/libgcc_s_sjlj-1.dll | |
| /usr/lib/gcc/i686-w64-mingw32/*-posix/libstdc++-6.dll | |
| /usr/i686-w64-mingw32/lib/libwinpthread-1.dll | |
| dist/windows | |
| - name: Copy DLL depdendencies | |
| working-directory: /target/bin | |
| run: > | |
| cp | |
| glew32.dll | |
| libcdio-19.dll | |
| libchromaprint.dll | |
| libcrypto-1_1.dll | |
| libfaad-2.dll | |
| libffi-7.dll | |
| libfftw3-3.dll | |
| libFLAC-8.dll | |
| libgcrypt-20.dll | |
| libgio-2.0-0.dll | |
| libglib-2.0-0.dll | |
| libgmodule-2.0-0.dll | |
| libgmp-10.dll | |
| libgnutls-30.dll | |
| libgobject-2.0-0.dll | |
| libgpg-error-0.dll | |
| libgpod.dll | |
| libgstapp-1.0-0.dll | |
| libgstaudio-1.0-0.dll | |
| libgstbase-1.0-0.dll | |
| libgstfft-1.0-0.dll | |
| libgstnet-1.0-0.dll | |
| libgstpbutils-1.0-0.dll | |
| libgstreamer-1.0-0.dll | |
| libgstriff-1.0-0.dll | |
| libgstrtp-1.0-0.dll | |
| libgstrtsp-1.0-0.dll | |
| libgstsdp-1.0-0.dll | |
| libgsttag-1.0-0.dll | |
| libgstvideo-1.0-0.dll | |
| libgthread-2.0-0.dll | |
| libhogweed-6.dll | |
| libiconv-2.dll | |
| libintl-8.dll | |
| liblastfm5.dll | |
| libmms-0.dll | |
| libmp3lame-0.dll | |
| libnettle-8.dll | |
| libogg-0.dll | |
| liboil-0.3-0.dll | |
| libopus-0.dll | |
| liborc-0.4-0.dll | |
| liborc-test-0.4-0.dll | |
| libp11-kit-0.dll | |
| libpcre-1.dll | |
| libplist.dll | |
| libprotobuf-17.dll | |
| libpsl-5.dll | |
| libssl-1_1.dll | |
| libsoup-2.4-1.dll | |
| libspeex-1.dll | |
| libspotify.dll | |
| libsqlite3-0.dll | |
| libtag.dll | |
| libtasn1-6.dll | |
| libunistring-2.dll | |
| libvorbis-0.dll | |
| libvorbisenc-2.dll | |
| libxml2-2.dll | |
| libwavpack-1.dll | |
| Qt5Concurrent.dll | |
| Qt5Core.dll | |
| Qt5Gui.dll | |
| Qt5Network.dll | |
| Qt5OpenGL.dll | |
| Qt5Sql.dll | |
| Qt5Svg.dll | |
| Qt5Widgets.dll | |
| Qt5WinExtras.dll | |
| Qt5Xml.dll | |
| zlib1.dll | |
| ${GITHUB_WORKSPACE}/dist/windows | |
| - run: mkdir dist/windows/imageformats | |
| - name: Copy Qt imageformat plugin DLLs | |
| working-directory: /target/plugins | |
| run: > | |
| cp | |
| imageformats/qgif.dll | |
| imageformats/qjpeg.dll | |
| imageformats/qsvg.dll | |
| ${GITHUB_WORKSPACE}/dist/windows/imageformats | |
| - run: mkdir dist/windows/platforms | |
| - name: Copy Qt platforms plugin DLLs | |
| working-directory: /target/plugins | |
| run: > | |
| cp | |
| platforms/qwindows.dll | |
| ${GITHUB_WORKSPACE}/dist/windows/platforms | |
| - run: mkdir dist/windows/styles | |
| - name: Copy Qt style plugin DLLs | |
| working-directory: /target/plugins | |
| run: > | |
| cp | |
| styles/qwindowsvistastyle.dll | |
| ${GITHUB_WORKSPACE}/dist/windows/styles | |
| - run: mkdir dist/windows/gio-modules | |
| - name: Copy GIO modules | |
| run: cp /target/lib/gio/modules/libgiognutls.dll dist/windows/gio-modules | |
| - run: mkdir dist/windows/gstreamer-plugins | |
| - name: Copy gstreamer plugins | |
| working-directory: /target/lib/gstreamer-1.0 | |
| run: > | |
| cp | |
| libgstaiff.dll | |
| libgstapetag.dll | |
| libgstapp.dll | |
| libgstasf.dll | |
| libgstasfmux.dll | |
| libgstaudioconvert.dll | |
| libgstaudiofx.dll | |
| libgstaudioparsers.dll | |
| libgstaudioresample.dll | |
| libgstaudiotestsrc.dll | |
| libgstautodetect.dll | |
| libgstcdio.dll | |
| libgstcoreelements.dll | |
| libgstdirectsound.dll | |
| libgstequalizer.dll | |
| libgstfaad.dll | |
| libgstflac.dll | |
| libgstgdp.dll | |
| libgstgio.dll | |
| libgsticydemux.dll | |
| libgstid3demux.dll | |
| libgstid3tag.dll | |
| libgstisomp4.dll | |
| libgstlame.dll | |
| libgstlibav.dll | |
| libgstmms.dll | |
| libgstogg.dll | |
| libgstopus.dll | |
| libgstopusparse.dll | |
| libgstpbtypes.dll | |
| libgstplayback.dll | |
| libgstreplaygain.dll | |
| libgstrtp.dll | |
| libgstrtsp.dll | |
| libgstsoup.dll | |
| libgstspectrum.dll | |
| libgstspeex.dll | |
| libgsttaglib.dll | |
| libgsttcp.dll | |
| libgsttypefindfunctions.dll | |
| libgstudp.dll | |
| libgstvolume.dll | |
| libgstvorbis.dll | |
| libgstwavpack.dll | |
| libgstwavparse.dll | |
| ${GITHUB_WORKSPACE}/dist/windows/gstreamer-plugins | |
| - name: Build Windows installer | |
| working-directory: dist/windows | |
| run: makensis clementine.nsi | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_mingw | |
| path: dist/windows/ClementineSetup*.exe | |
| build_bookworm_64: | |
| name: Build Debian Bookworm 64-bit deb | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: debian:bookworm | |
| steps: | |
| - name: Install dependencies | |
| run: > | |
| apt-get update && apt-get install -y | |
| build-essential | |
| cmake | |
| debhelper | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew-dev | |
| libglib2.0-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| pkg-config | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DWITH_DEBIAN=ON | |
| -DDEB_ARCH=amd64 | |
| -DDEB_DIST=bookworm | |
| -DENABLE_SPOTIFY_BLOB=OFF | |
| - name: make | |
| working-directory: bin | |
| run : make -j2 deb | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_bookworm_64 | |
| path: bin/clementine_*.deb | |
| build_bullseye_64: | |
| name: Build Debian Bullseye 64-bit deb | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: debian:bullseye | |
| steps: | |
| - name: Install dependencies | |
| run: > | |
| apt-get update && apt-get install -y | |
| build-essential | |
| cmake | |
| debhelper | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew1.5-dev | |
| libglib2.0-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| pkg-config | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DWITH_DEBIAN=ON | |
| -DDEB_ARCH=amd64 | |
| -DDEB_DIST=bullseye | |
| -DENABLE_SPOTIFY_BLOB=OFF | |
| - name: make | |
| working-directory: bin | |
| run : make -j2 deb | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_bullseye_64 | |
| path: bin/clementine_*.deb | |
| build_focal_64: | |
| name: Build Ubuntu Focal 64-bit deb | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:focal | |
| steps: | |
| - name: Install dependencies | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: > | |
| apt-get update && apt-get install -y | |
| cmake | |
| fakeroot | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libboost-serialization-dev | |
| libcdio-cdda2 | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew1.5-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libplist-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqca-qt5-2-dev | |
| libqca-qt5-2-plugins | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| libusbmuxd-dev | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DWITH_DEBIAN=ON | |
| -DDEB_ARCH=amd64 | |
| -DDEB_DIST=focal | |
| -DENABLE_SPOTIFY_BLOB=OFF | |
| - name: make | |
| working-directory: bin | |
| run : make -j2 deb | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_focal_64 | |
| path: bin/clementine_*.deb | |
| build_jammy_64: | |
| name: Build Ubuntu Jammy 64-bit deb | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:jammy | |
| steps: | |
| - name: Install dependencies | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: > | |
| apt-get update && apt-get install -y | |
| cmake | |
| dpkg-dev | |
| debhelper | |
| fakeroot | |
| g++ | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libboost-serialization-dev | |
| libcdio-cdda2 | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libplist-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqca-qt5-2-dev | |
| libqca-qt5-2-plugins | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| libusbmuxd-dev | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DWITH_DEBIAN=ON | |
| -DDEB_ARCH=amd64 | |
| -DDEB_DIST=jammy | |
| -DENABLE_SPOTIFY_BLOB=OFF | |
| - name: make | |
| working-directory: bin | |
| run : make -j2 deb | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_jammy_64 | |
| path: bin/clementine_*.deb | |
| build_noble_64: | |
| name: Build Ubuntu Noble 64-bit deb | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:noble | |
| steps: | |
| - name: Install dependencies | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: > | |
| apt-get update && apt-get install -y | |
| cmake | |
| dpkg-dev | |
| debhelper | |
| fakeroot | |
| g++ | |
| gettext | |
| git | |
| libasound2-dev | |
| libboost-dev | |
| libboost-serialization-dev | |
| libcdio-cdda2 | |
| libcdio-dev | |
| libchromaprint-dev | |
| libcrypto++-dev | |
| libdbus-1-dev | |
| libfftw3-dev | |
| libglew-dev | |
| libgpod-dev | |
| libgstreamer-plugins-base1.0-dev | |
| libgstreamer1.0-dev | |
| liblastfm5-dev | |
| libmtp-dev | |
| libmygpo-qt-dev | |
| libplist-dev | |
| libprotobuf-dev | |
| libpulse-dev | |
| libqca-qt5-2-dev | |
| libqca-qt5-2-plugins | |
| libqt5x11extras5-dev | |
| libsparsehash-dev | |
| libsqlite3-dev | |
| libtag1-dev | |
| libusbmuxd-dev | |
| protobuf-compiler | |
| qtbase5-dev | |
| qttools5-dev-tools | |
| qttools5-dev | |
| ssh | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: cmake | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -DWITH_DEBIAN=ON | |
| -DDEB_ARCH=amd64 | |
| -DDEB_DIST=noble | |
| -DENABLE_SPOTIFY_BLOB=OFF | |
| - name: make | |
| working-directory: bin | |
| run : make -j2 deb | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_noble_64 | |
| path: bin/clementine_*.deb | |
| build_mac: | |
| if: false | |
| name: Build Mac DMG | |
| runs-on: macos-10.15 | |
| steps: | |
| - uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: git hackery | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: Install dependencies | |
| run: brew bundle | |
| - name: Build libgpod | |
| shell: bash | |
| 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 | |
| patch -p0 < patch-tools-generic-callout.c.diff | |
| patch -p1 < $GITHUB_WORKSPACE/3rdparty/libgpod/patches/0001-Look-for-libplist-2.0.patch | |
| chmod u+x autogen.sh | |
| ./autogen.sh | |
| ./configure --disable-more-warnings \ | |
| --disable-silent-rules \ | |
| --disable-udev \ | |
| --disable-pygobject \ | |
| --with-python=no | |
| make -j2 | |
| sudo make install | |
| - name: Fix liblastfm includes | |
| run: ln -s /usr/local/include/lastfm /usr/local/include/lastfm5 | |
| - name: cmake | |
| env: | |
| PKG_CONFIG_PATH: /usr/local/lib/pkgconfig | |
| Qt5_DIR: /usr/local/opt/qt5/lib/cmake/Qt5 | |
| Qt5LinguistTools_DIR: /usr/local/opt/qt5/lib/cmake/Qt5LinguistTools | |
| GST_SCANNER_PATH: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner | |
| GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0 | |
| DEVELOPER_DIR: /Applications/Xcode_10.3.app/Contents/Developer | |
| working-directory: bin | |
| run: > | |
| cmake .. | |
| -Wno-dev | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DCMAKE_OSX_ARCHITECTURES=x86_64 | |
| -DGETTEXT_MSGMERGE_EXECUTABLE=/usr/local/opt/gettext/bin/msgmerge | |
| -DGETTEXT_MSGFMT_EXECUTABLE=/usr/local/opt/gettext/bin/msgfmt | |
| -DGETTEXT_XGETTEXT_EXECUTABLE=/usr/local/opt/gettext/bin/xgettext | |
| - name: make | |
| working-directory: bin | |
| run: make -j2 | |
| - name: Copy icon files and resources | |
| working-directory: bin | |
| run: make install | |
| - name: Build DMG | |
| working-directory: bin | |
| run: make dmg | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release_mac | |
| path: bin/clementine-*.dmg |