Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: elelay/gpodder-osx-bundle
base: 4fb3d8b974
...
head fork: elelay/gpodder-osx-bundle
compare: db76a9fbc0
Checking mergeability… Don't worry, you can still create the pull request.
  • 6 commits
  • 7 files changed
  • 0 commit comments
  • 1 contributor
View
6 gpodder-bundle/Info-gpodder.plist
@@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>gPodder</string>
<key>CFBundleGetInfoString</key>
- <string>gPodder 3.3.0 Copyright (c) 2005-2011 Thomas Perl and the gPodder Team</string>
+ <string>gPodder 3.0.1 Copyright (c) 2005-2011 Thomas Perl and the gPodder Team</string>
<key>CFBundleIconFile</key>
<string>gPodder.icns</string>
<key>CFBundleIdentifier</key>
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>3.3.0</string>
+ <string>3.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>3.3.0</string>
+ <string>3.0.1</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright (c) 2005-2011 Thomas Perl and the gPodder Team, GNU General Public License.</string>
<key>LSMinimumSystemVersion</key>
View
BIN  gpodder-bundle/gPodder.icns
Binary file not shown
View
90 gpodder-bundle/gpodder.bundle
@@ -108,10 +108,51 @@
</translations>
- <!-- We have to pull in the python modules, which are mixed python
- and loadable modules. -->
+ <!-- Be careful, only to pick required python modules -->
+
+ <!-- standard install minus unused -->
<data>
- ${prefix}/lib/python2.7/
+ ${prefix}/lib/python2.7/*.py
+ </data>
+ <data>${prefix}/lib/python2.7/bsddb</data>
+ <data>${prefix}/lib/python2.7/compiler</data>
+ <data>${prefix}/lib/python2.7/config</data>
+ <data>${prefix}/lib/python2.7/ctypes</data>
+ <data>${prefix}/lib/python2.7/curses</data>
+ <data>${prefix}/lib/python2.7/email</data>
+ <data>${prefix}/lib/python2.7/encodings</data>
+ <data>${prefix}/lib/python2.7/hotshot</data>
+ <data>${prefix}/lib/python2.7/importlib</data>
+ <data>${prefix}/lib/python2.7/json</data>
+ <data>${prefix}/lib/python2.7/lib-dynload</data>
+ <data>${prefix}/lib/python2.7/logging</data>
+ <data>${prefix}/lib/python2.7/multiprocessing</data>
+ <data>${prefix}/lib/python2.7/plat-darwin</data>
+ <data>${prefix}/lib/python2.7/plat-mac</data>
+ <data>${prefix}/lib/python2.7/sqlite3</data>
+ <data>${prefix}/lib/python2.7/wsgiref</data>
+ <data>${prefix}/lib/python2.7/xml</data>
+ <!-- only required extra modules (no dbus, for instance) -->
+ <data>${prefix}/lib/python2.7/site-packages/feedparser.py</data>
+ <data>${prefix}/lib/python2.7/site-packages/pygtk.py</data>
+ <data>${prefix}/lib/python2.7/site-packages/pygtk.pth</data>
+ <data>${prefix}/lib/python2.7/site-packages/cairo</data>
+ <data>${prefix}/lib/python2.7/site-packages/glib</data>
+ <data>${prefix}/lib/python2.7/site-packages/gobject</data>
+ <data>${prefix}/lib/python2.7/site-packages/gpodder</data>
+ <data>${prefix}/lib/python2.7/site-packages/gtk-2.0</data>
+ <data>${prefix}/lib/python2.7/site-packages/gtk_osxapplication</data>
+ <data>${prefix}/lib/python2.7/site-packages/mygpoclient</data>
+ <data>${prefix}/lib/python2.7/site-packages/webkit</data>
+
+
+ <!-- Fake dbus module.
+ d-bus can be built and bundled, but it doesn't add any service
+ so it's not bundled to reduce the App size.
+ If somebody requires it, it will be added.
+ -->
+ <data dest="${bundle}/Contents/Resources/lib/python2.7/site-packages/dbus">
+ ${env:JHBUILD_SOURCE}/gpodder/tools/fake-dbus-module/dbus
</data>
<binary>
@@ -119,38 +160,12 @@
</binary>
<binary>
- ${prefix}/lib/python2.7/site-packages/*.so
- </binary>
- <binary>
- ${prefix}/lib/python2.7/site-packages/PIL/*.so
- </binary>
- <binary>
${prefix}/lib/python2.7/site-packages/gtk_osxapplication/*.so
</binary>
-
- <binary>
- ${prefix}/bin/dbus-uuidgen
- </binary>
-
<binary>
- ${prefix}/bin/dbus-daemon
+ ${prefix}/lib/python2.7/site-packages/webkit/*.so
</binary>
-
-
-
-
- <!-- <data dest='${bundle}/Contents/Resources/var/lib/dbus/machine-id'>
- ${prefix}/var/lib/dbus/machine-id
- </data> -->
-
- <data dest='${bundle}/Contents/Resources/Library/LaunchAgents/org.freedesktop.dbus-session.plist.in'>
- ${project}/org.freedesktop.dbus-session.plist.in
- </data>
-
- <data dest='${bundle}/Contents/Resources/etc/dbus-1/'>
- ${prefix}/etc/dbus-1/
- </data>
<data>
${prefix}/include/python2.7
@@ -179,9 +194,16 @@
${prefix}/share/icons/hicolor/scalable/apps
</data>
+ <!-- use the icons of gpodder itself
+ <data dest="${bundle}/Contents/Resources/gPodder.icns">
+ ${env:JHBUILD_SOURCE}/gpodder/data/osx/icon.icns
+ </data>
+ -->
+
<data dest="${bundle}/Contents/Resources/gPodder.icns">
${project}/gPodder.icns
</data>
+
<!-- Wrapper for gPodder 2 to 3 conversion script -->
<data dest="${bundle}/Contents/MacOS/gpodder-migrate2tres">
${project}/gpodder-migrate2tres.sh
@@ -193,14 +215,6 @@
${prefix}/share/themes/ClearLooks
</data>
- <!-- Copy icons. Note that the .icns file is an Apple format which
- contains up to 4 sizes of icon. You can use
- /Developer/Applications/Utilities/Icon Composer.app to import
- artwork and create the file. >
- <data dest="${bundle}/Contents/Resources">
- ${project}/Giggle.icns
- </data -->
-
<!-- This is where theme commands go. You can copy them in from your
theme of choice if they provide and example, or you can just
change the source path. -->
View
30 gpodder-bundle/gpodder.sh
@@ -36,34 +36,6 @@ echo "PYTHONPATH=$PYTHONPATH"
PYTHONHOME="$bundle_res"
export PYTHONHOME
-# Strip out the argument added by the OS.
-if /bin/expr "x$1" : "x-psn_.*" > /dev/null; then
- shift 1
-fi
-
-# use launchctl to load the session dbus if not already started by the session
-if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
- if test ! -f $bundle_res/var/lib/dbus/machine-id ; then
- echo generating dbus machine id
- mkdir -p $bundle_res/var/lib/dbus
- $bundle_bin/dbus-uuidgen --ensure=$bundle_res/var/lib/dbus/machine-id
- fi
- plist="$bundle_res"/Library/LaunchAgents/org.freedesktop.dbus-session.plist
- daemon_path="$bundle_res"/bin/dbus-daemon
- if ! grep -q $daemon_path "$plist" ; then
- echo rewritting plist
- /usr/bin/sed "s,@BUNDLE_RES@,$bundle_res," $plist.in > $plist
- fi
- echo launching session dbus
- launchctl load $bundle_res/Library/LaunchAgents/org.freedesktop.dbus-session.plist
-fi
-
#Note that we're calling $PYTHON here to override the version in
#pygtk-demo's shebang.
-$EXEC $PYTHON "$bundle_contents/Resources/bin/gpodder" "-v"
-
-# unload the session dbus on exit
-if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
- echo unlaunch session dbus
- launchctl unload $bundle_res/Library/LaunchAgents/org.freedesktop.dbus-session.plist
-fi
+$EXEC $PYTHON "$bundle_contents/Resources/bin/gpodder" $*
View
5 gpodder-bundle/postproc.sh
@@ -1,10 +1,5 @@
#!/bin/sh
-rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/distutils
-rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/idlelib
-rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/lib-tk
-rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/lib2to3
-rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/pydoc-data
rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/test
rm -Rf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/unittest
rm -Rvf ~/Desktop/gPodder.app/Contents/Resources/lib/python2.7/*/test
View
114 gpodder-gtk-osx-application.diff
@@ -1,38 +1,40 @@
---- src/gpodder/gtkui/main.py.orig 2011-11-08 20:25:04.000000000 +0100
-+++ src/gpodder/gtkui/main.py 2011-11-08 20:30:18.000000000 +0100
-@@ -35,6 +35,7 @@
+--- master/src/gpodder/gtkui/main.py 2011-11-15 19:23:04.000000000 +0100
++++ me/src/gpodder/gtkui/main.py 2011-11-15 19:29:18.000000000 +0100
+@@ -35,7 +35,6 @@
import urllib
import cgi
-+from gtk_osxapplication import *
-
+-
import gpodder
-@@ -92,7 +93,7 @@
- # Width (in pixels) of episode list icon
- EPISODE_LIST_ICON_WIDTH = 40
+ import dbus
+@@ -85,6 +84,18 @@
+ from gpodder.dbusproxy import DBusPodcastsProxy
+ from gpodder import hooks
-- def __init__(self, bus_name, gpodder_core):
-+ def __init__(self, bus_name, gpodder_core, macapp):
- dbus.service.Object.__init__(self, object_path=gpodder.dbus_gui_object_path, bus_name=bus_name)
- self.podcasts_proxy = DBusPodcastsProxy(lambda: self.channels, \
- self.on_itemUpdate_activate, \
-@@ -104,6 +105,7 @@
- self.config = self.core.config
- self.db = self.core.db
- self.model = self.core.model
-+ self.macapp = macapp
- BuilderWidget.__init__(self, None)
-
- def new(self):
-@@ -134,28 +136,20 @@
++
++macapp = None
++if gpodder.osx and getattr(gtk.gdk, 'WINDOWING', 'x11') == 'quartz':
++ try:
++ from gtk_osxapplication import *
++ macapp = OSXApplication()
++ except ImportError:
++ print >> sys.stderr, """
++ Warning: gtk-mac-integration not found, disabling native menus
++ """
++
++
+ class gPodder(BuilderWidget, dbus.service.Object):
+ # Delay until live search is started after typing stop
+ LIVE_SEARCH_DELAY = 500
+@@ -134,28 +145,21 @@
# Mac OS X-specific UI tweaks: Native main menu integration
# http://sourceforge.net/apps/trac/gtk-osx/wiki/Integrate
- if getattr(gtk.gdk, 'WINDOWING', 'x11') == 'quartz':
- try:
- import igemacintegration as igemi
-
+-
- # Move the menu bar from the window to the Mac menu bar
- self.mainMenu.hide()
- igemi.ige_mac_menu_set_menu_bar(self.mainMenu)
@@ -51,23 +53,25 @@
- print >>sys.stderr, """
- Warning: ige-mac-integration not found - no native menus.
- """
-+ # Move the menu bar from the window to the Mac menu bar
-+ self.mainMenu.hide()
-+ self.macapp.set_menu_bar(self.mainMenu)
-+
-+ # Reparent some items to the "Application" menu
-+ item = self.uimanager1.get_widget('/mainMenu/menuHelp/itemAbout')
-+ self.macapp.insert_app_menu_item(item, 0)
-+ self.macapp.insert_app_menu_item(gtk.SeparatorMenuItem(), 1)
-+ item = self.uimanager1.get_widget('/mainMenu/menuPodcasts/itemPreferences')
-+ self.macapp.insert_app_menu_item(item, 2)
-+
-+ quit_item = self.uimanager1.get_widget('/mainMenu/menuPodcasts/itemQuit')
-+ quit_item.hide()
++ if macapp is not None:
++ # Move the menu bar from the window to the Mac menu bar
++ self.mainMenu.hide()
++ macapp.set_menu_bar(self.mainMenu)
++
++ # Reparent some items to the "Application" menu
++ item = self.uimanager1.get_widget('/mainMenu/menuHelp/itemAbout')
++ macapp.insert_app_menu_item(item, 0)
++ macapp.insert_app_menu_item(gtk.SeparatorMenuItem(), 1)
++ item = self.uimanager1.get_widget('/mainMenu/menuPodcasts/itemPreferences')
++ macapp.insert_app_menu_item(item, 2)
++
++ quit_item = self.uimanager1.get_widget('/mainMenu/menuPodcasts/itemQuit')
++ quit_item.hide()
++ # end Mac OS X specific UI tweaks
self.download_status_model = DownloadStatusModel()
self.download_queue_manager = download.DownloadQueueManager(self.config)
-@@ -2443,6 +2437,13 @@
+@@ -2445,6 +2449,13 @@
self.close_gpodder()
return True
@@ -81,7 +85,7 @@
def close_gpodder(self):
""" clean everything and exit properly
-@@ -2458,7 +2459,6 @@
+@@ -2460,7 +2471,6 @@
self.core.shutdown()
self.quit()
@@ -89,35 +93,17 @@
def get_expired_episodes(self):
for channel in self.channels:
-@@ -3352,7 +3352,10 @@
- dlg.destroy()
- sys.exit(0)
+@@ -3362,9 +3372,12 @@
-- gp = gPodder(bus_name, core.Core(UIConfig, model_class=Model))
-+ macapp = OSXApplication()
-+
-+
-+ gp = gPodder(bus_name, core.Core(UIConfig, model_class=Model), macapp)
-
- # Handle options
- if options.subscribe:
-@@ -3363,6 +3366,8 @@
- if platform.system() == 'Darwin':
+ # mac OS X stuff :
+ # handle "subscribe to podcast" events from firefox
+- if platform.system() == 'Darwin':
++ if gpodder.osx:
from gpodder.gtkui import macosx
macosx.register_handlers(gp)
-+ macapp.connect("NSApplicationBlockTermination", gp.quit_cb)
-+ macapp.ready()
++ if macapp is not None:
++ macapp.connect("NSApplicationBlockTermination", gp.quit_cb)
++ macapp.ready()
# end mac OS X stuff
gp.run()
---- src/gpodder/util.py.orig 2011-11-08 20:34:52.000000000 +0100
-+++ src/gpodder/util.py 2011-11-08 20:35:30.000000000 +0100
-@@ -1144,6 +1144,8 @@
- try:
- if gpodder.win32:
- os.startfile(filename)
-+ elif platform.system() == 'Darwin':
-+ subprocess.Popen(['open', filename])
- else:
- subprocess.Popen(['xdg-open', filename])
- return True
View
127 mymodules.modules
@@ -7,8 +7,8 @@
<repository type="tarball" name="effbot"
href="http://effbot.org/downloads/"/>
- <repository type="tarball" name="gpodder"
- href="http://gpodder.org/"/>
+ <repository type="git" name="github"
+ href="git://github.com/"/>
<repository type="tarball" name="feedparser"
href="http://feedparser.googlecode.com/files/"/>
@@ -18,15 +18,29 @@
href="http://dbus.freedesktop.org/releases/"/>
<repository type="tarball" name="xmlsoft.org"
href="ftp://xmlsoft.org/"/>
-<repository type="tarball" name="webkitgtk.org"
+ <repository type="tarball" name="webkitgtk.org"
href="http://webkitgtk.org/"/>
+ <repository type='tarball' name='ftp.gnu.org' href="ftp://ftp.gnu.org/gnu/"/>
+ <repository type='tarball' name='ftp.gnupg.org' href="ftp://ftp.gnupg.org/" />
+ <repository type='tarball' name='libproxy.google.com'
+ href='http://libproxy.googlecode.com/files/'/>
+ <repository type='tarball' name='pywebkitgtk'
+ href='http://pywebkitgtk.googlecode.com/files/'/>
+ <repository type="tarball" name="webkit.org"
+ href="http://www.webkitgtk.org/"/>
+ <repository type="tarball" name="ftp.gnome.org"
+ href="http://ftp.gnome.org/pub/GNOME/sources/"/>
+ <repository type="tarball" name="icu-project.org"
+ href="http://download.icu-project.org/files"/>
- <autotools id="gpodder" skip-autogen="true" skip-configure="true" checkoutdir="gpodder-3.0.0">
- <branch repo="gpodder" module="src/gpodder-3.0.0.tar.gz" md5sum="a6137625e21c494e04c96e5735f51128"
- sha1sum="32644629f534aaa33a13e3c1bc08f5fb2fcc07ac"
- version="3.0.0">
- <patch file="gpodder-gtk-osx-application.diff" strip="0"/>
+ <autotools id="gpodder" skip-autogen="true" skip-configure="true">
+ <branch repo="github" module="gpodder/gpodder.git" checkoutdir="gpodder"
+ tag="gpodder-3.0.1">
</branch>
+ <!-- can't have patches with git ? -->
+ <patches>
+ <patch file="gpodder-gtk-osx-application.diff" strip="1"/>
+ </patches>
<dependencies>
<dep package="pil"/>
<dep package="feedparser"/>
@@ -103,7 +117,7 @@
hash="sha256:432464d8c9bd8060d9c1fdef1cfa75803c1a363ceac20b21f8c7e34e056e5a98"
md5sum="8f4fda3969237c2a33bdb1583b5d06b2" size="4789450"/>
</autotools>
-
+<!--
<autotools id="WebKit" makefile="GNUmakefile">
<branch repo="webkitgtk.org"
module="webkit-1.6.1.tar.gz" version="1.6.1"
@@ -122,8 +136,103 @@
<dep package="gst-plugins-base"/>
<dep package="enchant"/>
</suggests>
+ </autotools>-->
+
+ <autotools id="libgcrypt" autogen-sh="configure" autogenargs="--disable-asm">
+ <branch repo='ftp.gnupg.org' version='1.5.0'
+ module='gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2'/>
+ <dependencies>
+ <dep package="libgpg-error" />
+ </dependencies>
+ </autotools>
+
+ <autotools id="libtasn1" supports-non-srcdir-builds="no"
+ autogen-sh="configure">
+ <branch repo="ftp.gnu.org" version='2.9'
+ module="libtasn1/libtasn1-2.9.tar.gz"/>
+ </autotools>
+
+ <autotools id="gnutls" autogen-sh="configure" autogenargs="--with-libgcrypt --without-p11-kit">
+ <branch repo='ftp.gnu.org' version='2.12.11'
+ module="gnutls/gnutls-2.12.11.tar.bz2"/>
+ <dependencies>
+ <dep package="libgcrypt" />
+ <dep package="libtasn1" />
+ <dep package="zlib"/>
+ <!--dep package="opencdk" / -->
+ </dependencies>
+ </autotools>
+ <cmake id='libproxy' cmakeargs="-DWITH_PYTHON=OFF">
+ <branch version='0.4.7' module='libproxy-0.4.7.tar.gz'
+ repo='libproxy.google.com'>
+ <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/libproxy-Bug-052-POSIX_C_SOURCE.patch" strip="1"/>
+ <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/0001-Bug-168-libproxy-pc-file.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="cmake"/>
+ </dependencies>
+ </cmake>
+
+ <autotools id="glib-networking" autogen-sh="configure"
+ autogenargs="--without-ca-certificates">
+ <branch repo="ftp.gnome.org" module="glib-networking/2.28/glib-networking-2.28.7.tar.bz2"
+ version="2.28.7" hash="sha256:98bedfbd530c4b1b53c91025fe82290bafd289d249e4eb549c3b90d23a76021c"/>
+ <dependencies>
+ <dep package="gnutls"/>
+ <dep package="libgcrypt"/>
+ </dependencies>
</autotools>
+ <autotools id="libsoup" autogen-sh="configure" autogenargs="">
+ <branch repo="ftp.gnome.org" module="libsoup/2.34/libsoup-2.34.3.tar.bz2"
+ version="2.34.3" md5sum="7112d198724f8d29fac4647ef400e39b" />
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="gnutls"/>
+ <dep package="glib-networking"/>
+ <!-- <dep package='gconf'/> -->
+ <dep package="libgnome-keyring"/>
+ <dep package="libproxy"/>
+ <dep package='sqlite'/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="icu" autogen-sh="configure" autogenargs="">
+ <branch repo="icu-project.org" module="files/icu4c/4.8.1/icu4c-4_8_1-src.tgz" checkoutdir="icu" source-subdir="source"
+ version="4.8.1" md5sum="af36f635271a239d76d038d6cf8da8df" />
+ </autotools>
+
+ <autotools id="WebKit" autogen-sh="configure"
+ autogenargs="--with-target=quartz --disable-video --with-font-backend=pango --enable-jit=no --enable-introspection=no">
+ <branch repo="webkit.org" module="webkit-1.2.7.tar.gz" version="1.2.7">
+ <!-- 10.4 only <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-JavascriptCore-wtf-FastMalloc.cpp.diff" strip="0"/> -->
+ <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-gtkxtbin.c.diff" strip="0"/>
+ <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-PluginViewGtk.cpp.diff" strip="0"/>
+ <!-- <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-TextBreakIterator.diff" strip="0"/> -->
+ <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-WebCore-config-h.diff" strip="0"/>
+ <patch file="http://trac.macports.org/export/87125/trunk/dports/www/webkit-gtk/files/patch-WebKitTools-DumpRenderTree-gtk-TestNetscapePlugin-TestNetscapePlugin.cpp.diff" strip="0"/>
+ </branch>
+ <dependencies>
+ <dep package="libsoup" />
+ <dep package="enchant" />
+ <dep package="icu" />
+ <dep package="libxslt" />
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-core"/>
+ <dep package="libcurl"/>
+ <dep package="bison"/>
+ </after>
+ </autotools>
+
+ <autotools id="pywebkitgtk" autogen-sh="configure" autogenargs="">
+ <branch repo="pywebkitgtk" module="pywebkitgtk-1.1.8.tar.bz2"
+ version="1.1.8" sha1sum="b7005c8bedd215032498dec543d937dd323d35da" />
+ <dependencies>
+ <dep package="webkitgtk"/>
+ <dep package="pygtk"/>
+ </dependencies>
+ </autotools>
<!-- not needed here : it's in bootstrap
<autotools id="libxml2" autogen-sh="configure">
<branch version="2.7.8" module="libxml2-2.7.8.tar.gz"

No commit comments for this range

Something went wrong with that request. Please try again.