diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2166fa3..15249de 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,34 +3,22 @@ on: push: branches: - main - paths-ignore: - - "snap/**" pull_request: jobs: build-linux: - runs-on: ubuntu-20.04 - container: quay.io/centos/centos:stream8 + runs-on: ubuntu-latest + container: registry.fedoraproject.org/fedora:latest steps: - name: Update and install packages run: | - dnf -y config-manager --set-enabled powertools - dnf -y install epel-release epel-next-release dnf -y update - dnf -y install gcc-toolset-11 cmake make nasm qt5-qtwebsockets-devel hidapi-devel zlib-devel libpng-devel SDL2_net-devel wget zip git - ln -s /usr/bin/qmake-qt5 /usr/bin/qmake + dnf -y install pkgconf-pkg-config which cmake make nasm qt6-qtwebsockets-devel hidapi-devel zlib-devel libpng-devel SDL2_net-devel wget zip git - uses: actions/checkout@v3 - - name: Get short SHA - id: slug - run: echo "::set-output name=sha7::$(git rev-parse --short HEAD)" - name: Run build script run: | - scl enable gcc-toolset-11 'export M64P_AUTOUPDATE=1; bash ./build.sh' - - name: Upload zip - uses: actions/upload-artifact@v3 - with: - name: m64p-linux64-${{ steps.slug.outputs.sha7 }}.zip - path: m64p-*.zip + git config --global --add safe.directory /__w/m64p/m64p + ./build.sh build-windows: runs-on: windows-2022 steps: @@ -50,13 +38,15 @@ jobs: mingw-w64-x86_64-libpng mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_net - mingw-w64-x86_64-jasper - mingw-w64-x86_64-qt5 + mingw-w64-x86_64-qt6 mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python3-pyopenssl mingw-w64-x86_64-nasm git zip + - name: Fix qmake path + run: | + msys2 -c 'ln -s /mingw64/bin/qmake-qt6.exe /mingw64/bin/qmake.exe' - name: Run build script run: msys2 -c 'export M64P_AUTOUPDATE=1; ./build.sh' env: diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml deleted file mode 100644 index c39328b..0000000 --- a/.github/workflows/snap.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Upload snap - -on: - release: - types: [published] - workflow_dispatch: - -env: - SNAPCRAFT_BUILD_ENVIRONMENT: host - PYTHON_VERSION: "3.9" - -jobs: - build-snap: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYTHON_VERSION }} - - - name: Get snapcraft login - run: echo "$SNAPCRAFT_LOGIN" > $GITHUB_WORKSPACE/SNAPCRAFT_LOGIN.txt - env: - SNAPCRAFT_LOGIN: ${{ secrets.SNAPCRAFT_LOGIN }} - - - name: Install snapcraft and login - run: | - sudo snap install snapcraft --classic - snapcraft login --with $GITHUB_WORKSPACE/SNAPCRAFT_LOGIN.txt - - - name: Run snapcraft - run: | - pip install requests - export M64P_VERSION=$(python3 scripts/get_release_version.py) - export M64P_LINUX_URL=$(python3 scripts/get_linux_asset.py $M64P_VERSION) - sed -i "s~M64PVERSION~$M64P_VERSION~g" snap/snapcraft.yaml - sed -i "s~M64PURL~$M64P_LINUX_URL~g" snap/snapcraft.yaml - snapcraft - snapcraft upload --release=stable *.snap diff --git a/.gitignore b/.gitignore index eb69536..6a4ee4f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,3 @@ mupen64plus/ *zip *.dylib .DS_Store -*.snap diff --git a/README.md b/README.md index 1e8f367..220edfa 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,3 @@ # m64p **Downloads found here: https://github.com/m64p/m64p/releases** -___ -* On Ubuntu, it can also be downloaded from the Snap Store: https://snapcraft.io/m64p -* There is also a Flatpak: https://flathub.org/apps/details/io.github.m64p.m64p -___ -See this page for how to enable the VRU and Raphnet Input plugin for the Snap package: https://github.com/m64p/m64p/wiki/Linux-Snap-package-advanced-usage diff --git a/build.sh b/build.sh index 50e18b4..d9a265b 100755 --- a/build.sh +++ b/build.sh @@ -96,7 +96,7 @@ cp mupen64plus-video-parallel.* $install_dir if [[ $UNAME == *"MINGW"* ]]; then cd $install_dir - windeployqt.exe --no-translations mupen64plus-gui.exe + windeployqt-qt6.exe --no-translations mupen64plus-gui.exe if [[ $UNAME == *"MINGW64"* ]]; then my_os=win64 @@ -108,44 +108,29 @@ if [[ $UNAME == *"MINGW"* ]]; then # WINEDEBUG=+loaddll wine ./mupen64plus-gui.exe 2> out.txt # cat out.txt | grep found cp -v /$mingw_prefix/bin/libwinpthread-1.dll $install_dir - cp -v /$mingw_prefix/bin/SDL2.dll $install_dir - cp -v /$mingw_prefix/bin/SDL2_net.dll $install_dir - cp -v /$mingw_prefix/bin/libpng16-16.dll $install_dir - cp -v /$mingw_prefix/bin/libglib-2.0-0.dll $install_dir cp -v /$mingw_prefix/bin/libstdc++-6.dll $install_dir - cp -v /$mingw_prefix/bin/zlib1.dll $install_dir - cp -v /$mingw_prefix/bin/libintl-8.dll $install_dir - cp -v /$mingw_prefix/bin/libpcre-1.dll $install_dir - cp -v /$mingw_prefix/bin/libiconv-2.dll $install_dir - cp -v /$mingw_prefix/bin/libharfbuzz-0.dll $install_dir - cp -v /$mingw_prefix/bin/libgraphite2.dll $install_dir - cp -v /$mingw_prefix/bin/libfreetype-6.dll $install_dir - cp -v /$mingw_prefix/bin/libbz2-1.dll $install_dir - cp -v /$mingw_prefix/bin/libminizip-1.dll $install_dir - cp -v /$mingw_prefix/bin/libpcre2-16-0.dll $install_dir cp -v /$mingw_prefix/bin/libdouble-conversion.dll $install_dir + cp -v /$mingw_prefix/bin/zlib1.dll $install_dir cp -v /$mingw_prefix/bin/libicuin69.dll $install_dir cp -v /$mingw_prefix/bin/libicuuc69.dll $install_dir cp -v /$mingw_prefix/bin/libicudt69.dll $install_dir - cp -v /$mingw_prefix/bin/libzstd.dll $install_dir - cp -v /$mingw_prefix/bin/libhidapi-0.dll $install_dir cp -v /$mingw_prefix/bin/libbrotlidec.dll $install_dir cp -v /$mingw_prefix/bin/libbrotlicommon.dll $install_dir - cp -v /$mingw_prefix/bin/libssl-1_1-x64.dll $install_dir - cp -v /$mingw_prefix/bin/libcrypto-1_1-x64.dll $install_dir + cp -v /$mingw_prefix/bin/libpcre2-16-0.dll $install_dir + cp -v /$mingw_prefix/bin/libharfbuzz-0.dll $install_dir + cp -v /$mingw_prefix/bin/libb2-1.dll $install_dir cp -v /$mingw_prefix/bin/libmd4c.dll $install_dir - cp -v /$mingw_prefix/bin/libjasper-4.dll $install_dir - cp -v /$mingw_prefix/bin/libjpeg-8.dll $install_dir - cp -v /$mingw_prefix/bin/libmng-2.dll $install_dir - cp -v /$mingw_prefix/bin/libtiff-5.dll $install_dir - cp -v /$mingw_prefix/bin/libwebp-7.dll $install_dir - cp -v /$mingw_prefix/bin/libwebpdemux-2.dll $install_dir - cp -v /$mingw_prefix/bin/libwebpmux-3.dll $install_dir - cp -v /$mingw_prefix/bin/liblcms2-2.dll $install_dir - cp -v /$mingw_prefix/bin/libdeflate.dll $install_dir - cp -v /$mingw_prefix/bin/libjbig-0.dll $install_dir - cp -v /$mingw_prefix/bin/libLerc.dll $install_dir - cp -v /$mingw_prefix/bin/liblzma-5.dll $install_dir + cp -v /$mingw_prefix/bin/libpng16-16.dll $install_dir + cp -v /$mingw_prefix/bin/libfreetype-6.dll $install_dir + cp -v /$mingw_prefix/bin/libglib-2.0-0.dll $install_dir + cp -v /$mingw_prefix/bin/SDL2.dll $install_dir + cp -v /$mingw_prefix/bin/SDL2_net.dll $install_dir + cp -v /$mingw_prefix/bin/libbz2-1.dll $install_dir + cp -v /$mingw_prefix/bin/libgraphite2.dll $install_dir + cp -v /$mingw_prefix/bin/libintl-8.dll $install_dir + cp -v /$mingw_prefix/bin/libpcre-1.dll $install_dir + cp -v /$mingw_prefix/bin/libiconv-2.dll $install_dir + cp -v /$mingw_prefix/bin/libhidapi-0.dll $install_dir cp -v $base_dir/7za.exe $install_dir cp -v $base_dir/mupen64plus-gui/discord/discord_game_sdk.dll $install_dir cp -v $base_dir/mupen64plus-input-qt/vosk/vosk.dll $install_dir diff --git a/snap/gui/m64p.desktop b/snap/gui/m64p.desktop deleted file mode 100644 index 53452d6..0000000 --- a/snap/gui/m64p.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=m64p -GenericName=m64p -Type=Application -Comment=N64 Emulator -Icon=${SNAP}/meta/gui/m64p.png -Terminal=false -StartupNotify=false -Keywords=n64;emulator; -Categories=Game;Emulator; -Exec=m64p diff --git a/snap/gui/m64p.png b/snap/gui/m64p.png deleted file mode 100644 index 01902b7..0000000 Binary files a/snap/gui/m64p.png and /dev/null differ diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml deleted file mode 100644 index c8758c9..0000000 --- a/snap/snapcraft.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: m64p -base: core20 -version: M64PVERSION -compression: lzo -summary: An easy to use N64 emulator. Available for Windows and Linux -description: | - m64p uses mupen64plus-gui, a brand new mupen64plus frontend written in Qt5. It supports all of the things you’d expect from a frontend (savestate management, pausing, screenshots, etc.). - - m64p comes bundled with paraLLEl-RDP for graphics. It should give you the best out-of-the-box experience available for N64 gaming. -grade: stable -confinement: strict - -layout: - /usr/share/vulkan: - symlink: $SNAP/usr/share/vulkan - /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so: - symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so - /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so: - symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so - /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_lvp.so: - symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_lvp.so - /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libGLX_nvidia.so.0: - symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libGLX_nvidia.so.0 - -apps: - m64p: - command: mupen64plus/mupen64plus-gui - extensions: - - kde-neon - plugs: - - home - - opengl - - network - - network-bind - - audio-playback - - audio-record - - screen-inhibit-control - - joystick - - hidraw - environment: - M64P_DISABLE_UPDATER: 1 - VK_ICD_FILENAMES: "/var/lib/snapd/lib/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json:$SNAP/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:$SNAP/usr/share/vulkan/icd.d/intel_icd.x86_64.json:$SNAP/usr/share/vulkan/icd.d/lvp_icd.x86_64.json" - -parts: - m64p: - stage-packages: - - libsdl2-2.0-0 - - libsdl2-net-2.0-0 - - libhidapi-hidraw0 - - p7zip-full - - libatomic1 - - libglu1-mesa - - libvulkan1 - - mesa-vulkan-drivers - - libvulkan-dev - override-prime: | - snapcraftctl prime - cd $SNAPCRAFT_PRIME/mupen64plus - ln -sf libmupen64plus.so.2.0.0 libmupen64plus.so.2 - cp -f $SNAPCRAFT_PRIME/usr/lib/p7zip/7za $SNAPCRAFT_PRIME/usr/bin/7za - source: M64PURL - plugin: dump