mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
Create OS X application bundles for PuTTY and pterm.
This commit adds two .plist files, which go in the app bundles; two .bundle files, which are input to gtk-mac-bundler and explain to it how to _create_ the bundles; and a piece of manual addition to Makefile.am that actually runs gtk-mac-bundler after building the gtkapp.c based binaries and the OSX launcher. The latter is conditionalised on configuring --with-quartz (unlike the binaries themselves, which you can build on other platforms too, though they won't do much that's useful).
This commit is contained in:
parent
7d705ed1bd
commit
c73f25564f
2
.gitignore
vendored
2
.gitignore
vendored
@ -38,6 +38,8 @@
|
||||
/puttyapp
|
||||
/ptermapp
|
||||
/osxlaunch
|
||||
/unix/PuTTY.app
|
||||
/unix/Pterm.app
|
||||
/fuzzterm
|
||||
/testbn
|
||||
/*.DSA
|
||||
|
12
Recipe
12
Recipe
@ -192,6 +192,18 @@ install-exec-local:
|
||||
endif
|
||||
!end
|
||||
|
||||
# In automake makefile, build the OS X app bundle, if configured in
|
||||
# Quartz mode.
|
||||
!begin am
|
||||
if HAVE_QUARTZ
|
||||
noinst_SCRIPTS = unix/PuTTY.app unix/Pterm.app
|
||||
unix/PuTTY.app: unix/putty.bundle puttyapp osxlaunch
|
||||
rm -rf $@ && gtk-mac-bundler $<
|
||||
unix/Pterm.app: unix/pterm.bundle ptermapp osxlaunch
|
||||
rm -rf $@ && gtk-mac-bundler $<
|
||||
endif
|
||||
!end
|
||||
|
||||
# Random symbols.
|
||||
!begin cygwin vars
|
||||
# _WIN32_IE is required to expose identifiers that only make sense on
|
||||
|
@ -51,8 +51,11 @@ AC_ARG_WITH([gssapi],
|
||||
AC_ARG_WITH([quartz],
|
||||
[AS_HELP_STRING([--with-quartz],
|
||||
[build for the MacOS Quartz GTK back end])],
|
||||
[AC_DEFINE([OSX_GTK], [1], [Define if building with GTK for MacOS.])],
|
||||
[])
|
||||
[AC_DEFINE([OSX_GTK], [1], [Define if building with GTK for MacOS.])
|
||||
with_quartz=yes],
|
||||
[with_quartz=no])
|
||||
|
||||
AM_CONDITIONAL([HAVE_QUARTZ],[test "x$with_quartz" = "xyes"])
|
||||
|
||||
WITH_GSSAPI=
|
||||
AS_IF([test "x$with_gssapi" != xno],
|
||||
|
@ -7,6 +7,22 @@
|
||||
* it's fully working.)
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
To build on OS X, you will need a build environment with GTK 3 and
|
||||
gtk-mac-bundler, and also Halibut on the path (to build the man pages,
|
||||
without which the standard Makefile will complain). Then, from a clean
|
||||
checkout, do this:
|
||||
|
||||
./mkfiles.pl -U --with-quartz
|
||||
make -C icons icns
|
||||
make -C doc
|
||||
make
|
||||
|
||||
and you should get unix/PuTTY.app and unix/PTerm.app as output.
|
||||
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
43
unix/pterm.bundle
Normal file
43
unix/pterm.bundle
Normal file
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<app-bundle>
|
||||
|
||||
<meta>
|
||||
<prefix name="default">${env:JHBUILD_PREFIX}</prefix>
|
||||
<run-install-name-tool/>
|
||||
<gtk>gtk+-3.0</gtk>
|
||||
<!-- Optionally specify a launcher script to use. If the
|
||||
application sets up everything needed itself, like
|
||||
environment variable, linker paths, etc, a launcher script is
|
||||
not needed. If the source path is left out, the default
|
||||
script will be used.
|
||||
-->
|
||||
<launcher-script>${project}/../osxlaunch</launcher-script >
|
||||
</meta>
|
||||
|
||||
<plist>${project}/pterm.plist</plist>
|
||||
|
||||
<main-binary dest="${bundle}/Contents/MacOS">
|
||||
${project}/../ptermapp
|
||||
</main-binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so
|
||||
</binary>
|
||||
|
||||
<data>
|
||||
${prefix}/share/themes/Adwaita
|
||||
</data>
|
||||
|
||||
<data dest="${bundle}/Contents/Resources">
|
||||
${project}/../icons/Pterm.icns
|
||||
</data>
|
||||
|
||||
<icon-theme icons="auto">
|
||||
Adwaita
|
||||
</icon-theme>
|
||||
|
||||
</app-bundle>
|
30
unix/pterm.plist
Normal file
30
unix/pterm.plist
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Pterm.icns</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Pterm</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Pterm</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Pterm</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>Unidentified build</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>Unidentified build</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.tartarus.projects.putty.macpterm</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>© 1997-2015 Simon Tatham. All rights reserved.</string>
|
||||
</dict>
|
||||
</plist>
|
43
unix/putty.bundle
Normal file
43
unix/putty.bundle
Normal file
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<app-bundle>
|
||||
|
||||
<meta>
|
||||
<prefix name="default">${env:JHBUILD_PREFIX}</prefix>
|
||||
<run-install-name-tool/>
|
||||
<gtk>gtk+-3.0</gtk>
|
||||
<!-- Optionally specify a launcher script to use. If the
|
||||
application sets up everything needed itself, like
|
||||
environment variable, linker paths, etc, a launcher script is
|
||||
not needed. If the source path is left out, the default
|
||||
script will be used.
|
||||
-->
|
||||
<launcher-script>${project}/../osxlaunch</launcher-script >
|
||||
</meta>
|
||||
|
||||
<plist>${project}/putty.plist</plist>
|
||||
|
||||
<main-binary dest="${bundle}/Contents/MacOS">
|
||||
${project}/../puttyapp
|
||||
</main-binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so
|
||||
</binary>
|
||||
|
||||
<data>
|
||||
${prefix}/share/themes/Adwaita
|
||||
</data>
|
||||
|
||||
<data dest="${bundle}/Contents/Resources">
|
||||
${project}/../icons/PuTTY.icns
|
||||
</data>
|
||||
|
||||
<icon-theme icons="auto">
|
||||
Adwaita
|
||||
</icon-theme>
|
||||
|
||||
</app-bundle>
|
30
unix/putty.plist
Normal file
30
unix/putty.plist
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>PuTTY.icns</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>PuTTY</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>PuTTY</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>PuTTY</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>Unidentified build</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>Unidentified build</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.tartarus.projects.putty.macputty</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>© 1997-2015 Simon Tatham. All rights reserved.</string>
|
||||
</dict>
|
||||
</plist>
|
Loading…
Reference in New Issue
Block a user