--- description: 'Как сделать новый порт' next: books/porters-handbook/quick-porting params: path: /books/porters-handbook/new-port/ prev: books/porters-handbook/porting-why showBookMenu: 'true' tags: ["new port", "upgrading", "guidelines", "ports"] title: 'Глава 2. Как самому сделать новый порт' weight: 2 --- [[own-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::[] Итак, вы интересуетесь, как создать собственный порт или обновить существующий? Великолепно! Ниже находятся некоторые указания по созданию нового порта для FreeBSD. Если вы хотите обновить существующий порт, вы должны прочесть их, а затем crossref:upgrading[port-upgrading, Обновление отдельного порта]. Если этот документ недостаточно подробен, вы должны обратиться к файлу [.filename]#/usr/ports/Mk/bsd.port.mk#, который включается в make-файл каждого порта. Он хорошо прокомментирован, и даже если вы не занимаетесь хакингом make-файлов каждодневно, из него вы сможете узнать много нового. Кроме того, конкретные вопросы можно задать, послав письмо на адрес {freebsd-ports}. [NOTE] ==== Только часть переменных (`_VAR_`), которые могут быть переопределены, описаны в этом документе. Большинство (если не все) описаны в начале файла [.filename]#/usr/ports/Mk/bsd.port.mk#; остальные, скорее всего, тоже там описаны. Заметьте, что в этом файле используется нестандартная настройка шага табуляции: Emacs и Vim должны распознать это при загрузке файла. Как man:vi[1], так и man:ex[1] могут быть настроены на использование правильного значения выдачей команды `:set tabstop=4` после загрузки файла. ==== Ищете, с чего бы начать попроще? Посмотрите на https://wiki.freebsd.org/WantedPorts[перечень запрошенных портов], есть ли там такие, над которыми вы можете работать.