Go to file
Virgil Dupras 31555aa473 Rather than having a run.py file that checks build config at runtime, this file is generated at build time, making it easier to package it. 2010-10-04 15:42:38 +02:00
cocoa se v2.12.1 me v5.10.1 pe v1.11.1 2010-09-30 12:35:40 +02:00
core [#106 state:fixed] Wrapped getJobDesc in a try except in case it isn't defined yet. 2010-10-04 09:40:46 +02:00
core_me [#108 state:fixed] Fixed column mess after the earlier removal of the ctime col. 2010-10-04 10:01:52 +02:00
core_pe [#108 state:fixed] Fixed column mess after the earlier removal of the ctime col. 2010-10-04 10:01:52 +02:00
core_se [#108 state:fixed] Fixed column mess after the earlier removal of the ctime col. 2010-10-04 10:01:52 +02:00
debian_me Fixed debian packaging for ME. 2010-08-20 02:29:51 -07:00
debian_pe Fixed debian packaging for PE. 2010-08-21 08:26:56 -07:00
debian_se Fixed debian packaging for SE under Python 3. 2010-08-17 07:26:46 -07:00
help_me se v2.12.1 me v5.10.1 pe v1.11.1 2010-09-30 12:35:40 +02:00
help_pe se v2.12.1 me v5.10.1 pe v1.11.1 2010-09-30 12:35:40 +02:00
help_se se v2.12.1 me v5.10.1 pe v1.11.1 2010-09-30 12:35:40 +02:00
images dgse cocoa: extracted the pref pane from MainMenu.xib into Preferences.xib, Removed column menu items, which are now generated in the code. other little things. 2009-10-30 12:56:05 +00:00
qt Removed .ui files and made the UI setup "by hand". ui files cause more problems than they solve (UI designer is limited in what it can do). 2010-10-04 15:29:00 +02:00
.hgignore Rather than having a run.py file that checks build config at runtime, this file is generated at build time, making it easier to package it. 2010-10-04 15:42:38 +02:00
.hgtags Added tag before-fairware for changeset 96b6aee66839 2010-09-29 16:11:52 +02:00
LICENSE Re-licensed to BSD 2010-09-30 12:17:41 +02:00
README pe 1.11.0 and me 5.10.0. 2010-09-27 11:56:02 +02:00
build.py Rather than having a run.py file that checks build config at runtime, this file is generated at build time, making it easier to package it. 2010-10-04 15:42:38 +02:00
configure.py Re-licensed to BSD 2010-09-30 12:17:41 +02:00
package.py Re-licensed to BSD 2010-09-30 12:17:41 +02:00
run_template_cocoa.py Rather than having a run.py file that checks build config at runtime, this file is generated at build time, making it easier to package it. 2010-10-04 15:42:38 +02:00
run_template_qt.py Rather than having a run.py file that checks build config at runtime, this file is generated at build time, making it easier to package it. 2010-10-04 15:42:38 +02:00

README

Contents
=====

This package contains the source for dupeGuru. To learns how to build it, refer to the "Build dupeGuru" section. Below is the description of the various subfolders:

- core: Contains the core logic code for dupeGuru. It's Python code written in TDD style.
- core_*: Edition-specific-cross-toolkit code written in Python.
- cocoa: UI code for the Cocoa toolkit. It's Objective-C code.
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt. Before redistributing changes in this part of the code, read the "qt/WARNING" file.
- images: Images used by the different UI codebases.

There are also other sub-folder that comes from external repositories (automatically checked out
with svn:externals):

- hscommon: A collection of helpers used across HS applications.
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.

dupeGuru Dependencies
=====

Before being able to build dupeGuru, a few dependencies have to be installed:

General dependencies
-----

- Python 3.1 (http://www.python.org)
- Send2Trash3k (http://hg.hardcoded.net/send2trash3k)
- hsutil3k (http://hg.hardcoded.net/hsutil3k)
- hsaudiotag3k (for ME) (http://hg.hardcoded.net/hsaudiotag3k)
- Markdown, to generate help files. (http://pypi.python.org/pypi/Markdown)
- PyYaml, for help files and the build system. (http://pyyaml.org/)
- py.test, to run unit tests. (http://codespeak.net/py/dist/test/)

OS X prerequisites
-----

- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
- Sparkle (http://sparkle.andymatuschak.org/)
- PyObjC 2.3. (http://pyobjc.sourceforge.net/)
- py2app 0.5.4 (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)

Windows prerequisites
---

- Visual Studio 2008 (Express is enough) is needed to build C extensions. (http://www.microsoft.com/Express/)
- PyQt 4.7.5 (http://www.riverbankcomputing.co.uk/news)
- cx_Freeze, if you want to build a exe. You don't need it if you just want to run dupeGuru. (http://cx-freeze.sourceforge.net/)
- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/)

Building dupeGuru
=====

First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with:

	python configure.py
	
If you want, you can specify a UI to use with the `--ui` option. So, if you want to build dupeGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `dg_cocoa.plugin` in alias mode and use the "dev" config in XCode).

Then, just build the thing and then run it with:

	python build.py
	python run.py

If you want to create ready-to-upload package, run:

	python package.py