An open API service indexing awesome lists of open source software.

https://github.com/Dids/clobber

A command line application for building Clover.
https://github.com/Dids/clobber

Last synced: about 1 year ago
JSON representation

A command line application for building Clover.

Awesome Lists containing this project

README

          

[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/Dids/clobber)

[![Build Status](https://travis-ci.org/Dids/clobber.svg?branch=master)](https://travis-ci.org/Dids/clobber)

Clobber

Clobber is command-line application for building [Clover](https://sourceforge.net/projects/cloverefiboot/).

### Requirements

- [macOS](https://www.apple.com/lae/macos/) (only tested on macOS High Sierra)
- [Xcode](https://developer.apple.com/xcode/) (available on the App Store)
- [Homebrew](https://brew.sh/)

Note that when you run `clobber` for the first time, it may prompt you to install [JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html), 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](LICENSE).