aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Huff <mith@jrbobdobbs.org>2011-06-27 15:11:35 -0500
committerDoug Huff <mith@jrbobdobbs.org>2011-06-27 15:11:35 -0500
commitd8dda9de84eec34fa27dfb6be7c6bb0ab09de0d2 (patch)
treeee9e47934de3b4602c14bcfd858557ecf52efba0
parentd0d80170a2ca73004e08fb85007fe055cbf4e411 (diff)
downloadbitcoin-d8dda9de84eec34fa27dfb6be7c6bb0ab09de0d2.tar.xz
Add OSX App bundle and correct build instructions to reflect reality.
-rw-r--r--contrib/Bitcoin.app/Contents/Info.plist32
-rw-r--r--contrib/Bitcoin.app/Contents/MacOS/.higit0
-rw-r--r--contrib/Bitcoin.app/Contents/Resources/BitcoinAppIcon.icnsbin0 -> 286031 bytes
-rw-r--r--doc/build-osx.txt89
-rw-r--r--doc/release-process.txt6
5 files changed, 91 insertions, 36 deletions
diff --git a/contrib/Bitcoin.app/Contents/Info.plist b/contrib/Bitcoin.app/Contents/Info.plist
new file mode 100644
index 0000000000..067afe921c
--- /dev/null
+++ b/contrib/Bitcoin.app/Contents/Info.plist
@@ -0,0 +1,32 @@
+<?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>CFBundleDisplayName</key>
+ <string>Bitcoin</string>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>bitcoin</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.bitcoin.bitcoin</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>Bitcoin</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>0.3.23</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>323</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>10.5</string>
+ <key>CFBundleIconFile</key>
+ <string>BitcoinAppIcon.icns</string>
+ <key>LSMultipleInstancesProhibited</key>
+ <true/>
+</dict>
+</plist>
diff --git a/contrib/Bitcoin.app/Contents/MacOS/.higit b/contrib/Bitcoin.app/Contents/MacOS/.higit
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/contrib/Bitcoin.app/Contents/MacOS/.higit
diff --git a/contrib/Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns b/contrib/Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns
new file mode 100644
index 0000000000..033ce1a607
--- /dev/null
+++ b/contrib/Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns
Binary files differ
diff --git a/doc/build-osx.txt b/doc/build-osx.txt
index 79279838d3..ddf025003b 100644
--- a/doc/build-osx.txt
+++ b/doc/build-osx.txt
@@ -1,14 +1,16 @@
Copyright (c) 2010 Laszlo Hanyecz
-Distributed under the MIT/X11 software license, see the accompanying
-file license.txt or http://www.opensource.org/licenses/mit-license.php.
-This product includes software developed by the OpenSSL Project for use in
-the OpenSSL Toolkit (http://www.openssl.org/). This product includes
-cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
-software written by Thomas Bernard.
+Portions Copyright (c) 2011 Douglas Huff
+Distributed under the MIT/X11 software license, see the accompanying file
+license.txt or http://www.opensource.org/licenses/mit-license.php. This
+product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic
+software written by Eric Young (eay@cryptsoft.com) and UPnP software written by
+Thomas Bernard.
Mac OS X build instructions
-Laszlo Hanyecz (solar@heliacal.net)
+Laszlo Hanyecz <solar@heliacal.net>
+Douglas Huff <dhuff@jrbobdobbs.org>
Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
@@ -16,18 +18,19 @@ Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
All of the commands should be executed in Terminal.app.. it's in
/Applications/Utilities
-You need to install XCode with all the options checked so that the compiler
-and everything is available in /usr not just /Developer
-I think it comes on the DVD but you can get the current version from
-http://developer.apple.com
+You need to install XCode with all the options checked so that the compiler and
+everything is available in /usr not just /Developer I think it comes on the DVD
+but you can get the current version from http://developer.apple.com
1. Pick a directory to work inside.. something like ~/bitcoin works. The
structure I use looks like this:
+
(~ is your home directory)
~/bitcoin
-~/bitcoin/trunk # source code
+~/bitcoin/bitcoin # Upstream source tree
+~/bitcoin/src # source code (symlink to ~/bitcoin/bitcoin/src)
~/bitcoin/deps # dependencies.. like libraries and headers needed to compile
~/bitcoin/Bitcoin.app # the application bundle where you can run the app
@@ -38,12 +41,15 @@ WARNING: do not use the ~ notation with the configure scripts.. use the full
name of the directory, for example /Users/james/bitcoin/deps for a user named
'james'. In my examples I am using 'macosuser' so make sure you change that.
-2. Check out the trunk version of the bitcoin code from subversion:
+2. Check out the bitcoin code from github:
cd ~/bitcoin
-svn checkout https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk
+git clone https://github.com/bitcoin/bitcoin.git
+ln -s bitcoin/src src
-This will make ~/bitcoin/trunk for you with all the files from subversion.
+This will make ~/bitcoin/bitcoin for you with all the files from git. This puts
+the actual sources in ~/bitcoin/bitcoin/src and create a symlink src in
+~/bitcoin to this location.
3. Get and build the dependencies
@@ -80,6 +86,8 @@ This is what my output looked like at the end:
OpenSSL
-------
+(System or MacPorts openssl will work fine. Optional.)
+
Download from http://www.openssl.org/source/
We would like to build this as a 32 bit/64 bit library so we actually build it
@@ -113,13 +121,15 @@ file lib/libcrypto.a
output should look like this:
lib/libcrypto.a: Mach-O universal binary with 2 architectures
-lib/libcrypto.a (for architecture i386): current ar archive random library
-lib/libcrypto.a (for architecture x86_64): current ar archive random library
+lib/libcrypto.a (for architecture i386): current ar archive random library
+lib/libcrypto.a (for architecture x86_64): current ar archive random library
miniupnpc
---------
+(MacPorts miniupnpc package works fine. You will need to modify makefile.)
+
The process for miniupnpc (optional) is similar to that of OpenSSL.
Download from http://miniupnp.tuxfamily.org/files/.
@@ -153,13 +163,15 @@ file lib/libminiupnpc.a
output should look like this:
lib/libminiupnpc.a: Mach-O universal binary with 2 architectures
-lib/libminiupnpc.a (for architecture i386): current ar archive random library
-lib/libminiupnpc.a (for architecture x86_64): current ar archive random library
+lib/libminiupnpc.a (for architecture i386): current ar archive random library
+lib/libminiupnpc.a (for architecture x86_64): current ar archive random library
Berkeley DB
-----------
+(System or MacPorts version work fine.)
+
Download from http://freshmeat.net/projects/berkeleydb/
cd ~/bitcoin/deps
@@ -171,6 +183,8 @@ cd db-4.8.26/build_unix
wxWidgets
---------
+(The wxWidgets-devel MacPorts package will work but will throw annoying assertion dialogs.)
+
This is the big one..
Check it out from svn
@@ -236,26 +250,29 @@ make install
Now you should be able to build bitcoin
-cd ~/bitcoin/trunk
+cd ~/bitcoin/src
make -f makefile.osx bitcoin
Before you can run it, you need to create an application bundle for Mac OS.
-Create the directories in terminal using mkdir and copy the files into place.
-They are available at http://heliacal.net/~solar/bitcoin/mac-build/
-You need the Info.plist and the .ins file. The Contents/MacOS/bitcoin file is
-the output of the build.
-Your directory structure should look like this:
-
-Bitcoin.app
-Bitcoin.app/Contents
-Bitcoin.app/Contents/Info.plist
-Bitcoin.app/Contents/MacOS
-Bitcoin.app/Contents/MacOS/bitcoin
-Bitcoin.app/Contents/Resources
-Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns
-
-To run it you can just click the Bitcoin.app in Finder, or just do open
-~/bitcoin/Bitcoin.app
+
+A bundle is provided in contrib/Bitcoin.app.
+
+Copy the bitcoin binary in to it like this:
+ cp -pR ~/bitcoin/bitcoin/contrib/Bitcoin.app ~/bitcoin/
+ cp ~/bitcoin/src/bitcoin ~/bitcoin/Bitcoin.app/Contents/MacOS/
+
+To run it you can just click the Bitcoin.app in Finder, or just do:
+open ~/bitcoin/Bitcoin.app
+
If you want to run it with arguments you can just run it without backgrounding
by specifying the full name in terminal:
+
~/bitcoin/Bitcoin.app/Contents/MacOS/bitcoin -addnode=192.75.207.66
+
+You can also run it with arguments in the background with output going to the
+normal places for apps (Console) like this:
+
+open ~/bitcoin/Bitcoin.app --args -connect=192.75.207.66
+
+It is advisable to relocate Bitcoin.app to /Applications or $HOME/Applications.
+
diff --git a/doc/release-process.txt b/doc/release-process.txt
index c06e9f4cdd..0e15e1daa2 100644
--- a/doc/release-process.txt
+++ b/doc/release-process.txt
@@ -1,3 +1,9 @@
+* update (commit) version in sources
+
+* update (commit) version in OSX app bundle
+
+ * CFBundleShortVersionString should have value like 0.3.23
+ * CFBundleVersion should have value like 323
* tag version in git