Updated & simplified build_osx.py for a reliable Mac app without requiring any homebrew dependencies for users #346

Merged
gnumac merged 1 commits from master into master 2013-07-31 01:36:46 +02:00
gnumac commented 2013-07-30 02:43:55 +02:00 (Migrated from github.com)

This simplified py2app config allows OS X users to download and run BitMessage without needing to install any homebrew dependencies. Just download and run.

It works reliably for 10.8.4, tested across different machines, and has received good feedback from other users: https://bitmessage.org/forum/index.php/topic,2761.0.html

The issue with the current build_osx.py is that it tends to produce an app that doesn't work reliably across different Macs (even when they're running the same 10.8.4 version). I started from scratch and built up a new py2app config one line at a time until everything worked reliably and still didn't require any dependencies to be installed by the end user.

I think this is the better one to use because it's greatly simplified and more reliable. Then it can be tweaked as needed in the future. (The current osx.sh produces a very nice DMG, so I didn't change that at all.)

Also, can we get a download link on the homepage to a Mac DMG please? Probably should specify "for OS X 10.8.4+". http://sourceforge.net/projects/bitmessagemac/files/

This simplified py2app config allows OS X users to download and run BitMessage without needing to install any homebrew dependencies. Just download and run. It works reliably for 10.8.4, tested across different machines, and has received good feedback from other users: https://bitmessage.org/forum/index.php/topic,2761.0.html The issue with the current build_osx.py is that it tends to produce an app that doesn't work reliably across different Macs (even when they're running the same 10.8.4 version). I started from scratch and built up a new py2app config one line at a time until everything worked reliably and still didn't require any dependencies to be installed by the end user. I think this is the better one to use because it's greatly simplified and more reliable. Then it can be tweaked as needed in the future. (The current osx.sh produces a very nice DMG, so I didn't change that at all.) Also, can we get a download link on the homepage to a Mac DMG please? Probably should specify "for OS X 10.8.4+". http://sourceforge.net/projects/bitmessagemac/files/
Atheros1 commented 2013-07-31 01:37:19 +02:00 (Migrated from github.com)

Yes, I can add a link to the homepage soon.

Yes, I can add a link to the homepage soon.
gnumac commented 2013-08-13 21:00:43 +02:00 (Migrated from github.com)

Thanks. 0.3.5 for mac is available: http://sourceforge.net/projects/bitmessagemac/files/

Do you want me to keep building these for now? Or would you prefer that you or another more core developer do it? It's easy to do now with osx.sh. But I'm happy to keep doing it if you don't have a mac based core developer.

I'm looking forward to seeing it on the homepage. Bitmessage is getting a lot of press, but people don't know it's available for mac.

Thanks Atheros.

Thanks. 0.3.5 for mac is available: http://sourceforge.net/projects/bitmessagemac/files/ Do you want me to keep building these for now? Or would you prefer that you or another more core developer do it? It's easy to do now with osx.sh. But I'm happy to keep doing it if you don't have a mac based core developer. I'm looking forward to seeing it on the homepage. Bitmessage is getting a lot of press, but people don't know it's available for mac. Thanks Atheros.
Atheros1 commented 2013-08-15 00:16:16 +02:00 (Migrated from github.com)

I see that you are a new Github user. Can any well-known human vouch for your trustworthiness? If yes then you could be the person to compile it when we have a release and I could give you write access to bitmessage.org/download/osx.

I see that you are a new Github user. Can any well-known human vouch for your trustworthiness? If yes then you could be the person to compile it when we have a release and I could give you write access to bitmessage.org/download/osx.
gnumac commented 2013-08-15 06:02:27 +02:00 (Migrated from github.com)

Nobody. Sorry. I created this account only for bitmessage work and it is all I will connect with it. That said, I understand your reluctance and it is a good thing to maintain the security of bitmessage. It makes me happy. In that case, it'd be best if someone you know who is mac-based can maintain the package.

I'm just happy to have contributed a working py2app configuration to get this working on macs. My goal was to get it packaged so that Bitmessage could attract Mac users, many of whom are developers that may help move the project further along faster. So I hope you are able to find someone soon who you know and is on a mac and can get it posted. This is an exciting project. I'll be sticking around.

For posterity, here is how a person packages it. I would add it to the wiki, but accessing that via Tor always gives me errors and won't let me register:

1.) Install Homebrew (http://brew.sh/):
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

2.) Install dependencies:

brew install python
brew install openssl
brew install pyqt
brew install sqlite

(Python must be 2.7.5 or newer.)

3.) Install Py2App & setup tools:

curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py -U setuptools
sudo easy_install -U py2app

4.) To package it:

git clone https://github.com/Bitmessage/PyBitmessage.git ~/Downloads/Bitmessage0.3.5
cd ~/Downloads/Bitmessage0.3.5
sh osx.sh 0.3.5

(The last parameter is to specify the app version and is required.)

This produces a DMG and .app at:
~/Downloads/Bitmessage0.3.5/src/dist/Bitmessage-v0.3.5.dmg
~/Downloads/Bitmessage0.3.5/src/dist/Bitmessage.app
It's preferable to upload the DMG because it is less than half the size of the .app and because it is an archive it will download much faster than the .app with its individual files.

The app is a standalone app that users can download and use without needing to install all the above dependencies themselves. Only the package maintainer must have these. Py2app will include the dependencies into the resulting app bundle so that it is standalone.

If the above directions don't work for anyone, I'm happy to help troubleshoot. ;)

(Also, on a mac, right clicking on the .app and selecting Show Package Contents will show all the source files within the app bundle to verify the integrity of the python code.)

Nobody. Sorry. I created this account only for bitmessage work and it is all I will connect with it. That said, I understand your reluctance and it is a good thing to maintain the security of bitmessage. It makes me happy. In that case, it'd be best if someone you know who is mac-based can maintain the package. I'm just happy to have contributed a working py2app configuration to get this working on macs. My goal was to get it packaged so that Bitmessage could attract Mac users, many of whom are developers that may help move the project further along faster. So I hope you are able to find someone soon who you know and is on a mac and can get it posted. This is an exciting project. I'll be sticking around. For posterity, here is how a person packages it. I would add it to the wiki, but accessing that via Tor always gives me errors and won't let me register: 1.) Install Homebrew (http://brew.sh/): `ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"` 2.) Install dependencies: ``` brew install python brew install openssl brew install pyqt brew install sqlite ``` (Python must be 2.7.5 or newer.) 3.) Install Py2App & setup tools: ``` curl -O http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py -U setuptools sudo easy_install -U py2app ``` 4.) To package it: ``` git clone https://github.com/Bitmessage/PyBitmessage.git ~/Downloads/Bitmessage0.3.5 cd ~/Downloads/Bitmessage0.3.5 sh osx.sh 0.3.5 ``` (The last parameter is to specify the app version and is required.) This produces a DMG and .app at: ~/Downloads/Bitmessage0.3.5/src/dist/Bitmessage-v0.3.5.dmg ~/Downloads/Bitmessage0.3.5/src/dist/Bitmessage.app It's preferable to upload the DMG because it is less than half the size of the .app and because it is an archive it will download much faster than the .app with its individual files. The app is a standalone app that users can download and use without needing to install all the above dependencies themselves. Only the package maintainer must have these. Py2app will include the dependencies into the resulting app bundle so that it is standalone. If the above directions don't work for anyone, I'm happy to help troubleshoot. ;) (Also, on a mac, right clicking on the .app and selecting Show Package Contents will show all the source files within the app bundle to verify the integrity of the python code.)
This repo is archived. You cannot comment on pull requests.
No description provided.