Skip to content
/ clobber Public

A command line application for building Clover.

License

Notifications You must be signed in to change notification settings

Dids/clobber

Repository files navigation

Gitpod ready-to-code

Build Status

Clobber

Clobber is command-line application for building Clover.

Requirements

Note that when you run clobber for the first time, it may prompt you to install JDK, saying javac is missing, but you can safely ignore this prompt.
The reason for this prompt comes from building gettext, so it's an unfortunate side effect that we can't do anything about.

Installation

brew tap Dids/brewery
brew install clobber

You can also install the latest development version:

brew install clobber --HEAD

If you want to use gcc instead of Xcode as the toolchain, install clobber with the following flag:

brew install clobber --with-gcc

Usage

Build the latest version of Clover:

clobber

Build a specific Clover version/revision:

clobber --revision 1234

Build Clover with a different toolchain:

clobber --toolchain GCC53

View all the available options:

clobber --help

Development

Install/build dependencies:

make deps

Run the application:

go run main.go

Run tests:

make test

Creating new buildpkg.sh patches:

  1. Make a copy of buildpkg.sh and name it buildpkg_patched.sh (it can be found in ~/.clobber/src/edk2/Clover/CloverPackage/package)
  2. Make the required changes to buildpkg_patched.sh
  3. Create a new patch with the following command:

    diff -Naru ~/.clobber/src/edk2/Clover/CloverPackage/package/buildpkg.sh ~/.clobber/src/edk2/Clover/CloverPackage/package/buildpkg_patched.sh > patches/buildpkg.patch

Creating new ebuild.sh patches:

  1. Make a copy of ebuild.sh and name it ebuild_patched.sh (it can be found in ~/.clobber/src/edk2/Clover)
  2. Make the required changes to ebuild_patched.sh
  3. Create a new patch with the following command:

    diff -Naru ~/.clobber/src/edk2/Clover/ebuild.sh ~/.clobber/src/edk2/Clover/ebuild_patched.sh > patches/ebuild.patch

License

See LICENSE.