macOS distributions

Author(s): Rémy Haemmerlé, The Ciao Development Team.

Building Mac packages

Requirements (mac)

These are the main prerequisites for the build process to succeed:

  • A user account with enough free space (at least twice that necessary for a compiled local repository for package generation).
  • A local Ciao repository with binaries and documentation already generated.
  • A working installation of Ciao.
  • Apple's Xcode 3.0 Developer Tools (for package generation only).

The usual Ciao software requirements also apply, the build process should complain if anything is missing.

Instructions (mac)

  • ./ciao-boot.sh gen_pbundle --kind=macport
  • ./ciao-boot.sh gen_pbundle --kind=pkg

./ciao-boot.sh gen_pbundle --kind=macport produces a MacPorts Portfile which depends on a source tgz distribution. If the tarball is available in the package directory the command will automatically produce it. Notice that because the portfile includes a checksum of the tarball source distribution it is dependent on this archive. Since macports are used online the tarball used to produce the portfile should be the same as the one available online on the Ciao website.

./ciao-boot.sh gen_pbundle --kind=pkg produces a pkg (i.e., a standard "Managed Install" MacOs Package) wrapped into a dmg image disk. This command assumes that binaries and documentation have been locally built using correct configure options.

Packager's maintenance guide (mac)

The system comprises a skeleton for the MacPorts Portfile (Portfile.skel) that should be updated in case of changes in ciao_builder's commands and options but also in case of changes in the Ciao website.

Since the MacPorts Portfile includes the electronic address where the tarball source distribution resides (on the Ciao website) then any change in the architecture of the website should be reflected here.


Usage and interface

  • Library usage:
    :- use_module(ciaobld(pbundle_gen_mac)).

Documentation on multifiles

No further documentation available for this predicate. The predicate is multifile.

Acknowledgments

This builds the Ciao Macport Portfile and Mac pkg installers. Thanks to Edison Mera for his support.