2014-11-24 39 views
9

Stiamo sviluppando runscripts e proviamo a supportare qualcosa come brew install runscripts.Come pacchettizzare progetto go per l'homebrew

E 'scritto in golang e ha alcune dipendenze che richiedevano go get. Ora non ho idea di scrivere la Formula per configurare GOPATH ed eseguire go get. Il nostro progetto può essere compilato in un binario, ma abbiamo bisogno di run --init per installarlo.

Qualcuno può aiutare a dare un esempio di una formula homebrew di go project?

+0

Docker è in viaggio: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/docker.rb – Matt

+0

Grazie a @Matt. Ho letto 'docker.rb', ma è un po 'complicato. Abbiamo solo bisogno di "andare a prendere" le dipendenze ed eseguire un comando per installarlo. – tobe

risposta

1

Mi riferisco a termshare.rb e sembra che possiamo semplicemente go get e homebrew gestirà qualsiasi cosa su GOPATH per noi.

Questo è fantastico e penso che il mio problema sia risolto.

+0

Il collegamento originale è archiviato (di sola lettura) ma ha ancora un valore, quindi non ho voluto modificarlo. Tuttavia, questo è il collegamento corrente alla formula termshare.rb: https://github.com/Homebrew/homebrew-core/blob/master/Formula/termshare.rb –

-1

Ecco un possibile lavoro intorno creando una directory build all'interno della cassa come GOPATH:

... 
def install 
    system "mkdir -p build/src" 
    system "ln -s `pwd` build/src/repo" 
    system "GOPATH=`pwd`/build go get repo/mytool" 
    bin.install "build/bin/mytool" 
    ... 
end 
... 
2

Fork homebrew, guarda il contenuto di Library/Formula/consul.rb. Non è necessario generare manualmente tutte le risorse. Utilizzare homebrew-go-resources. Un'introduzione più completa potrebbe essere trovata here.