Growl 1.3.1: compiliamolo a partire dai codici sorgenti, con Xcode e Terminale! | Guide iSpazioMac
Riprendiamo a parlare di Growl, comodo e flessibile sistema di notifiche per OS X. Arrivato all’ultima versione e ottenuta la compatibilità con Lion, è finito sul Mac App Store ad una cifra accettabile. L’alternativa che vi avevamo proposto era quella di installare un fork della versione 1.2, stabile e comoda. Ma oggi vogliamo azzardare qualcosa in più.
Poco dopo la stesura di quell’articolo, abbiamo notato come, sebbene la 1.3 ufficiale fosse a pagamento, gli sviluppatori avessero rilasciato gratuitamente il codice sorgente, come hanno sempre fatto. A detta di alcuni utenti, peraltro, l’ultima versione, la 1.3.1, pare non soffrire dei problemi che forse affliggevano la 1.3. Per cui, con un po’ di pazienza, siamo riusciti a compilare correttamente l’applicazione a partire dal codice sorgente, gratuito, ed eseguire il tutto sul nostro Mac, a costo zero.
Partiamo con la guida.
Premessa: chi vi scrive non è un programmatore. Non ho esperienza in compilazione. Questa guida potrebbe avere passaggi inutili e/o scomodi. Il metodo che andrò a spiegare sotto, da me testato, è frutto di diverse prove e ricerche in rete da molteplici fonti. Per quanto infatti siano presenti alcune guide, in inglese, queste danno alcune istruzioni che, a conti fatti, paiono errate, o almeno non mi hanno fatto arrivare alla compilazione dell’applicazione finale. Il procedimento che spiegherò è stato testato personalmente con successo.
Cosa ci occorre:
- Xcode all’ultima versione, scaricato, installato e avviato almeno una volta, per sicurezza. È gratuito ed è disponibile sul Mac App Store.
- Mercurial, tool che estende i comandi impartibili via Terminale. Potete scaricarlo da qui.
- Mac OS X Lion installato.
- Tanta pazienza e una buona dimestichezza con il Terminale. La procedura non sarà breve.
Andiamo ad installare per prima cosa l’utilità Mercurial. Il link, fornito sopra ci porta al download del pacchetto. Selezioniamo quello per Lion. Una volta eseguita l’installazione al suo interno, possiamo andare avanti.
Apriamo una finestra del Terminale e digitiamo, uno alla volta, questi comandi, esattamente come sono scritti:
cd /tmp
hg clone https://code.google.com/p/growl/
Cosa succede: con “hg clone..” abbiamo copiato tutto il codice sorgente dalla fonte che abbiamo digitato, nella cartella tmp del nostro disco rigido. L’operazione impiegherà un po’ di tempo. Alla fine, il Terminale ci notificherà i files aggiunti.
Lasciamo da parte il terminale, ma non chiudiamolo. Apriamo una finestra del Finder, premiamo CMD+SHIFT+G e digitiamo /tmp.
Cerchiamo la cartella Growl. Al suo interno, cerchiamo la cartella xcconfig e apriamo il file Release.xcconfig. Si aprirà un editor di Xcode. Al suo interno, cancelliamo tutta la riga che recita “CODE_SIGN_IDENTITY = 3rd Party Mac Developer Application: The Growl Project, LLC”. Togliamo gli spazi vuoti in eccesso. Il risultato sarà questo:
Salviamo il documento e torniamo al terminale. Digitiamo questi due comandi.
cd growl
open Growl.xcodeproj
Con l’ultimo comando, abbiamo impartito l’ordine di aprire il file “Growl.xcodeproj”, contenuto in /tmp/growl. A questo punto si aprirà Xcode. Non chiudete ancora il terminale!
Prestate attenzione, adesso, perché su Xcode è facile perdersi. Lo screenshot in basso potrebbe aiutarvi: sul lato sinistro, premiamo su Growl. Verranno mostrati dei parametri a destra. Ora, premiamo sulla scheda Build Settings.
Verranno mostrati altri parametri. La prima cosa che dobbiamo fare è, nell’elenco in mezzo all’applicazione, cliccare sul progetto Growl, con l’icona di un foglio blu. Ora muoviamoci sulla destra, nei parametri. Scorriamo un po’ in basso (stranamente a noi il trackpad qui non rispondeva: abbiamo utilizzato i tasti freccia) e cerchiamo la voce Code Signing Identity. Modifichiamo il parametro scegliendo “Don’t code sign”.
Torniamo all’elenco in mezzo allo schermo e cerchiamo tra i Targets la voce Growl.app. Tra i parametri, interveniamo esattamente come abbiamo fatto poco fa.
Se fin qui è tutto a posto, chiudiamo Xcode. Ora, torniamo nel Terminale. L’avete lasciato aperto, vero? (altrimenti riapritelo e digitate “cd /tmp/growl”). Digitiamo questi comandi, sempre uno alla volta.
cd release
CONFIGURATION=Release rake build:growl
Ci metterà un po’ di tempo, all’ultimo comando. Quando saremo sicuri di aver finito, dirigiamoci nuovamente nella cartella /tmp/growl con il Finder.
Muoviamoci qui tra queste cartelle: Release > distribution> build > growl > Release.
Date un’occhiata al suo interno: l’applicazione Growl sarà lì, con la sua caratteristica icona a forma di zampa. Non dobbiamo fare altro che copiarla nelle nostre applicazioni ed eseguirla!
Fatto! Per quanto la procedura sia macchinosa, Growl funzionerà correttamente. L’unico neo sarà quello di non poter aggiornare l’applicazione: dalla 1.3, infatti, gli aggiornamenti di Growl vengono gestiti tramite Mac App Store (ma possiamo benissimo utilizzare questa procedura per compilare l’applicazione a partire dai codici sorgenti più aggiornati).
Possiamo ora cancellare la cartella “growl” da /tmp. Ricordiamo a tutti che comprare l’applicazione dal Mac App Store non solo eliminerà tutta la fatica di installarlo in questa maniera, ma sarà anche un contributo per lo sviluppatore a mantenere costanti gli aggiornamenti. Se siete interessati, potete acquistarlo da qui:
Ribadisco che il metodo è abbastanza “agreste”. Sicuramente un esperto di Xcode e compilazioni riuscirà ad arrivarci in meno passaggi e minor fatica. Questo è il metodo da noi utilizzato per ottenere Growl senza problemi, speriamo vi sia stato d’aiuto!








iMac
MacBook
Mac Pro
Mac Mini
OS X
App Store






Grazie del tutorial, suggerisco di eseguire nel terminale all’inzio questi comandi:
hg clone https://code.google.com/p/growl/
cd growl
hg update maintenance-1.3
l’ultimo comando rende attivo il ramo di sviluppo relativo alla versione 1.3.3
Quindi Simone tu consigli di cambiare solo il primo comando a terminale e poi di proseguire seguendo normalmente la guida?
Grazie
si esatto, l’unica avvertenza è che il comando `hg update maintenance-1.3` va dato prima di qualsiasi operazione di modifica dei file perché va a cambiare i sorgenti di partenza
quindi la sequenza sarebbe
cd /tmp
hg clone https://code.google.com/p/growl/
hg update maintenance-1.3
quindi editing del file Release.xcconfig, aperture del progetto di xcode, ecc… Non ho eseguito tutto il tutorial perché growl lo ho già compilato da un po’, ma più o meno sono le stesse operazioni che avevo fatto tempo fa…
Ultimo trucco, volendo aprire direttamente la cartella /tmp/growl nel finder senza ricorrerre a command-shift-g basta da termpinale dare il comando `open .` (senza le rirgolette) che appunto apre nel finder la cartella “attuale”.
Grazie, Simone, ottimo suggerimento
Grazie mille Simone
Veramente c’è la versione 1.3.3! Sai dirmi se funziona anche con quest’ ultima?
Innanzitutto grazie per la super-guida… “agreste”
Domandina veloce: a parte risparmiare un Eurozzo-E-Mezzo, quali vantaggi si hanno nel piazzarsi “questo” Growl rispetto a quello dell’AppStore? Intendo: i commenti sono praticamente tutti negativi su questa versione 1.3 di Growl…
Nessuno. E’ sempre lo stesso Growl del Mac App Store, semplicemente gli sviluppatori hanno lasciato il codice sorgente opensource (della serie “potete anche ricompilarlo gratis, se ci riuscite!”).
) ma più per mettersi alla prova (almeno, per me è stata una bella sfida capire come arrivarci).
La guida non è fatta tanto per risparmiare quell’euro e mezzo (figuriamoci!
Per quanto ci siano stati dei commenti negativi, è anche possibile che con gli ultimi updates si sia risolto qualcosa. Attualmente sto usando questa versione per vedere come si comporta
Grazie!
Mi sa che lo installo-compilo pure io!
con questo comando open Growl.xcodeproj crasha xcode e non posso proseguire…qualche suggerimento?
Forse Xcode non è stato correttamente installato.
ho provato a reinstallare xcode e rifare la procedura…stesso errore.
qualche suggerimento?
A me la compilazione fallisce perchè manca questo file: “HgRevision.h”
Sapete qual è il problema?
devi eseguire lo script sh “generateHgRevision.sh” dal terminale, in modo da creare quel file mancante, e poi poter compilare
Con il comando “sh generateHgRevision.sh” mi viene restituito questo errore:
generateHgRevision.sh: line 29: /include/hgRevision.h: Permission denied
generateHgRevision.sh: line 30: /include/hgRevision.h: Permission denied
Robs-iMac:growl rhobis$
Ho provato con il comando “sudo sh generateHgRevision.sh”, ma mi dà un altro errore:
Non viene data fiducia al file /Users/rhobis/Desktop/growl/.hg/hgrc dall’utente non fidato rhobis, gruppo staff
Non viene data fiducia al file /Users/rhobis/Desktop/growl/.hg/hgrc dall’utente non fidato rhobis, gruppo staff
*** Building Growl Revision: 6026
Ho risolto compilando dal terminale con:
xcodebuild -project Growl.xcodeproj -target Growl.app -configuration Release
Non ho capito cosa si intende per “un po’ di tempo”…
Sono arrivato a lanciare il comando
CONFIGURATION=Release rake build:growl
Ma dopo due ore circa il Terminale non mostra ancora alcun segno di vita, è tale e quale sulla stessa finestra…
E’ normale o qualcosa è andato storto?
Ho provato anche a lanciare il comando
CONFIGURATION=Release rake build:growl
come suggerito nei commenti ma il risultato è lo stesso…
Any hint?
Non è assolutamente normale che ci metta due ore : /