---
title: Capítulo 2. Criando um Novo Port
prev: books/porters-handbook/porting-why
next: books/porters-handbook/quick-porting
showBookMenu: true
weight: 2
params:
  path: "/books/porters-handbook/new-port/"
---

[[own-port]]
= Criando um Novo Port
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 2
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/porters-handbook/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

Interessado em fazer um novo port ou atualizar os ports existentes? Ótimo!

O que segue são algumas instruções para criar um novo port para o FreeBSD. Para atualizar um port existente, leia este documento e depois leia o crossref:upgrading[port-upgrading, Atualizando um Port].

Quando este documento não for suficientemente detalhado, consulte [.filename]#/usr/ports/Mk/bsd.port.mk#, que é incluído por todos os [.filename]##Makefile##s dos ports. Mesmo aqueles que não estão hackeando os [.filename]##Makefile##s diariamente podem ganhar muito conhecimento com isso. Além disso, perguntas específicas podem ser enviadas à http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports[ Lista de discussão do ports do FreeBSD].

[NOTE]
====
Apenas uma fração das variáveis ​​(`_VAR_`) que podem ser sobrepostas são mencionados neste documento. A maioria (se não todas) estão documentadas no início do [.filename]#/usr/ports/Mk/bsd.port.mk#; as outras provavelmente deveriam estar também. Observe que esse arquivo usa uma configuração de tabulação não padrão: O Emacs e o Vim irão reconhecer a configuração ao carregar o arquivo. Ambos man:vi[1] e man:ex[1] podem ser configurados para usar o valor correto digitando `:set tabstop=4` uma vez que o arquivo foi carregado.
====

Procurando algo fácil para começar? Dê uma olhada na https://wiki.freebsd.org/WantedPorts[lista de ports desejados] e veja se você pode trabalhar em um (ou mais de um).
