From e49d5052548a7a55f9213a0f660ca6626fa7c62d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Mon, 4 Nov 2019 20:49:15 +0700 Subject: [PATCH 01/19] Code sign OSX release --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 7db5316fff..e07a001bce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,6 +67,13 @@ matrix: script: - brew update-reset - brew install --force-bottle qt5 + - security create-keychain -p travis build.keychain + - security default-keychain -s build.keychain + - security unlock-keychain -p travis build.keychain + - echo $OSX_CERT | base64 --decode > dev.p12 + - security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign + - rm dev.p12 + - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: skip_cleanup: true From 2a7b76249cd7ad160570c4a0299d7c67c2b05d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 08:45:39 +0700 Subject: [PATCH 02/19] Use xcode 11.2 and attempt to notarize the .app --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e07a001bce..bf19f8dd99 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,7 +63,7 @@ matrix: script: - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj - os: osx - osx_image: xcode10.1 + osx_image: xcode11.2 script: - brew update-reset - brew install --force-bottle qt5 @@ -75,6 +75,13 @@ matrix: - rm dev.p12 - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj + - codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" pkg/apple/build/Release/RetroArch.app/Contents/MacOS/RetroArch + - codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" pkg/apple/build/Release/RetroArch.app + - REQUESTUUID=$(xcrun altool --notarize-app -t osx -f pkg/apple/build/Release/RetroArch.app --primary-bundle-id libretro.RetroArch -u $APPLE_ID -p $APPLE_ID_PASS -itc_provider ZE9XE938Z2 | awk '/RequestUUID/ { print $NF; }') + - sleep 100 + - xcrun altool --notarization-info $REQUESTUUID -u $APPLE_ID -p $APPLE_ID_PASS -ascprovider ZE9XE938Z2 + - xcrun stapler staple pkg/apple/build/Release/RetroArch.app + - xcrun stapler validate pkg/apple/build/Release/RetroArch.app deploy: skip_cleanup: true provider: script From ded406984fbe2d5a93734313cc4664a7f098416a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 10:41:15 +0700 Subject: [PATCH 03/19] Don't codesign this way --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bf19f8dd99..34204fa6ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,8 +75,6 @@ matrix: - rm dev.p12 - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj - - codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" pkg/apple/build/Release/RetroArch.app/Contents/MacOS/RetroArch - - codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" pkg/apple/build/Release/RetroArch.app - REQUESTUUID=$(xcrun altool --notarize-app -t osx -f pkg/apple/build/Release/RetroArch.app --primary-bundle-id libretro.RetroArch -u $APPLE_ID -p $APPLE_ID_PASS -itc_provider ZE9XE938Z2 | awk '/RequestUUID/ { print $NF; }') - sleep 100 - xcrun altool --notarization-info $REQUESTUUID -u $APPLE_ID -p $APPLE_ID_PASS -ascprovider ZE9XE938Z2 From 27ecc119e00937dc4d732c389082edc3621c4b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 10:43:15 +0700 Subject: [PATCH 04/19] Try to set the team ID there --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 7506548457..8eece44278 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -408,8 +408,7 @@ 05A8C78820DB72F100FF7857 /* gl_raster_font.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gl_raster_font.c; sourceTree = ""; }; 05A8C78920DB72F100FF7857 /* vulkan_raster_font.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = vulkan_raster_font.c; sourceTree = ""; }; 05A8C78D20DB72F100FF7857 /* video_filter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = video_filter.c; sourceTree = ""; }; - 05A8C79020DB72F100FF7857 /* glslang_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = glslang_util.h; sourceTree = ""; }; - 05A8C79020DB72F100FF7857 /* glslang_util_cxx.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = glslang_util.h; sourceTree = ""; }; + 05A8C79020DB72F100FF7857 /* glslang_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = glslang_util.h; sourceTree = ""; }; 05A8C79120DB72F100FF7857 /* shader_glsl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = shader_glsl.c; sourceTree = ""; }; 05A8C79220DB72F100FF7857 /* slang_process.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = slang_process.h; sourceTree = ""; }; 05A8C79320DB72F100FF7857 /* slang_reflection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = slang_reflection.h; sourceTree = ""; }; @@ -418,7 +417,6 @@ 05A8C79620DB72F100FF7857 /* slang_reflection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = slang_reflection.cpp; sourceTree = ""; }; 05A8C79720DB72F100FF7857 /* shader_glsl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = shader_glsl.h; sourceTree = ""; }; 05A8C79820DB72F100FF7857 /* shader_null.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = shader_null.c; sourceTree = ""; }; - 05A8C79920DB72F100FF7857 /* glslang_util.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = glslang_util.c; sourceTree = ""; }; 05A8C79920DB72F100FF7857 /* glslang_util_cxx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_util_cxx.cpp; sourceTree = ""; }; 05A8C79B20DB72F100FF7857 /* shader_gl_cg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = shader_gl_cg.c; sourceTree = ""; }; 05A8C79C20DB72F100FF7857 /* shader_vulkan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = shader_vulkan.h; sourceTree = ""; }; @@ -1187,10 +1185,8 @@ 05A8C78E20DB72F100FF7857 /* drivers_shader */ = { isa = PBXGroup; children = ( - 05A8C79920DB72F100FF7857 /* glslang_util.c */, 05A8C79920DB72F100FF7857 /* glslang_util_cxx.cpp */, 05A8C79020DB72F100FF7857 /* glslang_util.h */, - 05A8C79020DB72F100FF7857 /* glslang_util_cxx.h */, 05A8C79B20DB72F100FF7857 /* shader_gl_cg.c */, 05A8C79120DB72F100FF7857 /* shader_glsl.c */, 05A8C79720DB72F100FF7857 /* shader_glsl.h */, @@ -1572,6 +1568,7 @@ developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( + English, en, ); mainGroup = 29B97314FDCFA39411CA2CEA /* RetroArch */; @@ -1756,8 +1753,10 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -1779,6 +1778,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1787,8 +1787,10 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "$(HOME)/Applications"; @@ -1807,6 +1809,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; From 885eb4f15b1536e3b1f25c1dd2ef999e13ba0441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 20:05:56 +0700 Subject: [PATCH 05/19] Fix signing conflict --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 8eece44278..ca31cd4bb8 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1754,6 +1754,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEVELOPMENT_TEAM = ZE9XE938Z2; @@ -1788,6 +1789,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZE9XE938Z2; From 944e89bdc8693aaf2930324df9668dd74b2c941d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 20:51:08 +0700 Subject: [PATCH 06/19] Enable hardened runtime --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index ca31cd4bb8..630762b7fa 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1561,7 +1561,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0940; + LastUpgradeCheck = 1110; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "RetroArch_Metal" */; compatibilityVersion = "Xcode 9.3"; @@ -1688,10 +1688,10 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = "@rpath"; @@ -1722,6 +1722,7 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_MODEL_TUNING = G5; @@ -1758,8 +1759,8 @@ COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEVELOPMENT_TEAM = ZE9XE938Z2; + ENABLE_HARDENED_RUNTIME = YES; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = "$(HOME)/Applications"; @@ -1793,6 +1794,7 @@ COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZE9XE938Z2; + ENABLE_HARDENED_RUNTIME = YES; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "$(HOME)/Applications"; @@ -1819,6 +1821,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 05D7753120A55D2700646447 /* BaseConfig.xcconfig */; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LIBRARY = "libc++"; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -1868,7 +1871,6 @@ ); MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = YES; - PREBINDING = NO; SDKROOT = macosx; }; name = Debug; @@ -1877,6 +1879,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 05D7753120A55D2700646447 /* BaseConfig.xcconfig */; buildSettings = { + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LIBRARY = "libc++"; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -1923,7 +1926,6 @@ "$(DEPS_DIR)/glslang/glslang/glslang/OSDependent/Unix", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - PREBINDING = NO; SDKROOT = macosx; }; name = Release; From 309045e0acfd03a027031fc96a8c3776c111ef81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 21:44:47 +0700 Subject: [PATCH 07/19] Move the logic to the shell script --- .travis.yml | 12 ------------ travis_metal_deploy.sh | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 34204fa6ac..15a4121f78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,19 +67,7 @@ matrix: script: - brew update-reset - brew install --force-bottle qt5 - - security create-keychain -p travis build.keychain - - security default-keychain -s build.keychain - - security unlock-keychain -p travis build.keychain - - echo $OSX_CERT | base64 --decode > dev.p12 - - security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign - - rm dev.p12 - - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj - - REQUESTUUID=$(xcrun altool --notarize-app -t osx -f pkg/apple/build/Release/RetroArch.app --primary-bundle-id libretro.RetroArch -u $APPLE_ID -p $APPLE_ID_PASS -itc_provider ZE9XE938Z2 | awk '/RequestUUID/ { print $NF; }') - - sleep 100 - - xcrun altool --notarization-info $REQUESTUUID -u $APPLE_ID -p $APPLE_ID_PASS -ascprovider ZE9XE938Z2 - - xcrun stapler staple pkg/apple/build/Release/RetroArch.app - - xcrun stapler validate pkg/apple/build/Release/RetroArch.app deploy: skip_cleanup: true provider: script diff --git a/travis_metal_deploy.sh b/travis_metal_deploy.sh index cc248f05ae..15ff7bbb13 100644 --- a/travis_metal_deploy.sh +++ b/travis_metal_deploy.sh @@ -17,6 +17,18 @@ echo "Copying binary into dist folder..." cp -rv ${TRAVIS_BUILD_DIR}/pkg/apple/build/Release/RetroArch.app . +echo "Code signing..." + +security create-keychain -p travis build.keychain +security default-keychain -s build.keychain +security unlock-keychain -p travis build.keychain +echo $OSX_CERT | base64 --decode > dev.p12 +security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign +rm dev.p12 +security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain +codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" RetroArch.app/Contents/MacOS/RetroArch +codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" RetroArch.app + echo "Downloading assets..." cd RetroArch.app/Contents/Resources/ @@ -33,6 +45,15 @@ FILENAME=$(date +%F)_RetroArch_Metal.dmg hdiutil create -volname RetroArch -srcfolder ./ -ov -format UDZO ~/${FILENAME} cp -f ~/${FILENAME} ~/RetroArch_Metal.dmg +echo "Notarizing DMG..." + +codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" ~/RetroArch_Metal.dmg +REQUESTUUID=$(xcrun altool --notarize-app -t osx -f ~/RetroArch_Metal.dmg --primary-bundle-id libretro.RetroArch -u $APPLE_ID -p $APPLE_ID_PASS -itc_provider ZE9XE938Z2 | awk '/RequestUUID/ { print $NF; }') +sleep 100 +xcrun altool --notarization-info $REQUESTUUID -u $APPLE_ID -p $APPLE_ID_PASS -ascprovider ZE9XE938Z2 +xcrun stapler staple ~/RetroArch_Metal.dmg +xcrun stapler validate ~/RetroArch_Metal.dmg + echo "Uploading to server..." rsync -avhP -e 'ssh -p 12346 -o StrictHostKeyChecking=no' ~/${FILENAME} travis@bot.libretro.com:~/nightly/apple/osx/x86_64/ From 460cfc9efdda23a48f9d6b51684421947923324a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 5 Nov 2019 23:42:35 +0700 Subject: [PATCH 08/19] Fix QT build --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 630762b7fa..6908a0d773 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1691,6 +1691,7 @@ CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -1725,6 +1726,7 @@ CODE_SIGN_IDENTITY = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "@rpath"; From 912ab4ff006f4b84d3971535809ac391c0b3aa87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 6 Nov 2019 09:30:48 +0700 Subject: [PATCH 09/19] Fix QT build --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 6908a0d773..3a16c20178 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1689,6 +1689,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEVELOPMENT_TEAM = ZE9XE938Z2; @@ -1715,6 +1716,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1724,6 +1726,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZE9XE938Z2; @@ -1748,6 +1751,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; From dbe4be7e7f305e011ef094e007d9c405afb57df6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 6 Nov 2019 12:49:36 +0700 Subject: [PATCH 10/19] Remove project changes --- .../RetroArch_Metal.xcodeproj/project.pbxproj | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 3a16c20178..13d1aa7fc4 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1688,11 +1688,8 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -1716,7 +1713,6 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; - PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1725,11 +1721,8 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "@rpath"; @@ -1751,7 +1744,6 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; - PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; @@ -1760,11 +1752,8 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = ZE9XE938Z2; ENABLE_HARDENED_RUNTIME = YES; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; @@ -1786,7 +1775,6 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; - PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1795,11 +1783,8 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CODE_SIGN_IDENTITY = "Developer ID Application"; - CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ZE9XE938Z2; ENABLE_HARDENED_RUNTIME = YES; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -1819,7 +1804,6 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; - PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; From 8533512a826cac58821247d709b520c930dc906b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 6 Nov 2019 18:08:48 +0700 Subject: [PATCH 11/19] Revert "Remove project changes" This reverts commit f5dac2859ff029c7e836264cccf6cb28b146c308. --- .../RetroArch_Metal.xcodeproj/project.pbxproj | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 13d1aa7fc4..3a16c20178 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1688,8 +1688,11 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -1713,6 +1716,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1721,8 +1725,11 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ZE9XE938Z2; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "@rpath"; @@ -1744,6 +1751,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = libretro.RetroArch; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; @@ -1752,8 +1760,11 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = ZE9XE938Z2; ENABLE_HARDENED_RUNTIME = YES; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; @@ -1775,6 +1786,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Debug; }; @@ -1783,8 +1795,11 @@ baseConfigurationReference = 05422E5C2140CFC500F09961 /* Metal.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ZE9XE938Z2; ENABLE_HARDENED_RUNTIME = YES; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -1804,6 +1819,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_BUNDLE_IDENTIFIER = "libretro.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = RetroArch; + PROVISIONING_PROFILE_SPECIFIER = ""; }; name = Release; }; From 90b56fb4879dcd7bc8b18f6125b520767393b813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 6 Nov 2019 18:10:17 +0700 Subject: [PATCH 12/19] Move back code signing to travis --- .travis.yml | 7 +++++++ travis_metal_deploy.sh | 12 ------------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 15a4121f78..f0044bdba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,6 +67,13 @@ matrix: script: - brew update-reset - brew install --force-bottle qt5 + - security create-keychain -p travis build.keychain + - security default-keychain -s build.keychain + - security unlock-keychain -p travis build.keychain + - echo $OSX_CERT | base64 --decode > dev.p12 + - security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign + - rm dev.p12 + - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: skip_cleanup: true diff --git a/travis_metal_deploy.sh b/travis_metal_deploy.sh index 15ff7bbb13..64bf1b0dce 100644 --- a/travis_metal_deploy.sh +++ b/travis_metal_deploy.sh @@ -17,18 +17,6 @@ echo "Copying binary into dist folder..." cp -rv ${TRAVIS_BUILD_DIR}/pkg/apple/build/Release/RetroArch.app . -echo "Code signing..." - -security create-keychain -p travis build.keychain -security default-keychain -s build.keychain -security unlock-keychain -p travis build.keychain -echo $OSX_CERT | base64 --decode > dev.p12 -security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign -rm dev.p12 -security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain -codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" RetroArch.app/Contents/MacOS/RetroArch -codesign --force --verbose --timestamp --sign "7069CC8A4AE9AFF0493CC539BBA4FA345F0A668B" RetroArch.app - echo "Downloading assets..." cd RetroArch.app/Contents/Resources/ From d2f381d1211260b220a3e4a6813894b473efce7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 19 Nov 2019 17:39:19 +0700 Subject: [PATCH 13/19] Try to take qt5 out --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f0044bdba5..4b1a62b23e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,8 +65,6 @@ matrix: - os: osx osx_image: xcode11.2 script: - - brew update-reset - - brew install --force-bottle qt5 - security create-keychain -p travis build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p travis build.keychain @@ -74,7 +72,7 @@ matrix: - security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign - rm dev.p12 - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj + - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: skip_cleanup: true provider: script From f142caea118ee0b6dd0e818c50ed4e9d2300089a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 19 Nov 2019 17:40:01 +0700 Subject: [PATCH 14/19] Disable some other builds for now --- .travis.yml | 130 ++++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4b1a62b23e..86aa64907f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,56 +12,56 @@ dist: xenial matrix: include: - - compiler: mingw-x86 - addons: true - env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: mingw-x86 - addons: true - env: C89_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: mingw-x86 - addons: true - env: CXX_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: mingw-x64 - addons: true - env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: mingw-x64 - addons: true - env: C89_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: mingw-x64 - addons: true - env: CXX_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - - compiler: gcc - env: CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: C89_BUILD=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: CXX_BUILD=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: DISABLE_MENU=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: DISABLE_OVERLAY=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: DISABLE_CDROM=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: DISABLE_VIDEO_LAYOUT=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: DISABLE_AUDIOMIXER=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: ENABLE_GLES=1 CC=gcc-8 CXX=g++-8 - - compiler: gcc - env: ENABLE_GLES=1 ENABLE_GLES3=1 CC=gcc-8 CXX=g++-8 - - compiler: clang - env: CC=clang-6.0 CXX=clang++-6.0 - - compiler: clang - env: C89_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - - compiler: clang - env: CXX_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - - os: osx - env: CC=clang CXX=clang++ - - os: osx - osx_image: xcode8 - script: - - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj + # - compiler: mingw-x86 + # addons: true + # env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: mingw-x86 + # addons: true + # env: C89_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: mingw-x86 + # addons: true + # env: CXX_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: mingw-x64 + # addons: true + # env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: mingw-x64 + # addons: true + # env: C89_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: mingw-x64 + # addons: true + # env: CXX_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + # - compiler: gcc + # env: CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: C89_BUILD=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: CXX_BUILD=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: DISABLE_MENU=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: DISABLE_OVERLAY=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: DISABLE_CDROM=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: DISABLE_VIDEO_LAYOUT=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: DISABLE_AUDIOMIXER=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: ENABLE_GLES=1 CC=gcc-8 CXX=g++-8 + # - compiler: gcc + # env: ENABLE_GLES=1 ENABLE_GLES3=1 CC=gcc-8 CXX=g++-8 + # - compiler: clang + # env: CC=clang-6.0 CXX=clang++-6.0 + # - compiler: clang + # env: C89_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 + # - compiler: clang + # env: CXX_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 + # - os: osx + # env: CC=clang CXX=clang++ + # - os: osx + # osx_image: xcode8 + # script: + # - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj - os: osx osx_image: xcode11.2 script: @@ -79,21 +79,21 @@ matrix: script: bash travis_metal_deploy.sh on: branch: master - - language: android - # Android builds are only supported on Trusty - dist: trusty - android: - components: - - tools - - build-tools-28.0.3 - - android-28 - install: - - echo y | sdkmanager "ndk-bundle" - before_script: - - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle - script: - - cd pkg/android/phoenix - - ./gradlew assembleNormalRelease + # - language: android + # # Android builds are only supported on Trusty + # dist: trusty + # android: + # components: + # - tools + # - build-tools-28.0.3 + # - android-28 + # install: + # - echo y | sdkmanager "ndk-bundle" + # before_script: + # - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle + # script: + # - cd pkg/android/phoenix + # - ./gradlew assembleNormalRelease before_install: - | From 8191f2775f99cf896374ed6ce05ad2f23a94ef5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Tue, 19 Nov 2019 17:46:35 +0700 Subject: [PATCH 15/19] Add Qt back --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 86aa64907f..64b6284238 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,6 +65,8 @@ matrix: - os: osx osx_image: xcode11.2 script: + - brew update-reset + - brew install --force-bottle qt5 - security create-keychain -p travis build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p travis build.keychain @@ -72,7 +74,7 @@ matrix: - security import dev.p12 -k build.keychain -P $OSX_CERT_PASS -T /usr/bin/codesign - rm dev.p12 - security set-key-partition-list -S "apple-tool:,apple:,codesign:" -s -k travis build.keychain - - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj + - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: skip_cleanup: true provider: script From 27da1c94f2e04e1f45a9721ac947adface07feb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 20 Nov 2019 09:09:27 +0700 Subject: [PATCH 16/19] Enable hardened runtime for the Qt build --- pkg/apple/RetroArchRelease.entitlements | 5 +++++ pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 pkg/apple/RetroArchRelease.entitlements diff --git a/pkg/apple/RetroArchRelease.entitlements b/pkg/apple/RetroArchRelease.entitlements new file mode 100644 index 0000000000..0c67376eba --- /dev/null +++ b/pkg/apple/RetroArchRelease.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 3a16c20178..111fb12c92 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -535,6 +535,7 @@ 05F2874020F2BEEA00632D47 /* task_http.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = task_http.c; sourceTree = ""; }; 05F2874120F2BEEA00632D47 /* task_patch.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = task_patch.c; sourceTree = ""; }; 089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = OSX/en.lproj/InfoPlist.strings; sourceTree = ""; }; + 208CD5292384D7940056E645 /* RetroArchRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RetroArchRelease.entitlements; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 5061C8A31AE47E510080AE14 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; 509F0C9C1AA23AFC00619ECC /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = ""; }; @@ -1444,6 +1445,7 @@ 29B97314FDCFA39411CA2CEA /* RetroArch */ = { isa = PBXGroup; children = ( + 208CD5292384D7940056E645 /* RetroArchRelease.entitlements */, 05D7753120A55D2700646447 /* BaseConfig.xcconfig */, 05422E5C2140CFC500F09961 /* Metal.xcconfig */, A90207489289602F593626D5 /* QTConfig.xcconfig */, @@ -1725,11 +1727,13 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_ENTITLEMENTS = RetroArchRelease.entitlements; CODE_SIGN_IDENTITY = "Developer ID Application"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = ZE9XE938Z2; + ENABLE_HARDENED_RUNTIME = YES; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; INSTALL_PATH = "@rpath"; From 87cc90741d97379cf45c268d79b8e226eaefe7ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 20 Nov 2019 09:59:34 +0700 Subject: [PATCH 17/19] Deep sign --- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 111fb12c92..3e86ae4735 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -1710,6 +1710,7 @@ "-UHAVE_GLSL", "-UHAVE_OPENGL", ); + OTHER_CODE_SIGN_FLAGS = "--deep --timestamp"; OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-UHAVE_GLSL", @@ -1747,6 +1748,7 @@ "-UHAVE_GLSL", "-UHAVE_OPENGL", ); + OTHER_CODE_SIGN_FLAGS = "--deep --timestamp"; OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-UHAVE_GLSL", @@ -1782,6 +1784,7 @@ "-UHAVE_GLSL", "-UHAVE_OPENGL", ); + OTHER_CODE_SIGN_FLAGS = "--deep --timestamp"; OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-UHAVE_OPENGL", @@ -1815,6 +1818,7 @@ "-UHAVE_GLSL", "-UHAVE_OPENGL", ); + OTHER_CODE_SIGN_FLAGS = "--deep --timestamp"; OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-UHAVE_OPENGL", From 8da54e2349c43bf61fb691156fb491181cb2da20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 20 Nov 2019 10:09:24 +0700 Subject: [PATCH 18/19] Uncomment stuff --- .travis.yml | 130 ++++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/.travis.yml b/.travis.yml index 64b6284238..f0044bdba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,56 +12,56 @@ dist: xenial matrix: include: - # - compiler: mingw-x86 - # addons: true - # env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: mingw-x86 - # addons: true - # env: C89_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: mingw-x86 - # addons: true - # env: CXX_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: mingw-x64 - # addons: true - # env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: mingw-x64 - # addons: true - # env: C89_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: mingw-x64 - # addons: true - # env: CXX_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - # - compiler: gcc - # env: CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: C89_BUILD=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: CXX_BUILD=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: DISABLE_MENU=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: DISABLE_OVERLAY=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: DISABLE_CDROM=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: DISABLE_VIDEO_LAYOUT=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: DISABLE_AUDIOMIXER=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: ENABLE_GLES=1 CC=gcc-8 CXX=g++-8 - # - compiler: gcc - # env: ENABLE_GLES=1 ENABLE_GLES3=1 CC=gcc-8 CXX=g++-8 - # - compiler: clang - # env: CC=clang-6.0 CXX=clang++-6.0 - # - compiler: clang - # env: C89_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - # - compiler: clang - # env: CXX_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - # - os: osx - # env: CC=clang CXX=clang++ - # - os: osx - # osx_image: xcode8 - # script: - # - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj + - compiler: mingw-x86 + addons: true + env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: mingw-x86 + addons: true + env: C89_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: mingw-x86 + addons: true + env: CXX_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: mingw-x64 + addons: true + env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: mingw-x64 + addons: true + env: C89_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: mingw-x64 + addons: true + env: CXX_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" + - compiler: gcc + env: CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: C89_BUILD=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: CXX_BUILD=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: DISABLE_MENU=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: DISABLE_OVERLAY=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: DISABLE_CDROM=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: DISABLE_VIDEO_LAYOUT=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: DISABLE_AUDIOMIXER=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: ENABLE_GLES=1 CC=gcc-8 CXX=g++-8 + - compiler: gcc + env: ENABLE_GLES=1 ENABLE_GLES3=1 CC=gcc-8 CXX=g++-8 + - compiler: clang + env: CC=clang-6.0 CXX=clang++-6.0 + - compiler: clang + env: C89_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 + - compiler: clang + env: CXX_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 + - os: osx + env: CC=clang CXX=clang++ + - os: osx + osx_image: xcode8 + script: + - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj - os: osx osx_image: xcode11.2 script: @@ -81,21 +81,21 @@ matrix: script: bash travis_metal_deploy.sh on: branch: master - # - language: android - # # Android builds are only supported on Trusty - # dist: trusty - # android: - # components: - # - tools - # - build-tools-28.0.3 - # - android-28 - # install: - # - echo y | sdkmanager "ndk-bundle" - # before_script: - # - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle - # script: - # - cd pkg/android/phoenix - # - ./gradlew assembleNormalRelease + - language: android + # Android builds are only supported on Trusty + dist: trusty + android: + components: + - tools + - build-tools-28.0.3 + - android-28 + install: + - echo y | sdkmanager "ndk-bundle" + before_script: + - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle + script: + - cd pkg/android/phoenix + - ./gradlew assembleNormalRelease before_install: - | From 11a4a4cffb89951a2198679ec0dcd9a94b30f0fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 20 Nov 2019 10:45:14 +0700 Subject: [PATCH 19/19] Code cleaning --- pkg/apple/RetroArchRelease.entitlements | 5 ----- pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj | 3 --- 2 files changed, 8 deletions(-) delete mode 100644 pkg/apple/RetroArchRelease.entitlements diff --git a/pkg/apple/RetroArchRelease.entitlements b/pkg/apple/RetroArchRelease.entitlements deleted file mode 100644 index 0c67376eba..0000000000 --- a/pkg/apple/RetroArchRelease.entitlements +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 3e86ae4735..e316201b81 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -535,7 +535,6 @@ 05F2874020F2BEEA00632D47 /* task_http.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = task_http.c; sourceTree = ""; }; 05F2874120F2BEEA00632D47 /* task_patch.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = task_patch.c; sourceTree = ""; }; 089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = OSX/en.lproj/InfoPlist.strings; sourceTree = ""; }; - 208CD5292384D7940056E645 /* RetroArchRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RetroArchRelease.entitlements; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 5061C8A31AE47E510080AE14 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; 509F0C9C1AA23AFC00619ECC /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = ""; }; @@ -1445,7 +1444,6 @@ 29B97314FDCFA39411CA2CEA /* RetroArch */ = { isa = PBXGroup; children = ( - 208CD5292384D7940056E645 /* RetroArchRelease.entitlements */, 05D7753120A55D2700646447 /* BaseConfig.xcconfig */, 05422E5C2140CFC500F09961 /* Metal.xcconfig */, A90207489289602F593626D5 /* QTConfig.xcconfig */, @@ -1728,7 +1726,6 @@ baseConfigurationReference = A90207489289602F593626D5 /* QTConfig.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CODE_SIGN_ENTITLEMENTS = RetroArchRelease.entitlements; CODE_SIGN_IDENTITY = "Developer ID Application"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES;