Browse Source

Allow included Fundamental plugin to be unsigned, which solves #1494.

tags/v1.1.3
Andrew Belt 2 years ago
parent
commit
62179a1673
3 changed files with 10 additions and 7 deletions
  1. +2
    -0
      Entitlements.plist
  2. +4
    -7
      Makefile
  3. +4
    -0
      src/plugin.cpp

+ 2
- 0
Entitlements.plist View File

@@ -8,6 +8,8 @@
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.device.audio-input</key>


+ 4
- 7
Makefile View File

@@ -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


+ 4
- 0
src/plugin.cpp View File

@@ -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");


Loading…
Cancel
Save