Instalando o MacPorts

macosx_macports_1

O MacPorts é uma implementação do ports trees do mundo BSD (originalmente do NetBSD mas usado pelo FreeBSD, OpenBSD etc) em Mac OS X — ou OS X agora — e tem como objetivo ser uma ferramenta para facilitar a instalação e manutenção de programas open source de linha de comando, X11 ou Aqua neste sistema operacional.

O que é ports tree?

A ideia do ports tree (ou simplesmente ports) é bem diferente da do pacote de binários usado largamente no Linux. Ou seja, enquanto o pacote consiste de uma versão binária (já compilada) de um aplicativo, biblioteca, ferramenta etc pronto para ser utilizado e usado o ports contém somente um conjunto de patches e makefiles que se encarregam de fazer o download, testar dependências, configurar, compilar e instalar um determinado programa.

No mundo Linux as distribuições Arch Linux e Gentoo implementam um sistema de ports com as ferramentas abs e portage, respectivamente. Porém estas distribuições também incluem suporte para pacotes binários.

Sem entrar em muitos detalhes, a vantagem em relação ao pacote binário é a de se ter o código otimizado para seu sistema (arquitetura, processador etc) mas com a clara desvantagem que é a necessidade de compilar os programas e, obviamente, o tempo que isto pode demandar.

Vítima

A vítima é um MacBook Core 2 Duo (MB404LL/A) que vem “de fábrica” com a versão 10.5 do Mac OS X. Esta versão também é conhecida como Leopard e teve seu último release (10.5.8) disponibilizado em agosto de 2009 e desde junho de 2011 o suporte está encerrado e ele é considerado como descontinuado pela Apple.

O que isto significa? Na prática significa que a partir deste momento o número de novas versões dos aplicativos começarão a não mais suportá-lo até o ponto em que você contará nos dedos os programas que ainda lançarão versões compatíveis com ele.

A solução é até simples, basta comprar uma licença da versão 10.6 (Snow Leopard) e utilizar o System Update para atualizá-lo para o 10.10 (Yosemite). Isto é, considerando que o equipamento atende os requisitos de mínimos para rodar o novo sistema operacional, o que já deixa o “simples” da solução não tão simples assim.

Mas se para o Mac OS X não existe solução fácil, para o clone de UNIX rodando debaixo dele há! Aliás, o título deste texto seria “requentando um Mac OS X 10.5” mas mudei de ideia 🙂

Instalação do MacPorts

A primeira coisa a se é instalar o Xcode no MacOS X, ele contém as ferramentas de desenvolvimento para aplicações no sistema operacional da Apple. No caso da versão 10.5 encontra-se no segundo disco (DVD) de instalação. Após instalado, baixe e instale o MacPorts (a última versão, a 2.3.3, ainda dá suporte ao 10.5 mas é necessário baixar a versão específica dele).

Básico de MacPorts

A sintaxe é bem parecida com os gerenciadores de pacote de Linux:

$ port <comando> {<programa> {<programa> { ... } }

Há uma série de comandos, até mesmo alguns para produzir pacotes binários em RPM ou DPKG para distribuição (sim, é uma opção válida), mas o básico é:

  • install — para a instalação dos programas;
  • uninstall — para removê-los (se for dependência de outro programa ele avisará);
  • installed — para visualizar quais os programas que foram instalados e sua situação (ativado ou desativado);
  • list — para listar os programas disponíveis e
  • search — para pesquisar nos pacotes.

E nos exemplos só utilizarei mesmo o comando install.

Instalando versões novas

Com o MacPorts instalado é hora de abrir o Terminal para verificar o grau de antiguidade do sistema:

macosx_macports_2

O bash está na versão 3.2, o perl na 5.8 e o python na 2.5.

A primeira coisa a fazer é instalar um novo bash:

macosx_macports_3

Daí é acompanhar as mensagens na tela enquanto ele baixa e compila também as dependências do bash.

Por que estou dizendo instalar e não atualizar? Acontece que ele não atualizará os programas originais da parte UNIX do Mac OS X (que ficarão intocados no local onde estão). Ele instalará uma nova versão em outro diretório (em /opt) e mudará o PATH do perfil do seu usuário para que a nova versão seja utilizada em detrimento da original.

Em seguida é a vez de instalar Perl (para versão 5.16) e Python (para versões 2.7 e 3.5):

$ sudo port install perl5 python27 python35

Depois instalar o resto das “coisas” e esperar ficar pronto:

$ sudo port install mc htop vim nano git

Justamente, a parte chata do ports tree é ter de esperar o programa ser compilado.

Exercício de paciência: tente instalar algum programa que use X/Window!

Instalando o Django

Agora que o sistema está razoavelmente atualizado é hora de rodar nele algo que em tese não seria possível fazê-lo antes da instalação do MacPorts, A última versão do Django, a 1.8 (que requer Python 3.x mas se diz confortável se você oferecer o Python 2.7).

Hora de instalar uma última coisa, lembram do virtualenv?

$ sudo port install py34-virtualenv

Então configurar um ambiente virtual para o Python:

$ mkdir djangotest
$ cd djangotest
$ virtualenv-3.4 virtenv
$ source virtenv/bin/activate
(virtenv)$

Usar o pip para instalar o Django:

(virtenv)$ pip install django

E pronto!

Apensas relembrando que esta instalação do Django (no caso foi a versão 1.8.2, a última!) ficará apenas dentro do ambiente que criei. Se por acaso eu desejar testar meu programa em uma outra versão do Django ou mesmo do Python — versões mais antigas ou eventualmente mais atuais — bastará alterar meu ambiente.

Testando o Django

E como é apenas um teste:

(virtenv)$ django-admin startproject mysite
(virtenv)$ cd mysite
(virtenv)$ ./manage.py migrate
(virtenv)$ ./manage.py runserver

E funciona!

macosx_macports_5

E só para ter certeza de que tudo está funcionando corretamente:

macosx_macports_6

Um ambiente para desenvolvimento montado onde antes só havia uma coleção de software desatualizado. E o mesmo ainda pode ser feito com outros frameworks e/ou linguagens de programação (php, ruby etc).

Agora é tomar coragem e tentar instalar via ports o Geany. 🙂

Anúncios

Um comentário sobre “Instalando o MacPorts

  1. Pingback: Usando o Chef, parte 1 | giovannireisnunes

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s