<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Pkgsrc</id>
	<title>Pkgsrc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Pkgsrc"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;action=history"/>
	<updated>2026-07-21T16:23:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170592&amp;oldid=prev</id>
		<title>Furey: /* patch-ac (system.h) */ delinkify more source files where the link gives wrong version. Send DragonFly to wikipedia (it's a bsd flavor).</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170592&amp;oldid=prev"/>
		<updated>2024-06-16T22:25:07Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;patch-ac (system.h): &lt;/span&gt; delinkify more source files where the link gives wrong version. Send DragonFly to wikipedia (it&amp;#039;s a bsd flavor).&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:25, 16 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot; &gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of NetHack 3.4.3's system.h file is to implement the various settings from config.h and (above Unix) also unixconf.h. Generally, one edits or patches config.h and unixconf.h, not system.h.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of NetHack 3.4.3's system.h file is to implement the various settings from config.h and (above Unix) also unixconf.h. Generally, one edits or patches config.h and unixconf.h, not system.h.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;What motivates pkgsrc to patch system.h is that system.h really does a poor job on Unix. It makes many outdated assumptions and fails to handle the existence of the newer Unix clones. One change demonstrates a problem in NetHack, for pkgsrc changes &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;system.h&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;#line82]] &lt;/del&gt;from&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;What motivates pkgsrc to patch system.h is that system.h really does a poor job on Unix. It makes many outdated assumptions and fails to handle the existence of the newer Unix clones. One change demonstrates a problem in NetHack, for pkgsrc changes system.h &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;line 82 &lt;/ins&gt;from&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if (!defined(SUNOS4) &amp;amp;&amp;amp; !defined(bsdi) &amp;amp;&amp;amp; !defined(__FreeBSD__)) || defined(RANDOM)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if (!defined(SUNOS4) &amp;amp;&amp;amp; !defined(bsdi) &amp;amp;&amp;amp; !defined(__FreeBSD__)) || defined(RANDOM)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l52&quot; &gt;Line 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{man|srandom}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{man|srandom}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The problem is the &amp;quot;srandom&amp;quot; declaration at &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;system.h&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;#line83]]&lt;/del&gt;. The declaration causes a compiler error above [[DragonFly]], [[NetBSD]] and Apple [[Mac OS X]]. ''Vanilla NetHack 3.4.3 does not build on DragonFly, NetBSD nor Mac OS X.'' The error is that &amp;lt;tt&amp;gt;/usr/include/stdlib.h&amp;lt;/tt&amp;gt; declares &amp;quot;srandom&amp;quot; to take an unsigned long, but NetHack declares it to take an unsigned int; the two prototypes come to conflict.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The problem is the &amp;quot;srandom&amp;quot; declaration at system.h &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;line 83&lt;/ins&gt;. The declaration causes a compiler error above [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wikipedia:DragonFly BSD|&lt;/ins&gt;DragonFly]], [[NetBSD]] and Apple [[Mac OS X]]. ''Vanilla NetHack 3.4.3 does not build on DragonFly, NetBSD nor Mac OS X.'' The error is that &amp;lt;tt&amp;gt;/usr/include/stdlib.h&amp;lt;/tt&amp;gt; declares &amp;quot;srandom&amp;quot; to take an unsigned long, but NetHack declares it to take an unsigned int; the two prototypes come to conflict.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pkgsrc does the minimum to port NetHack to DragonFly, NetBSD and Mac OS X. (It would be more correct if Unix NetHack never declared system functions, but relied all upon header files.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pkgsrc does the minimum to port NetHack to DragonFly, NetBSD and Mac OS X. (It would be more correct if Unix NetHack never declared system functions, but relied all upon header files.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170591&amp;oldid=prev</id>
		<title>Furey: /* Patches */ delinkify nethack source file names because the versions that pkgsrc has in 2006Q4 are not the same version name that these files refer to in our wiki.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170591&amp;oldid=prev"/>
		<updated>2024-06-16T22:20:24Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Patches: &lt;/span&gt; delinkify nethack source file names because the versions that pkgsrc has in 2006Q4 are not the same version name that these files refer to in our wiki.&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:20, 16 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are eight patches, one per file, because pkgsrc does not here use &amp;quot;diff -r&amp;quot;. (The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are eight patches, one per file, because pkgsrc does not here use &amp;quot;diff -r&amp;quot;. (The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa] to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;config.h&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;; makes the common configuration changes of enabling vision tables and using gzip.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa] to config.h; makes the common configuration changes of enabling vision tables and using gzip.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ab?rev=1.11&amp;amp;content-type=text/x-cvsweb-markup patch-ab] to Makefile.top; mostly tweaks to permissions and the installed file hierarchy, and new targets 'binfiles' and 'datastuff' to separate nethack-lib from interface packages.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ab?rev=1.11&amp;amp;content-type=text/x-cvsweb-markup patch-ab] to Makefile.top; mostly tweaks to permissions and the installed file hierarchy, and new targets 'binfiles' and 'datastuff' to separate nethack-lib from interface packages.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ac?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-ac] to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;system.h&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;; several portability fixes discussed below.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ac?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-ac] to system.h; several portability fixes discussed below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad] to nethack.sh; changes to support the five-package system.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad] to nethack.sh; changes to support the five-package system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae] to Makefile.doc; a simple change to install the nethack(6) manual page in the same prefix as everything else.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae] to Makefile.doc; a simple change to install the nethack(6) manual page in the same prefix as everything else.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af] to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;unixconf.h&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;; define SYSV or BSD, disable TERMINFO, change a default mail setting above NetBSD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af] to unixconf.h; define SYSV or BSD, disable TERMINFO, change a default mail setting above NetBSD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag] to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;mail.c&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;; change default mail settings above NetBSD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag] to mail.c; change default mail settings above NetBSD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some of the patches add seemingly-useless words like &amp;lt;tt&amp;gt;XXXPREFIXXXX&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;@GZIP_PROGRAM@&amp;lt;/tt&amp;gt;. In a post-patch phase, pkgsrc uses &amp;quot;sed&amp;quot; to replace these with the correct values. (The code is in [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/Makefile.common?rev=1.22 Makefile.common].) Currently, &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; becomes &amp;lt;tt&amp;gt;SYSV&amp;lt;/tt&amp;gt; if the system is [[Linux]], and &amp;lt;tt&amp;gt;BSD&amp;lt;/tt&amp;gt; above all other systems; &amp;lt;tt&amp;gt;LINUX&amp;lt;/tt&amp;gt; is never set.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some of the patches add seemingly-useless words like &amp;lt;tt&amp;gt;XXXPREFIXXXX&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;@GZIP_PROGRAM@&amp;lt;/tt&amp;gt;. In a post-patch phase, pkgsrc uses &amp;quot;sed&amp;quot; to replace these with the correct values. (The code is in [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/Makefile.common?rev=1.22 Makefile.common].) Currently, &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; becomes &amp;lt;tt&amp;gt;SYSV&amp;lt;/tt&amp;gt; if the system is [[Linux]], and &amp;lt;tt&amp;gt;BSD&amp;lt;/tt&amp;gt; above all other systems; &amp;lt;tt&amp;gt;LINUX&amp;lt;/tt&amp;gt; is never set.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170590&amp;oldid=prev</id>
		<title>Furey: /* Introduction */ Send some software development references to wikipedia. Fixes redlinks.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170590&amp;oldid=prev"/>
		<updated>2024-06-16T22:17:01Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Introduction: &lt;/span&gt; Send some software development references to wikipedia. Fixes redlinks.&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:17, 16 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pkgsrc has its origins as a fork of the [[FreeBSD]] Ports Collection. It consists of [[Makefile]]s interpreted by the NetBSD &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;[[make]]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; &lt;/del&gt;command. These Makefiles use dependencies so that packages build in the correct order. Thus when you do this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pkgsrc has its origins as a fork of the [[FreeBSD]] Ports Collection. It consists of [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wikipedia:Makefile|&lt;/ins&gt;Makefile]]s interpreted by the NetBSD [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wikipedia:make (software)|&lt;/ins&gt;make]] command. These Makefiles use dependencies so that packages build in the correct order. Thus when you do this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # cd /usr/pkgsrc/games/nethack&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # cd /usr/pkgsrc/games/nethack&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170589&amp;oldid=prev</id>
		<title>Furey: mislink: win option -&gt; windowtype option.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=170589&amp;oldid=prev"/>
		<updated>2024-06-16T22:14:32Z</updated>

		<summary type="html">&lt;p&gt;mislink: &lt;a href=&quot;/wiki/Win&quot; class=&quot;mw-redirect&quot; title=&quot;Win&quot;&gt;win&lt;/a&gt; option -&amp;gt; &lt;a href=&quot;/wiki/Windowtype&quot; class=&quot;mw-redirect&quot; title=&quot;Windowtype&quot;&gt;windowtype&lt;/a&gt; option.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:14, 16 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot; &gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The nethack-{qt,tty,x11,lib} packages all interact with the NetHack sources, but by invoking different targets in NetHack's top Makefile. Thus it is well possible for a user with nethack-qt to install nethack-tty without uninstalling anything or rebuilding everything; this is an advantage over flavors or USE flags.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The nethack-{qt,tty,x11,lib} packages all interact with the NetHack sources, but by invoking different targets in NetHack's top Makefile. Thus it is well possible for a user with nethack-qt to install nethack-tty without uninstalling anything or rebuilding everything; this is an advantage over flavors or USE flags.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The result is up to three executables sharing one playground; this differs from the typical setup of having one executable and setting the [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;win&lt;/del&gt;]] option in NETHACKOPTIONS or a [[nethackrc]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The result is up to three executables sharing one playground; this differs from the typical setup of having one executable and setting the [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;windowtype&lt;/ins&gt;]] option in NETHACKOPTIONS or a [[nethackrc]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Patches ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Patches ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16172&amp;oldid=prev</id>
		<title>Kernigh: I write of patch-ac, system.h, srandom and the trouble over DragonFly, NetBSD and Mac OS X, and how pkgsrc fixes it by stuffing in __DragonFly__ and the others.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16172&amp;oldid=prev"/>
		<updated>2006-12-05T02:03:12Z</updated>

		<summary type="html">&lt;p&gt;I write of patch-ac, &lt;a href=&quot;/wiki/System.h&quot; class=&quot;mw-redirect&quot; title=&quot;System.h&quot;&gt;system.h&lt;/a&gt;, srandom and the trouble over &lt;a href=&quot;/index.php?title=DragonFly&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;DragonFly (page does not exist)&quot;&gt;DragonFly&lt;/a&gt;, &lt;a href=&quot;/wiki/NetBSD&quot; title=&quot;NetBSD&quot;&gt;NetBSD&lt;/a&gt; and &lt;a href=&quot;/wiki/Mac_OS_X&quot; class=&quot;mw-redirect&quot; title=&quot;Mac OS X&quot;&gt;Mac OS X&lt;/a&gt;, and how pkgsrc fixes it by stuffing in __DragonFly__ and the others.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 02:03, 5 December 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The main way to install &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;third-party package onto &lt;/del&gt;[[NetBSD]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is to &lt;/del&gt;use &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pkgsrc like &lt;/del&gt;this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pkgsrc has its origins as &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fork of the [[FreeBSD]] Ports Collection. It consists of &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Makefile]]s interpreted by the &lt;/ins&gt;NetBSD &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;[[make&lt;/ins&gt;]]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; command. These Makefiles &lt;/ins&gt;use &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dependencies so that packages build in the correct order. Thus when you do &lt;/ins&gt;this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # cd /usr/pkgsrc/games/nethack&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # cd /usr/pkgsrc/games/nethack&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # make install&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # make install&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;First, this installs any &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;necessary &lt;/del&gt;dependent packages&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. Then, this downloads the source code of the package, extracts it, patches it&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;configures it, builds (compiles) it, and installs it. Many &lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;BSD&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;users know this, but pkgsrc is a fork of the &lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;FreeBSD&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ports Collection&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;where this &amp;quot;cd /there &amp;amp;&amp;amp; make install&amp;quot; idea started&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;First, this installs any dependent packages, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;such as &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;X11&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;or &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Qt&lt;/ins&gt;]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;if they are missing&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Then it runs &lt;/ins&gt;[http://www.netbsd.org/Documentation/pkgsrc/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;build&lt;/ins&gt;.html &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;several phases] to download&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;patch&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;build and install &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;package. The &lt;/ins&gt;pkgsrc &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Makefiles call the package's Makefiles to do &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;actual build and install&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.netbsd.org/Documentation/pkgsrc/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;introduction&lt;/del&gt;.html&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;#why-pkgsrc ''&amp;quot;If it works&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it should work everywhere.&amp;quot;''] Thus&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;unlike &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;FreeBSD Ports Collection, &lt;/del&gt;pkgsrc &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;works above multiple Unix-like operating systems, &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;systems most compatible with NetBSD&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An interesting study is to examine the patches that pkgsrc provides, to check if [[Unix]] software required portability fixes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An interesting study is to examine the patches that pkgsrc provides, to check if [[Unix]] software required portability fixes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== NetHack ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== NetHack ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Currently pkgsrc can install [[NetHack 3.4.3]] above [[Unix]]. This uses five packages, because pkgsrc does not support something like [[OpenBSD]]'s flavors or [[Gentoo]]'s USE flags. The [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack/ nethack] package simply depends on the [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-qt/ nethack-qt], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-tty/ nethack-tty], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-x11/ nethack-x11] packages, so installing &amp;quot;nethack&amp;quot; gives you all three user interfaces. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;three packages &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;simply call a make target in the &lt;/del&gt;[http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/ nethack-lib] package which &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;actually handles &lt;/del&gt;the NetHack sources. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The end result &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;up &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;three executables sharing one playground&lt;/del&gt;; this &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;differs from the typical setup of having one executable and setting the [[win]] option in NETHACKOPTIONS &lt;/del&gt;or &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a [[nethackrc]]&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Currently pkgsrc can install [[NetHack 3.4.3]] above [[Unix]]. This uses five packages, because pkgsrc does not support something like [[OpenBSD]]'s flavors or [[Gentoo]]'s USE flags.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack/ nethack] package simply depends on the [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-qt/ nethack-qt], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-tty/ nethack-tty], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-x11/ nethack-x11] packages, so installing &amp;quot;nethack&amp;quot; gives you all three user interfaces. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;All &lt;/ins&gt;three packages &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;depend on &lt;/ins&gt;[http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/ nethack-lib] package which &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;installs the [[playground]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The nethack-{qt,tty,x11,lib} packages all interact with &lt;/ins&gt;the NetHack sources&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, but by invoking different targets in NetHack's top Makefile&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Thus it &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;well possible for a user with nethack-qt &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;install nethack-tty without uninstalling anything or rebuilding everything&lt;/ins&gt;; this &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is an advantage over flavors &lt;/ins&gt;or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;USE flags&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Thus the nethack-lib package &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;responsible for patching &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sources as well as installing &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;playground&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The result &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;up to three executables sharing one playground; this differs from &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;typical setup of having one executable and setting &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[win]] option in NETHACKOPTIONS or a [[nethackrc]]&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Patches ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Patches ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These &lt;/del&gt;are &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;patches. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(The following list is from HEAD on 2 December 2006, what will become &lt;/del&gt;pkgsrc &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2006Q4&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Compared to 2006Q3, it contains a build fix for &lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Linux&lt;/del&gt;]].&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The patches live in /usr/pkgsrc/games/nethack-lib/patches, and there &lt;/ins&gt;are &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;eight &lt;/ins&gt;patches. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;These patches are small portability fixes or tweaks to interface with &lt;/ins&gt;pkgsrc. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;These patches are not like those from the &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NetHack Patch Database&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;that add new features to the game&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These are small portability fixes or tweaks to interface with pkgsrc. They do not add new features to the game, as most patches from the [[NetHack Patch Database]] would do. &lt;/del&gt;There are eight patches &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;because pkgsrc employs &lt;/del&gt;one &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;patch &lt;/del&gt;per file, not &amp;quot;diff -r&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;patches&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are eight patches&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;one per file, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;because pkgsrc does &lt;/ins&gt;not &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;here use &lt;/ins&gt;&amp;quot;diff -r&amp;quot;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa] to [[config.h]]; makes the common configuration changes of enabling vision tables and using gzip.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa] to [[config.h]]; makes the common configuration changes of enabling vision tables and using gzip.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot; &gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad] to nethack.sh; changes to support the five-package system.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad] to nethack.sh; changes to support the five-package system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae] to Makefile.doc; a simple change to install the nethack(6) manual page in the same prefix as everything else.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae] to Makefile.doc; a simple change to install the nethack(6) manual page in the same prefix as everything else.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af] to [[unixconf.h]]; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;some improvements to portablity across Unix flavors; strangely&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this disables ''all'' of the usual OS-specific defines&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af] to [[unixconf.h]]; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;define SYSV or BSD, disable TERMINFO&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;change a default mail setting above NetBSD&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag] to [[mail.c]]; change a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;default &lt;/del&gt;for NetBSD &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;systems&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag] to [[mail.c]]; change &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;default mail settings above NetBSD.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Some of the patches add seemingly-useless words like &amp;lt;tt&amp;gt;XXXPREFIXXXX&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;@GZIP_PROGRAM@&amp;lt;/tt&amp;gt;. In &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;post-patch phase, pkgsrc uses &amp;quot;sed&amp;quot; to replace these with the correct values. (The code is in [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/Makefile.common?rev=1.22 Makefile.common].) Currently, &amp;lt;tt&amp;gt;__NETHACK_OS__&amp;lt;/tt&amp;gt; becomes &amp;lt;tt&amp;gt;SYSV&amp;lt;/tt&amp;gt; if the system is [[Linux]], and &amp;lt;tt&amp;gt;BSD&amp;lt;/tt&amp;gt; above all other systems; &amp;lt;tt&amp;gt;LINUX&amp;lt;/tt&amp;gt; is never set.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=== patch-ac (system.h) ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The purpose of NetHack 3.4.3's system.h file is to implement the various settings from config.h and (above Unix) also unixconf.h. Generally, one edits or patches config.h and unixconf.h, not system.h.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;What motivates pkgsrc to patch system.h is that system.h really does a poor job on Unix. It makes many outdated assumptions and fails to handle the existence of the newer Unix clones. One change demonstrates a problem in NetHack, &lt;/ins&gt;for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pkgsrc changes [[system.h#line82]] from&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; if (!defined(SUNOS4) &amp;amp;&amp;amp; !defined(bsdi) &amp;amp;&amp;amp; !defined(__FreeBSD__)) || defined(RANDOM)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; if (!defined(SUNOS4) &amp;amp;&amp;amp; !defined(bsdi) &amp;amp;&amp;amp; !defined(__NetBSD__) &amp;amp;&amp;amp; !defined(__FreeBSD__) &amp;amp;&amp;amp; !defined(__DragonFly__) &amp;amp;&amp;amp; !defined(__APPLE__)) || defined(RANDOM)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Notice how __NetBSD__, __DragonFly__ and __APPLE__ have joined bsdi and __FreeBSD__ here.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{man|srandom}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The problem is the &amp;quot;srandom&amp;quot; declaration at [[system.h#line83]]. The declaration causes a compiler error above [[DragonFly]], [[&lt;/ins&gt;NetBSD&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] and Apple [[Mac OS X]]. ''Vanilla NetHack 3.4.3 does not build on DragonFly, NetBSD nor Mac OS X.'' The error is that &amp;lt;tt&amp;gt;/usr/include/stdlib.h&amp;lt;/tt&amp;gt; declares &amp;quot;srandom&amp;quot; to take an unsigned long, but NetHack declares it to take an unsigned int; the two prototypes come to conflict&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{stub|Insert portability fixes here&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pkgsrc does the minimum to port NetHack to DragonFly, NetBSD and Mac OS X&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(It would be more correct if Unix NetHack never declared system functions, but relied all upon header files.)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kernigh</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16159&amp;oldid=prev</id>
		<title>Kernigh: /* Patches */ Describe all eight patches.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16159&amp;oldid=prev"/>
		<updated>2006-12-04T02:02:50Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Patches: &lt;/span&gt; Describe all eight patches.&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 02:02, 4 December 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These are the patches. (The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These are the patches. (The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;org/bsdweb.cgi/pkgsrc/games/nethack-lib/&lt;/del&gt;patches&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;These are small portability fixes or tweaks to interface with pkgsrc&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;They do not add new features to the game, as most &lt;/ins&gt;patches &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;from the &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NetHack Patch Database&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;would do&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;There are eight &lt;/ins&gt;patches &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;because &lt;/ins&gt;pkgsrc &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;employs one &lt;/ins&gt;patch &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;per file, not &amp;quot;diff &lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;r&amp;quot; &lt;/ins&gt;patches.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/del&gt;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ab?rev=1.11&amp;amp;content-type=text/x-cvsweb-markup patch-ab]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/del&gt;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ac?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup opatch-ac&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;cgi/pkgsrc/games/nethack-lib/&lt;/del&gt;patches&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/&lt;/del&gt;pkgsrc&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup &lt;/del&gt;patch-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;af]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/&lt;/del&gt;patches&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/patch-ag?rev=1&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2&amp;amp;content-type=text/x-cvsweb-markup patch-ag]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stub|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Explain what the patches had to fix&lt;/del&gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa] to [[config.h]]; makes the common configuration changes of enabling vision tables and using gzip.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ab?rev=1.11&amp;amp;content-type=text/x-cvsweb-markup patch-ab] to Makefile.top; mostly tweaks to permissions and the installed file hierarchy, and new targets 'binfiles' and 'datastuff' to separate nethack-lib from interface packages.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ac?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-ac] to [[system.h]]; several portability fixes discussed below.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad] to nethack.sh; changes to support the five-package system.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae] to Makefile.doc; a simple change to install the nethack(6) manual page in the same prefix as everything else.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af] to [[unixconf.h]]; some improvements to portablity across Unix flavors; strangely, this disables ''all'' of the usual OS-specific defines.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag] to [[mail.c]]; change a default for NetBSD systems.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stub|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Insert portability fixes here&lt;/ins&gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kernigh</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16147&amp;oldid=prev</id>
		<title>Kernigh: This stub concerns pkgsrc, NetHack, and patching.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Pkgsrc&amp;diff=16147&amp;oldid=prev"/>
		<updated>2006-12-03T01:58:27Z</updated>

		<summary type="html">&lt;p&gt;This stub concerns pkgsrc, NetHack, and patching.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This page is about how '''pkgsrc''', the [[NetBSD]] Packages Collection, compiles and installs [[NetHack]] onto several [[Unix]]-like operating systems, by patching NetHack to be more Unix-portable. {{clear}}&lt;br /&gt;
&lt;br /&gt;
: ''Important: The information on this wiki page so far is the result of a study of the pkgsrc documentation and CVS repository, with no actual experience using pkgsrc. Thus this page more probably contains errors.''&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The main way to install a third-party package onto [[NetBSD]] is to use pkgsrc like this:&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/pkgsrc/games/nethack&lt;br /&gt;
 # make install&lt;br /&gt;
&lt;br /&gt;
First, this installs any necessary dependent packages. Then, this downloads the source code of the package, extracts it, patches it, configures it, builds (compiles) it, and installs it. Many [[BSD]] users know this, but pkgsrc is a fork of the [[FreeBSD]] Ports Collection, where this &amp;quot;cd /there &amp;amp;&amp;amp; make install&amp;quot; idea started.&lt;br /&gt;
&lt;br /&gt;
[http://www.netbsd.org/Documentation/pkgsrc/introduction.html#why-pkgsrc ''&amp;quot;If it works, it should work everywhere.&amp;quot;''] Thus, unlike the FreeBSD Ports Collection, pkgsrc works above multiple Unix-like operating systems, the systems most compatible with NetBSD.&lt;br /&gt;
&lt;br /&gt;
An interesting study is to examine the patches that pkgsrc provides, to check if [[Unix]] software required portability fixes.&lt;br /&gt;
&lt;br /&gt;
== NetHack ==&lt;br /&gt;
Currently pkgsrc can install [[NetHack 3.4.3]] above [[Unix]]. This uses five packages, because pkgsrc does not support something like [[OpenBSD]]'s flavors or [[Gentoo]]'s USE flags. The [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack/ nethack] package simply depends on the [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-qt/ nethack-qt], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-tty/ nethack-tty], [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-x11/ nethack-x11] packages, so installing &amp;quot;nethack&amp;quot; gives you all three user interfaces. The three packages simply call a make target in the [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/ nethack-lib] package which actually handles the NetHack sources. The end result is up to three executables sharing one playground; this differs from the typical setup of having one executable and setting the [[win]] option in NETHACKOPTIONS or a [[nethackrc]].&lt;br /&gt;
&lt;br /&gt;
Thus the nethack-lib package is responsible for patching the sources as well as installing the playground.&lt;br /&gt;
&lt;br /&gt;
=== Patches ===&lt;br /&gt;
These are the patches. (The following list is from HEAD on 2 December 2006, what will become pkgsrc 2006Q4. Compared to 2006Q3, it contains a build fix for [[Linux]].)&lt;br /&gt;
&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-aa?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup patch-aa]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ab?rev=1.11&amp;amp;content-type=text/x-cvsweb-markup patch-ab]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ac?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup opatch-ac]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ad?rev=1.5&amp;amp;content-type=text/x-cvsweb-markup patch-ad]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ae?rev=1.4&amp;amp;content-type=text/x-cvsweb-markup patch-ae]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-af?rev=1.6&amp;amp;content-type=text/x-cvsweb-markup patch-af]&lt;br /&gt;
* [http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/nethack-lib/patches/patch-ag?rev=1.2&amp;amp;content-type=text/x-cvsweb-markup patch-ag]&lt;br /&gt;
&lt;br /&gt;
{{stub|Explain what the patches had to fix.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Kernigh</name></author>
		
	</entry>
</feed>