all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: David Dashyan <mail@davie.li>
Cc: 45151@debbugs.gnu.org
Subject: [bug#45151] [PATCH 1/1] gnu: Add openfortivpn
Date: Thu, 10 Dec 2020 13:20:58 -0500	[thread overview]
Message-ID: <X9JnCm5SHyM2KoLI@jasmine.lan> (raw)
In-Reply-To: <20201209225553.28596-1-mail@davie.li>

On Thu, Dec 10, 2020 at 01:55:53AM +0300, David Dashyan wrote:
> +(define-public openfortivpn

Thanks! Overall, looks good to me.

> +    (native-inputs
> +     `(("openssl" ,openssl)
> +       ("autoconf" ,autoconf)
> +       ("autotools" ,automake)
> +       ("pkg-config" ,pkg-config)))

In general, native-inputs are dependencies that are only used while
building the package. Typically, OpenSSL is also used at run-time, so it
probably should be a regular input. What do you think?

> +    (propagated-inputs
> +     `(("ppp" ,ppp)))

Propagated-inputs are dependencies that will be installed along with
your package when installing the package with e.g. `guix install
openfortivpn`. This is for situations where the dependency is needed at
run-time but for which the program lacks the ability to refer to
dependencies directly.

For example, a shell script that needs to invoke `ls` will need to find
it on $PATH. It would not be easy to automatically substitute calls to
`ls` to the full store path of `/gnu/store/...-coreutils-8.32/bin/ls`.

However, most dependencies can be regular inputs, because the built
package will refer to the full "/gnu/store/...-ppp-version/" path
wherever it needs to invoke the dependency.

So, does the package work if the openssl and ppp dependencies are just
'inputs' rather than native-inputs and propagated-inputs?

You can use `guix gc --references $(guix build openfortinet)` to see
what store references the built package has kept. These references are
literally just strings that look like filenames in /gnu/store, found by
scanning when the package build is completed. This tool can help one
decide if an input should be propagated — if the built package refers to
ppp, it likely can find it without propagation. Of course, practical
testing is still the true measure.

I hope that helps!

> +    (home-page "https://openvpn.net/")

Is this the "home-page" of this program? Usually this field points to
the site where the project is coordinated or marketed. It may even be
the GitHub repo page.

Can you send a revised patch based on this feedback? Please don't
hesitate to ask any followup questions :)




  reply	other threads:[~2020-12-10 18:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-09 21:41 [bug#45151] [PATCH 0/1] Add openfortivpn David Dashyan
2020-12-09 22:55 ` [bug#45151] [PATCH 1/1] gnu: " David Dashyan
2020-12-10 18:20   ` Leo Famulari [this message]
2020-12-12 19:58     ` David Dashyan
2020-12-12 21:57       ` Leo Famulari
2020-12-12 20:03 ` [bug#45151] [PATCH] " David Dashyan
2020-12-12 21:56   ` bug#45151: " Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=X9JnCm5SHyM2KoLI@jasmine.lan \
    --to=leo@famulari.name \
    --cc=45151@debbugs.gnu.org \
    --cc=mail@davie.li \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.