Admin/Dev

22
Mars
2017

Homebrew - Gestionnaire de paquets

Publié par sky

Il y a quelques années, je vous parlais de Fink, un gestionnaire de "paquets" qui permettait d'installer les logiciels Linux sur Mac.

Nous l'avions fait à plusieurs reprises, pour installer des librairies nécessaires à certains émulateurs ou installer des jeux à la base prévus pour Linux.

Depuis d'autres gestionnaires sont apparus, désormais il faut aussi compter sur MacPorts et Homebrew.

Nous allons aujourd'hui parler de ce dernier, puisqu'il est très fréquement utilisé pour proposer de nouveaux logiciels en ligne de commande.

En effet, dernièrement, Google a publié une nouvelle librairie de compression JPG, et l'a fait pour macOS sur cette plateforme.

Homebrew se présente lui même comme le gestionnaire de paquets qu'il manque à macOS.

Sa notoriété vient principalement parce qu'il fonctionne de concert avec les outils git et GitHub, plateforme de prédilection des développeurs pour publier leurs logiciels, scripts, ...

Homebrew permettra, comme fink, d'installer des paquets issu du monde linux, que ce soit des librairies ou des logiciels.

Il fonctionne, encore une fois, comme fink, avec des commandes proches des commandes apt-get ou aptitude issues des distributions Debian.

La grande différence est que les paquets s'appellent des "Formula" ou formules en français.

 

1/ Installation

L'installation de Homebrew est simple, et la méthode est directement indiquée dès la page d'accueil du site.

Sachez que vous devez disposer d'un compte administrateur sur le Mac pour réaliser l'installation ainsi que de XCode, téléchargeable gratuitement sur le Mac App Store.

Ouvrez un terminal et tapez (ou plutôt copiez/collez) :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

L'installation vous indique ce qu'elle va faire et ce qu'elle va installer.

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
/usr/local/etc
==> The following existing directories will have their owner set to sky:
/usr/local/bin
/usr/local/etc
==> The following existing directories will have their group set to admin:
/usr/local/bin
/usr/local/etc
==> The following new directories will be created:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/Frameworks
/usr/local/opt
/usr/local/sbin
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var

Press RETURN to continue or any other key to abort

Vous pouvez toujours refuser l'installation à ce moment, ou continuer en appuyant sur Enter.

L'installation se termine et vous indique comment commencer.

Vous obtiendrez l'aide en tapant :

brew help

 

2/ Premières commandes

La première chose à savoir est la liste des paquets disponibles.

Pour cela tapez :

brew search

Attention la liste est longue.

Vous pouvez aussi ajouter un argument permettant de compléter la recherche.

brew search MaRecherche

Toujours fan d'émulation, je m'intèresse à Mednafen, qui était autrefois compliqué à installer mais désormais très simple.
Si Mednafen ne vous intéresse pas, essayez avec d'autres paquets.

Je commence par avoir un peu plus d'information sur le paquet :

brew info mednafen

avec pour résultat :

mednafen: stable 0.9.43
Multi-system emulator
http://mednafen.fobby.net/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mednafen.rb
==> Dependencies
Build: pkg-config ✘
Required: sdl ✘, libsndfile ✘, gettext ✘
==> Requirements
Required: macOS >= 10.12 ✘

Cela nous indique ce que c'est, s'il est déjà installé, ou se trouve la formule, les dépendences et enfin la version de macOS minimale nécessaire.

Comme vous pouvez le voir, il me manque pas mal de choses. Pour les dépendences ce n'est pas grave, puisqu'elles s'installeront toutes seules en même temps que le logiciel.
Par contre, pour la version de macOS requise, je n'ai pas le choix, il faut que je mette à jour ce Mac.

Retentons l'expérience sur un Mac déjà mis à jour en 10.12.

mednafen: stable 0.9.43 (bottled)
Multi-system emulator
http://mednafen.fobby.net/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mednafen.rb
==> Dependencies
Build: pkg-config ✘
Required: sdl ✔, libsndfile ✘, gettext ✘
==> Requirements
Required: macOS >= 10.12 ✔

On peut voir que la librairie SDL est déjà installée.

Tentons l'installation :

brew install mednafen

J'obtiens une erreur

Error: You must `brew link sdl` before mednafen can be installed

qui devrait rapidement être réglée, puisque la solution est dans l'erreur :

brew link sdl

avec pour résultat :

Linking /usr/local/Cellar/sdl/1.2.15... 33 symlinks created

Je relance l'installation :

brew install mednafen

Le paquet est téléchargé depuis Internet et installé sur votre mac.

Warning: You are using a pre-release version of Xcode.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.
==> Installing dependencies for mednafen: flac, libogg, libvorbis, libsndfile, gettext
==> Installing mednafen dependency: flac
==> Downloading https://homebrew.bintray.com/bottles/flac-1.3.2.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring flac-1.3.2.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/flac/1.3.2: 53 files, 1.8M
==> Installing mednafen dependency: libogg
==> Downloading https://homebrew.bintray.com/bottles/libogg-1.3.2.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring libogg-1.3.2.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/libogg/1.3.2: 96 files, 457.4K
==> Installing mednafen dependency: libvorbis
==> Downloading https://homebrew.bintray.com/bottles/libvorbis-1.3.5.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring libvorbis-1.3.5.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/libvorbis/1.3.5: 158 files, 2.3M
==> Installing mednafen dependency: libsndfile
==> Downloading https://homebrew.bintray.com/bottles/libsndfile-1.0.27.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring libsndfile-1.0.27.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/libsndfile/1.0.27: 49 files, 1.9M
==> Installing mednafen dependency: gettext
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.19.8.1.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring gettext-0.19.8.1.sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

macOS provides the BSD gettext library and some software gets confused if both are in the library path.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/gettext/lib
    CPPFLAGS: -I/usr/local/opt/gettext/include

==> Summary
🍺  /usr/local/Cellar/gettext/0.19.8.1: 1,934 files, 16.9M
==> Installing mednafen
==> Downloading https://homebrew.bintray.com/bottles/mednafen-0.9.43.sierra.bottle.tar.gz
######################################################################## 100,0%
==> Pouring mednafen-0.9.43.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/mednafen/0.9.43: 12 files, 22.4M

Vous pouvez désormais le lancer depuis votre terminal :

mednafen

Bien sûr sans paramètre, le logiciel ne sait pas ce qu'il doit faire :

Starting Mednafen 0.9.43
Build information:
   Compiled with gcc 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)
   Compiled against zlib 1.2.8, running with zlib 1.2.8(flags=0x000000a9)
   Compiled against libiconv 11.1, running with libiconv 11.1
   Compiled against SDL 1.2.15, running with SDL 1.2.15
   Running with libsndfile-1.0.27
Base directory: /Users/sky/.mednafen
Emulation modules: nes snes gb gba pce lynx md pcfx ngp psx ss ssfplay vb wswan sms gg snes_faust pce_fast demo cdplay
Loading settings from "/Users/sky/.mednafen/mednafen-09x.cfg"...
Loaded 2590 valid settings and 5 unknown settings.
No command-line arguments specified.

Usage: mednafen [OPTION]... [FILE]
Please refer to the documentation for option parameters and usage.

Mais on peut voir que la version installée est bien la dernière, avec Homebrew les mises à jour sont souvent à l'heure.

En indiquant le chemin (à changer pour votre chemin) d'une ROMs, l'application se lance.

mednafen CheminVersMesROMs/Super Mario Kart.smc

Avec comme résultat :

Article skymac : Homebrew - Gestionnaire de paquets pour macOS
 

Enfin vous pouvez désinstaller un programme :

brew uninstall mednafen

 

3/ Les commandes à connaitre

Il y a deux commandes de base à connaitre pour permettre le bon fonctionnement de votre Homebrew.

La première permet de mettre à jour la liste des paquets disponibles, ainsi que les dernières versions disponibles :

brew update

La seconde permet de mettre à jour un paquet, par exemple, ici avec mednafen :

brew upgrade mednafen

ou tous les paquets installés sur votre Mac :

brew upgrade

Cela peut être un bonne idée de lancer régulièrement les commandes de mise à jour pour être sur d'avoir toujours les dernières versions de Homebrew et des logiciels installés.

 
Sommaire de la série
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer