mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(.gitlab-ci.yml) OSX targets: Defer DMG generation to packaging pipeline
This commit is contained in:
parent
6809655338
commit
f496290326
179
.gitlab-ci.yml
179
.gitlab-ci.yml
@ -309,143 +309,105 @@ build-retroarch-linux-i686:
|
||||
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
||||
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
||||
|
||||
# Mac OS x86 x64 (OpenGL, 10.7): RetroArch Unsigned DMG
|
||||
# Mac OS x86_x64 (OpenGL, 10.7)
|
||||
build-retroarch-osx-x64:
|
||||
tags:
|
||||
- macosx
|
||||
stage: build
|
||||
before_script:
|
||||
- export NUMPROC=$((1 + $(sysctl -n hw.ncpu)/3))
|
||||
- export SHELL_ID=$$
|
||||
after_script:
|
||||
# We really do not want any garbage left over
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
artifacts:
|
||||
paths:
|
||||
- RetroArch.dmg
|
||||
- retroarch
|
||||
- RetroArch.tar.gz
|
||||
expire_in: 10 min
|
||||
dependencies: []
|
||||
script:
|
||||
# Normal RetroArch Build
|
||||
# Build RetroArch
|
||||
- ./configure --disable-al
|
||||
- make -j$NUMPROC
|
||||
|
||||
# Cleanup for DMG creation
|
||||
# Build filters
|
||||
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
|
||||
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
|
||||
# Create app directory
|
||||
- rm -rvf "RetroArch.app/"
|
||||
|
||||
# Initialize for DMG Creation
|
||||
- mkdir -vp "RetroArch.app/Contents/MacOS"
|
||||
|
||||
# Copy resources and compiled program over
|
||||
- mkdir -vp "RetroArch.app/Contents/Resources/video_filters"
|
||||
- mkdir -vp "RetroArch.app/Contents/Resources/audio_filters"
|
||||
# Copy resources and compiled RetroArch binary
|
||||
- cp -Rv "pkg/apple/OSX/"* "RetroArch.app/Contents"
|
||||
- cp retroarch RetroArch.app/Contents/MacOS
|
||||
- cp media/retroarch.icns RetroArch.app/Contents/Resources/
|
||||
- cp libretro-common/audio/dsp_filters/*.dylib RetroArch.app/Contents/Resources/audio_filters
|
||||
- cp libretro-common/audio/dsp_filters/*.dsp RetroArch.app/Contents/Resources/audio_filters
|
||||
- cp gfx/video_filters/*.dylib RetroArch.app/Contents/Resources/video_filters
|
||||
- cp gfx/video_filters/*.filt RetroArch.app/Contents/Resources/video_filters
|
||||
- rm -rvf RetroArch.app/Contents/Info_Metal.plist
|
||||
- rm -rvf RetroArch.app/Contents/modules_ppc
|
||||
- rm -rvf RetroArch.app/Contents/Resources/default.metallib
|
||||
- rm -rvf RetroArch.app/Contents/Resources/en.lproj/MainMenu_Metal.nib
|
||||
|
||||
# Update properties within the application properties
|
||||
- sed -i '' 's/\${EXECUTABLE_NAME}/RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\$(PRODUCT_BUNDLE_IDENTIFIER)/com.libretro.RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${PRODUCT_NAME}/RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${MACOSX_DEPLOYMENT_TARGET}/10.7/' RetroArch.app/Contents/Info.plist
|
||||
|
||||
# TODO: It seems this messes with code signing, so delete it??
|
||||
- rm -rvf RetroArch.app/Contents/en.lproj
|
||||
# Create archive for use in packaging pipeline
|
||||
- rm -f RetroArch.tar.gz
|
||||
- tar -czf RetroArch.tar.gz RetroArch.app
|
||||
- rm -rf RetroArch.app
|
||||
|
||||
# Undo the state from a previous failure, if so
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf RetroArch.dmg "wc$SHELL_ID" empty.dmg
|
||||
|
||||
# Create template DMG
|
||||
- mkdir -p template
|
||||
- hdiutil create -fs HFSX -layout SPUD -size 200m empty.dmg -srcfolder template -format UDRW -volname RetroArch -quiet
|
||||
- rmdir template
|
||||
|
||||
# Package the DMG together
|
||||
- mkdir -p "wc$SHELL_ID"
|
||||
- hdiutil attach empty.dmg -noautoopen -quiet -mountpoint "wc$SHELL_ID"
|
||||
- rm -rf "wc$SHELL_ID"/RetroArch.app
|
||||
- ditto -rsrc RetroArch.app "wc$SHELL_ID"/RetroArch.app
|
||||
- ln -s /Applications "wc$SHELL_ID"/Applications
|
||||
- WC_DEV=`hdiutil info | grep "wc$SHELL_ID" | grep "Apple_HFS" | awk '{print $1}'` && hdiutil detach "$WC_DEV" -quiet -force
|
||||
- hdiutil convert empty.dmg -quiet -format UDZO -imagekey zlib-level=9 -o RetroArch.dmg
|
||||
|
||||
# Cleanup afterwards
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
|
||||
# Mac OS x86 x64 (Metal, 10.13): RetroArch Metal Unsigned DMG
|
||||
build-retroarch-metal-osx-x64:
|
||||
# Mac OS x86_x64 (Metal, 10.13)
|
||||
build-retroarch-osx-x64-metal:
|
||||
tags:
|
||||
- macosx
|
||||
stage: build
|
||||
before_script:
|
||||
- export NUMPROC=$((1 + $(sysctl -n hw.ncpu)/3))
|
||||
- export SHELL_ID=$$
|
||||
after_script:
|
||||
# We really do not want any garbage left over
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
artifacts:
|
||||
paths:
|
||||
- RetroArch_Metal.dmg
|
||||
- retroarch
|
||||
- RetroArch_Metal.tar.gz
|
||||
expire_in: 10 min
|
||||
dependencies: []
|
||||
script:
|
||||
# Normal RetroArch Metal Build
|
||||
# Build RetroArch
|
||||
- ./configure --enable-metal --disable-al --enable-coreaudio3
|
||||
- make -j$NUMPROC
|
||||
|
||||
# Cleanup for DMG creation
|
||||
# Build filters
|
||||
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
|
||||
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
|
||||
# Create app directory
|
||||
- rm -rvf "RetroArch_Metal.app/"
|
||||
|
||||
# Initialize for DMG Creation
|
||||
- mkdir -vp "RetroArch_Metal.app/Contents/MacOS"
|
||||
|
||||
# Copy resources and compiled program over
|
||||
- mkdir -vp "RetroArch_Metal.app/Contents/Resources/video_filters"
|
||||
- mkdir -vp "RetroArch_Metal.app/Contents/Resources/audio_filters"
|
||||
# Copy resources and compiled RetroArch binary
|
||||
- cp -Rv "pkg/apple/OSX/"* "RetroArch_Metal.app/Contents"
|
||||
- cp retroarch RetroArch_Metal.app/Contents/MacOS
|
||||
- cp media/retroarch.icns RetroArch_Metal.app/Contents/Resources/
|
||||
- mv RetroArch_Metal.app/Contents/Info_Metal.plist RetroArch_Metal.app/Contents/Info.plist
|
||||
- rm -rvf RetroArch.app/Contents/modules_ppc
|
||||
- rm -rvf RetroArch.app/Contents/Resources/en.lproj/MainMenu.nib
|
||||
|
||||
- cp libretro-common/audio/dsp_filters/*.dylib RetroArch_Metal.app/Contents/Resources/audio_filters
|
||||
- cp libretro-common/audio/dsp_filters/*.dsp RetroArch_Metal.app/Contents/Resources/audio_filters
|
||||
- cp gfx/video_filters/*.dylib RetroArch_Metal.app/Contents/Resources/video_filters
|
||||
- cp gfx/video_filters/*.filt RetroArch_Metal.app/Contents/Resources/video_filters
|
||||
- rm -rvf RetroArch_Metal.app/Contents/modules_ppc
|
||||
- rm -rvf RetroArch_Metal.app/Contents/Resources/en.lproj/MainMenu.nib
|
||||
# Update properties within the application properties
|
||||
- sed -i '' 's/\${EXECUTABLE_NAME}/RetroArch/' RetroArch_Metal.app/Contents/Info.plist
|
||||
- sed -i '' 's/\$(PRODUCT_BUNDLE_IDENTIFIER)/com.libretro.RetroArch/' RetroArch_Metal.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${PRODUCT_NAME}/RetroArch/' RetroArch_Metal.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${MACOSX_DEPLOYMENT_TARGET}/10.13/' RetroArch_Metal.app/Contents/Info.plist
|
||||
|
||||
# TODO: It seems this messes with code signing, so delete it??
|
||||
- rm -rvf RetroArch_Metal.app/Contents/en.lproj
|
||||
# Create archive for use in packaging pipeline
|
||||
- rm -f RetroArch_Metal.tar.gz
|
||||
- tar -czf RetroArch_Metal.tar.gz RetroArch_Metal.app
|
||||
- rm -rf RetroArch_Metal.app
|
||||
|
||||
# Undo the state from a previous failure, if so
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf RetroArch_Metal.dmg "wc$SHELL_ID" empty.dmg
|
||||
|
||||
# Create template DMG
|
||||
- mkdir -p template
|
||||
- hdiutil create -fs HFSX -layout SPUD -size 200m empty.dmg -srcfolder template -format UDRW -volname RetroArch -quiet
|
||||
- rmdir template
|
||||
|
||||
# Package the DMG together
|
||||
- mkdir -p "wc$SHELL_ID"
|
||||
- hdiutil attach empty.dmg -noautoopen -quiet -mountpoint "wc$SHELL_ID"
|
||||
- rm -rf "wc$SHELL_ID"/RetroArch_Metal.app
|
||||
- ditto -rsrc RetroArch_Metal.app "wc$SHELL_ID"/RetroArch_Metal.app
|
||||
- ln -s /Applications "wc$SHELL_ID"/Applications
|
||||
- WC_DEV=`hdiutil info | grep "wc$SHELL_ID" | grep "Apple_HFS" | awk '{print $1}'` && hdiutil detach "$WC_DEV" -quiet -force
|
||||
- hdiutil convert empty.dmg -quiet -format UDZO -imagekey zlib-level=9 -o RetroArch_Metal.dmg
|
||||
|
||||
# Cleanup afterwards
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
|
||||
# Mac OS AArch64 (Metal, 10.14): RetroArch Metal Unsigned DMG
|
||||
build-retroarch-metal-osx-arm64:
|
||||
# Mac OS AArch64 (Metal, 10.14)
|
||||
build-retroarch-osx-arm64-metal:
|
||||
tags:
|
||||
- macosx
|
||||
variables:
|
||||
@ -454,65 +416,46 @@ build-retroarch-metal-osx-arm64:
|
||||
stage: build
|
||||
before_script:
|
||||
- export NUMPROC=$((1 + $(sysctl -n hw.ncpu)/3))
|
||||
- export SHELL_ID=$$
|
||||
after_script:
|
||||
# We really do not want any garbage left over
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
artifacts:
|
||||
paths:
|
||||
- RetroArch.dmg
|
||||
- retroarch
|
||||
- RetroArch.tar.gz
|
||||
expire_in: 10 min
|
||||
dependencies: []
|
||||
script:
|
||||
# Normal RetroArch Metal (ARM64) Build
|
||||
# Build RetroArch
|
||||
- ./configure --enable-metal --disable-al --enable-coreaudio3
|
||||
- make ARCH=arm64 BUILDBOT=1 -j$NUMPROC
|
||||
|
||||
# Cleanup for DMG creation
|
||||
# Build filters
|
||||
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
|
||||
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
|
||||
# Create app directory
|
||||
- rm -rvf "RetroArch.app/"
|
||||
|
||||
# Initialize for DMG Creation
|
||||
- mkdir -vp "RetroArch.app/Contents/MacOS"
|
||||
|
||||
# Copy resources and compiled program over
|
||||
- mkdir -vp "RetroArch.app/Contents/Resources/video_filters"
|
||||
- mkdir -vp "RetroArch.app/Contents/Resources/audio_filters"
|
||||
# Copy resources and compiled RetroArch binary
|
||||
- cp -Rv "pkg/apple/OSX/"* "RetroArch.app/Contents"
|
||||
- cp retroarch RetroArch.app/Contents/MacOS
|
||||
- cp media/retroarch.icns RetroArch.app/Contents/Resources/
|
||||
- mv RetroArch.app/Contents/Info_Metal.plist RetroArch.app/Contents/Info.plist
|
||||
- cp libretro-common/audio/dsp_filters/*.dylib RetroArch.app/Contents/Resources/audio_filters
|
||||
- cp libretro-common/audio/dsp_filters/*.dsp RetroArch.app/Contents/Resources/audio_filters
|
||||
- cp gfx/video_filters/*.dylib RetroArch.app/Contents/Resources/video_filters
|
||||
- cp gfx/video_filters/*.filt RetroArch.app/Contents/Resources/video_filters
|
||||
- rm -rvf RetroArch.app/Contents/modules_ppc
|
||||
- rm -rvf RetroArch.app/Contents/Resources/en.lproj/MainMenu.nib
|
||||
|
||||
# Update properties within the application properties
|
||||
- sed -i '' 's/\${EXECUTABLE_NAME}/RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\$(PRODUCT_BUNDLE_IDENTIFIER)/com.libretro.RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${PRODUCT_NAME}/RetroArch/' RetroArch.app/Contents/Info.plist
|
||||
- sed -i '' 's/\${MACOSX_DEPLOYMENT_TARGET}/10.15/' RetroArch.app/Contents/Info.plist
|
||||
|
||||
# TODO: It seems this messes with code signing, so delete it??
|
||||
- rm -rvf RetroArch.app/Contents/en.lproj
|
||||
|
||||
# Undo the state from a previous failure, if so
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf RetroArch.dmg "wc$SHELL_ID" empty.dmg
|
||||
|
||||
# Create template DMG
|
||||
- mkdir -p template
|
||||
- hdiutil create -fs HFSX -layout SPUD -size 200m empty.dmg -srcfolder template -format UDRW -volname RetroArch -quiet
|
||||
- rmdir template
|
||||
|
||||
# Package the DMG together
|
||||
- mkdir -p "wc$SHELL_ID"
|
||||
- hdiutil attach empty.dmg -noautoopen -quiet -mountpoint "wc$SHELL_ID"
|
||||
- rm -rf "wc$SHELL_ID"/RetroArch.app
|
||||
- ditto -rsrc RetroArch.app "wc$SHELL_ID"/RetroArch.app
|
||||
- ln -s /Applications "wc$SHELL_ID"/Applications
|
||||
- WC_DEV=`hdiutil info | grep "wc$SHELL_ID" | grep "Apple_HFS" | awk '{print $1}'` && hdiutil detach "$WC_DEV" -quiet -force
|
||||
- hdiutil convert empty.dmg -quiet -format UDZO -imagekey zlib-level=9 -o RetroArch.dmg
|
||||
|
||||
# Cleanup afterwards
|
||||
- umount "wc$SHELL_ID" || echo "Not mounted, so not caring right now."
|
||||
- rm -rvf "wc$SHELL_ID" empty.dmg
|
||||
# Create archive for use in packaging pipeline
|
||||
- rm -f RetroArch.tar.gz
|
||||
- tar -czf RetroArch.tar.gz RetroArch.app
|
||||
- rm -rf RetroArch.app
|
||||
|
||||
build-retroarch-dingux-mips32:
|
||||
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
||||
|
Loading…
x
Reference in New Issue
Block a user