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 :
2022-07-29 16:27:01 +02:00
image : opensuse/leap:15.4
2019-11-24 20:04:05 +01:00
steps :
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
2022-07-28 04:01:58 +02:00
libicu-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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
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
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 :
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
2022-07-28 04:01:58 +02:00
libicu-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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
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
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 :
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
2022-07-11 23:12:26 +02:00
run : zypper -n ar -c -f -n 'repo-qt6' https://download.opensuse.org/repositories/KDE:/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
2022-07-28 04:01:58 +02:00
libicu-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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2020-08-02 04:19:39 +02:00
- 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
2022-08-09 23:03:24 +02:00
2022-03-05 12:13:34 +01:00
build_opensuse_lp154_qt5 :
name : Build openSUSE Leap 15.4 Qt 5
runs-on : ubuntu-latest
container :
image : opensuse/leap:15.4
steps :
- 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
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
2022-07-28 04:01:58 +02:00
libicu-devel
2022-03-05 12:13:34 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-03-05 12:13:34 +01:00
- 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
- 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_lp154_qt6 :
name : Build openSUSE Leap 15.4 Qt 6
runs-on : ubuntu-latest
container :
image : opensuse/leap:15.4
steps :
- 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
gcc10
gcc10-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
2022-07-28 04:01:58 +02:00
libicu-devel
2022-03-05 12:13:34 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-03-05 12:13:34 +01:00
- 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
- 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
env :
CC : gcc-10
CXX : g++-10
run : rpmbuild -ba ../dist/unix/strawberry.spec
2021-02-27 14:58:34 +01:00
2022-08-09 23:03:24 +02: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 :
- 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
2022-07-28 04:01:58 +02:00
libicu-devel
2021-10-09 00:26:05 +02:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2021-10-09 00:26:05 +02:00
- 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 :
- 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
2022-07-28 04:01:58 +02:00
libicu-devel
2021-10-09 00:26:05 +02:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2021-10-09 00:26:05 +02:00
- 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
2022-08-09 23:03:24 +02:00
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 :
- 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
2022-05-10 00:56:54 +02:00
which
2021-11-03 21:21:12 +01:00
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
2022-07-28 04:01:58 +02:00
libicu-devel
2021-11-03 21:21:12 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-01-08 21:48:03 +01:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2022-05-10 00:56:54 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2022-01-08 21:48:03 +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
- 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
2022-08-09 23:03:24 +02:00
2022-03-05 12:12:48 +01:00
build_fedora_36 :
name : Build Fedora 36
runs-on : ubuntu-latest
container :
image : fedora:36
env :
RPM_BUILD_NCPUS : "2"
steps :
- 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
2022-05-10 00:56:54 +02:00
which
2022-03-05 12:12:48 +01:00
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
2022-07-28 04:01:58 +02:00
libicu-devel
2022-03-05 12:12:48 +01:00
qt6-qtbase-devel
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-03-05 12:12:48 +01:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2022-05-10 00:56:54 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2022-03-05 12:12:48 +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
- 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-05-10 00:56:54 +02:00
2022-08-09 23:03:24 +02:00
2022-01-15 17:52:35 +01:00
build_openmandriva_cooker :
2022-02-11 23:05:24 +01:00
name : Build OpenMandriva Lx 4.2
2022-01-15 17:52:35 +01:00
runs-on : ubuntu-latest
container :
2022-02-11 23:05:24 +01:00
image : openmandriva/4.2
2022-01-15 17:52:35 +01:00
env :
RPM_BUILD_NCPUS : "2"
steps :
- 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
2022-07-28 04:01:58 +02:00
icu-devel
2022-01-15 17:52:35 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-01-15 17:52:35 +01:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
working-directory : build
2022-05-10 00:56:54 +02:00
run : cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WERROR=ON
2022-01-15 17:52:35 +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
- 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 :
- 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
2022-06-06 00:59:07 +02:00
g++
2020-05-30 03:49:37 +02:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qttools5-dev
2022-04-22 23:56:30 +02:00
qttools5-dev-tools
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
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
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 :
- name : Install Debian dependencies
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
gcc
2022-06-06 00:59:07 +02:00
g++
2022-01-08 21:48:28 +01:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2022-01-08 21:48:28 +01:00
qtbase5-dev
qtbase5-dev-tools
qttools5-dev
2022-04-22 23:56:30 +02:00
qttools5-dev-tools
2022-01-08 21:48:28 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-01-08 21:48:28 +01:00
- 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
2022-08-09 23:03:24 +02:00
2022-01-08 21:48:28 +01:00
build_debian_bookworm :
name : Build Debian Bookworm
runs-on : ubuntu-latest
container :
image : debian:bookworm
2020-09-23 18:42:56 +02:00
steps :
- name : Install Debian dependencies
run : >
apt-get update && apt-get install -y
build-essential
dh-make
ssh
git
make
cmake
gcc
2022-06-06 00:59:07 +02:00
g++
2020-09-23 18:42:56 +02:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2022-04-22 23:56:30 +02:00
qt6-base-dev
qt6-base-dev-tools
qt6-tools-dev
qt6-tools-dev-tools
qt6-l10n-tools
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2020-09-23 18:42:56 +02:00
- 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
2022-08-09 23:03:24 +02:00
2020-05-30 03:49:37 +02:00
build_ubuntu_bionic :
name : Build Ubuntu Bionic
runs-on : ubuntu-latest
container :
image : ubuntu:bionic
steps :
- 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
2022-06-06 00:59:07 +02:00
g++
2020-05-30 03:49:37 +02:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2020-05-30 03:49:37 +02:00
qtbase5-dev
qtbase5-dev-tools
qttools5-dev
2022-04-22 23:56:30 +02:00
qttools5-dev-tools
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
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
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
2022-01-08 21:48:41 +01:00
steps :
- 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
2022-06-06 00:59:07 +02:00
g++
2022-01-08 21:48:41 +01:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2022-01-08 21:48:41 +01:00
qtbase5-dev
qtbase5-dev-tools
qttools5-dev
2022-04-22 23:56:30 +02:00
qttools5-dev-tools
2022-01-08 21:48:41 +01:00
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-01-08 21:48:41 +01:00
- 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
2022-08-09 23:03:24 +02:00
2022-01-08 21:48:41 +01:00
build_ubuntu_jammy :
name : Build Ubuntu Jammy
runs-on : ubuntu-latest
container :
image : ubuntu:jammy
2022-07-08 19:36:43 +02:00
steps :
- 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
g++
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
2022-07-28 04:01:58 +02:00
libicu-dev
2022-07-08 19:36:43 +02:00
qt6-base-dev
qt6-base-dev-tools
qt6-tools-dev
qt6-tools-dev-tools
qt6-l10n-tools
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-07-08 19:36:43 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-07-08 19:36:43 +02:00
- 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
2022-08-09 23:03:24 +02:00
2022-07-08 19:36:43 +02:00
build_ubuntu_kinetic :
name : Build Ubuntu Kinetic
runs-on : ubuntu-latest
container :
image : ubuntu:kinetic
2020-05-30 03:49:37 +02:00
steps :
- 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
2022-06-06 00:59:07 +02:00
g++
2020-05-30 03:49:37 +02:00
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
2022-07-28 04:01:58 +02:00
libicu-dev
2022-04-22 23:56:30 +02:00
qt6-base-dev
qt6-base-dev-tools
qt6-tools-dev
qt6-tools-dev-tools
qt6-l10n-tools
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
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
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
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
2022-08-13 20:40:31 +02:00
build-windows-mingw-x86 :
name : Build Windows MinGW (x86)
runs-on : ubuntu-latest
container :
image : jonaski/strawberry-mxe-i686
steps :
- uses : actions/checkout@v3
with :
fetch-depth : 0
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-08-13 20:40:31 +02:00
- 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/i686-w64-mingw32.shared/lib/pkgconfig
working-directory : build
run : >
cmake ..
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-i686-w64-mingw32-shared.cmake
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
-DARCH=x86
-DENABLE_WIN32_CONSOLE=OFF
-DENABLE_DBUS=OFF
-DENABLE_LIBGPOD=OFF
-DENABLE_LIBMTP=OFF
-DENABLE_AUDIOCD=OFF
-DProtobuf_PROTOC_EXECUTABLE=/usr/src/strawberry-mxe/usr/x86_64-pc-linux-gnu/bin/protoc
2022-08-09 23:03:24 +02:00
2022-08-13 20:40:31 +02:00
- name : Run Make
working-directory : build
run : cmake --build . --config Release --parallel $(nproc)
- name : Create directories
working-directory : build
run : mkdir -p gio-modules platforms sqldrivers tls imageformats styles gstreamer-plugins nsisplugins
- name : Copy GIO modules
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/lib/gio/modules/{libgiognutls.dll,libgioopenssl.dll} ${GITHUB_WORKSPACE}/build/gio-modules/
- name : Copy Qt platform plugins
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/platforms/qwindows.dll ${GITHUB_WORKSPACE}/build/platforms/
- name : Copy Qt styles
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/styles/qwindowsvistastyle.dll ${GITHUB_WORKSPACE}/build/styles/
- name : Copy Qt TLS plugins
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/qt6/plugins/tls/{qschannelbackend.dll,qopensslbackend.dll} ${GITHUB_WORKSPACE}/build/tls/
- name : Copy Qt SQL drivers
working-directory : build
run : cp /usr/src/strawberry-mxe/usr/i686-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/i686-w64-mingw32.shared/qt6/plugins/imageformats/{qgif.dll,qico.dll,qjpeg.dll} ${GITHUB_WORKSPACE}/build/imageformats/
- name : Copy gstreamer plugins
working-directory : build
run : >
cp
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaes.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaiff.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstapetag.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstapp.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstasf.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstasfmux.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioconvert.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiofx.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiomixer.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioparsers.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiorate.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudioresample.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstaudiotestsrc.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstautodetect.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstbs2b.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstcoreelements.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstdash.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstdirectsound.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstequalizer.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaac.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfaad.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstfdkaac.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstflac.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstgio.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstgme.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsthls.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsticydemux.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3demux.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3tag.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstisomp4.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstlame.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstlibav.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstmpg123.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstmusepack.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstogg.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopenmpt.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopus.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstopusparse.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstpbtypes.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstplayback.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstreplaygain.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtp.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstrtsp.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstsoup.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstspectrum.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstspeex.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttaglib.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttcp.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttwolame.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgsttypefindfunctions.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstudp.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstvolume.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstvorbis.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwasapi.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavenc.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavpack.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavparse.dll
/usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/gstreamer-1.0/libgstxingmux.dll
${GITHUB_WORKSPACE}/build/gstreamer-plugins/
- name : Copy extra binaries
working-directory : build
2022-08-27 16:27:19 +02:00
run : cp /usr/src/strawberry-mxe/usr/i686-w64-mingw32.shared/bin/{sqlite3.exe,gst-launch-1.0.exe,gst-discoverer-1.0.exe,libsoup-3.0-0.dll,libnghttp2.dll} .
2022-08-13 20:40:31 +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
-F ./tls
-F ./sqldrivers
-F ./gstreamer-plugins
-R /usr/src/strawberry-mxe/usr/i686-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/i686-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 .
- name : Copy COPYING license file
working-directory : build
run : cp ${GITHUB_WORKSPACE}/COPYING .
- name : Build Windows installer
working-directory : build
run : makensis strawberry.nsi
build-windows-mingw-x64 :
name : Build Windows MinGW (x86_64)
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 :
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2021-04-14 17:08:20 +02:00
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-04-20 01:23:02 +02:00
2021-04-14 17:08:20 +02:00
- 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
2022-07-25 15:27:17 +02:00
-DENABLE_AUDIOCD=OFF
2021-04-14 17:08:20 +02:00
-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
2022-03-07 22:32:50 +01:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/lib/gio/modules/{libgiognutls.dll,libgioopenssl.dll} ${GITHUB_WORKSPACE}/build/gio-modules/
2021-04-14 17:08:20 +02:00
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
2022-04-23 18:03:54 +02:00
run : cp /usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/qt6/plugins/tls/{qschannelbackend.dll,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
2022-03-07 19:28:38 +01:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstaes.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/libgstapetag.dll
2021-04-14 17:08:20 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstapp.dll
2022-03-07 19:28:38 +01:00
/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
2021-04-14 17:08:20 +02:00
/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
2022-03-07 19:28:38 +01:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstbs2b.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/libgstdash.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstdirectsound.dll
2021-04-14 17:08:20 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstequalizer.dll
2022-03-07 19:28:38 +01:00
/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/libgstfdkaac.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstflac.dll
2021-04-14 17:08:20 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstgio.dll
2022-08-06 17:02:00 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstgme.dll
2022-03-27 23:27:01 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsthls.dll
2021-04-14 17:08:20 +02:00
/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
2022-07-25 03:23:34 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstid3tag.dll
2022-03-07 19:28:38 +01:00
/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/libgstlame.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstlibav.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstmpg123.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstmusepack.dll
2021-04-14 17:08:20 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstogg.dll
2022-03-07 19:28:38 +01:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstopenmpt.dll
2021-04-14 17:08:20 +02:00
/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
2022-03-07 19:28:38 +01:00
/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/libgstplayback.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/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/libgstsoup.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstspectrum.dll
2021-04-14 17:08:20 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstspeex.dll
2022-03-07 19:28:38 +01:00
/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
2022-07-25 03:23:34 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgsttwolame.dll
2022-03-07 19:28:38 +01:00
/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/libgstudp.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/libgstvorbis.dll
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstwasapi.dll
2022-07-25 03:55:38 +02:00
/usr/src/strawberry-mxe/usr/x86_64-w64-mingw32.shared/bin/gstreamer-1.0/libgstwavenc.dll
2022-03-07 19:28:38 +01:00
/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/libgstwavparse.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-08-27 16:27:19 +02: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,libnghttp2.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-08-09 23:03:24 +02:00
2022-08-13 20:40:31 +02:00
build-windows-msvc-x86-debug :
name : Build Windows MSVC x86 Debug
2022-02-08 22:00:55 +01:00
runs-on : windows-2019
steps :
- uses : ilammy/msvc-dev-cmd@v1
with :
2022-08-13 20:40:31 +02:00
arch : x86
toolset : 14.29
- uses : actions/checkout@v3
with :
fetch-depth : 0
- name : Delete conflicting files
shell : bash
run : |
rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
2022-09-16 23:11:56 +02:00
- name : Get latest MSVC dependencies
shell : bash
run : |
msvc_deps_version=$(curl -s 'https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases' | sed -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' | head -1)
echo "msvc_deps_version=${msvc_deps_version}" >> $GITHUB_ENV
2022-08-13 20:40:31 +02:00
- name : Download Windows MSVC dependencies
uses : suisei-cn/actions-download-file@v1
with :
2022-09-16 23:11:56 +02:00
url : "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/${{env.msvc_deps_version}}/strawberry-msvc-x86-debug.tar.xz)!"
2022-08-13 20:40:31 +02:00
target : downloads/
auto-match : true
- 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 : Download Registry plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Registry plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip"
- name : Download Inetc plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Inetc plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip"
- name : Install NSIS plugins
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/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
- name : Extract Windows MSVC dependencies
shell : bash
run : |
tar -xf /d/a/strawberry/strawberry//downloads/strawberry-msvc-x86-debug.tar.xz
mv strawberry_msvc_x86_debug /c/
- name : Update PATH
run : echo "c:\strawberry_msvc_x86_debug\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-08-13 20:40:31 +02:00
- name : Create Build Environment
run : cmake -E make_directory build
- name : Run CMake
working-directory : build
run : >
cmake ..
-G "Ninja"
-DCMAKE_BUILD_TYPE="Debug"
-DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_debug/lib/cmake"
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
-DARCH=x86
-DENABLE_WIN32_CONSOLE=ON
-DUSE_TAGLIB=ON
-DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_debug/bin/pkg-config.exe"
-DICU_ROOT="c:/strawberry_msvc_x86_debug"
- name : Run Make
env :
CL : "/MP"
working-directory : build
run : cmake --build . --config Debug --parallel 4
- name : list files
working-directory : build
run : dir
- name : Copy extra binaries
working-directory : build
run : |
copy c:\strawberry_msvc_x86_debug\bin\libssl-3.dll
copy c:\strawberry_msvc_x86_debug\bin\libcrypto-3.dll
2022-08-27 16:27:19 +02:00
copy c:\strawberry_msvc_x86_debug\bin\soup-3.0-0.dll
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_debug\bin\gst-launch-1.0.exe
copy c:\strawberry_msvc_x86_debug\bin\gst-discoverer-1.0.exe
copy c:\strawberry_msvc_x86_debug\bin\sqlite3.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 c:\strawberry_msvc_x86_debug\lib\gio\modules\*.dll .\gio-modules\
- name : Copy Qt platform plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_debug\plugins\platforms\qwindowsd.dll .\platforms\
- name : Copy Qt styles
working-directory : build
run : copy c:\strawberry_msvc_x86_debug\plugins\styles\qwindowsvistastyled.dll .\styles\
- name : Copy Qt TLS plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_debug\plugins\tls\*.dll .\tls\
- name : Copy Qt SQL drivers
working-directory : build
run : copy c:\strawberry_msvc_x86_debug\plugins\sqldrivers\qsqlited.dll .\sqldrivers\
- name : Copy Qt imageformats plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_debug\plugins\imageformats\*.dll .\imageformats\
- name : Copy gstreamer plugins
working-directory : build
run : |
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_debug\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/strawberry_msvc_x86_debug/bin
- 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@v3
with :
name : upload-windows
path : build/StrawberrySetup*.exe
build-windows-msvc-x86-release :
name : Build Windows MSVC x86 Release
runs-on : windows-2019
steps :
- uses : ilammy/msvc-dev-cmd@v1
with :
arch : x86
2022-02-08 22:00:55 +01:00
toolset : 14.29
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Delete conflicting files
shell : bash
run : |
rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
2022-02-08 22:00:55 +01:00
2022-09-16 23:11:56 +02:00
- name : Get latest MSVC dependencies
shell : bash
run : |
msvc_deps_version=$(curl -s 'https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases' | sed -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' | head -1)
echo "msvc_deps_version=${msvc_deps_version}" >> $GITHUB_ENV
2022-03-17 00:06:18 +01:00
- name : Download Windows MSVC dependencies
2022-02-08 22:00:55 +01:00
uses : suisei-cn/actions-download-file@v1
with :
2022-09-16 23:11:56 +02:00
url : "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/${{env.msvc_deps_version}}/strawberry-msvc-x86-release.tar.xz)!"
2022-02-08 22:00:55 +01:00
target : downloads/
auto-match : true
2022-03-17 00:06:18 +01:00
- name : Download LockedList plugin for NSIS
2022-02-08 22:00:55 +01:00
uses : suisei-cn/actions-download-file@v1
with :
2022-03-17 00:06:18 +01:00
url : "LockedList [this](https://nsis.sourceforge.io/mediawiki/images/d/d3/LockedList.zip)!"
2022-02-08 22:00:55 +01:00
target : downloads/
auto-match : true
2022-03-17 00:06:18 +01:00
- name : Extract NSIS LockedList plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/LockedList.zip"
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Download Registry plugin for NSIS
2022-02-08 22:00:55 +01:00
uses : suisei-cn/actions-download-file@v1
with :
2022-03-17 00:06:18 +01:00
url : "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!"
2022-02-08 22:00:55 +01:00
target : downloads/
auto-match : true
2022-03-17 00:06:18 +01:00
- name : Extract NSIS Registry plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip"
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Download Inetc plugin for NSIS
2022-02-08 22:00:55 +01:00
uses : suisei-cn/actions-download-file@v1
with :
2022-03-17 00:06:18 +01:00
url : "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!"
2022-02-08 22:00:55 +01:00
target : downloads/
auto-match : true
2022-03-17 00:06:18 +01:00
- name : Extract NSIS Inetc plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip"
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Install NSIS plugins
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/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Extract Windows MSVC dependencies
shell : bash
run : |
2022-08-13 20:40:31 +02:00
tar -xf /d/a/strawberry/strawberry/downloads/strawberry-msvc-x86-release.tar.xz
mv strawberry_msvc_x86_release /c/
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Update PATH
2022-08-13 20:40:31 +02:00
run : echo "c:\strawberry_msvc_x86_release\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
2022-02-08 22:00:55 +01:00
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-04-20 01:23:02 +02:00
2022-03-17 00:06:18 +01:00
- name : Create Build Environment
run : cmake -E make_directory build
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Run CMake
working-directory : build
run : >
cmake ..
2022-08-13 20:40:31 +02:00
-G "Ninja"
2022-03-17 00:06:18 +01:00
-DCMAKE_BUILD_TYPE="Release"
2022-08-13 20:40:31 +02:00
-DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_release/lib/cmake"
2022-03-17 00:06:18 +01:00
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
2022-08-13 20:40:31 +02:00
-DARCH=x86
2022-03-17 00:06:18 +01:00
-DENABLE_WIN32_CONSOLE=OFF
-DUSE_TAGLIB=ON
2022-08-13 20:40:31 +02:00
-DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_release/bin/pkg-config.exe"
-DICU_ROOT="c:/strawberry_msvc_x86_release"
2022-03-17 00:06:18 +01:00
- name : Run Make
env :
CL : "/MP"
working-directory : build
run : cmake --build . --config Release --parallel 4
- name : list files
working-directory : build
run : dir
- name : Copy extra binaries
working-directory : build
run : |
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_release\bin\libssl-3.dll
copy c:\strawberry_msvc_x86_release\bin\libcrypto-3.dll
2022-08-27 16:27:19 +02:00
copy c:\strawberry_msvc_x86_release\bin\soup-3.0-0.dll
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_release\bin\gst-launch-1.0.exe
copy c:\strawberry_msvc_x86_release\bin\gst-discoverer-1.0.exe
copy c:\strawberry_msvc_x86_release\bin\sqlite3.exe
2022-03-17 00:06:18 +01:00
- 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
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\lib\gio\modules\*.dll .\gio-modules\
2022-03-17 00:06:18 +01:00
- name : Copy Qt platform plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\plugins\platforms\qwindows.dll .\platforms\
2022-03-17 00:06:18 +01:00
- name : Copy Qt styles
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\plugins\styles\qwindowsvistastyle.dll .\styles\
2022-03-17 00:06:18 +01:00
- name : Copy Qt TLS plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\plugins\tls\*.dll .\tls\
2022-03-17 00:06:18 +01:00
- name : Copy Qt SQL drivers
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\plugins\sqldrivers\qsqlite.dll .\sqldrivers\
2022-03-17 00:06:18 +01:00
- name : Copy Qt imageformats plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_release\plugins\imageformats\*.dll .\imageformats\
2022-03-17 00:06:18 +01:00
- name : Copy gstreamer plugins
working-directory : build
run : |
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_release\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\
2022-03-17 00:06:18 +01:00
- 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
2022-08-13 20:40:31 +02:00
-R /c/strawberry_msvc_x86_release/bin
2022-03-17 00:06:18 +01:00
- 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
2022-08-09 23:03:24 +02:00
- uses : actions/upload-artifact@v3
2022-02-08 22:00:55 +01:00
with :
2022-03-17 00:06:18 +01:00
name : upload-windows
path : build/StrawberrySetup*.exe
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
2022-08-13 20:40:31 +02:00
build-windows-msvc-x64-debug :
name : Build Windows MSVC x86_64 Debug
2022-03-17 00:06:18 +01:00
runs-on : windows-2019
steps :
- uses : ilammy/msvc-dev-cmd@v1
2022-02-08 22:00:55 +01:00
with :
2022-03-17 00:06:18 +01:00
arch : x86_64
toolset : 14.29
2022-02-08 22:00:55 +01:00
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Delete conflicting files
2022-02-08 22:00:55 +01:00
shell : bash
2022-03-17 00:06:18 +01:00
run : |
rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
2022-02-08 22:00:55 +01:00
2022-09-16 23:11:56 +02:00
- name : Get latest MSVC dependencies
shell : bash
run : |
msvc_deps_version=$(curl -s 'https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases' | sed -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' | head -1)
echo "msvc_deps_version=${msvc_deps_version}" >> $GITHUB_ENV
2022-03-17 00:06:18 +01:00
- name : Download Windows MSVC dependencies
uses : suisei-cn/actions-download-file@v1
with :
2022-09-16 23:11:56 +02:00
url : "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/${{env.msvc_deps_version}}/strawberry-msvc-x86_64-debug.tar.xz)!"
2022-03-17 00:06:18 +01:00
target : downloads/
auto-match : true
2022-02-08 22:00:55 +01:00
- 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"
2022-03-14 22:13:14 +01:00
- name : Download Registry plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Registry plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip"
- name : Download Inetc plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Inetc plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip"
- name : Install NSIS plugins
2022-02-08 22:00:55 +01:00
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/"
2022-03-14 22:13:14 +01:00
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
2022-02-08 22:00:55 +01:00
2022-03-17 00:06:18 +01:00
- name : Extract Windows MSVC dependencies
2022-02-08 22:00:55 +01:00
shell : bash
run : |
2022-08-13 20:40:31 +02:00
tar -xf /d/a/strawberry/strawberry//downloads/strawberry-msvc-x86_64-debug.tar.xz
mv strawberry_msvc_x86_64_debug /c/
2022-02-08 22:00:55 +01:00
- name : Update PATH
2022-08-13 20:40:31 +02:00
run : echo "c:\strawberry_msvc_x86_64_debug\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
2022-02-08 22:00:55 +01:00
2022-04-20 01:23:02 +02:00
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-04-20 01:23:02 +02:00
2022-02-08 22:00:55 +01:00
- name : Create Build Environment
run : cmake -E make_directory build
- name : Run CMake
working-directory : build
run : >
cmake ..
2022-08-13 20:40:31 +02:00
-G "Ninja"
2022-03-17 00:06:18 +01:00
-DCMAKE_BUILD_TYPE="Debug"
2022-08-13 20:40:31 +02:00
-DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_64_debug/lib/cmake"
2022-02-08 22:00:55 +01:00
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
-DARCH=x86_64
2022-03-17 00:06:18 +01:00
-DENABLE_WIN32_CONSOLE=ON
2022-02-08 22:00:55 +01:00
-DUSE_TAGLIB=ON
2022-08-13 20:40:31 +02:00
-DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_64_debug/bin/pkg-config.exe"
-DICU_ROOT="c:/strawberry_msvc_x86_64_debug"
2022-02-08 22:00:55 +01:00
- name : Run Make
env :
CL : "/MP"
working-directory : build
2022-03-20 12:45:40 +01:00
run : cmake --build . --config Debug --parallel 4
2022-02-08 22:00:55 +01:00
- name : list files
working-directory : build
run : dir
2022-08-13 20:40:31 +02:00
- name : Copy extra binaries
working-directory : build
run : |
copy c:\strawberry_msvc_x86_64_debug\bin\libssl-3-x64.dll
copy c:\strawberry_msvc_x86_64_debug\bin\libcrypto-3-x64.dll
2022-08-27 16:27:19 +02:00
copy c:\strawberry_msvc_x86_64_debug\bin\soup-3.0-0.dll
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_64_debug\bin\gst-launch-1.0.exe
copy c:\strawberry_msvc_x86_64_debug\bin\gst-discoverer-1.0.exe
copy c:\strawberry_msvc_x86_64_debug\bin\sqlite3.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 c:\strawberry_msvc_x86_64_debug\lib\gio\modules\*.dll .\gio-modules\
- name : Copy Qt platform plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_64_debug\plugins\platforms\qwindowsd.dll .\platforms\
- name : Copy Qt styles
working-directory : build
run : copy c:\strawberry_msvc_x86_64_debug\plugins\styles\qwindowsvistastyled.dll .\styles\
- name : Copy Qt TLS plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_64_debug\plugins\tls\*.dll .\tls\
- name : Copy Qt SQL drivers
working-directory : build
run : copy c:\strawberry_msvc_x86_64_debug\plugins\sqldrivers\qsqlited.dll .\sqldrivers\
- name : Copy Qt imageformats plugins
working-directory : build
run : copy c:\strawberry_msvc_x86_64_debug\plugins\imageformats\*.dll .\imageformats\
- name : Copy gstreamer plugins
working-directory : build
run : |
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_debug\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/strawberry_msvc_x86_64_debug/bin
- 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
2022-02-08 22:00:55 +01:00
working-directory : build
2022-08-13 20:40:31 +02:00
run : makensis strawberry.nsi
- uses : actions/upload-artifact@v3
with :
name : upload-windows
path : build/StrawberrySetup*.exe
build-windows-msvc-x64-release :
name : Build Windows MSVC x86_64 Release
runs-on : windows-2019
steps :
- uses : ilammy/msvc-dev-cmd@v1
with :
arch : x86_64
toolset : 14.29
- uses : actions/checkout@v3
with :
fetch-depth : 0
- name : Delete conflicting files
shell : bash
run : |
rm -f /c/programdata/chocolatey/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cc1.exe,cc1plus.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,gdb.exe,gfortran.exe,ld.bfd.exe,ld.exe,ld.gold.exe,nm.exe,ranlib.exe,readelf.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.1.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
rm -f /c/strawberry/c/bin/{addr2line.exe,ar.exe,as.exe,c++.exe,c++filt.exe,cpp.exe,g++.exe,gcc-ar.exe,gcc-nm.exe,gcc-ranlib.exe,gcc.exe,ld.exe,nm.exe,ranlib.exe,readelf.exe,widl.exe,windmc.exe,windres.exe,x86_64-w64-mingw32-c++.exe,x86_64-w64-mingw32-g++.exe,x86_64-w64-mingw32-gcc-8.3.0.exe,x86_64-w64-mingw32-gcc-ar.exe,x86_64-w64-mingw32-gcc-nm.exe,x86_64-w64-mingw32-gcc-ranlib.exe,x86_64-w64-mingw32-gcc.exe,x86_64-w64-mingw32-gfortran.exe}
2022-09-16 23:11:56 +02:00
- name : Get latest MSVC dependencies
shell : bash
run : |
msvc_deps_version=$(curl -s 'https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases' | sed -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' | head -1)
echo "msvc_deps_version=${msvc_deps_version}" >> $GITHUB_ENV
2022-08-13 20:40:31 +02:00
- name : Download Windows MSVC dependencies
uses : suisei-cn/actions-download-file@v1
with :
2022-09-16 23:11:56 +02:00
url : "Windows MSVC dependencies [this](https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases/download/${{env.msvc_deps_version}}/strawberry-msvc-x86_64-release.tar.xz)!"
2022-08-13 20:40:31 +02:00
target : downloads/
auto-match : true
- 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 : Download Registry plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Registry [this](https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Registry plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Registry.zip"
- name : Download Inetc plugin for NSIS
uses : suisei-cn/actions-download-file@v1
with :
url : "Inetc [this](https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip)!"
target : downloads/
auto-match : true
- name : Extract NSIS Inetc plugin
run : 7z x -o"${{github.workspace}}/NSIS_Plugins" "${{github.workspace}}/downloads/Inetc.zip"
- name : Install NSIS plugins
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/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/"
copy "${{github.workspace}}/NSIS_Plugins/Desktop/Plugin/registry.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
copy "${{github.workspace}}/NSIS_Plugins/Plugins/x86-unicode/INetC.dll" "C:/Program Files (x86)/NSIS/Plugins/x86-unicode/"
- name : Extract Windows MSVC dependencies
shell : bash
run : |
tar -xf /d/a/strawberry/strawberry/downloads/strawberry-msvc-x86_64-release.tar.xz
mv strawberry_msvc_x86_64_release /c/
- name : Update PATH
run : echo "c:\strawberry_msvc_x86_64_release\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name : Add safe git directory
shell : bash
2022-09-09 22:29:01 +02:00
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
2022-08-13 20:40:31 +02:00
- name : Create Build Environment
run : cmake -E make_directory build
- name : Run CMake
working-directory : build
run : >
cmake ..
-G "Ninja"
-DCMAKE_BUILD_TYPE="Release"
-DCMAKE_PREFIX_PATH="c:/strawberry_msvc_x86_64_release/lib/cmake"
-DBUILD_WITH_QT6=ON
-DBUILD_WERROR=OFF
-DARCH=x86_64
-DENABLE_WIN32_CONSOLE=OFF
-DUSE_TAGLIB=ON
-DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_64_release/bin/pkg-config.exe"
-DICU_ROOT="c:/strawberry_msvc_x86_64_release"
- name : Run Make
env :
CL : "/MP"
working-directory : build
run : cmake --build . --config Release --parallel 4
- name : list files
working-directory : build
run : dir
2022-02-08 22:00:55 +01:00
- name : Copy extra binaries
working-directory : build
run : |
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_64_release\bin\libssl-3-x64.dll
copy c:\strawberry_msvc_x86_64_release\bin\libcrypto-3-x64.dll
2022-08-27 16:27:19 +02:00
copy c:\strawberry_msvc_x86_64_release\bin\soup-3.0-0.dll
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_64_release\bin\gst-launch-1.0.exe
copy c:\strawberry_msvc_x86_64_release\bin\gst-discoverer-1.0.exe
copy c:\strawberry_msvc_x86_64_release\bin\sqlite3.exe
2022-02-08 22:00:55 +01:00
- 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
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\lib\gio\modules\*.dll .\gio-modules\
2022-02-08 22:00:55 +01:00
- name : Copy Qt platform plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\plugins\platforms\qwindows.dll .\platforms\
2022-02-08 22:00:55 +01:00
- name : Copy Qt styles
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\plugins\styles\qwindowsvistastyle.dll .\styles\
2022-02-08 22:00:55 +01:00
- name : Copy Qt TLS plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\plugins\tls\*.dll .\tls\
2022-02-08 22:00:55 +01:00
- name : Copy Qt SQL drivers
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\plugins\sqldrivers\qsqlite.dll .\sqldrivers\
2022-02-08 22:00:55 +01:00
- name : Copy Qt imageformats plugins
working-directory : build
2022-08-13 20:40:31 +02:00
run : copy c:\strawberry_msvc_x86_64_release\plugins\imageformats\*.dll .\imageformats\
2022-02-08 22:00:55 +01:00
- name : Copy gstreamer plugins
working-directory : build
run : |
2022-08-13 20:40:31 +02:00
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaiff.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstapetag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstapp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstasf.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstasfmux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioconvert.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiofx.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiomixer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioparsers.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiorate.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudioresample.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstaudiotestsrc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstautodetect.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstbs2b.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstcoreelements.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstdash.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstdirectsound.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstequalizer.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfaad.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstfdkaac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstflac.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstgio.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstgme.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsthls.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsticydemux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstid3demux.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstid3tag.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstisomp4.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstlame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstlibav.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstmpg123.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstmusepack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstogg.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopenmpt.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopus.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstopusparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstpbtypes.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstplayback.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstreplaygain.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstrtp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstrtsp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstsoup.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstspectrum.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstspeex.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttaglib.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttcp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttwolame.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gsttypefindfunctions.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstudp.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstvolume.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstvorbis.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwasapi.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavenc.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavpack.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstwavparse.dll .\gstreamer-plugins\
copy c:\strawberry_msvc_x86_64_release\lib\gstreamer-1.0\gstxingmux.dll .\gstreamer-plugins\
2022-02-08 22:00:55 +01:00
- 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
2022-08-13 20:40:31 +02:00
-R /c/strawberry_msvc_x86_64_release/bin
2022-02-08 22:00:55 +01:00
- 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
2022-08-09 23:03:24 +02:00
- uses : actions/upload-artifact@v3
2022-02-08 22:00:55 +01:00
with :
name : upload-windows
path : build/StrawberrySetup*.exe
2020-08-26 22:35:18 +02:00
2022-08-13 20:40:31 +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 :
2022-08-13 20:40:31 +02:00
- build-windows-msvc-x86-debug
- build-windows-msvc-x86-release
- build-windows-msvc-x64-debug
- build-windows-msvc-x64-release
2022-02-08 22:00:55 +01:00
steps :
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
- uses : actions/download-artifact@v3
2022-02-08 22:00:55 +01:00
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
2022-08-09 23:03:24 +02:00
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 :
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2021-07-30 23:03:14 +02:00
- name : Build FreeBSD
id : build-freebsd
2022-09-09 23:02:28 +02:00
uses : vmactions/freebsd-vm@v0.2.5
2021-07-30 23:03:14 +02:00
with :
usesh : true
mem : 4096
2022-07-28 04:01:58 +02:00
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 icu
2021-07-30 23:03:14 +02:00
run : |
2022-09-09 22:29:01 +02:00
git config --global --add safe.directory ${GITHUB_WORKSPACE}
2021-07-30 23:03:14 +02:00
cmake -E make_directory build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug --parallel 4
cd ..
rm -rf build
2022-08-07 10:55:39 +02:00
2022-08-09 23:03:24 +02:00
2022-08-07 10:55:39 +02:00
build-macos :
name : Build macOS
runs-on : macos-10.15
steps :
- name : Install packages
run : |
brew install pkg-config cmake ninja meson bison flex wget create-dmg gettext boost protobuf protobuf-c
brew install glib glib-openssl glib-utils glib-networking gdk-pixbuf gobject-introspection orc
2022-09-02 00:19:50 +02:00
brew install libffi openssl gnutls sqlite fftw libmtp libplist libxml2
2022-08-07 10:55:39 +02:00
brew install libogg libvorbis flac wavpack opus speex mpg123 lame twolame taglib chromaprint libbs2b libcdio libopenmpt faad2 faac fdk-aac musepack game-music-emu
brew install qt6
- name : Use modified gstreamer plugin formulas
run : |
2022-09-02 00:19:50 +02:00
wget https://files.strawberrymusicplayer.org/patches/gstreamer.rb
2022-08-07 10:55:39 +02:00
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
2022-09-02 00:19:50 +02:00
wget https://files.strawberrymusicplayer.org/patches/gst-libav.rb
wget https://files.strawberrymusicplayer.org/patches/libsoup.rb
mv gstreamer.rb gst-plugins-{base,good,bad,ugly}.rb gst-libav.rb libsoup.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
- name : Build and install libsoup
run : brew install --build-from-source libsoup
- name : Build and install gstreamer
run : brew install --build-from-source gstreamer
2022-08-07 10:55:39 +02:00
- name : Build and install gst-plugins-base
run : brew install --build-from-source gst-plugins-base
- name : Build and install gst-plugins-good
run : brew install --build-from-source gst-plugins-good
- name : Build and install gst-plugins-bad
run : brew install --build-from-source gst-plugins-bad
- name : Build and install gst-plugins-ugly
run : brew install --build-from-source gst-plugins-ugly
- name : Build and install gst-libav
2022-09-02 00:19:50 +02:00
run : brew install --build-from-source gst-libav
2022-08-07 10:55:39 +02:00
- name : Build libgpod
shell : bash
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 : 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
sudo rm -f /usr/local/Cellar/qt/*/share/qt/plugins/imageformats/libqpdf.dylib
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
with :
fetch-depth : 0
2022-08-07 10:55:39 +02:00
- name : Create Build Environment
shell : bash
run : cmake -E make_directory build
- name : Configure CMake
shell : bash
env :
MACOSX_DEPLOYMENT_TARGET : 10.15
PKG_CONFIG_PATH : /usr/local/lib/pkgconfig
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
2022-08-07 18:06:36 +02:00
run : cmake .. -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
2022-08-07 10:55:39 +02:00
- name : Build
working-directory : build
shell : bash
run : cmake --build . --config Release --parallel 4
- name : Install
working-directory : build
shell : bash
run : make install
- name : Manually copy files not handled by macdeployqt
working-directory : build
shell : bash
run : |
mkdir -p strawberry.app/Contents/Frameworks/
cp /usr/local/lib/libsoup-3.0.0.dylib strawberry.app/Contents/Frameworks/
- name : Deploy
working-directory : build
shell : bash
run : make deploy
- name : Deploy check
working-directory : build
shell : bash
run : make deploycheck
- name : Create DMG
working-directory : build
shell : bash
run : make dmg
2022-08-09 23:03:24 +02:00
- uses : actions/upload-artifact@v3
2022-08-07 10:55:39 +02:00
with :
name : upload-macos
path : build/strawberry-*.dmg
upload-macos :
name : Upload macOS DMG
runs-on : ubuntu-latest
2022-09-02 00:19:50 +02:00
if : github.ref == 'refs/heads/master' || github.ref == 'refs/heads/macos'
2022-08-07 10:55:39 +02:00
needs :
- build-macos
steps :
2022-08-09 23:03:24 +02:00
- uses : actions/checkout@v3
- uses : actions/download-artifact@v3
2022-08-07 10:55:39 +02:00
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 'strawberry-*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/
done