From a488d47dfb0d07abae9a5f497a45fbe05ebaef08 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Wed, 15 Jul 2015 13:11:08 -0700 Subject: [PATCH] mason.release.archive: Sign the .app if ~/config/mac_app.cer exists. --- extra/mason/release/archive/archive.factor | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/extra/mason/release/archive/archive.factor b/extra/mason/release/archive/archive.factor index 464a64ef28..5932771900 100644 --- a/extra/mason/release/archive/archive.factor +++ b/extra/mason/release/archive/archive.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors combinators io.directories -io.directories.hierarchy io.pathnames kernel locals make -mason.common mason.config mason.platform namespaces sequences -system words ; +io.directories.hierarchy io.files io.pathnames kernel locals +make mason.common mason.config mason.platform namespaces +sequences system words ; IN: mason.release.archive : base-name ( -- string ) @@ -32,7 +32,23 @@ IN: mason.release.archive archive-name } short-running-process ; +: cert-path ( -- path ) + home "config/mac_app.cer" append-path ; + +: sign-factor.app? ( -- ? ) cert-path exists? ; + +:: sign-factor.app ( -- ) + { + "codesign" "--force" "--sign" + "Developer ID Application" + } + cert-path suffix + "Factor.app/" suffix + short-running-process ; + +! Make the .dmg : make-macosx-archive ( archive-name -- ) + sign-factor.app? [ sign-factor.app ] when "dmg-root" make-directory "factor" "dmg-root" copy-tree-into "factor" "dmg-root" make-disk-image