From 62179a1673e8dbabc13feb9805ef8c143c872231 Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Tue, 23 Jul 2019 04:47:02 -0400 Subject: [PATCH] Allow included Fundamental plugin to be unsigned, which solves #1494. --- Entitlements.plist | 2 ++ Makefile | 11 ++++------- src/plugin.cpp | 4 ++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Entitlements.plist b/Entitlements.plist index db3305d2..d605e47e 100644 --- a/Entitlements.plist +++ b/Entitlements.plist @@ -8,6 +8,8 @@ com.apple.security.cs.allow-unsigned-executable-memory + com.apple.security.cs.disable-executable-page-protection + com.apple.security.cs.disable-library-validation com.apple.security.device.audio-input diff --git a/Makefile b/Makefile index 4e1c9cf5..12559d2e 100644 --- a/Makefile +++ b/Makefile @@ -96,9 +96,6 @@ dist: $(TARGET) rm -rf dist mkdir -p dist - $(MAKE) -C plugins/Fundamental dist - $(MAKE) -C plugins/Fundamental sign-dist - ifdef ARCH_LIN mkdir -p dist/Rack cp $(TARGET) dist/Rack/ @@ -106,7 +103,7 @@ ifdef ARCH_LIN cp -R LICENSE* res Core.json template.vcv cacert.pem dist/Rack/ # Manually check that no nonstandard shared libraries are linked ldd dist/Rack/$(TARGET) - cp plugins/Fundamental/dist/*.zip dist/Rack/Fundamental.zip + cp Fundamental.zip dist/Rack/ # Make ZIP cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip Rack endif @@ -119,12 +116,12 @@ ifdef ARCH_MAC cp $(TARGET) dist/$(TARGET).app/Contents/MacOS/ $(STRIP) -S dist/$(TARGET).app/Contents/MacOS/$(TARGET) mkdir -p dist/$(TARGET).app/Contents/Resources - cp -R LICENSE* res Core.json template.vcv cacert.pem icon.icns dist/$(TARGET).app/Contents/Resources + cp -R LICENSE* res Core.json template.vcv cacert.pem icon.icns dist/$(TARGET).app/Contents/Resources/ # Manually check that no nonstandard shared libraries are linked otool -L dist/$(TARGET).app/Contents/MacOS/$(TARGET) - cp plugins/Fundamental/dist/*.zip dist/$(TARGET).app/Contents/Resources/Fundamental.zip + cp Fundamental.zip dist/$(TARGET).app/Contents/Resources/Fundamental.txt # Clean up and sign bundle xattr -cr dist/$(TARGET).app # This will only work if you have the private key to my certificate @@ -141,7 +138,7 @@ ifdef ARCH_WIN cp /mingw64/bin/libwinpthread-1.dll dist/Rack/ cp /mingw64/bin/libstdc++-6.dll dist/Rack/ cp /mingw64/bin/libgcc_s_seh-1.dll dist/Rack/ - cp plugins/Fundamental/dist/*.zip dist/Rack/Fundamental.zip + cp Fundamental.zip dist/Rack/ # Make ZIP cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip Rack # Make NSIS installer diff --git a/src/plugin.cpp b/src/plugin.cpp index a307ba96..2ada1639 100644 --- a/src/plugin.cpp +++ b/src/plugin.cpp @@ -282,7 +282,11 @@ void init() { loadPlugins(asset::pluginsPath); // If Fundamental wasn't loaded, copy the bundled Fundamental package and load it +#if defined ARCH_MAC + std::string fundamentalSrc = asset::system("Fundamental.txt"); +#else std::string fundamentalSrc = asset::system("Fundamental.zip"); +#endif std::string fundamentalDir = asset::pluginsPath + "/Fundamental"; if (!settings::devMode && !getPlugin("Fundamental") && system::isFile(fundamentalSrc)) { INFO("Extracting bundled Fundamental package");