Go to file
Virgil Dupras 5c0799e82b me v5.8.0 2010-04-14 09:37:36 +02:00
cocoa me v5.8.0 2010-04-14 09:37:36 +02:00
core [#4 state:fixed] Filters are now applied on the whole file path. 2010-04-13 11:40:20 +02:00
core_me [#85 state:fixed] Fixed crash when sorting by Words Used after a Contents scan. 2010-02-05 17:47:17 +01:00
core_pe Added a dialog giving more information about the causes of problems during operations. 2010-04-12 12:21:01 +02:00
core_se [#85 state:fixed] Fixed crash when sorting by Words Used after a Contents scan. 2010-02-05 17:47:17 +01:00
debian_me Added a missing python-lxml dep to the debian packages. 2010-04-07 09:32:49 -07:00
debian_pe Added a missing python-lxml dep to the debian packages. 2010-04-07 09:32:49 -07:00
debian_se Added a missing python-lxml dep to the debian packages. 2010-04-07 09:32:49 -07:00
help_me me v5.8.0 2010-04-14 09:37:36 +02:00
help_pe Changed the release date for pe 1.8.6, which has been delayed by packaging problems. 2010-04-08 08:35:17 +02:00
help_se se v2.10.0 2010-04-13 11:58:53 +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 me v5.8.0 2010-04-14 09:37:36 +02:00
.hgignore ifdef'd min/max functions when compiled under VC. It seems that VC already defines them. 2010-01-31 11:05:13 +00:00
.hgtags Added tag se2.10.0 for changeset 914902428395 2010-04-13 17:31:36 +02:00
LICENSE Changed copyright year to 2010 2010-01-01 21:11:34 +01:00
README Updated dependencies to include cx_Freeze. 2010-04-08 15:01:21 +02:00
build.py Fixed build script 2010-02-10 00:18:25 -08:00
configure.py Removed the 'build64' option and added a 'dev' configuration to all xcode projects. 2010-02-04 13:45:35 +01:00
package.py Fixed Windows packaging for dgse. 2010-04-13 14:04:15 +01:00
run.py Removed the 'build64' option and added a 'dev' configuration to all xcode projects. 2010-02-04 13:45:35 +01: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):

- hsutil: A collection of helpers used across HS applications.
- hsdocgen: An ad-hoc document generation used across HS project (used for help files)
- hsmedia: A library to read audio file metadata, used in dupeGuru ME.
- 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 2.6 (http://www.python.org)
- Send2Trash (http://hg.hardcoded.net/send2trash)
- lxml, to read and write XML files. (http://codespeak.net/lxml/)
- Mako, to generate help files. (http://www.makotemplates.org/)
- PyYaml, for help files and the build system. (http://pyyaml.org/)
- Nose, to run unit tests. (http://somethingaboutorange.com/mrl/projects/nose/)

OS X prerequisites
-----

- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
- Sparkle (http://sparkle.andymatuschak.org/)
- PyObjC 2.2. (http://pyobjc.sourceforge.net/)
- py2app (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.6 (http://www.riverbankcomputing.co.uk/news)
- Python Imaging Library for dupeGuru PE. (http://www.pythonware.com/products/pil/)
- 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

64-bit on OS X
---

The "release" configuration of dupeGuru's XCode project build with archs "i386 x86_64 ppc". However there are currently problems with py2app and 64 bit. If you want to correctly build 64-bit apps, refer to http://www.hardcoded.net/articles/building-64-bit-pyobjc-applications-with-py2app.htm .