[gimp-web-devel/pat/bootstrap] Add page for building MacOS plugins
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-web-devel/pat/bootstrap] Add page for building MacOS plugins
- Date: Thu, 6 Oct 2022 13:23:39 +0000 (UTC)
commit 61dccab288191defb5e0d5d8d640ff0994d71b58
Author: Lukas Oberhuber <lukaso gmail com>
Date: Thu Oct 6 00:10:35 2022 +0100
Add page for building MacOS plugins
This page gives some initial hints as to how to publish plugins for
MacOS.
content/resource/macos-plugin-publishing.md | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
---
diff --git a/content/resource/macos-plugin-publishing.md b/content/resource/macos-plugin-publishing.md
new file mode 100644
index 0000000..9cedb36
--- /dev/null
+++ b/content/resource/macos-plugin-publishing.md
@@ -0,0 +1,34 @@
++++
+title = "How to create a C or C++ plugin that will work on MacOS and workarounds"
+date = "2022-10-02"
+abbrev = "macos-plugin-publish"
+description = "GIMP Reference Manuals"
++++
+
+When plugins are written in C, C++, or compiled into binaries, special actions need to be taken in order for
them to work on MacOS. Specifically, they need to be codesigned and notarized. This is due to security
restrictions imposed by Apple in more recent versions of the OS.
+
+If a plug-in isn't signed and notarized, recent versions of MacOS will quarantine the plugin and ask the
user to delete it.
+
+### GIMP code signing
+
+Here is the code that does code signing for GIMP on the Mac in case this is helpful. This is what the
authors of plugins would need to do. Look at
+
+- [Importing signing
certificate](https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/a24d63a5a1db4994b3710ca6c336cac61b2bb25e/.circleci/config.yml#L185-195)
+- [Signing libraries and
application](https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/a24d63a5a1db4994b3710ca6c336cac61b2bb25e/package/build.sh#L133-151)
+- [Hardening
entitlements](https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/master/package/gimp-hardening.entitlements)
+- [Notarization](https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/master/package/notarize.sh)
+
+An Apple Developer account and the right credentials are also needed.
+
+### Workaround for unsigned plugins (if you have admin rights) on Catalina and later Macs
+
+1. Download a plugin.
+1. Open the archive and copy the contents to `~/Library/Application\ Support/GIMP/2.10/plug-ins/`
+1. Do the following to remove Apple security constraints (this is at your own risk). It will ask for your
administrator password:
+
+```shell
+cd ~/Library/Application\ Support/GIMP/2.10/plug-ins/ # assuming it was installed here
+sudo xattr -rd com.apple.quarantine *
+```
+
+**Note** The final `*` might have to be more specific for this to work.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]