Una formula di fermentazione è un file di Ruby ( .rb
) che contiene le opzioni di compilazione all'interno. brew install|reinstall
di Homebrew consente di specificare un URL invece del nome di una formula, in modo che i flag di compilazione possano essere aggiunti a una copia online della formula e ospitati su un servizio come gist.github.com .
Ecco un esempio di file ruby con un'opzione di compilazione sovrascritta.
def install
args = std_cmake_args
# OVERRIDE: Force cmake to use debug flags
args << "-DCMAKE_BUILD_TYPE=Debug"
system "cmake", ".", *args
end
std_cmake_args
, definito nell'interneal% co_de di Homebrew è una variabile interna a tutta la formula Homebrew formula.rb
e fornisce valori predefiniti sane a ogni build cmake
prima di aggiungere ulteriori argomenti.
Questo esempio usa cmake
, ogni progetto avrà i propri strumenti di compilazione e quindi potenzialmente diverse tecniche per aggiungere bandiere compilate. Ad esempio, per dire a cmake
di usare i flag di debug, è cmake
Dopo che queste modifiche sono state apportate al file args << "-DCMAKE_BUILD_TYPE=Debug"
e ospitato online, puoi reinstallare il pacchetto con le nuove opzioni utilizzando l'opzione della riga di comando .rb
.
brew reinstall --build-from-source https://<path to formula>.rb
-
ATTENZIONE : se utilizzi --build-from-source
, nota che la versione "Raw" è l'URL che desideri. In caso contrario, tenterà di installare l'HTML (ad esempio l'anteprima del codice) della pagina, che non funzionerà. :)
-
ATTENZIONE : ricorda che questo reinstallerà il pacchetto specificato nella directory Homebrew con i flag di debug, quindi la vecchia versione "release" o "ottimizzata" non sarà più disponibile. Quindi ricorda di reinstallare la versione non di debug utilizzando la tecnica standard gist.github.com
una volta completata la risoluzione dei problemi, altrimenti avrai una versione di debug di una libreria sul tuo computer fino a quando non verrà aggiornata manualmente. :)