From 100c54a82c45c6ced0b5e80e383473d181f60eaa Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Mon, 21 Jun 2021 15:45:27 -0600 Subject: [PATCH] AirPlay to Mac support on Skylake - Coffeelake Macs --- Build-App.command | 19 ++++++++++++++++++ CHANGELOG.md | 2 ++ Resources/ModelArray.py | 9 +++++++++ .../Kexts/Acidanthera/SidecarFixup-v1.0.2.zip | Bin 12929 -> 13133 bytes 4 files changed, 30 insertions(+) create mode 100755 Build-App.command diff --git a/Build-App.command b/Build-App.command new file mode 100755 index 000000000..0c41524e1 --- /dev/null +++ b/Build-App.command @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +printf "OpenCore-Patcher.app Builder" +printf "\nNot supported by end users, please use prebuilt binaries" +printf "\neither on Github Release or Nightly Builds from Github Actions:" +printf "\n\nOffical Release: \n- https://github.com/dortania/OpenCore-Legacy-Patcher/releases" +printf "\n\nNightly Builds: \n- https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher.app.zip\n\n" +read -n 1 -s -r -p "Press any key to continue: " +if which python3 > /dev/null 2>&1; +then + printf "\nPython found, continuing" + printf "\nUpdating Requests and pyinstaller\n" + pip3 install --upgrade pyinstaller requests + printf "\nBuilding app" + pyinstaller OpenCore-Patcher.spec + ./after_pyinstaller.sh + open ./dist/ +else + printf "\nPython is missing! Cannot build OpenCore-Patcher.app\n" +fi \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 1574dddf3..5ad6dbb59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ - Increment Binaries - Lilu 1.5.4 rolling (f69a972 - 06-20-2021) - RestrictEvents 1.0.3 rolling (3773ce2 - 06-20-2021) + - SidecarFixup 1.0.2 rolling (2c29166 - 06-21-2021) +- Allow AirPlay to Mac support on Skylake - Coffeelake Macs ## 0.1.9 - Fix incorrect AMFI and SIP detection diff --git a/Resources/ModelArray.py b/Resources/ModelArray.py index 33a0e02ac..9d9ff533d 100644 --- a/Resources/ModelArray.py +++ b/Resources/ModelArray.py @@ -462,9 +462,16 @@ SidecarPatch = [ "MacBookPro11,4", "MacBookPro11,5", "MacBookPro12,1", + "MacBookPro13,1", + "MacBookPro13,2", + "MacBookPro13,3", + "MacBookPro14,1", + "MacBookPro14,2", + "MacBookPro14,3", "Macmini6,1", "Macmini6,2", "Macmini7,1", + "Macmini8,1", "iMac13,1", "iMac13,2", "iMac13,3", @@ -474,6 +481,8 @@ SidecarPatch = [ "iMac15,1", "iMac16,1", "iMac16,2", + "iMac17,1", + "iMac18,1", "MacPro5,1", "MacPro6,1", "Dortania1,1", diff --git a/payloads/Kexts/Acidanthera/SidecarFixup-v1.0.2.zip b/payloads/Kexts/Acidanthera/SidecarFixup-v1.0.2.zip index 971ba8151dc417b885ed92605cddcae3d42c9393..ddb795b274c8035deada6392ea39948a6ea31f70 100644 GIT binary patch delta 11813 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 delta 11625 zcmaL71yq#X*EdWLlF~}2NK1)GmwEP(m;c)tiCbshr|)~FFc9x2bA!LXmbfZ;Ho~7;EL4#t9Q>< z;E{^(@aN=*X`1&u&fT43#o{NbUmBYicvjYw9<(`HT2^pUIO~{s!AD)^5@W+286CZ* z(znb)3!g~&c1dLp1e)FevN`AXyRP%j(Q8*SYaycnLB2ujQga!_h+=E%H~#oak6%E_?5USQG;7(qDW!FVcU$A6@e(Y~n8|jmJC14Wqi^=CXZB>- zpTWWXN7lvdHcP~po)-N>4t!#9T!fN2^XC#0*AjwDr1@h*bS^#_z+w!=qL&cg^efZ7 zzi&neC#?UjOVf2d`n%XLQoPqfb(AHMTNxi}V03&sZP3QF+%?#?9lg(Ssr~k`Wsg}% zTJ-mwDvxE+j!tU(I)a6v2ey=bN-a)AA%#Ixm4%cfZ@OTjlpS_{E&vYevBjGvpA zKUivnP+5Vk=uPB$e&qx6=a6H>aA5!#xF~E98&*lQ+c4UFZT^Nnp3-%pK^V1>= z3YnKw$Z$yx0HO)lw~RAMK-e6C94*q+h5MG7 zi&kb#Z@Cv_Z=)B#S*gvT;T?f_yad)3`8bTdLkV(-{AN%2 zr_RZy>+gp}>xUMdzD3g_j6kA^ESe6m@iYeHnlxDHxUNq37pA?pzcuadeX=vcoP2b6 zV}dHi?CKPO#WFV=g?C$tZo`66DRS(aHm*laC~ID0)TLQ)u?V%!ZnM0BVoP|mTvi9A z^5*6*T#_iIVBIYch!(uX?ot!ks}X{!lq^&bi}@2H@l$&EMD*Mn*Rc7*cMa%0A)UCx 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