1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2024-10-31 22:05:58 +00:00
Go to file
Virgil Dupras e6e4e14781 Centralized version information in core_* package so that they only live at one place (instead of several).
--HG--
rename : cocoa/me/Info.plist => cocoa/me/InfoTemplate.plist
rename : cocoa/pe/Info.plist => cocoa/pe/InfoTemplate.plist
rename : cocoa/se/Info.plist => cocoa/se/InfoTemplate.plist
2011-01-13 11:29:01 +01:00
cocoa Centralized version information in core_* package so that they only live at one place (instead of several). 2011-01-13 11:29:01 +01:00
core Replaced dependencies from hsutil to hscommon. 2011-01-11 13:36:05 +01:00
core_me Centralized version information in core_* package so that they only live at one place (instead of several). 2011-01-13 11:29:01 +01:00
core_pe Centralized version information in core_* package so that they only live at one place (instead of several). 2011-01-13 11:29:01 +01:00
core_se [#130 state:fixed] Converted help file to Sphinx. 2011-01-12 17:30:57 +01:00
debian_me Fixed debian packaging. 2010-10-05 02:02:02 -07:00
debian_pe Fixed debian packaging. 2010-10-05 02:02:02 -07:00
debian_se Fixed debian packaging. 2010-10-05 02:02:02 -07:00
help [#130 state:fixed] Converted help file to Sphinx. 2011-01-12 17:30:57 +01: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 Centralized version information in core_* package so that they only live at one place (instead of several). 2011-01-13 11:29:01 +01:00
.hgignore [#130 state:fixed] Converted help file to Sphinx. 2011-01-12 17:30:57 +01:00
.hgtags Added tag se2.12.3 for changeset 0056293b0dad 2011-01-01 13:32:54 +01:00
build.py Centralized version information in core_* package so that they only live at one place (instead of several). 2011-01-13 11:29:01 +01:00
configure.py Removed dependencies for yaml everywhere except for the documentation generation (it's going to be converted to sphinx). 2011-01-11 16:21:36 +01:00
LICENSE Re-licensed to BSD 2010-09-30 12:17:41 +02:00
package.py Removed dependencies for yaml everywhere except for the documentation generation (it's going to be converted to sphinx). 2011-01-11 16:21:36 +01:00
README [#130 state:fixed] Converted help file to Sphinx. 2011-01-12 17:30:57 +01:00
run_template_cocoa.py Replaced the use of runpy for running Qt by a simple subprocess call. runpy would cause weird QTimer warnings. 2010-10-05 09:27:32 +02:00
run_template_qt.py Adapted to the job-related code moving to the 'jobprogress' package. 2010-11-20 12:42:15 +01:00

Contents
=====

This package contains the source for dupeGuru. To learn 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.
- images: Images used by the different UI codebases.
- debian_*: Skeleton files required to create a .deb package
- help: Help document, written for Sphinx.

There are also other sub-folder that comes from external repositories (automatically checked out
with as mercurial subrepos):

- 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/send2trash)
- hsaudiotag3k 1.1.0 (for ME) (http://hg.hardcoded.net/hsaudiotag)
- jobprogress (http://hg.hardcoded.net/jobprogress)
- Sphinx 1.0.6 (http://sphinx.pocoo.org/)
- pytest 2.0.0, to run unit tests. (http://pytest.org/)

Note: Sphinx doesn't officially support Python 3.x yet, but it doesn't matter because it is invoked
by the build system through command line, so you can build dupeGuru even if Sphinx is installed in
your Python 2.x install.

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://bitbucket.org/ronaldoussoren/py2app)

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