Skip to content
NeoOffice-2021…
Switch branches/tags
Code

Latest commit

 

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cui
 
 
 
 
 
 
 
 
 
 
etc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
oox
 
 
 
 
 
 
 
 
 
 
sal
 
 
 
 
sax
 
 
sc
 
 
 
 
sd
 
 
 
 
 
 
 
 
sj2
 
 
 
 
 
 
sot
 
 
 
 
 
 
svl
 
 
 
 
svx
 
 
sw
 
 
 
 
ucb
 
 
 
 
 
 
 
 
uui
 
 
vcl
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Intructions for Building NeoOffice
----------------------------------

This git branch - NeoOffice-2021_branch - contains code for building the latest NeoOffice 2022 releases on macOS 11 Big Sur or macOS 12 Monterey on either an Intel or Silicon Mac.

All of the official NeoOffice 2022 releases are built from this branch.

Important: In order to build NeoOffice, all of the steps below must be followed. These steps install several third party tools that are needed by NeoOffice's underlying LibreOffice code. Also, these steps will install the git LFS extension so that several very large files needed by the build can be downloaded from GitHub's LFS repository.

If any third party tools are not installed or the build is run on a different version of macOS or with a different version of Xcode, the build will likely fail.


Steps for building on macOS 11 Big Sur or macOS 12 Monterey
-----------------------------------------------------------

At this time, NeoOffice will only build on macOS 11 Big Sur or macOS 12 Monterey.

1. Make sure that you have downloaded and installed the following dependencies from http://developer.apple.com/ website:

   macOS 11.6.3 Big Sur:
     Xcode v13.2.1
     Command Line Tools for Xcode v13.2

   macOS 12.4 Monterey:
     Xcode v13.4
     Command Line Tools for Xcode v13.4

2. Download and install Oracle's Java 8 Development Kit (JDK) from the following URL:

   http://www.neooffice.org/neojava/javadownload.php

   Important: the build will fail if Oracle's Java 9 or later are installed so be sure to delete such versions from the /Library/Java/JavaVirtualMachines folder before starting the build.

3. If you are building on an Apple Silicon machine, you will need Apple's Rosetta to run Oracle's JDK 1.8 so run the following command to ensure that Rosetta is installed:

   sudo softwareupdate --install-rosetta --agree-to-license

4. Install the following Mac Ports packages by downloading, compiling, and installing the following packages from the http://www.macports.org/ website. Note that you will need download and install the MacPorts package to install the MacPorts "port" command. The "port" command is then used to do the downloading, compiling, and installation of the following packages:

   sudo /opt/local/bin/port install autoconf -x11 +universal
   sudo /opt/local/bin/port install automake -x11 +universal
   sudo /opt/local/bin/port install gnutar -x11 +universal
   sudo /opt/local/bin/port install xz -x11 +universal

   After running the above command, add "/opt/local/bin" to the end of your shell's PATH environment variable so that the build can all of the commands installed by /opt/local/bin/port command in the previous step.

5. Make sure the git LFS extension is installed by downloading git-lfs:

   curl -L -O https://github.com/git-lfs/git-lfs/releases/download/v3.0.2/git-lfs-darwin-amd64-v3.0.2.zip
   mkdir git-lfs-darwin-amd64-v3.0.2 && cd git-lfs-darwin-amd64-v3.0.2 && unzip ../git-lfs-darwin-amd64-v3.0.2.zip && sudo ./install.sh
   git lfs install

6. Download all LFS files from Github's LFS repository:

   cd "<source folder>"
   git lfs fetch
   git lfs checkout

7. Installed the Perl Archive::Zip module using the following command. You may need to run this command more than once as the unit tests may fail the first time that you run it:

   sudo cpan -i Archive::Zip

8. To build the installers, obtain the following types of codesigning certificates from Apple and install the certificates in the macOS Keychain Access application:

   3rd Party Mac Developer Application
   3rd Party Mac Developer Installer
   Developer ID Application
   Developer ID Installer

9. Assign the codesigning certificates obtained in the previous step by copying the "<source folder>/certs.neo.mk" file to "<source folder>/certs.mk". Then, open the "<source folder>/certs.mk" file and replace all of Planamesa Inc.'s certificate names and team ID with your certificate names team ID. Important note: each certificate name assigned in the "<source folder>/certs.mk" file must match the certificate's "Common Name" field in the macOS Keychain Access application.

10. Start the build by invoking the following commands:

   cd "<source folder>"
   make

   A successful build will create the following 3 "<source folder>/build/install*/*.dmg" files:

      "<source folder>/build/install/*.dmg" - Installer for the Mac App Store version
      "<source folder>/build/install2/*.dmg" - Installer for the Viewer version
      "<source folder>/build/install3/*.dmg" - Installer for the Professional Edition version

   Important note: if the build fails in the build.neo_tests make target, uncheck iCloud Drive in the System Preferences iCloud panel and reinvoke the above commands to continue the build.

11. After a successful build, you can optionally build patch installers by invoking the following commands:

   cd "<source folder>"
   make build.all_patches

   A successful build will create the following 3 "<source folder>/build/patch_install*/*.dmg" files:

      "<source folder>/build/patch_install/*.dmg" - Patch installer for the Mac App Store version
      "<source folder>/build/patch_install3/*.dmg" - Patch installer for the Professional Edition version

12. You can notarize the installers using Apple's notarization service by opening the "<source folder>/certs.mk" file that you created and setting the APPLEDEVELOPERID macro to the e-mail of your Apple Developer ID. Then, invoke the following command:

   make build.notarize_all

   If you built patch installers, also invoke the following command:

   make build.notarize_all_patches

13. If you notarized the installers in the previous step and Apple has sent you  an e-mail saving that your installers were successfully notarized, "staple" Apple's notarization to the installers by invoking the following command:

   make build.staple_all

   If you built patch installers, also invoke the following command:

   make build.staple_all_patches

14. There are several make rules to clean build files. To clean only the NeoOffice installers and patch installers execute the following commmand:

    make build.clean_neo_installers

    To clean only the NeoOffice unit tests and preserve the both the LibreoOffice build and custom NeoOffice code build, execute the following commmand:

    make build.clean_neo_tests

    To clean only the custom NeoOffice code and preserve the LibreOffice build, execute the following commmand:

    make build.clean_neo

    To completely clean all build files, execute the following command:

    make build.clean_all