Skip to content
This repository has been archived by the owner on Oct 23, 2019. It is now read-only.

Build? #5

Open
jamesstout opened this issue Jun 8, 2013 · 7 comments
Open

Build? #5

jamesstout opened this issue Jun 8, 2013 · 7 comments

Comments

@jamesstout
Copy link

How do yuo build this? I'm getting missing deps for the linked binaries/frameworks, pngquant, pngnq, posterizer and sparkle. And probably liblibpng. Could they be added as git sub-modules?

Just out of interest, why did you decide to use PyObjC?

thanks

@kornelski
Copy link
Owner

Sorry about that. You'll find libpng and Sparkle project in ImageOptim. The
rest create as cli tool and just add all C files.

regards, Kornel

On 8 June 2013 12:28:29 James Stout notifications@github.com wrote:

How do yuo build this? I'm getting missing deps for the linked
binaries/frameworks, pngquant, pngnq, posterizer and sparkle. And probably
liblibpng. Could they be added as git sub-modules?

Just out of interest, why did you decide to use PyObjC?

thanks


Reply to this email directly or view it on GitHub:
#5

@kornelski
Copy link
Owner

Have you managed to build it?

@jamesstout
Copy link
Author

Not yet - not had time.

On 25 Jun, 2013, at 10:35 PM, porneL notifications@github.com wrote:

Have you managed to build it?


Reply to this email directly or view it on GitHub.

@jamesstout
Copy link
Author

Somehow - I got it building...

ia

@kornelski
Copy link
Owner

Great. I suppose you had to change project file or some other bits? Is that something you could contribute to the project?

What steps need to be documented?

@kornelski
Copy link
Owner

why did you decide to use PyObjC?

Just an excuse to learn Python :)

It thought it'd be easier to work in higher-level language than ObjC (only 1.0, no GC when I started), but PyObjC wasn't as fun as I hoped:

  • lousy runtime error reporting with no Xcode integration.
  • no compile-time error checking, and regular python linters I've tried didn't like objc imports.
  • there was a time when users were installing custom Python version that wasn't PyObjC-compatible, so I had crash reports that I couldn't do anything about.
  • type conversions and memory management require knowledge of both pythonisms and Cocoa patterns, to the point I couldn't get layer-backed patterns to work in PyObjC without crashes (I'm still not sure if that's bug/missing bridge in PyObjC or I missed something. Same code in plain ObjC works fine.)
  • in addition to forgetting explicit self in method declarations I keep forgetting trailing underscore in method names that PyObjC requires. Python's syntax can't handle Cocoa's method names well.

In the meantime ObjC went a long way with GC, ARC, properties, iterators, blocks, etc. so I probably won't write another PyObjC app.

@jamesstout
Copy link
Author

It was a lot of trial and error. Not sure I can remember the steps.

I'll start afresh and document....

I made some (private) changes to sabnzb and CouchPotato to learn Python :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants