Date: Mon, 4 Sep 2017 12:10:23 +0000 (UTC) From: Mathieu Arnold <mat@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r50800 - head/en_US.ISO8859-1/books/porters-handbook/slow-porting Message-ID: <201709041210.v84CANaj052785@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mat Date: Mon Sep 4 12:10:23 2017 New Revision: 50800 URL: https://svnweb.freebsd.org/changeset/doc/50800 Log: Add a section about conditional patching with EXTRA_PATCHES. Reviewed by: wblock Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D12165 Modified: head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml Modified: head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml Mon Sep 4 09:29:51 2017 (r50799) +++ head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml Mon Sep 4 12:10:23 2017 (r50800) @@ -450,6 +450,50 @@ DOS2UNIX_GLOB= *.c *.cpp *.h</programlisting> <programlisting>USES= dos2unix DOS2UNIX_WRKSRC= ${WRKDIR}</programlisting> </sect2> + + <sect2 xml:id="slow-patch-extra"> + <title>Patching Conditionally</title> + + <para>Some ports need patches that are only applied for specific + &os; versions or when a particular option is enabled or + disabled. Conditional patches are specified by placing the + full paths to the patch files in + <varname>EXTRA_PATCHES</varname>.</para> + + <example xml:id="slow-patch-extra-ex1"> + <title>Applying a Patch for a Specific &os; Version</title> + + <programlisting>.include <bsd.port.options.mk> + +# Patch in the iconv const qualifier before this +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100069 +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-fbsd10 +.endif + +.include <bsd.port.mk></programlisting> + + </example> + + <example xml:id="slow-patch-extra-ex2"> + <title>Optionaly Applying a Patch</title> + + <para>When an <link linkend="makefile-options">option</link> + requires a patch, use + <varname><replaceable>opt</replaceable>_EXTRA_PATCHES</varname> + and + <varname><replaceable>opt</replaceable>_EXTRA_PATCHES_OFF</varname> + to make the patch conditional on the + <literal><replaceable>opt</replaceable></literal> option. + See <xref linkend="options-variables"/> for more + information.</para> + + <programlisting>OPTIONS_DEFINE= FOO BAR +FOO_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-foo +BAR_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-bar.c \ + ${PATCHDIR}/extra-patch-bar.h</programlisting> + </example> + + </sect2> </sect1> <sect1 xml:id="slow-configure">
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201709041210.v84CANaj052785>