2019-11-24 20:04:05 +01:00
name : C/C++ CI
on : [ push, pull_request]
jobs :
2020-05-30 03:49:37 +02:00
build_source :
name : Create source tarball
2019-11-24 20:04:05 +01:00
runs-on : ubuntu-latest
2020-04-08 01:15:39 +02:00
container :
2021-07-02 01:48:18 +02:00
image : opensuse/leap:15.3
2019-11-24 20:04:05 +01:00
steps :
2020-05-30 03:49:37 +02:00
- uses : actions/checkout@v1.2.0
2020-06-12 19:22:29 +02:00
- name : Update packages
run : zypper --non-interactive --gpg-auto-import-keys ref
2020-05-30 03:49:37 +02:00
- name : Install openSUSE dependencies
run : >
zypper --non-interactive --gpg-auto-import-keys install
lsb-release
rpm-build
git
tar
make
cmake
gcc
gcc-c++
gettext-tools
glibc-devel
libboost_headers-devel
boost-devel
glib2-devel
glib2-tools
dbus-1-devel
alsa-devel
libnotify-devel
libgnutls-devel
protobuf-devel
sqlite3-devel
libpulse-devel
gstreamer-devel
gstreamer-plugins-base-devel
vlc-devel
2021-02-26 22:36:26 +01:00
taglib-devel
2020-05-30 03:49:37 +02:00
libQt5Core-devel
libQt5Gui-devel
2021-05-12 20:08:06 +02:00
libQt5Gui-private-headers-devel
2020-05-30 03:49:37 +02:00
libQt5Widgets-devel
libQt5Concurrent-devel
libQt5Network-devel
libQt5Sql-devel
libQt5DBus-devel
libQt5Test-devel
libqt5-qtbase-common-devel
libQt5Sql5-sqlite
libqt5-linguist-devel
2021-08-14 16:40:37 +02:00
libqt5-qtx11extras-devel
2020-05-30 03:49:37 +02:00
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
desktop-file-utils
update-desktop-files
appstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-05-30 03:49:37 +02:00
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
2021-03-20 22:01:32 +01:00
build_opensuse_lp153_qt5 :
name : Build openSUSE Leap 15.3 Qt 5
runs-on : ubuntu-latest
container :
image : opensuse/leap:15.3
2020-05-30 03:49:37 +02:00
steps :
- uses : actions/checkout@v1.2.0
2021-07-02 01:48:18 +02:00
- name : Add tagparser repo
run : zypper -n ar -c -f -n 'repo-tagparser' https://download.opensuse.org/repositories/home:/mkittler/openSUSE_Leap_15.3/ repo-tagparser
2020-06-12 19:22:29 +02:00
- name : Update packages
run : zypper --non-interactive --gpg-auto-import-keys ref
2020-05-30 03:49:37 +02:00
- name : Install openSUSE dependencies
run : >
zypper --non-interactive --gpg-auto-import-keys install
lsb-release
rpm-build
git
tar
make
cmake
gcc
gcc-c++
gettext-tools
glibc-devel
libboost_headers-devel
boost-devel
glib2-devel
glib2-tools
dbus-1-devel
alsa-devel
libnotify-devel
libgnutls-devel
protobuf-devel
sqlite3-devel
libpulse-devel
gstreamer-devel
gstreamer-plugins-base-devel
vlc-devel
2021-02-26 22:36:26 +01:00
taglib-devel
2021-07-02 01:48:18 +02:00
tagparser-devel
2020-05-30 03:49:37 +02:00
libQt5Core-devel
libQt5Gui-devel
2021-05-12 20:08:06 +02:00
libQt5Gui-private-headers-devel
2020-05-30 03:49:37 +02:00
libQt5Widgets-devel
libQt5Concurrent-devel
libQt5Network-devel
libQt5Sql-devel
libQt5DBus-devel
libQt5Test-devel
libqt5-qtbase-common-devel
libQt5Sql5-sqlite
libqt5-linguist-devel
2021-08-14 16:40:37 +02:00
libqt5-qtx11extras-devel
2020-05-30 03:49:37 +02:00
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
desktop-file-utils
update-desktop-files
appstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON -DBUILD_WITH_QT5=ON -DUSE_TAGLIB=ON -DUSE_TAGPARSER=ON
2020-05-30 03:49:37 +02:00
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz /usr/src/packages/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-03-20 22:01:32 +01:00
build_opensuse_lp153_qt6 :
name : Build openSUSE Leap 15.3 Qt 6
2020-08-02 04:19:39 +02:00
runs-on : ubuntu-latest
container :
2021-03-20 22:01:32 +01:00
image : opensuse/leap:15.3
2020-08-02 04:19:39 +02:00
steps :
- uses : actions/checkout@v1.2.0
2021-07-02 01:48:18 +02:00
- name : Add tagparser repo
run : zypper -n ar -c -f -n 'repo-tagparser' https://download.opensuse.org/repositories/home:/mkittler/openSUSE_Leap_15.3/ repo-tagparser
2021-02-27 14:58:34 +01:00
- name : Add Qt 6 repo
2021-03-20 22:01:32 +01:00
run : zypper -n ar -c -f -n 'repo-qt6' https://download.opensuse.org/repositories/home:/jonaski:/qt6/openSUSE_Leap_15.3/ repo-qt6
2020-08-02 04:19:39 +02:00
- name : Update packages
run : zypper --non-interactive --gpg-auto-import-keys ref
- name : Install openSUSE dependencies
run : >
zypper --non-interactive --gpg-auto-import-keys install
lsb-release
rpm-build
git
tar
make
cmake
2021-06-08 21:25:02 +02:00
gcc10
gcc10-c++
2020-08-02 04:19:39 +02:00
gettext-tools
glibc-devel
libboost_headers-devel
boost-devel
glib2-devel
glib2-tools
dbus-1-devel
alsa-devel
libnotify-devel
libgnutls-devel
protobuf-devel
sqlite3-devel
libpulse-devel
gstreamer-devel
gstreamer-plugins-base-devel
vlc-devel
2021-02-26 22:36:26 +01:00
taglib-devel
2021-07-02 01:48:18 +02:00
tagparser-devel
2020-08-02 04:19:39 +02:00
qt6-core-devel
qt6-gui-devel
2021-05-12 20:08:06 +02:00
qt6-gui-private-devel
2020-08-02 04:19:39 +02:00
qt6-widgets-devel
qt6-concurrent-devel
qt6-network-devel
qt6-sql-devel
qt6-dbus-devel
qt6-test-devel
qt6-base-common-devel
qt6-sql-sqlite
2020-12-09 00:27:37 +01:00
qt6-linguist-devel
2020-08-02 04:19:39 +02:00
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
desktop-file-utils
update-desktop-files
appstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON -DBUILD_WITH_QT6=ON -DUSE_TAGLIB=ON -DUSE_TAGPARSER=ON
2020-12-09 00:27:37 +01:00
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
2022-01-09 03:43:01 +01:00
- name : Create RPM build sources directories
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz /usr/src/packages/SOURCES/
- name : Build RPM
working-directory : build
env :
CC : gcc-10
CXX : g++-10
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-02-27 14:58:34 +01:00
2021-10-09 00:26:05 +02:00
build_opensuse_tumbleweed_qt5 :
name : Build openSUSE Tumbleweed Qt 5
runs-on : ubuntu-latest
container :
image : opensuse/tumbleweed
steps :
- uses : actions/checkout@v1.2.0
- name : Add tagparser repo
run : zypper -n ar -c -f -n 'repo-tagparser' https://download.opensuse.org/repositories/home:/mkittler/openSUSE_Tumbleweed/ repo-tagparser
- name : Update packages
run : zypper --non-interactive --gpg-auto-import-keys ref
- name : Upgrade packages
run : zypper --non-interactive --gpg-auto-import-keys dup
- name : Install openSUSE dependencies
run : >
zypper --non-interactive --gpg-auto-import-keys install
lsb-release
rpm-build
git
tar
make
cmake
gcc
gcc-c++
gettext-tools
glibc-devel
libboost_headers-devel
boost-devel
glib2-devel
glib2-tools
dbus-1-devel
alsa-devel
libnotify-devel
libgnutls-devel
protobuf-devel
sqlite3-devel
libpulse-devel
gstreamer-devel
gstreamer-plugins-base-devel
vlc-devel
taglib-devel
tagparser-devel
libQt5Core-devel
libQt5Gui-devel
libQt5Gui-private-headers-devel
libQt5Widgets-devel
libQt5Concurrent-devel
libQt5Network-devel
libQt5Sql-devel
libQt5DBus-devel
libQt5Test-devel
libqt5-qtbase-common-devel
libQt5Sql5-sqlite
libqt5-linguist-devel
libqt5-qtx11extras-devel
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
desktop-file-utils
update-desktop-files
appstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON -DBUILD_WITH_QT5=ON -DUSE_TAGLIB=ON -DUSE_TAGPARSER=ON
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz /usr/src/packages/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
build_opensuse_tumbleweed_qt6 :
name : Build openSUSE Tumbleweed Qt 6
runs-on : ubuntu-latest
container :
image : opensuse/tumbleweed
steps :
- uses : actions/checkout@v1.2.0
- name : Add tagparser repo
run : zypper -n ar -c -f -n 'repo-tagparser' https://download.opensuse.org/repositories/home:/mkittler/openSUSE_Tumbleweed/ repo-tagparser
- name : Update packages
run : zypper --non-interactive --gpg-auto-import-keys ref
- name : Upgrade packages
run : zypper --non-interactive --gpg-auto-import-keys dup
- name : Install openSUSE dependencies
run : >
zypper --non-interactive --gpg-auto-import-keys install
lsb-release
rpm-build
git
tar
make
cmake
gcc
gcc-c++
gettext-tools
glibc-devel
libboost_headers-devel
boost-devel
glib2-devel
glib2-tools
dbus-1-devel
alsa-devel
libnotify-devel
libgnutls-devel
protobuf-devel
sqlite3-devel
libpulse-devel
gstreamer-devel
gstreamer-plugins-base-devel
vlc-devel
taglib-devel
tagparser-devel
qt6-core-devel
qt6-gui-devel
qt6-gui-private-devel
qt6-widgets-devel
qt6-concurrent-devel
qt6-network-devel
qt6-sql-devel
qt6-dbus-devel
qt6-test-devel
qt6-base-common-devel
qt6-sql-sqlite
qt6-linguist-devel
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
desktop-file-utils
update-desktop-files
appstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON -DBUILD_WITH_QT6=ON -DUSE_TAGLIB=ON -DUSE_TAGPARSER=ON
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz /usr/src/packages/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
2020-08-02 04:19:39 +02:00
2021-03-20 22:01:32 +01:00
build_fedora_34 :
name : Build Fedora 34
runs-on : ubuntu-latest
container :
image : fedora:34
env :
RPM_BUILD_NCPUS : "2"
steps :
- uses : actions/checkout@v1.2.0
- name : Update packages
2020-09-16 18:08:33 +02:00
run : yum update --assumeyes
- name : Upgrade packages
run : yum upgrade --assumeyes
2021-05-28 23:39:30 +02:00
- name : Install Fedora dependencies
run : >
dnf install --assumeyes
@development-tools
redhat-lsb-core
git
glibc
gcc-c++
rpmdevtools
make
cmake
pkgconfig
glib
man
tar
gettext
openssh
boost-devel
dbus-devel
protobuf-devel
protobuf-compiler
sqlite-devel
alsa-lib-devel
pulseaudio-libs-devel
libnotify-devel
gnutls-devel
qt6-qtbase-devel
qt6-qtbase-private-devel
qt6-qttools-devel
2020-09-16 18:08:33 +02:00
gstreamer1-devel
gstreamer1-plugins-base-devel
taglib-devel
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
fftw-devel
desktop-file-utils
libappstream-glib
hicolor-icon-theme
- name : Create Build Environment
2020-12-09 21:44:47 +01:00
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-12-09 21:44:47 +01:00
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
working-directory : build
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
2020-12-09 00:27:37 +01:00
- name : Copy source tarball
working-directory : build
2020-05-30 03:49:37 +02:00
run : cp strawberry-*.tar.xz ~/rpmbuild/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-11-03 21:21:12 +01:00
build_fedora_35 :
name : Build Fedora 35
runs-on : ubuntu-latest
container :
image : fedora:35
env :
RPM_BUILD_NCPUS : "2"
steps :
- uses : actions/checkout@v1.2.0
- name : Update packages
run : yum update --assumeyes
- name : Upgrade packages
run : yum upgrade --assumeyes
- name : Install Fedora dependencies
run : >
dnf install --assumeyes
@development-tools
redhat-lsb-core
git
glibc
gcc-c++
rpmdevtools
make
cmake
pkgconfig
glib
man
tar
gettext
openssh
boost-devel
dbus-devel
protobuf-devel
protobuf-compiler
sqlite-devel
alsa-lib-devel
pulseaudio-libs-devel
libnotify-devel
gnutls-devel
qt6-qtbase-devel
2022-01-08 21:48:03 +01:00
qt6-qtbase-private-devel
qt6-qttools-devel
gstreamer1-devel
gstreamer1-plugins-base-devel
taglib-devel
libcdio-devel
libgpod-devel
libmtp-devel
libchromaprint-devel
fftw-devel
desktop-file-utils
libappstream-glib
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_WERROR=ON
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
working-directory : build
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz ~/rpmbuild/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-11-03 21:21:12 +01:00
2022-01-15 17:52:35 +01:00
build_openmandriva_cooker :
name : Build OpenMandriva Cooker
runs-on : ubuntu-latest
container :
image : openmandriva/cooker
env :
RPM_BUILD_NCPUS : "2"
steps :
- uses : actions/checkout@v1.2.0
- name : Update packages
run : dnf update --assumeyes
- name : Upgrade packages
run : dnf upgrade --assumeyes
- name : Install OpenMandriva dependencies
run : >
dnf install --assumeyes
glibc
gcc-c++
git
gnutar
make
cmake
glib
gettext
lsb-release
rpmdevtools
rpm-build
glibc-devel
boost-devel
dbus-devel
protobuf-devel
protobuf-compiler
sqlite-devel
libasound-devel
pulseaudio-devel
gnutls-devel
lib64GL-devel
libgst-plugins-base1.0-devel
taglib-devel
chromaprint-devel
fftw-devel
libcdio-devel
libgpod-devel
libmtp-devel
lib64Qt6Core-devel
lib64Qt6Concurrent-devel
lib64Qt6Network-devel
lib64Qt6Sql-devel
lib64Qt6DBus-devel
lib64Qt6Gui-devel
lib64Qt6Widgets-devel
lib64Qt6Test-devel
qt6-cmake
qt6-qtbase-tools
qt6-qttools
desktop-file-utils
appstream
appstream-util
hicolor-icon-theme
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_WERROR=ON
- name : Create source tarball
working-directory : build
run : ../dist/scripts/maketarball.sh
- name : Create RPM build sources directories
working-directory : build
run : mkdir -p ~/rpmbuild/SOURCES /usr/src/packages/SOURCES
- name : Copy source tarball
working-directory : build
run : cp strawberry-*.tar.xz ~/rpmbuild/SOURCES/
- name : Build RPM
working-directory : build
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-11-03 21:21:12 +01:00
2020-05-30 03:49:37 +02:00
build_debian_buster :
name : Build Debian Buster
runs-on : ubuntu-latest
container :
image : debian:buster
steps :
- uses : actions/checkout@v1.2.0
- name : Install Debian dependencies
run : >
apt-get update && apt-get install -y
build-essential
2020-09-23 18:23:59 +02:00
dh-make
2020-05-30 03:49:37 +02:00
ssh
git
make
cmake
gcc
pkg-config
fakeroot
gettext
lsb-release
libglib2.0-dev
dpkg-dev
libdbus-1-dev
libboost-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
2021-02-26 22:36:26 +01:00
libtag1-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2020-05-30 03:49:37 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug
2020-05-30 03:49:37 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
2020-09-23 18:42:56 +02:00
build_debian_bullseye :
name : Build Debian Bullseye
runs-on : ubuntu-latest
container :
image : debian:bullseye
2022-01-08 21:48:28 +01:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install Debian dependencies
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
gcc
pkg-config
fakeroot
gettext
lsb-release
libglib2.0-dev
dpkg-dev
libdbus-1-dev
libboost-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
libtag1-dev
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
libqt5x11extras5-dev
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
build_debian_bookworm :
name : Build Debian Bookworm
runs-on : ubuntu-latest
container :
image : debian:bookworm
2020-09-23 18:42:56 +02:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install Debian dependencies
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
gcc
pkg-config
fakeroot
gettext
lsb-release
libglib2.0-dev
dpkg-dev
libdbus-1-dev
libboost-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
2021-02-26 22:36:26 +01:00
libtag1-dev
2020-09-23 18:42:56 +02:00
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2020-09-23 18:42:56 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-09-23 18:42:56 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
2020-05-30 03:49:37 +02:00
build_ubuntu_bionic :
name : Build Ubuntu Bionic
runs-on : ubuntu-latest
container :
image : ubuntu:bionic
steps :
- uses : actions/checkout@v1.2.0
- name : Install Ubuntu dependencies
env :
DEBIAN_FRONTEND : noninteractive
run : >
apt-get update && apt-get install -y
build-essential
2020-09-23 18:42:56 +02:00
dh-make
2020-05-30 03:49:37 +02:00
ssh
git
make
cmake
pkg-config
gcc
fakeroot
wget
curl
gettext
lsb-release
dpkg-dev
libglib2.0-dev
libboost-dev
libdbus-1-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
2021-02-26 22:36:26 +01:00
libtag1-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2020-05-30 03:49:37 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-05-30 03:49:37 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
build_ubuntu_focal :
name : Build Ubuntu Focal
runs-on : ubuntu-latest
container :
image : ubuntu:focal
steps :
- uses : actions/checkout@v1.2.0
- name : Install Ubuntu dependencies
env :
DEBIAN_FRONTEND : noninteractive
run : >
apt-get update && apt-get install -y
build-essential
2020-09-23 18:42:56 +02:00
dh-make
2020-05-30 03:49:37 +02:00
ssh
git
make
cmake
pkg-config
gcc
fakeroot
wget
curl
gettext
lsb-release
dpkg-dev
libglib2.0-dev
libboost-dev
libdbus-1-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
2021-02-26 22:36:26 +01:00
libtag1-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2020-05-30 03:49:37 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-05-30 03:49:37 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
2021-10-16 14:30:45 +02:00
build_ubuntu_hirsute :
name : Build Ubuntu Hirsute
2020-05-30 03:49:37 +02:00
runs-on : ubuntu-latest
container :
2021-10-16 14:30:45 +02:00
image : ubuntu:hirsute
2021-05-03 23:33:59 +02:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install Ubuntu dependencies
env :
DEBIAN_FRONTEND : noninteractive
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
pkg-config
gcc
fakeroot
wget
curl
gettext
lsb-release
dpkg-dev
libglib2.0-dev
libboost-dev
libdbus-1-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
libtag1-dev
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2021-05-03 23:33:59 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2021-05-03 23:33:59 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
2021-10-16 14:30:45 +02:00
build_ubuntu_impish :
name : Build Ubuntu Impish
2021-05-03 23:33:59 +02:00
runs-on : ubuntu-latest
container :
2021-10-16 14:30:45 +02:00
image : ubuntu:impish
2022-01-08 21:48:41 +01:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install Ubuntu dependencies
env :
DEBIAN_FRONTEND : noninteractive
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
pkg-config
gcc
fakeroot
wget
curl
gettext
lsb-release
dpkg-dev
libglib2.0-dev
libboost-dev
libdbus-1-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
libtag1-dev
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
libqt5x11extras5-dev
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
build_ubuntu_jammy :
name : Build Ubuntu Jammy
runs-on : ubuntu-latest
container :
image : ubuntu:jammy
2020-05-30 03:49:37 +02:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install Ubuntu dependencies
env :
DEBIAN_FRONTEND : noninteractive
run : >
apt-get update && apt-get install -y
build-essential
2020-09-23 18:42:56 +02:00
dh-make
2020-05-30 03:49:37 +02:00
ssh
git
make
cmake
pkg-config
gcc
fakeroot
wget
curl
gettext
lsb-release
dpkg-dev
libglib2.0-dev
libboost-dev
libdbus-1-dev
libprotobuf-dev
protobuf-compiler
libsqlite3-dev
libgnutls28-dev
libasound2-dev
libpulse-dev
2021-02-26 22:36:26 +01:00
libtag1-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev
2021-08-14 16:40:37 +02:00
libqt5x11extras5-dev
2020-05-30 03:49:37 +02:00
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-dev
gstreamer1.0-alsa
gstreamer1.0-pulseaudio
libchromaprint-dev
libfftw3-dev
libcdio-dev
libmtp-dev
libgpod-dev
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2020-05-30 03:49:37 +02:00
- name : make deb
shell : bash
run : dpkg-buildpackage -b -d -uc -us -nc -j2
2019-11-24 20:04:05 +01:00
2021-04-23 19:05:02 +02:00
build-macos-qt5 :
name : Build macOS Qt 5
2020-11-18 21:51:51 +01:00
runs-on : macos-10.15
2019-11-24 20:04:05 +01:00
steps :
2020-05-30 03:49:37 +02:00
- uses : actions/checkout@v1.2.0
- name : Install packages
run : >
brew install
2021-05-01 20:30:13 +02:00
wget
2020-05-30 03:49:37 +02:00
glib
pkgconfig
boost
libffi
protobuf
protobuf-c
2021-04-23 19:05:02 +02:00
qt5
2020-05-30 03:49:37 +02:00
gettext
gnutls
fftw
sqlite
chromaprint
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
libcdio
libmtp
create-dmg
taglib
2021-05-01 20:30:13 +02:00
libplist
gdk-pixbuf
2020-12-23 16:55:35 +01:00
2021-05-01 20:30:13 +02:00
- name : Build libgpod
shell : bash
env :
PERL_MM_USE_DEFAULT : 1
run : |
2021-08-19 22:15:30 +02:00
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
cd strawberry-libgpod
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
2021-08-01 08:53:50 +02:00
make -j 4
2021-05-01 20:30:13 +02:00
sudo make install
2020-05-30 03:49:37 +02:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
env :
2021-04-23 19:05:02 +02:00
MACOSX_DEPLOYMENT_TARGET : 10.15
2020-05-30 03:49:37 +02:00
PKG_CONFIG_PATH : /usr/local/lib/pkgconfig
2021-03-20 14:19:49 +01:00
GIO_EXTRA_MODULES : /usr/local/lib/gio/modules
GST_PLUGIN_SCANNER : /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
2020-05-30 03:49:37 +02:00
GST_PLUGIN_PATH : /usr/local/lib/gstreamer-1.0
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_QT5=ON -DBUILD_WERROR=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake
2020-05-30 03:49:37 +02:00
- name : Build
working-directory : build
shell : bash
2021-08-01 08:53:50 +02:00
run : cmake --build . --config Debug --parallel 4
2020-05-30 03:49:37 +02:00
- name : Install
working-directory : build
shell : bash
run : make install
2021-08-19 22:15:30 +02:00
- 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
2021-08-30 18:13:29 +02:00
- name : Deploy
working-directory : build
shell : bash
run : make deploy
- name : Deploy check
working-directory : build
shell : bash
run : make deploycheck
2021-08-19 22:15:30 +02:00
- name : Create DMG
working-directory : build
shell : bash
run : make dmg
2020-11-18 21:51:51 +01:00
2021-04-23 19:05:02 +02:00
build-macos-qt6 :
name : Build macOS Qt 6
runs-on : macos-10.15
2021-02-10 22:20:42 +01:00
steps :
- uses : actions/checkout@v1.2.0
- name : Install packages
run : >
brew install
2021-05-01 20:30:13 +02:00
wget
2021-02-10 22:20:42 +01:00
glib
pkgconfig
boost
libffi
protobuf
protobuf-c
2021-04-23 19:05:02 +02:00
qt6
2021-02-10 22:20:42 +01:00
gettext
gnutls
fftw
sqlite
chromaprint
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
libcdio
libmtp
create-dmg
taglib
2021-05-01 20:30:13 +02:00
libplist
gdk-pixbuf
2021-02-10 22:20:42 +01:00
2021-05-01 20:30:13 +02:00
- name : Build libgpod
shell : bash
env :
PERL_MM_USE_DEFAULT : 1
run : |
2021-08-19 22:15:30 +02:00
git clone https://github.com/strawberrymusicplayer/strawberry-libgpod
cd strawberry-libgpod
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
2021-08-01 08:53:50 +02:00
make -j 4
2021-05-01 20:30:13 +02:00
sudo make install
2021-05-13 01:37:05 +02:00
- name : Remove problematic files
shell : bash
run : sudo rm -rf /usr/local/opt/qt6/share/qt/plugins/virtualkeyboard /usr/local/opt/qt6/share/qt/plugins/platforminputcontexts
2021-02-10 22:20:42 +01:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
env :
2021-04-23 19:05:02 +02:00
MACOSX_DEPLOYMENT_TARGET : 10.15
2021-02-10 22:20:42 +01:00
PKG_CONFIG_PATH : /usr/local/lib/pkgconfig
2021-03-20 14:19:49 +01:00
GIO_EXTRA_MODULES : /usr/local/lib/gio/modules
GST_PLUGIN_SCANNER : /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
2021-02-10 22:20:42 +01:00
GST_PLUGIN_PATH : /usr/local/lib/gstreamer-1.0
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_WERROR=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt6/lib/cmake
2021-02-10 22:20:42 +01:00
- name : Build
working-directory : build
shell : bash
2021-08-01 08:53:50 +02:00
run : cmake --build . --config Release --parallel 4
2021-02-10 22:20:42 +01:00
- name : Install
working-directory : build
shell : bash
run : make install
2021-08-19 22:15:30 +02:00
- name : Manually copy files not handled by macdeployqt
2021-07-18 13:42:19 +02:00
working-directory : build
shell : bash
run : |
2021-07-18 15:34:07 +02:00
mkdir -p strawberry.app/Contents/Frameworks/
2021-08-19 22:15:30 +02:00
cp -v /usr/local/lib/libbrotlicommon.1.dylib strawberry.app/Contents/Frameworks/
2021-08-30 18:13:29 +02:00
- name : Deploy
working-directory : build
shell : bash
run : make deploy
- name : Deploy check
working-directory : build
shell : bash
run : make deploycheck
2021-02-10 22:20:42 +01:00
- name : Create DMG
working-directory : build
shell : bash
run : make dmg
- uses : actions/upload-artifact@v2
with :
2021-04-23 19:05:02 +02:00
name : upload-macos
path : build/strawberry-*.dmg
2021-02-10 22:20:42 +01:00
2020-06-06 01:50:40 +02:00
2021-11-05 21:41:30 +01:00
build-windows-mingw :
name : Build Windows MinGW
2021-04-14 17:08:20 +02:00
runs-on : ubuntu-latest
container :
2021-09-09 22:06:21 +02:00
image : jonaski/strawberry-mxe-x86_64
2021-04-14 17:08:20 +02:00
steps :
- uses : actions/checkout@v1.2.0
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Link MXE directory
shell : bash
run : ln -s /usr/src/strawberry-mxe ~/mxe-shared
- name : Run CMake
shell : bash
env :
PKG_CONFIG_PATH : /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/lib/pkgconfig
working-directory : build
run : >
cmake ..
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-x86_64-w64-mingw32-shared.cmake
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6
-DBUILD_WITH_QT6=ON
2021-05-08 01:55:59 +02:00
-DBUILD_WERROR=OFF
2021-04-14 17:08:20 +02:00
-DARCH=x86_64
-DENABLE_WIN32_CONSOLE=OFF
-DENABLE_DBUS=OFF
-DENABLE_LIBGPOD=OFF
-DENABLE_LIBMTP=OFF
-DProtobuf_PROTOC_EXECUTABLE=/usr/src/strawberry-mxe/usr/x86_64-pc-linux-gnu/bin/protoc
- name : Run Make
working-directory : build
2021-08-01 08:53:50 +02:00
run : cmake --build . --config Release --parallel $(nproc)
2021-04-14 17:08:20 +02:00
- name : Create directories
working-directory : build
2021-09-30 23:08:16 +02:00
run : mkdir -p gio-modules platforms sqldrivers tls imageformats styles gstreamer-plugins nsisplugins
2021-04-14 17:08:20 +02:00
- name : Copy GIO modules
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/lib/gio/modules/libgiognutls.dll ${GITHUB_WORKSPACE}/build/gio-modules/
2021-09-30 23:08:16 +02:00
- name : Copy Qt platform plugins
2021-04-14 17:08:20 +02:00
working-directory : build
2021-09-30 23:08:16 +02:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/platforms/qwindows.dll ${GITHUB_WORKSPACE}/build/platforms/
2021-04-14 17:08:20 +02:00
2021-09-30 23:08:16 +02:00
- name : Copy Qt styles
2021-04-14 17:08:20 +02:00
working-directory : build
2021-09-30 23:08:16 +02:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/styles/qwindowsvistastyle.dll ${GITHUB_WORKSPACE}/build/styles/
2021-04-14 17:08:20 +02:00
2021-09-30 23:08:16 +02:00
- name : Copy Qt TLS plugins
2021-04-14 17:08:20 +02:00
working-directory : build
2021-09-30 23:08:16 +02:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/tls/qopensslbackend.dll ${GITHUB_WORKSPACE}/build/tls/
2021-04-14 17:08:20 +02:00
2021-09-30 23:08:16 +02:00
- name : Copy Qt SQL drivers
2021-04-14 17:08:20 +02:00
working-directory : build
2021-09-30 23:08:16 +02:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/sqldrivers/qsqlite.dll ${GITHUB_WORKSPACE}/build/sqldrivers/
- name : Copy Qt imageformats
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/imageformats/{qgif.dll,qico.dll,qjpeg.dll} ${GITHUB_WORKSPACE}/build/imageformats/
2021-04-14 17:08:20 +02:00
- name : Copy gstreamer plugins
working-directory : build
run : >
cp
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstapp.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstcoreelements.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioconvert.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiofx.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiomixer.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioparsers.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiorate.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioresample.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiotestsrc.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstautodetect.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstplayback.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstvolume.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstspectrum.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstequalizer.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstreplaygain.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsttypefindfunctions.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstgio.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstdirectsound.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstwasapi.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstpbtypes.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstapetag.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsticydemux.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3demux.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsttaglib.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsttcp.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstudp.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstsoup.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstcdio.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtp.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtsp.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstflac.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavparse.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavpack.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstogg.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstvorbis.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstopus.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstopusparse.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstspeex.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstlame.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaiff.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaac.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaad.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstisomp4.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstasf.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstasfmux.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstlibav.dll
2021-10-10 20:43:35 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstopenmpt.dll
2021-10-19 23:55:59 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstdash.dll
2021-12-27 18:12:55 +01:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstxingmux.dll
2021-04-14 17:08:20 +02:00
${GITHUB_WORKSPACE}/build/gstreamer-plugins/
- name : Copy extra binaries
working-directory : build
2022-02-04 19:09:53 +01:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/{sqlite3.exe,gst-launch-1.0.exe,gst-discoverer-1.0.exe,libsoup-3.0-0.dll} .
2021-04-14 17:08:20 +02:00
- name : Copy dependencies
working-directory : build
run : >
/usr/src/strawberry-mxe/tools/copydlldeps.sh
-c
-d .
-F .
-F ./platforms
-F ./styles
-F ./imageformats
2021-09-30 23:08:16 +02:00
-F ./tls
-F ./sqldrivers
2021-04-14 17:08:20 +02:00
-F ./gstreamer-plugins
-R /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared
- name : Strip binaries
working-directory : build
run : find . -type f \( -iname \*.dll -o -iname \*.exe \) -exec /usr/src/strawberry-mxe/usr/bin/x86_64-w64-mingw32.shared-strip {} \;
- name : Copy nsis files
working-directory : build
run : cp ${GITHUB_WORKSPACE}/dist/windows/*.nsi ${GITHUB_WORKSPACE}/dist/windows/*.nsh ${GITHUB_WORKSPACE}/dist/windows/*.ico .
2021-03-30 20:41:13 +02:00
- name : Copy COPYING license file
working-directory : build
run : cp ${GITHUB_WORKSPACE}/COPYING .
2020-06-06 01:50:40 +02:00
- name : Build Windows installer
working-directory : build
run : makensis strawberry.nsi
2020-08-26 22:35:18 +02:00
2022-02-08 22:00:55 +01:00
build-windows-msvc :
name : Build Windows MSVC
runs-on : windows-2019
steps :
- uses : ilammy/msvc-dev-cmd@v1
with :
arch : x86_64
toolset : 14.29
- uses : actions/checkout@v1.2.0
- name : Download Boost
uses : suisei-cn/actions-download-file@v1
with :
url : "Boost [this](https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip)!"
target : downloads/
auto-match : true
- name : Download Qt Base
uses : suisei-cn/actions-download-file@v1
with :
url : "Qt Base [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_623/qt.qt6.623.win64_msvc2019_64/6.2.3-0-202201260729qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z)!"
target : downloads/
auto-match : true
- name : Download Qt Tools
uses : suisei-cn/actions-download-file@v1
with :
url : "Qt Tools [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_623/qt.qt6.623.win64_msvc2019_64/6.2.3-0-202201260729qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z)!"
target : downloads/
auto-match : true
- name : Download Qt OpenSSL
uses : suisei-cn/actions-download-file@v1
with :
url : "Qt OpenSSL [this](https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/tools_openssl_x64/qt.tools.openssl.win_x64/1.1.1-10openssl_1.1.1j_prebuild_x64.7z)!"
target : downloads/
auto-match : true
- name : Download SQLite
uses : suisei-cn/actions-download-file@v1
with :
url : "SQLite [this](https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz)!"
target : downloads/
auto-match : true
- name : Download glib-networking
uses : suisei-cn/actions-download-file@v1
with :
url : "glib-networking [this](https://download.gnome.org/sources/glib-networking/2.62/glib-networking-2.62.4.tar.xz)!"
target : downloads/
auto-match : true
- name : Download GStreamer
uses : suisei-cn/actions-download-file@v1
with :
url : "GStreamer [this](https://gstreamer.freedesktop.org/data/pkg/windows/1.20.0/msvc/gstreamer-1.0-msvc-x86_64-1.20.0.msi)!"
target : downloads/
auto-match : true
- name : Download GStreamer Devel
uses : suisei-cn/actions-download-file@v1
with :
url : "GStreamer Devel [this](https://gstreamer.freedesktop.org/data/pkg/windows/1.20.0/msvc/gstreamer-1.0-devel-msvc-x86_64-1.20.0.msi)!"
target : downloads/
auto-match : true
- name : Download GnuTLS
uses : suisei-cn/actions-download-file@v1
with :
url : "GnutTLS [this](https://github.com/ShiftMediaProject/gnutls/releases/download/3.7.2/libgnutls_3.7.2_msvc14.zip)!"
target : downloads/
auto-match : true
- name : Download GnuTLS PC File
uses : suisei-cn/actions-download-file@v1
with :
url : "GnutTLS PC File [this](https://files.strawberrymusicplayer.org/gnutls.pc)!"
target : downloads/
auto-match : true
- name : Download TagLib
uses : suisei-cn/actions-download-file@v1
with :
url : "TagLib [this](https://taglib.org/releases/taglib-1.12.tar.gz)!"
target : downloads/
auto-match : true
- name : Download FFTW
uses : suisei-cn/actions-download-file@v1
with :
url : "FFTW [this](https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip)!"
target : downloads/
auto-match : true
- name : Download Chromaprint
uses : suisei-cn/actions-download-file@v1
with :
url : "Chromaprint [this](https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz)!"
target : downloads/
auto-match : true
- name : Download Protobuf
uses : suisei-cn/actions-download-file@v1
with :
url : "Protobuf [this](https://files.strawberrymusicplayer.org/protobuf-3.19.4-msvc.zip)!"
# url: "Protobuf [this](https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-cpp-3.19.4.zip)!"
target : downloads/
auto-match : true
- name : Create sources directory
run : mkdir sources
- name : Download qtsparkle
shell : bash
working-directory : sources
run : git clone https://github.com/davidsansome/qtsparkle qtsparkle-git
- name : Download qtsparkle pc file
shell : bash
working-directory : sources/qtsparkle-git
run : curl -O -L https://files.strawberrymusicplayer.org/qtsparkle-qt6.pc
- name : Download LockedList plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "LockedList [this](https://nsis.sourceforge.io/mediawiki/images/d/d3/LockedList.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS LockedList plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/LockedList.zip"
- name : Copy NSIS LockedList plugin
run : |
copy "${{github.workspace}}/NSIS_Plugins/Plugins/LockedList64.dll" "C:/Program Files (x86)/NSIS/Plugins/"
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/LockedList.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
- name : Grant Full Access to c:\windows\temp directory
run : icacls "C:\Windows\Temp" /q /c /t /grant Users:F /T
- name : Install GStreamer
working-directory : downloads
run : msiexec /a gstreamer-1.0-msvc-x86_64-1.20.0.msi /passive /qn
- name : Wait for GStreamer installation to complete
run : Start-Sleep -s 20
shell : powershell
- name : Install GStreamer Devel
working-directory : downloads
run : msiexec /a gstreamer-1.0-devel-msvc-x86_64-1.20.0.msi /passive /qn
- name : Wait for GStreamer Devel installation to complete
run : Start-Sleep -s 30
shell : powershell
- name : Extract Boost
working-directory : sources
run : 7z x ..\downloads\boost_1_78_0.zip
- name : Copy Boost
shell : bash
working-directory : sources
run : cp -r boost_1_78_0/boost /c/gstreamer/1.0/msvc_x86_64/include/
- name : Extract Qt
working-directory : C:\
shell : bash
run : |
mkdir qt
cd qt
7z x "${{github.workspace}}/downloads/6.2.3-0-202201260729qtbase-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
7z x "${{github.workspace}}/downloads/6.2.3-0-202201260729qttools-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
7z x "${{github.workspace}}/downloads/1.1.1-10openssl_1.1.1j_prebuild_x64.7z"
- name : Extract GnuTLS
run : |
mkdir gnutls
cd gnutls
7z x "${{github.workspace}}/downloads/libgnutls_3.7.2_msvc14.zip"
xcopy /s /y bin\x64\*.* c:\gstreamer\1.0\msvc_x86_64\bin\
xcopy /s /y lib\x64\*.* c:\gstreamer\1.0\msvc_x86_64\lib\
xcopy /s /y include\* c:\gstreamer\1.0\msvc_x86_64\include\
xcopy /s /y include\* c:\gstreamer\1.0\msvc_x86_64\include\
copy "${{github.workspace}}/downloads/gnutls.pc" c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
- name : Extract TagLib
working-directory : sources
shell : bash
run : tar -xvf ../downloads/taglib-1.12.tar.gz
- name : Extract Chromaprint
working-directory : sources
shell : bash
run : tar -xvf ../downloads/chromaprint-1.5.1.tar.gz
- name : Extract glib-networking
working-directory : sources
shell : bash
run : tar -xvf ../downloads/glib-networking-2.62.4.tar.xz
- name : Extract FFTW
run : |
mkdir fftw
cd fftw
7z x "${{github.workspace}}/downloads/fftw-3.3.5-dll64.zip"
lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
xcopy /s /y *.dll c:\gstreamer\1.0\msvc_x86_64\bin\
xcopy /s /y *.lib c:\gstreamer\1.0\msvc_x86_64\lib\
xcopy /s /y *.h c:\gstreamer\1.0\msvc_x86_64\include\
#- name: Compile Protobuf
# env:
# CL: "/MP"
# working-directory: sources/protobuf-3.19.4
# run: |
# cd cmake
# mkdir build
# cd build
# cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/protobuf" -Dprotobuf_BUILD_TESTS=OFF
# nmake
# cmake --install .
# copy ..\cmake\build\protobuf.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
- name : Extract Protobuf
run : |
7z x downloads\protobuf-3.19.4-msvc.zip
xcopy /s /y protobuf-3.19.4-msvc\bin\*.dll c:\gstreamer\1.0\msvc_x86_64\bin\
xcopy /s /y protobuf-3.19.4-msvc\bin\*.exe c:\gstreamer\1.0\msvc_x86_64\bin\
xcopy /s /y protobuf-3.19.4-msvc\lib\*.lib c:\gstreamer\1.0\msvc_x86_64\lib\
xcopy /s /y protobuf-3.19.4-msvc\lib\pkgconfig\*.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
xcopy /s /y protobuf-3.19.4-msvc\include\*.* c:\gstreamer\1.0\msvc_x86_64\include\
- name : Extract SQLite
working-directory : sources
shell : bash
run : tar -xvf ../downloads/sqlite-autoconf-3370200.tar.gz
- name : Compile SQlite
env :
CL : "/MP"
working-directory : sources/sqlite-autoconf-3370200
run : cl shell.c sqlite3.c -Fe:sqlite3.exe
#cl -DSQLITE_API="__declspec(dllexport)" sqlite3.c -link -dll -out:sqlite3.dll
# - name: Copy SQLite
# working-directory: sources/sqlite-autoconf-3370200
# run: |
# copy *.h c:\gstreamer\1.0\msvc_x86_64\include\
# copy *.lib c:\gstreamer\1.0\msvc_x86_64\lib\
# copy *.dll c:\gstreamer\1.0\msvc_x86_64\bin\
# copy *.def c:\gstreamer\1.0\msvc_x86_64\lib\
# copy *.def c:\gstreamer\1.0\msvc_x86_64\bin\
- name : Compile TagLib
env :
CL : "/MP"
working-directory : sources/taglib-1.12
run : |
mkdir build
cd build
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="c:\gstreamer\1.0\msvc_x86_64" -DBUILD_SHARED_LIBS=ON
nmake
cmake --install .
- name : Compile Chromaprint
env :
CL : "/MP"
working-directory : sources/chromaprint-1.5.1
run : |
mkdir build
cd build
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DFFMPEG_ROOT=C:\gstreamer\1.0\msvc_x86_64 -DCMAKE_INSTALL_PREFIX=C:\gstreamer\1.0\msvc_x86_64
nmake
cmake --install .
- name : Update PATH
run : echo "c:\gstreamer\1.0\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name : Compile glib-networking
env :
CL : "/MP"
working-directory : sources/glib-networking-2.62.4
run : |
echo "c:\gstreamer\1.0\msvc_x86_64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
pip3 install meson
meson -Dgnutls=enabled -Dpkg_config_path=c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig build
cd build
ninja
- name : Compile qtsparkle
env :
CL : "/MP"
working-directory : sources/qtsparkle-git
run : |
copy qtsparkle-qt6.pc c:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig\
mkdir build
cd build
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/qtsparkle"
nmake
cmake --install .
cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/qtsparkle"
nmake
cmake --install .
- name : Remove find_package(Boost)
shell : bash
run : sed -i 's/find_package(Boost.*//g' CMakeLists.txt
- name : Create Build Environment
run : cmake -E make_directory build
- name : Run CMake
working-directory : build
run : >
cmake ..
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=c:\qt\6.2.3\msvc2019_64\lib\cmake
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
-DARCH=x86_64
-DENABLE_WIN32_CONSOLE=OFF
-DENABLE_DBUS=OFF
-DENABLE_LIBGPOD=OFF
-DENABLE_LIBMTP=OFF
-DUSE_TAGLIB=ON
-DPKG_CONFIG_EXECUTABLE=C:/gstreamer/1.0/msvc_x86_64/bin/pkg-config.exe
-DGNUTLS_LIBRARY=c:/gstreamer/1.0/msvc_x86_64/lib/gnutls.lib
-DGNUTLS_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
-DGNUTLS_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
-DBoost_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
-DBoost_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
-DProtobuf_LIBRARY=c:/gstreamer/1.0/msvc_x86_64/lib/libprotobuf.lib
-DProtobuf_INCLUDE_DIR=c:/gstreamer/1.0/msvc_x86_64/include
-DProtobuf_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
-DPROTOBUF_PROTOC_EXECUTABLE=c:/gstreamer/1.0/msvc_x86_64/bin/protoc.exe
-DSQLITE_INCLUDE_DIRS=c:/gstreamer/1.0/msvc_x86_64/include
-DSQLITE_LIBRARY_DIRS=c:/gstreamer/1.0/msvc_x86_64/lib
-DFFTW3_DIR=c:\gstreamer\1.0\msvc_x86_64
-DQTSPARKLE_INCLUDE_DIRS="${{github.workspace}}/qtsparkle/include"
- name : Copy qtsparkle header
working-directory : build
run : xcopy /s /y "${{github.workspace}}\qtsparkle\include"
- name : Run Make
env :
CL : "/MP"
working-directory : build
run : cmake --build . --config Release --parallel $(nproc)
- name : list files
working-directory : build
run : dir
- name : Copy executables
working-directory : build
run : copy release\*.exe .
- name : Copy extra binaries
working-directory : build
run : |
copy c:\qt\tools\openssl\win_x64\bin\libssl-1_1-x64.dll
copy c:\qt\tools\openssl\win_x64\bin\libcrypto-1_1-x64.dll
copy "${{github.workspace}}/sources/sqlite-autoconf-3370200/sqlite3.exe"
copy c:\gstreamer\1.0\msvc_x86_64\bin\soup-2.4-1.dll
copy c:\gstreamer\1.0\msvc_x86_64\bin\gst-launch-1.0.exe
copy c:\gstreamer\1.0\msvc_x86_64\bin\gst-discoverer-1.0.exe
- name : Create directories
working-directory : build
run : |
mkdir gio-modules
mkdir platforms
mkdir styles
mkdir tls
mkdir sqldrivers
mkdir imageformats
mkdir gstreamer-plugins
mkdir nsisplugins
- name : Copy GIO modules
working-directory : build
run : copy "${{github.workspace}}/sources/glib-networking-2.62.4/build/tls/gnutls/giognutls.dll" ./gio-modules/
- name : Copy Qt platform plugins
working-directory : build
run : copy C:\Qt\6.2.3\msvc2019_64\plugins\platforms\qwindows.dll .\platforms\
- name : Copy Qt styles
working-directory : build
run : copy C:\Qt\6.2.3\msvc2019_64\plugins\styles\qwindowsvistastyle.dll .\styles\
- name : Copy Qt TLS plugins
working-directory : build
run : copy C:\Qt\6.2.3\msvc2019_64\plugins\tls\*.dll .\tls\
- name : Copy Qt SQL drivers
working-directory : build
run : copy C:\Qt\6.2.3\msvc2019_64\plugins\sqldrivers\qsqlite.dll .\sqldrivers\
- name : Copy Qt imageformats plugins
working-directory : build
run : copy C:\Qt\6.2.3\msvc2019_64\plugins\imageformats\*.dll .\imageformats\
- name : Copy gstreamer plugins
working-directory : build
run : |
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwasapi2.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
copy C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\
- name : Download copydlldeps.sh
shell : bash
working-directory : build
run : curl -O -L https://raw.githubusercontent.com/strawberrymusicplayer/strawberry-mxe/master/tools/copydlldeps.sh
- name : Copy dependencies
shell : bash
working-directory : build
run : >
./copydlldeps.sh
-c
-d .
-F .
-F ./platforms
-F ./styles
-F ./tls
-F ./sqldrivers
-F ./imageformats
-F ./gio-modules
-F ./gstreamer-plugins
-R /c/qt/6.2.3/msvc2019_64/bin
-R /c/gstreamer/1.0/msvc_x86_64
-R "${{github.workspace}}/qtsparkle/bin"
- name : Strip binaries
shell : bash
working-directory : build
run : find . -type f \( -iname \*.dll -o -iname \*.exe \) -exec strip {} \;
- name : Copy nsis files
working-directory : build
run : |
copy ..\dist\windows\*.nsi .
copy ..\dist\windows\*.nsh .
copy ..\dist\windows\*.ico .
- name : Copy COPYING license file
working-directory : build
run : copy ..\COPYING .
- name : list files
working-directory : build
run : dir
- name : Create nsis installer
working-directory : build
run : makensis strawberry.nsi
- uses : actions/upload-artifact@v2
with :
name : upload-windows
path : build/StrawberrySetup*.exe
2020-08-26 22:35:18 +02:00
2021-04-23 19:05:02 +02:00
upload-macos :
name : Upload macOS DMG
2021-02-10 22:20:42 +01:00
runs-on : ubuntu-latest
if : github.ref == 'refs/heads/master'
needs :
2021-04-23 19:05:02 +02:00
- build-macos-qt6
2021-02-10 22:20:42 +01:00
steps :
- uses : actions/checkout@v1.2.0
- uses : actions/download-artifact@v2
with :
path : uploads
- name : Install SSH keys
uses : shimataro/ssh-key-action@v2
with :
known_hosts : ${{ secrets.KNOWN_HOSTS2 }}
key : ${{ secrets.SSH_KEY }}
- name : rsync
run : |
set -x
2021-04-23 19:05:02 +02:00
for i in $(find uploads -type f -name 'strawberry-*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/
2021-02-10 22:20:42 +01:00
done
2021-07-30 23:03:14 +02:00
2022-02-08 22:00:55 +01:00
upload-windows :
name : Upload Windows Setup
runs-on : ubuntu-latest
if : github.ref == 'refs/heads/master'
needs :
- build-windows-msvc
steps :
- uses : actions/checkout@v1.2.0
- uses : actions/download-artifact@v2
with :
path : uploads
- name : Install SSH keys
uses : shimataro/ssh-key-action@v2
with :
known_hosts : ${{ secrets.KNOWN_HOSTS2 }}
key : ${{ secrets.SSH_KEY }}
- name : rsync
run : |
set -x
for i in $(find uploads -type f -name 'StrawberrySetup*.exe'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/windows/
done
2021-07-30 23:03:14 +02:00
build-freebsd :
name : Build FreeBSD
2021-10-13 19:30:46 +02:00
runs-on : macos-10.15
2021-07-30 23:03:14 +02:00
steps :
2021-08-20 22:12:42 +02:00
- uses : actions/checkout@v1.2.0
2021-07-30 23:03:14 +02:00
- name : Build FreeBSD
id : build-freebsd
uses : vmactions/freebsd-vm@v0.1.5
with :
usesh : true
mem : 4096
prepare : pkg install -y git cmake pkgconf gettext-tools boost-libs glib gnutls qt5-core qt5-concurrent qt5-network qt5-sql qt5-dbus qt5-gui qt5-widgets qt5-buildtools qt5-linguisttools qt5-qmake qt5-sqldrivers-sqlite3 qt5-testlib sqlite gstreamer1 gstreamer1-plugins chromaprint protobuf protobuf-c taglib libcdio libmtp gdk-pixbuf2 libgpod fftw3 googletest iconv
run : |
cmake -E make_directory build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug --parallel 4
cd ..
rm -rf build