diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4f26df13f..f5f3dcd090 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -630,10 +630,10 @@ jobs: ./rizin_cmake_test working-directory: rizin - build-osx-pkg: - name: Build OSX package + build-macos-pkg: + name: Build macOS package runs-on: macos-15 - if: contains(github.head_ref, 'dist') || contains(github.head_ref, 'osx') || contains(github.head_ref, 'mac') || ((contains(github.ref, 'release-') || github.ref == 'refs/heads/stable') && github.event_name == 'push') || github.event_name == 'schedule' + if: contains(github.head_ref, 'dist') || contains(github.head_ref, 'macos') || contains(github.head_ref, 'mac') || ((contains(github.ref, 'release-') || github.ref == 'refs/heads/stable') && github.event_name == 'push') || github.event_name == 'schedule' needs: [ build-and-test ] steps: - uses: actions/checkout@v6 @@ -641,11 +641,13 @@ jobs: fetch-depth: 2 - name: Install meson and ninja run: pip3 install meson ninja PyYAML + env: + PIP_BREAK_SYSTEM_PACKAGES: 1 - name: Install ImageMagick run: brew install imagemagick - - name: Create OSX package + - name: Create macOS package run: | - ./dist/osx/build_osx_package.sh + ./dist/macos/build_macos_package.sh mv rizin-*.pkg rizin.pkg - name: Upload .pkg file uses: actions/upload-artifact@v6 @@ -853,14 +855,14 @@ jobs: echo "import rizin" > testimport.py python3 testimport.py - test-osx-pkg: - name: Test OSX pkg + test-macos-pkg: + name: Test macOS pkg strategy: matrix: system: - macos-15 runs-on: ${{ matrix.system }} - needs: [ build-osx-pkg ] + needs: [ build-macos-pkg ] steps: - uses: actions/download-artifact@v7 with: @@ -946,7 +948,7 @@ jobs: build-static, build-android, build-cpp-linux, - test-osx-pkg, + test-macos-pkg, test-windows-clang_cl, build-rzpipe, ] diff --git a/dist/osx/Distribution b/dist/macos/Distribution similarity index 100% rename from dist/osx/Distribution rename to dist/macos/Distribution diff --git a/dist/osx/Resources/COPYING b/dist/macos/Resources/COPYING similarity index 100% rename from dist/osx/Resources/COPYING rename to dist/macos/Resources/COPYING diff --git a/dist/osx/Resources/COPYING.LESSER b/dist/macos/Resources/COPYING.LESSER similarity index 100% rename from dist/osx/Resources/COPYING.LESSER rename to dist/macos/Resources/COPYING.LESSER diff --git a/dist/osx/Resources/rizin-logo.png b/dist/macos/Resources/rizin-logo.png similarity index 100% rename from dist/osx/Resources/rizin-logo.png rename to dist/macos/Resources/rizin-logo.png diff --git a/dist/osx/Resources/welcome.rtf b/dist/macos/Resources/welcome.rtf similarity index 100% rename from dist/osx/Resources/welcome.rtf rename to dist/macos/Resources/welcome.rtf diff --git a/dist/osx/build_osx_package.sh b/dist/macos/build_macos_package.sh similarity index 50% rename from dist/osx/build_osx_package.sh rename to dist/macos/build_macos_package.sh index 2706cca942..71e28bcf24 100755 --- a/dist/osx/build_osx_package.sh +++ b/dist/macos/build_macos_package.sh @@ -1,11 +1,11 @@ #!/bin/sh -eu # -# Script to create a OSX .pkg file to install Rizin +# Script to create a macOS .pkg file to install Rizin VERSION=$(python3 ./sys/version.py) RIZINDIR=$(pwd) RIZININSTALL=/tmp/rizin-install -OSXPKGDIR=/tmp/osxpkgtmp +MACOSPKGDIR=/tmp/macospkgtmp rm -rf buildtmp mkdir buildtmp @@ -14,20 +14,20 @@ rm -rf "${RIZININSTALL}" DESTDIR="${RIZININSTALL}" ninja -C buildtmp install rm -rf buildtmp -rm -rf "${OSXPKGDIR}" -mkdir "${OSXPKGDIR}" -cp -rv "${RIZINDIR}/dist/osx/rizin.unpkg/" "${OSXPKGDIR}/" +rm -rf "${MACOSPKGDIR}" +mkdir "${MACOSPKGDIR}" +cp -rv "${RIZINDIR}/dist/macos/rizin.unpkg/" "${MACOSPKGDIR}/" -cd "${RIZININSTALL}" && find . | cpio -o --format odc | gzip -c > "${OSXPKGDIR}/Payload" -mkbom "${RIZININSTALL}" "${OSXPKGDIR}/Bom" -pkgutil --flatten "${OSXPKGDIR}" "${RIZINDIR}/dist/osx/rizin.pkg" +cd "${RIZININSTALL}" && find . | cpio -o --format odc | gzip -c > "${MACOSPKGDIR}/Payload" +mkbom "${RIZININSTALL}" "${MACOSPKGDIR}/Bom" +pkgutil --flatten "${MACOSPKGDIR}" "${RIZINDIR}/dist/macos/rizin.pkg" convert -size 620x418 xc:none -background none /tmp/bg.png || { echo convert failed, is imagemagick installed?; exit 1; } -composite -geometry +30+230 -background none \( "${RIZINDIR}/doc/img/rizin.svg" -resize 25% \) /tmp/bg.png -colorspace sRGB "${RIZINDIR}/dist/osx/Resources/rizin-logo.png" +composite -geometry +30+230 -background none \( "${RIZINDIR}/doc/img/rizin.svg" -resize 25% \) /tmp/bg.png -colorspace sRGB "${RIZINDIR}/dist/macos/Resources/rizin-logo.png" -cd "${RIZINDIR}/dist/osx" && productbuild --resources Resources --distribution Distribution "rizin-${VERSION}.pkg" -mv "${RIZINDIR}/dist/osx/rizin-${VERSION}.pkg" "${RIZINDIR}/rizin-${VERSION}.pkg" +cd "${RIZINDIR}/dist/macos" && productbuild --resources Resources --distribution Distribution "rizin-${VERSION}.pkg" +mv "${RIZINDIR}/dist/macos/rizin-${VERSION}.pkg" "${RIZINDIR}/rizin-${VERSION}.pkg" -rm "${RIZINDIR}/dist/osx/rizin.pkg" -rm -rf "${OSXPKGDIR}" +rm "${RIZINDIR}/dist/macos/rizin.pkg" +rm -rf "${MACOSPKGDIR}" rm -rf "${RIZININSTALL}" diff --git a/dist/osx/rizin.unpkg/PackageInfo b/dist/macos/rizin.unpkg/PackageInfo similarity index 100% rename from dist/osx/rizin.unpkg/PackageInfo rename to dist/macos/rizin.unpkg/PackageInfo diff --git a/doc/PACKAGERS.md b/doc/PACKAGERS.md index 11f7f3c04e..8341f9f860 100644 --- a/doc/PACKAGERS.md +++ b/doc/PACKAGERS.md @@ -152,7 +152,7 @@ esil man page). Existing packages ----------------- -OSX: execute `dist/osx/build_osx_package.sh` on a MacOS system to create a .pkg installer in the base directory, named `rizin-${VERSION}.pkg`. +macOS: execute `dist/macos/build_macos_package.sh` on a MacOS system to create a .pkg installer in the base directory, named `rizin-${VERSION}.pkg`. Windows installer: execute `dist/windows/build_windows_installer.ps1` Powershell script on a Windows system to create a .exe installer in `dist/windows/Output`, named `rizin.exe`.