Add chapter detailing our policy on Go libs.

Submitted by:	swills
This commit is contained in:
Brad Davis 2017-10-09 16:33:16 +00:00
parent ac4565717e
commit e3453b8518
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51094
2 changed files with 35 additions and 0 deletions

View file

@ -5554,4 +5554,34 @@ GROUPS= pulse pulse-access pulse-rt</programlisting>
takes care of most items that these ports need to take into
account.</para>
</sect1>
<sect1 xml:id="go-libs">
<title>Go Libraries</title>
<para>Ports must not package or install Go libs or source code. Only
<filename>lang/go*</filename> should install into
<varname>GO_SRCDIR</varname> and <varname>GO_LIBDIR</varname>. Go
ports must fetch the required deps at the normal fetch time and
should only install the programs and things users need, not the
things Go developers would need.</para>
<para>Ports should (in order of preference):</para>
<itemizedlist>
<listitem>
<para>Use vendored dependencies included with the package
source.</para>
</listitem>
<listitem>
<para>Fetch the versions of deps specified by upstream (in the
case of vendor.json or similar).</para>
</listitem>
<listitem>
<para>As a last resort (deps are not included nor versions
specified exactly) fetch versions of dependencies available
at the time of upstream development/release.</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>

View file

@ -1048,6 +1048,11 @@ USE_GNOME= gnomemenus3:build intlhack</programlisting>
<sect1 xml:id="uses-go">
<title><literal>go</literal></title>
<important>
<para>Ports should not be created for Go libs, see
<xref linkend="go-libs"/> for more information.</para>
</important>
<para>Possible arguments: (none)</para>
<para>Sets default values and targets used to build