Improve and update MASTER_SITES section.

Differential Revision:	https://reviews.freebsd.org/D2134
Approved by:	wblock (mentor)
Sponsored by:	Absolight
This commit is contained in:
Mathieu Arnold 2015-04-03 11:38:43 +00:00
parent 33428dd6e8
commit 97ff060848
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46445

View file

@ -1643,36 +1643,63 @@ PORTEPOCH= 1</programlisting>
set.</para> set.</para>
</important> </important>
<para>If the original tarball is part of one of the popular <sect3 xml:id="makefile-master_sites-shorthand">
archives such as SourceForge, GNU, or Perl CPAN, it may be <title>Using
possible refer to those sites in an easy compact form using <varname>MASTER_SITE_<replaceable>*</replaceable></varname>
predefined macros (for example, <literal>SF</literal>, Variables</title>
<literal>GNU</literal> or <literal>CPAN</literal>).
Set <varname>MASTER_SITES</varname> to one of these values. <para>Shortcut abbreviations are available for popular archives
Here is an example:</para> like SourceForge (<literal>SF</literal>), GNU
(<literal>GNU</literal>), or Perl CPAN
(<literal>CPAN</literal>). <varname>MASTER_SITES</varname> can
use them directly:</para>
<programlisting>MASTER_SITES= GNU/make</programlisting> <programlisting>MASTER_SITES= GNU/make</programlisting>
<para>The older expanded format can still be used, although there <para>The older expanded format still works, but all ports
really is no reason to do so:</para> should be converted to the compact format. The expanded
format looks like this:</para>
<programlisting>MASTER_SITES= ${MASTER_SITE_GNU} <programlisting>MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= make</programlisting> MASTER_SITE_SUBDIR= make</programlisting>
<para>These values and variables are defined in <para>These values and variables are defined in <link
<filename>/usr/ports/Mk/bsd.sites.mk</filename>. There are xlink:href="https://svnweb.freebsd.org/ports/head/Mk/bsd.sites.mk?view=markup"><filename>Mk/bsd.sites.mk</filename></link>.
new entries added all the time, so make sure to check the New entries are added often, so make sure to check the latest
latest version of this file before submitting a port.</para> version of this file before submitting a port.</para>
<tip>
<para>For any
<varname>MASTER_SITE_<replaceable>FOO</replaceable></varname>
variable, the shorthand
<literal><replaceable>FOO</replaceable></literal> can be
used. For example, use:</para>
<programlisting>MASTER_SITES= <replaceable>FOO</replaceable></programlisting>
<para>If <varname>MASTER_SITE_SUBDIR</varname> is needed, use
this:</para>
<programlisting>MASTER_SITES= <replaceable>FOO</replaceable>/<replaceable>bar</replaceable></programlisting>
</tip>
</sect3>
<sect3 xml:id="makefile-master_sites-magic">
<title>Magic MASTER_SITES Macros</title>
<para>Several <emphasis>magic</emphasis> macros exist for <para>Several <emphasis>magic</emphasis> macros exist for
popular sites with a predictable directory structure. For popular sites with a predictable directory structure. For
these, just use the abbreviation and the system will try to these, just use the abbreviation and the system will try to
guess the correct subdirectory automatically.</para> guess the correct subdirectory automatically. For a port
named <literal>Stardict</literal>, of version
<literal>1.2.3</literal>, and hosted on SourceForge, adding
this line:</para>
<programlisting>MASTER_SITES= SF</programlisting> <programlisting>MASTER_SITES= SF</programlisting>
<para>If the guess is incorrect, it can be overridden as <para>Will infer a subdirectory named
follows.</para> <literal>/project/stardict/stardict/1.2.3</literal>. If the
guess is incorrect, it can be overridden as follows.</para>
<programlisting>MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting> <programlisting>MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
@ -1696,96 +1723,112 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<tbody> <tbody>
<row> <row>
<entry><varname>APACHE_JAKARTA</varname></entry> <entry><varname>APACHE_JAKARTA</varname></entry>
<entry><literal>/dist/jakarta/${PORTNAME:S,-,,/,}/source</literal></entry> <entry><literal>${PORTNAME:S,-,/,}/source</literal></entry>
</row> </row>
<row> <row>
<entry><varname>BERLIOS</varname></entry> <entry><varname>BERLIOS</varname></entry>
<entry><literal>/${PORTNAME:L}</literal></entry> <entry><literal>${PORTNAME:tl}.berlios</literal></entry>
</row> </row>
<row> <row>
<entry><varname>CHEESESHOP</varname></entry> <entry><varname>CHEESESHOP</varname></entry>
<entry><literal>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</literal></entry> <entry><literal>source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>DEBIAN</varname></entry> <entry><varname>DEBIAN</varname></entry>
<entry><literal>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</literal></entry> <entry><literal>pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</literal></entry>
</row>
<row>
<entry><varname>FARSIGHT</varname></entry>
<entry><literal>${PORTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>GCC</varname></entry> <entry><varname>GCC</varname></entry>
<entry><literal>/pub/gcc/releases/${DISTNAME}</literal></entry> <entry><literal>releases/${DISTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>GH</varname></entry> <entry><varname>GH</varname></entry>
<entry><literal>/${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}</literal></entry> <entry><literal>${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/</literal></entry>
</row> </row>
<row> <row>
<entry><varname>GHC</varname></entry> <entry><varname>GHC</varname></entry>
<entry><literal>/downloads/${GH_ACCOUNT}/${GH_PROJECT}/</literal></entry> <entry><literal>${GH_ACCOUNT}/${GH_PROJECT}/</literal></entry>
</row>
<row>
<entry><varname>GHL</varname></entry>
<entry><literal>${GH_ACCOUNT}/${GH_PROJECT}/legacy.tar.gz/${GH_TAGNAME}?dummy=/</literal></entry>
</row> </row>
<row> <row>
<entry><varname>GNOME</varname></entry> <entry><varname>GNOME</varname></entry>
<entry><literal>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</literal></entry> <entry><literal>sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</literal></entry>
</row>
<row>
<entry><varname>GIMP</varname></entry>
<entry><literal>${PORTNAME}/${PORTVERSION:R}/</literal></entry>
</row> </row>
<row> <row>
<entry><varname>GNU</varname></entry> <entry><varname>GNU</varname></entry>
<entry><literal>/gnu/${PORTNAME}</literal></entry> <entry><literal>${PORTNAME}</literal></entry>
</row>
<row>
<entry><varname>GNU_ALPHA</varname></entry>
<entry><literal>${PORTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>HORDE</varname></entry> <entry><varname>HORDE</varname></entry>
<entry><literal>/pub/${PORTNAME}</literal></entry> <entry><literal>${PORTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>LOGILAB</varname></entry> <entry><varname>LODEV</varname></entry>
<entry><literal>/pub/${PORTNAME}</literal></entry> <entry><literal>${PORTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>MATE</varname></entry> <entry><varname>MATE</varname></entry>
<entry><literal>/releases/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</literal></entry> <entry><literal>${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>MOZDEV</varname></entry> <entry><varname>MOZDEV</varname></entry>
<entry><literal>/pub/mozdev/${PORTNAME:L}</literal></entry> <entry><literal>${PORTNAME:tl}</literal></entry>
</row>
<row>
<entry><varname>NL</varname></entry>
<entry><literal>${PORTNAME}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>CPAN</varname></entry> <entry><varname>CPAN</varname></entry>
<entry><literal>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</literal></entry> <entry><literal>${PORTNAME:C/-.*//}</literal></entry>
</row>
<row>
<entry><varname>PYTHON</varname></entry>
<entry><literal>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</literal></entry>
</row>
<row>
<entry><varname>RUBYFORGE</varname></entry>
<entry><literal>/${PORTNAME:L}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>SAVANNAH</varname></entry> <entry><varname>SAVANNAH</varname></entry>
<entry><literal>/${PORTNAME:L}</literal></entry> <entry><literal>${PORTNAME:tl}</literal></entry>
</row> </row>
<row> <row>
<entry><varname>SF</varname></entry> <entry><varname>SF</varname></entry>
<entry><literal>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</literal></entry> <entry><literal>${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}</literal></entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</table> </table>
</sect3>
<sect3 xml:id="makefile-master_sites-github"> <sect3 xml:id="makefile-master_sites-github">
<title><varname>USE_GITHUB</varname></title> <title><varname>USE_GITHUB</varname></title>