From: Adonay Felipe Nogueira <adfeno@openmailbox.org>
To: help-guix@gnu.org
Subject: Re: various packaging issues
Date: Thu, 20 Jul 2017 13:01:45 -0300 [thread overview]
Message-ID: <87shhrxfkm.fsf@adfeno-pc1.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: 87a841gycq.fsf@c-l07itc0gcrgz.its.manchester.ac.uk
For the "package with multiple origins" scenario, provided *only one*
package needs the same set of origins, one could do something *similar*
to this:
--8<---------------cut here---------------start------------->8---
(define-public major-package
(let ((extra-origin
(let ((extra-origin-release "1.1"))
(origin ORIGIN-BODY))))
(package
(name "major-package")
(native-inputs
`(("extra-origin" ,extra-origin)
PACKAGE-NATIVE-INPUTS-REST))
PACKAGE-BODY-REST)))
--8<---------------cut here---------------end--------------->8---
This defines and exports the 'major-package symbol/variable as a public
part of the current module.
Inside 'major-package you have the local 'extra-origin variable/symbol
that is only available to the BODY part of (let ((VARIABLE1 INIT1) ...)
BODY).
I have also inserted another (let ((VARIABLE1 INIT1) ...) BODY) inside
'extra-origin, but if you don't need local varaibles/symbols inside the
'extra-origin, you can simply extract the BODY part of this (let
((VARIABLE1 INIT1) ...) BODY) and discard the rest.
Back to the BODY part of the topmost (let ((VARIABLE1 INIT1) ...) BODY),
I made the 'package definition of 'major-package. And assigned the local
'extra-origin as one of its 'native-inputs (I could have placed it
elsewhere, but I didn't test this example with 'inputs nor with
'propagated-inputs).
About packaging and Scheming: Interesting, I'm not a developer, but I
find the contrary. In fact, nowadays I try to study and code more in
Scheme and Emacs Lisp than in other programing languages, also because
most of the others have limitations. As you also said, it's a matter of
learning and patience, :).
--
- [[https://libreplanet.org/wiki/User:Adfeno]]
- Palestrante e consultor sobre /software/ livre (não confundir com
gratis).
- "WhatsApp"? Ele não é livre, por isso não uso. Iguais a ele prefiro
GNU Ring, ou Tox. Quer outras formas de contato? Adicione o vCard
que está no endereço acima aos teus contatos.
- Pretende me enviar arquivos .doc, .ppt, .cdr, ou .mp3? OK, eu
aceito, mas não repasso. Entrego apenas em formatos favoráveis ao
/software/ livre. Favor entrar em contato em caso de dúvida.
next prev parent reply other threads:[~2017-07-20 16:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-18 15:42 various packaging issues Dave Love
2017-07-18 17:09 ` Ludovic Courtès
2017-07-18 22:43 ` Dave Love
2017-07-19 7:32 ` Ricardo Wurmus
2017-07-19 10:38 ` Dave Love
2017-07-20 14:32 ` Ludovic Courtès
2017-07-24 14:38 ` Dave Love
2017-07-25 9:09 ` Ludovic Courtès
2017-07-20 14:37 ` Ludovic Courtès
2017-07-20 16:01 ` Adonay Felipe Nogueira [this message]
2017-07-18 20:17 ` Adonay Felipe Nogueira
2017-07-18 23:00 ` Dave Love
2017-07-27 12:59 ` Adonay Felipe Nogueira
2017-07-27 19:15 ` Dave Love
2017-08-15 18:43 ` Adonay Felipe Nogueira
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=87shhrxfkm.fsf@adfeno-pc1.i-did-not-set--mail-host-address--so-tickle-me \
--to=adfeno@openmailbox.org \
--cc=help-guix@gnu.org \
/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.