From 3fb30d8181d5285a2d8d664d449c325f6e928a35 Mon Sep 17 00:00:00 2001 From: Marcin Nowicki Date: Sun, 5 Apr 2015 10:12:22 +0200 Subject: [PATCH 1/2] Add osx support to install with homebrew. --- setup.py | 3 +++ .../icons/youtube-dl-gui_512x512.icns | Bin 0 -> 36877 bytes 2 files changed, 3 insertions(+) create mode 100644 youtube_dl_gui/icons/youtube-dl-gui_512x512.icns diff --git a/setup.py b/setup.py index dc172d2..b712f42 100644 --- a/setup.py +++ b/setup.py @@ -128,6 +128,9 @@ def normal_setup(): set_locale_files(data_files) params = {'data_files': data_files} + elif sys.platform == 'darwin': + create_scripts() + params = {'data_files': data_files, 'scripts': ['build/_scripts/youtube-dl-gui']} else: # Create all the hicolor icons for index, size in enumerate(ICONS_SIZES): diff --git a/youtube_dl_gui/icons/youtube-dl-gui_512x512.icns b/youtube_dl_gui/icons/youtube-dl-gui_512x512.icns new file mode 100644 index 0000000000000000000000000000000000000000..c60490cfed19c21e45b2f7941392602ee19160be GIT binary patch literal 36877 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 Date: Mon, 25 May 2015 14:18:38 +0200 Subject: [PATCH 2/2] Add osx app creation. --- osx/Info.plist | 18 ---------- osx/PkgInfo | 1 - osx/empty.lproj | 0 setup.py | 34 ++++++++++++++---- .../icons/osx}/YoutubeDlGui.icns | Bin .../icons/youtube-dl-gui_512x512.icns | Bin 36877 -> 0 bytes 6 files changed, 28 insertions(+), 25 deletions(-) delete mode 100644 osx/Info.plist delete mode 100644 osx/PkgInfo delete mode 100644 osx/empty.lproj rename {osx => youtube_dl_gui/icons/osx}/YoutubeDlGui.icns (100%) delete mode 100644 youtube_dl_gui/icons/youtube-dl-gui_512x512.icns diff --git a/osx/Info.plist b/osx/Info.plist deleted file mode 100644 index 5d16c4a..0000000 --- a/osx/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - CFBundleIconFile - YoutubeDlGui.icns - CFBundlePackageType - APPL - CFBundleGetInfoString - Download your youtube videos via GUI - CFBundleSignature - ???? - CFBundleIdentifier - com.github.youtube-dl-gui - CFBundleExecutable - YoutubeDlGui - - diff --git a/osx/PkgInfo b/osx/PkgInfo deleted file mode 100644 index 6f749b0..0000000 --- a/osx/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? diff --git a/osx/empty.lproj b/osx/empty.lproj deleted file mode 100644 index e69de29..0000000 diff --git a/setup.py b/setup.py index a75d112..673e267 100644 --- a/setup.py +++ b/setup.py @@ -24,6 +24,15 @@ if PY2EXE: print error sys.exit(1) +PY2APP = len(sys.argv) >= 2 and sys.argv[1] == 'py2app' + +if PY2APP: + try: + import py2app + except ImportError as error: + print error + sys.exit(1) + from distutils.core import setup from distutils.sysconfig import get_python_lib @@ -59,7 +68,9 @@ LOCALE_PATH = os.path.join('youtube_dl_gui', 'locale') PY2EXE_LOCALE_DIR = 'locale' WIN_LOCALE_DIR = os.path.join(get_python_lib(), 'youtube_dl_gui', 'locale') LINUX_LOCALE_DIR = '/usr/share/{app_name}/locale/'.format(app_name=__appname__.lower()) -OSX_LOCALE_DIR = '/usr/local/Cellar/youtube-dl-gui/{version}/share/locale'.format(version=__version__) +OSX_PREFIX = '/usr/local/Cellar/youtube-dl-gui/{version}'.format(version=__version__) +OSX_LOCALE_DIR = '{prefix}/share/locale'.format(prefix=OSX_PREFIX) +OSX_APP = '{prefix}/YoutubeDlGui.app'.format(prefix=OSX_PREFIX) def create_scripts(): @@ -127,6 +138,18 @@ def py2exe_setup(): return params +def py2app_setup(): + data_files = [] + create_scripts() + set_locale_files(data_files) + params = { + 'data_files': data_files, + 'app': ['build/_scripts/youtube-dl-gui'], + 'setup_requires': ['py2app'], + 'options': {'py2app': {'argv_emulation': True, 'iconfile': 'youtube_dl_gui/icons/osx/YoutubeDlGui.icns'}}, + } + + return params def normal_setup(): data_files = list() @@ -138,10 +161,6 @@ def normal_setup(): set_locale_files(data_files) params = {'data_files': data_files} - elif sys.platform == 'darwin': - create_scripts() - set_locale_files(data_files) - params = {'data_files': data_files, 'scripts': ['build/_scripts/youtube-dl-gui']} else: # Create all the hicolor icons for index, size in enumerate(ICONS_SIZES): @@ -165,7 +184,10 @@ def normal_setup(): if PY2EXE: params = py2exe_setup() else: - params = normal_setup() + if PY2APP: + params = py2app_setup() + else: + params = normal_setup() setup( diff --git a/osx/YoutubeDlGui.icns b/youtube_dl_gui/icons/osx/YoutubeDlGui.icns similarity index 100% rename from osx/YoutubeDlGui.icns rename to youtube_dl_gui/icons/osx/YoutubeDlGui.icns diff --git a/youtube_dl_gui/icons/youtube-dl-gui_512x512.icns b/youtube_dl_gui/icons/youtube-dl-gui_512x512.icns deleted file mode 100644 index c60490cfed19c21e45b2f7941392602ee19160be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36877 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