|
NeoOffice Build Instructions
From NeoWiki
Contents |
Building and Developing NeoOffice
Supplemental information about building NeoOffice and the NeoOffice development process
Build Instructions
Patrick Luby maintains the NeoOffice build instructions at http://www.planamesa.com/neojava/build.php.
Because building NeoOffice requires building OpenOffice.org/X11, you might find the OpenOffice.org 2.0.x for Mac OS X build instructions helpful. The latest NeoOffice 2.0 build configuration information can be found by selecting the "download" link for the most current revision of neojava/README.txt in cvsweb.
Prerequisites
See the official build instructions and, for NeoOffice 2.0 builds, the latest neojava/README.txt file in cvsweb.
Note that while the minimum disk space requirements are 5.5 GB, for a full NeoOffice 2.0 build with all languages, you will need about 14 GB of disk space available (more for temp files).
Getting Help
Archives of the mac@porting.openoffice.org mailing list are useful; you can search them for errors you encounter.
You can also post questions in the NeoOffice Development forum on trinity (and search it for errors), but be aware that the NeoOffice developers consider the process of compiling OpenOffice.org (even as a subset of NeoOffice) as a "trial by fire" and little hand-holding is available.
Experience has shown that those who are unable to work through the OpenOffice.org build will be unable to do the debugging and other work necessary when fixing an existing bug in OpenOffice.org or NeoOffice or adding new code/features. (Such "hand-holding" also cuts into the limited time the volunteer developers have to fix actual bugs and improve Mac OS X integration.)
Building OpenOffice.org on the Mac (and by extension NeoOffice) is often difficult because there is always some change to the code for Linux or Windows that makes OOo no longer buildable on Mac OS X. Sun's engineers do not build on Mac OS X so changes for Windows or Linux can easily break the build on Mac OS X and go undetected. Also, Sun routinely does not merge Mac OS X fixes into the next build. A patch may be integrated in the OOo 1.1.3 code but then not merged into the OOo 1.1.4 code, and fixes from the OOo 1.1.x codeline will not appear in the OOo 2.x codeline.
Source Code
NeoOffice source code is available as a tarball on the latest release or milestone disk image. The very latest code is always available in cvs (anoncvs syncs with the secure master repository every three hours beginning at 12:00 AM Pacific [PST/PDT] time).
You can also browse the NeoOffice source online.
CVS tags
for use in the cvs checkout commands in the NeoOffice Build Instructions; in the format tag modulename
A "release" tag checks out the code of a full release or milestone version (e.g., NeoOffice 1.2 Alpha) as available on planamesa.com but does not include any subsequent patches or bugfixes. A "stable branch" tag will check out the latest code for an active branch, including any code delivered in any released patches and any code recently committed to fix bugs (a "stable branch" that is current may have future milestones or releases based on it, e.g. the 1.2 Branch will be the basis of NeoOffice 1.2 Beta and NeoOffice 1.2 "final", and perhaps even a "point" release like NeoOffice 1.2.1, at some point). A "development" tag is the site of ongoing future development and may not even build yet. You can find additional "legacy" tags by browsing cvsweb.
Current
Release (NeoOffice 2.0 Aqua Beta): NeoOffice-2_0_Aqua_Beta NeoOffice
Stable Branch (2.0 Alpha 4 Branch): NeoOffice-2_0_Alpha_4_branch NeoOffice
Development (ongoing Aqua Beta widget work and bug-fixing): HEAD NeoOffice
Legacy
Release (NeoOffice 1.2.2): NeoOffice-1_2_2 NeoOffice
Stable Branch (1.2 Branch): NeoOffice-1_2_branch NeoOffice
Development (none currently):
Build Matrix
Build Host Neo Version | 10.3.9 | 10.4.x PPC | 10.4.x Intel |
---|---|---|---|
NeoOffice 1.2.x | gcc 3.3 Xcode 1.5 official builds | gcc 4.0.1 Xcode 2.2.1 | Will not build |
NeoOffice 2.0 | gcc 3.3 Xcode 1.5 official builds | gcc 4.0.1 Xcode 2.2.1 | gcc 4.0.1 Xcode 2.2.1 official builds |
Forum Threads
The following threads or posts from trinity may contain useful tips for beginners wishing to build NeoOffice:
- Along those lines, the NeoOffice developers also build the OpenOffice.org dependencies themselves rather than relying on Fink or DarwinPorts.
- N.B. the above threads apply to the NeoOffice/J 1.1 release; the build requirements have changed slightly beginning with NeoOffice 1.2 Alpha.
- These changes have all been committed to HEAD and the NeoOffice 1.2 Alpha codebase, but there are some helpful tips about the NeoOffice build system and cvs in the later pages of the thread.
- More explanation of the Neo build system
- Brief Q&A on how the Neo build system works and how to study it
- Another build system tip
- More cvs tips: [1], [2], [3]
- How to update your build when NeoOffice moves from one OOo version to another
- building HEAD/NeoOffice 2.0 on 10.3.9
- progress of NeoOffice 2.0 builds
- excising the “NeoOffice†trademark from your build
Development Plans
For reference, the current (late 2005-2006) development plans are roughly outlined in this thread.
You can also check the bugs marked New/Deferred in Bugzilla to see specific items the developers plan on implementing as time and resources permit.
Ed Peterlin also maintains a set of specifications for adding Mac-specific features (or, things he'd like to add, if he ever gets time after adding Aqua widgets!).
Other Tasks
Help is always welcome in debugging and fixing existing bugs; check the Unconfirmed and Reopened bugs (the Assigned ones are generally being worked upon by the developer in question). For more information about working in the NeoOffice Bugzilla, see the Life-cycle of a Bug section of the Bugzilla Guide.
Legacy Builds
If you want to build NeoOffice 1.2.x, the following information may be helpful:
- OpenOffice.org 1.1.x for Mac OS X build instructions
- Archives of the dev@porting.openoffice.org mailing list are useful; you can search them for errors you encounter.
N.B. Distribution of non-current versions NeoOffice is prohibited by the NeoOffice CD Distribution & Trademark Usage Policy if the software is branded as “NeoOfficeâ€.