Following a discussion with kirill and sthen, the latter sent some text along the lines of "DIST_TUPLE probably should be documented there..." and some text, which I bent, folded, spindled and mutilated into the following. OKs or comments? Index: guide.html =================================================================== RCS file: /cvs/www/faq/ports/guide.html,v diff -u -p -r1.115 guide.html --- guide.html 2 Jul 2026 11:51:57 -0000 1.115 +++ guide.html 20 Sep 2026 16:08:13 -0000 @@ -181,6 +181,51 @@ You can check to see if you have filled </ul> <p> +An alternative way of specifying downloads is <code>DIST_TUPLE</code>. +This is useful in setting up downloads from the git code repositories +listed under "sitecode" below. + +<p> +The format of a <code>DIST_TUPLE</code> is five tab-separated fields: +<p> +<code>sitecode account repository version-or-hash target-dir</code> +</p> +<ul> +<li><code>sitecode</code> is one of +github, gitlab, codelab, codeberg, fdo, srht, kde, or gnome. +/li> +<li><code>account</code> is the repository owner's account name on that site</li> +<li><code>repository</code> is the name of the repository within that user's account</li> +<li><code>version-or-hash</code> is either a release or tag version number, or else a +full (40-character) git commit hash.</li> +<li><code>target_dir</code> is usually "." for the current work directory, +but may also be used to download the file into a subdirectory.</li> +</ul> +<p> +For example: +<p> +<code>DIST_TUPLE = github someuser greatlib v4.0.4 .</code> +</p> + +<p> +Some projects require more than one distfile. +If you need more than one entry in <code>DIST_TUPLE</code>, +enter one per line with "+=" on all but the first. +For GitHub, the use of the <code>GH_*</code> parameters is preferred +over <code>DIST_TUPLE</code> for the "main" distfile; +<code>DIST_TUPLE</code> can be used with any secondary distfiles. +For the other sites listed, <code>DIST_TUPLE</code> can be used +for all distfiles. + +<p> +With some of the sites, <code>DIST_TUPLE</code> doesn't set +<code>WRKDIST</code> properly. +In this case <code>WRKDIST</code> needs to be overridden. +A common example is gitlab when using commit hashes instead of version numbers. +Some sites may need the hash added to the dirname even for a tagged release. +Some trial and error, as well as examining working ports, may be needed. + +<p> For more complex ports, you have more options and tools available to you: <ul><li> @@ -366,11 +411,11 @@ Try building the port with <code>make bu If you're lucky, the port will go all the way through without errors. <li> -If it exits with an error, you will need to generate patches for your port. +If it exits with an error, you will likely need to generate patches for your port. Figure out what needs to be changed and make a patch for it. <li> -the sequence to make a patch for a file is usually: +The sequence to make a patch for a file is usually: <ul><li> <code>cd `make show=WRKSRC` ; cp foo/bar.c{,.orig.port}</code>
No comments:
Post a Comment