Steps for Packaging on Mac.
Making the core emergent package
There are two separate packaging steps: emergent itself, and then all the dependencies. Try to keep the depends the same!
- update and run the
svn_to_changelog.shscript to generate change logs from svn commit messages.
- if the year has changed, run
emergent --copyrightifyin a src directory (cd src/temt/ta_core first)
very important: need to build with proper command flags for given OSX version, and remove the "native" options that may not work for all CPU's
export CXXFLAGS=-mmacosx-version-min=10.10 export CFLAGS=-mmacosx-version-min=10.10 ./configure qt5 webkit not-native cd build make sudo /bin/rm -rf /usr/local/share/Emergent sudo make install sudo chown oreilly install_manifest.txt # this gets owned by root during install make package
It makes a full dmg with the version name. Typically need to add the cpu version (64), in copying up to grey ftp.
Also, don't forget to make a tag of the release (see Subversion admin):
svn copy -r REVISION https://grey.colorado.edu/svn/emergent/emergent/trunk https://grey.colorado.edu/svn/emergent/emergent/tags/VERSION
make_dmg.sh # makes a .dmg file from a directory make_dmg_pkg.sh # makes a .dmg file from a .pkg file # specific packages: cmake_pkgbuild.sh # we make our own because the current package is just a "copy to Applications" kind of thing coin_pkgbuild.sh misc_libs_pkgbuild.sh # includes ode, gsl, jpeg, sndfile ode_pkgbuild.sh # don't use regularly -- misc_libs instead qt_pkgbuild.sh # we make our to put in a specific, known dir (qt installer defaults to home, and requries reg) quarter_pkgbuild.sh
The magic install script is in
emergent_install_mac_deps -- edit the .sh file in there to specify the proper names of the .dmg files on the ftp site to download.
To package the install script, just do:
make_dmg.sh emergent_install_mac_deps cp emergent_install_mac_deps.dmg emergent_install_mac_deps-<version>.dmg
and then copy that up to grey
/Applications/Utilities/ScriptEditor to edit the .app itself
OLD packaging script
OLD: This is when everything was one big package -- could potentially revive that script tho..
Run the following commands to make the packages:
svn co http://grey.colorado.edu/svn/emergent/emergent/trunk/package ~/package cd ~/package ./BuildEmergent-mac.sh
- The script does all the compilation and packaging and scp's the packages to your home directory on grey.
- It also creates an svn tag linking the svn revision to the build version number.
- To make a 32-bit build, a 32-bit VM is necessary. Follow all above steps, and make sure to enter 32 instead of the default 64 when the build script prompts.