changeset 544:1dddd90cb84e

macOS deployment fixes
author Chris Cannam
date Thu, 14 Feb 2019 13:11:27 +0000
parents fea109b93831
children bcc02affeb16
files deploy/osx/Info.plist deploy/osx/copy-qt.sh deploy/osx/sign.sh
diffstat 3 files changed, 18 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/deploy/osx/Info.plist	Wed Feb 13 10:33:44 2019 +0000
+++ b/deploy/osx/Info.plist	Thu Feb 14 13:11:27 2019 +0000
@@ -15,6 +15,12 @@
 	<key>CFBundleShortVersionString</key>
 	<string>TONY_VERSION</string>
 
+	<!-- Provide an explanatory string for microphone usage so
+	     that access is requested. NB this is localised in
+	     *.lproj/InfoPlist.strings files -->
+	<key>NSMicrophoneUsageDescription</key>
+	<string>Tony needs to use the microphone for recording.</string>
+
 	<!-- enable HiDPI -->
 	<key>NSPrincipalClass</key>
 	<string>NSApplication</string>
--- a/deploy/osx/copy-qt.sh	Wed Feb 13 10:33:44 2019 +0000
+++ b/deploy/osx/copy-qt.sh	Thu Feb 14 13:11:27 2019 +0000
@@ -11,7 +11,7 @@
 
 frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport QtDBus"
 
-plugins="gif icns ico jpeg tga tiff wbmp webp cocoa minimal offscreen"
+plugins="gif icns ico jpeg tga tiff wbmp webp cocoa minimal offscreen macstyle"
 
 qtdir=$(grep "Command:" Makefile | head -1 | awk '{ print $3; }' | sed s,/bin/.*,,)
 
@@ -29,6 +29,12 @@
 echo
 echo "Copying frameworks..."
 for fwk in $frameworks; do
+    if [ ! -d "$qtdir/lib/$fwk.framework" ]; then
+	if [ "$fwk" = "QtDBus" ]; then
+	    echo "QtDBus.framework not found, assuming Qt was built without DBus support"
+	    continue
+	fi
+    fi
     cp -v "$qtdir/lib/$fwk.framework/$fwk" "$fdir" || exit 2
 done
 
--- a/deploy/osx/sign.sh	Wed Feb 13 10:33:44 2019 +0000
+++ b/deploy/osx/sign.sh	Thu Feb 14 13:11:27 2019 +0000
@@ -12,16 +12,12 @@
 	echo "All .app bundles in pkgdir will be signed"
 	exit 2
 fi
+
 for app in "$dir"/*.app; do
-    find "$app" -name Qt\* -print | while read fr; do
-	codesign -s "Developer ID Application: Chris Cannam" -fv "$fr"
+    find "$app" -name \*.dylib -print | while read fr; do
+	codesign -s "Developer ID Application: Chris Cannam" -fv --deep --options runtime "$fr"
     done
-    find "$app" -name \*.dylib -print | while read fr; do
-	codesign -s "Developer ID Application: Chris Cannam" -fv "$fr"
-    done
-    codesign -s "Developer ID Application: Chris Cannam" -fv "$app/Contents/MacOS/Tony.bin"
-    codesign -s "Developer ID Application: Chris Cannam" -fv \
-         --requirements '=designated =>  identifier "uk.ac.qmul.eecs.c4dm.Tony" and ( (anchor apple generic and    certificate leaf[field.1.2.840.113635.100.6.1.9] ) or (anchor apple generic and    certificate 1[field.1.2.840.113635.100.6.2.6]  and    certificate leaf[field.1.2.840.113635.100.6.1.13] and    certificate leaf[subject.OU] = "M2H8666U82"))' \
-         "$app"
+    codesign -s "Developer ID Application: Chris Cannam" -fv --deep --options runtime "$app/Contents/MacOS/Sonic Visualiser"
+    codesign -s "Developer ID Application: Chris Cannam" -fv --deep --options runtime "$app"
 done